mercredi 22 octobre 2008

Générer des graphiques Flash en PHP avec open-flash-chart-2

Pour générer des graphiques il y a pléthore de solution.

Jusqu'à il y a peu, les graphiques étaient généralement une image générée par le serveur.
  • On peut bien sûr utiliser gd. Mais c'est un peu de bas niveau, bcp de chose à gérer à la main..
  • On peut également utiliser jpGraph (http://www.aditus.nu/jpgraph/) qui est une librairie PHP qui génère des graphiques sous forme d'images en utilisant en interne gd.
Ceci dit, un graphique c'est quand même plus sympa quand il est un minimum interactif..C'est quand même plus sympa d'avoir des tools tips qui affichent les valeurs ou autres...
De plus régénérer l'image à chaque fois que les données changent n'est pas des plus optimisé..

C'est là qu'on en vient à s'intéresser à ce que permet de faire les graphiques en flash.
Faire des graphiques en Flash c'est relativement simple et là aussi plusieurs orientations sont possibles.
  • On peut faire ca ..en flash ! Mais là aussi c'est faire un peu les choses à la main.
  • On peut faire ca ..en flex ! Flex fournit des composants standards sympas qui facilitent énormément le travail. Derrière flex génère un flash.

Mais bon c'est bien beau mais du coup faire un graphique va nécessiter :
  • des compétences flex pour le graphique lui même et l'appel du PHP / le traitement des données
  • des compétences PHP pour tout ce qui est données

Et c'est là que je découvre open flash chart : http://teethgrinder.co.uk/open-flash-chart-2/
Open flash chart fournit :
  • Une bibliothèque PHP permettant de définir les données / l'apparence du graphique
  • Un flash générique qui s'est communiquer avec le PHP lors de son chargement.
  • Une API JS qui va permettre de manipuler les choses également en javascript.

Que demande le peuple :-)
Avec ça, ça y est, un développeur PHP est autonome pour faire de beau graph flash interactifs :-)

Mais c'est pas encore tout !
Grâce à l'API JS il est donc possible de faire des choses plus évoluées avec en autre :
  • Un chargement des données du graphiques depuis un tableau html (approche accessible et non intrusive) : http://code.google.com/p/auto-table-to-chart/
  • Ajout d'interactivité grâce à des formulaires ou autre permettant à l'utilisateur de saisir des critères pour le graphique

Bref, ca à l'air pas mal tout çà.
Y a plus qu'à essayer.

Aucun commentaire: