Yahoo Query language Api (YQL)

Posted On 7 décembre 2008

Filed under Tests
Étiquettes: , , , , ,

Comments Dropped leave a response

L’api du langage de requete yahoo est disponible, petit test rapide.

J’arrive sur une page où on me propose un bouton « try the console » et « read the documentation ». Jusque là tout va bien, pas de termes techniques, tout à l’air super simple 🙂

« Try the console », la page est super claire, on voit tout d’un seul coup d’oeil.

  • Un bloc pour la requête
  • Un bloc pour les résultats
  • Un bloc pour utiliser la requête sur votre site
  • Un bloc « accordéon » pour voir :
    • Des exemples de requêtes (c’est ce que je cherchais en 1er)
    • Les tables disponibles
    • Les requêtes exécutées (par moi) précédemment

Une requête est déjà exécutée « Show tables ».

Le résultat est affiché en xml par défaut.

Une petite erreur dans la requête : en plus d’avoir l’erreur dans le xml (assez clair) il y a un bloc qui s’affiche pour m’indiquer l’erreur et où elle se trouve (soulignée en rouge)

Je veux voir tous les membres de mybloglog :

select * from mybloglog.member
Cannot find required keys in where clause;   expecting required keys :(member_id)

ok, c’est un peu sécurisé, même avec un count, il me demande un member_id j’ai bien essayé plusieurs choses (1, 2, 456gdfg…) pas de resultats

le diagnostic étant

http-status-message="Not Found">http://api.mybloglog.com/v1/user/1?format=xml</url>
mouais, le lien est forbidden si on le tape directement dans le browser.

Quel temps va t-il faire aujourd’hui ?
select * from weather.forecast where location = ‘Avignon, France’

<title>Yahoo! Weather - Error</title>
<description>Yahoo! Weather Error</description>
<item>
<title>City not found</title>
<description>
Sorry, your location 'Avignon, France' was not found. Please try again. </description>
</item>

paris ? non plus…san francisco ? perdu

A part leurs exemples et flickR j’ai pas eu beaucoup de résultats 😦
La doc est vraiment très abordable, même pour ceux je pense qui ne connaissent pas le sql.

Si vous en avez besoin, ce doit être assez facile d’arriver à récupérer ce que vous voulez, après quelques tentatives sur la console.

Console

Documentation

CakePhp + Smarty + OpenFlashChart 2

Pour un nouveau projet je voulais une librairie de graphes, Chart, qui « dépote », qui en mette plein la vue. J’ai donc testé une librairie Open Flash Chart qui utilise Flash, et dont les data peuvent être envoyées par PHP.

J’ai choisi Open Flash Chart car c’est sous licence LGPL.

Pour l’implémentation, j’ai quand même un peu galéré. Déjà utiliser Smarty avec CakePhp, les puristes vous diront que c’est pas bien. Mais je code 2 fois plus vite avec mes vues Smarty vu que je connais bien ce moteur de template.

Les exemples d’implémentation de sur le site de John Glazebrook, sont pour une utilisation classique sans framework MVC.

Vous trouverez sur CakePhp un tutoriel, sur un helper construit pour la version 1 de Open Flash Chart

Utiliser Open Flash Chart 2 sur Cake php avec Smarty :

  • J’ai pris les fichiers qui sont dans le dossier version2/php-ofc-library

app\webroot -> déposer open-flash-chart.swf

app\webroot\js -> déposer json2.js et swfobject.js (je n’ai pas voulu m’embeter avec encore un sous-répertoire pour le json, donc j’ai enlevé le répertoire intermédiaire)

vendors (à la racine de votre dossier) -> déposer le répertoire entier php-ofc-library. Il doit être possible de le mettre aussi dans app\vendors selon si vous voulez l’utiliser pour plusieurs appli ou juste pour celle-là.

Pas la peine d’utiliser le helper fourni sur CakePhp.

  • Dans une des fonctions de votre controller
class UsersController extends AppController {

    var $name = 'Users';
    var $helpers = array('xxx', 'xxx', 'xxx');
    var $uses = array('xxx', 'xxx');

    function home()
    {

Vous pouvez faire votre requête ou remplir un tableau de data qui va alimenter votre graph. J’ai repris l’exemple fourni sur les tutoriaux mentionnés plus haut

App::import('Vendor','php-ofc-library/open-flash-chart');

$title = new title( date("D M d Y") );

$bar = new bar();
$bar->set_values( array(9,8,7,6,5,4,3,2,1) );

$chart = new open_flash_chart();
$chart->set_title( $title );
$chart->add_element( $bar );

Maintenant il faut passer nos data à notre template Smarty

$this->set('chartData', $chart->toPrettyString());
  • Dans notre vue

Le plus compliqué a été de trouver pourquoi il ne récupérait pas les scripts js et l’objet swf au bon endroit, apparemment il faut lui indiquer les chemins suivants :

{literal}
<script type="text/javascript" src="../js/json2.js"></script>
<script type="text/javascript" src="../js/swfobject.js"></script>
<script type="text/javascript">
swfobject.embedSWF("../open-flash-chart.swf", "my_chart", "350", "200", "9.0.0");
</script>

Ce n’est peut-être pas terrible mais ça marche.
Le problème étant que sans les 2 points, il croit que js est une fonction de notre controller. Sans les 2 points devant le swf, il ne se passe strictement rien à l’écran.

La suite :

<script type="text/javascript">

function ofc_ready()
{
    alert('ofc_ready');
}

function open_flash_chart_data()
{
    alert( 'reading data' );
    return JSON.stringify(data);
}

function findSWF(movieName) {
  if (navigator.appName.indexOf("Microsoft")!= -1) {
    return window[movieName];
  } else {
    return document[movieName];
  }
}

var data = {/literal}{$chartData}{literal};
</script>{/literal}

Ne pas oublier les balises smarty literal, pour qu’il n’essaie pas d’interpréter le code js. Si vous avez une erreur du style Unrecognized tag alert, ça vient de là !

J’ai d’abord commencer par essayer d’intégrer la version 1 avec le helper, mais croyant que ça ne marchait pas, j’ai testé la 2.

Je pense que le problème était exactement le même : les chemins d’accés aux scripts et surtout au swf.

Pour les scripts, regarder le code source vous verrez de suite où il va les chercher, pour le swf par contre, il n’affiche rien à l’écran.

Bon courage !

Je dessine une maquette plus vite que mon ombre…

Vous avez besoin de dessiner rapidement une maquette ?

Pas besoin que ce soit très élaboré, juste avoir les bons éléments aux bons endroits, pour avoir une idée claire de ce que pourrait donner la mise en page générale ?

Le design plus vrai que nature, avec photoshop ou autre, fait toujours discuter et débattre vos collègues ?

Balsamiq Mockups vous évite de perdre du temps.

Par défaut, les éléments sont en gris enfin noir 80%, c’est plus classe.

Les formes sont comme si elles étaient dessinées à la main, mais les lignes sont bien plus droites que sur votre cahier ou sur le paperboard 🙂

L’alignement des éléments est facile à gérer grâce aux petites règles qui s’affichent et attirent votre élément.

On peut changer la taille des éléments, la couleur (la palette est limitée), background/foreground, grouper, dégrouper, locker des éléments entre eux, ajouter des icones à certains éléments comme les boutons.

La version de démo (évidement c’est payant !) est vraiment faite pour découvrir : pas d’enregistrement, pas d’export png et une pop-up qui s’ouvre toutes les 5 minutes.

On peut export en xml, si quelqu’un sait dans quel logiciel, à part Basalmiq bien sûr, on peut importer ?

<mockup version="1.0" skin="sketch">

<controls>

<control controlID="4" controlTypeID="com.balsamiq.mockups::Button" x="408" y="35" w="130" h="-1" zOrder="2" locked="false" isInGroup="-1">

<controlProperties>

<text>Participer%20%21</text>

</controlProperties>

</control>

</controls>

</mockup>

J’ai testé sur 2 petites maquettes que j’avais crayonné sur un bloc-notes.

10 minutes pour dessiner ma page de visualisation d’un élément de ma bdd, avec un peu moins d’une dizaine de data/propriétes et 2 ou 3 actions possibes sur la page.

Il m’a manqué quand même une petite liste à puces dans la liste des formes possibles et un timeline/historique. J’ai du utiliser un tableau pour les puces et une progress-bar pour mon timeline

Le plus qui m’a donné envie de tester est l’affichage résultant.

Imaginez, vous voulez faire voir à votre collègue, une mise en page auquelle vous pensez, pour cette %***$ de page qu’il faut améliorer.

Vous faites un gribouilli sur une page de brouillon, vous en discutez, plein plein de questions, « et ça c’est quoi un bouton, un lien ? » une fois mis d’accord, pause café, optionnellement  demander l’accord au chef, hum, il va apprécier votre gribouilli 🙂 puis le réaliser, si jamais vous arrivez à relire votre gribouilli le lendemain, et là il y aura toujours quelque chose à déplacer ou à modifier.  loi de murphy oblige.

C’est là qu’intervient balsamiq, vos lignes seront droites, tout sera aligné, on ne se trompera pas de type d’élément, vos collègues et votre chef comprendront ce que vous voulez faire. Vous obtiendrez une mise en page plus propre et surement une « utilisabilité » meilleure. Et on ne vous blamera pas pour ce dégradé qui n’est pas exactement comme la maquette.

les liens :

screenshots : http://www.balsamiq.com/products/mockups/examples

essai en ligne : http://www.balsamiq.com/products/mockups

download : http://www.balsamiq.com/products/mockups/desktop

XAJAX : framework Ajax pour PHP

Posted On 11 juin 2007

Filed under Tests

Comments Dropped 5 responses

Ajax devient omniprésent dans les applications web. On peut trouver tous les styles de fonctionnement à mettre en place en Ajax, le but étant d’enrichir les fonctionnalités, au profit d’une interface plus efficace.

Xajax est actuellement la librairie la plus efficace pour un intégration dans PHP. De nombreux autres frameworks existent, celui-ci répond à de nombreuses attentes, est stable, toujours actif, et très bien pensé dans l’optique d’une application PHP codée proprement.

(Read More)

Personnalisation de LightBox

Posted On 4 juin 2007

Filed under Tests

Comments Dropped 7 responses

Le script LightBox permet de faire un effet de zoom dans une galerie photo

J’ai eu l’occasion de jeter un oeil dans le code pour le personnaliser, voici donc quelques trucs qui sont facilement modifiables et qui n’ont pas à ma connaissance « d’effets secondaires ». (Read More)

Web Developper : des fonctionnalités bien utiles…

Posted On 28 mai 2007

Filed under Tests

Comments Dropped leave a response

Cette extension firefox simplifie la vie des développeurs et infographistes.
Voici les fonctions que je trouve les plus utiles (Read More)

tests de la suite Zoho

Posted On 30 avril 2007

Filed under Tests

Comments Dropped leave a response

La suite zoho est vraiment complète avec des applications gratuites pour la plupart.

writer : traitement de texte (testé++)
sheet : tableur (testé++)
show : presentations
wiki : traitement de texte évolué
notebook :
meeting : (Read More)

Test de pagety

Posted On 23 avril 2007

Filed under Tests

Comments Dropped leave a response

Comme la plupart des sites se déclarant web 2.0, Pagety propose une page d’accueil assez simple

 

2 liens bien visibles : (un peu plus de 18px)
– Take the tour
– Sign-up

une image de l’interface
un paragraphe de présentation
des liens plus petits pour des infos supplémentaires comme les tarifs, le blog associé…

 

J’ai essayé de voir jusqu’où je pouvais aller dans la création du site, les services proposés, la facilité d’utilisation…

(Read More)