Not My Idea

Carnets Web d'Alexis Métaireau

Comparatif des bibliothèques graphiques php

J’ai travaillé récemment sur une solution pour générer des graphiques efficacement, tout en aillant le meilleur rendu possible, et ce pour des graphiques devant utiliser beaucoup de valeurs (de l’ordre de 5000 pour un graphique).

Je regroupe ici les résultats de mon étude, en espérant faire un petit état des lieux des différentes bibliothèques de génération de graphiques existantes, en tentant des les comparer. Volontairement, je ne désigne pas de meilleure bibliothèque, puisque cela dépends fortement du besoin qui l’accompagne.

J’ai tenté de faire un tour des bibliothèques qui me semblaient intéressantes, si toutefois vous connaissez une bibliothèque qui aurait sa place ici, je me ferais un plaisir de l’ajouter au comparatif.

continuer à lire »

Quelques nouvelles

Même si l’activité sur ces carnets pourrait laisser penser le contraire, je travaille activement, et sur plein de projets !

Récemment, j’ai été embauché en tant que stagiaire dans une petite boite qui fait du développement d’applications web (que je différencie de la réalisation de sites web). Cette société, basée à Paris, vient d’ouvrir des locaux sur Toulouse, et j’ai la joie et le plaisir d’en profiter. Je m’amuse vraiment, et découvre le Zend Framework, tout en passant toujours pour un extremiste qui déteste les antipatterns1. Bref, une super équipe, des gens très interessants, et un stage de 6 mois qui débute très bien !

J’ai commencé les cours, après un mois de pré-cours intensifs2. Et pour l’instant, ça me déplait plutôt. Il faut dire que les matières abordées ne s’y prétaient pas beaucoup (Microsoft et Oracle : merci bonsoir). La semaine qui arrive annonce le début des cours de Java, qui semblent bien plus prométeurs3. Espérons.

Qui l’eut cru: on à repris le développement de spiral, qui décidément porte très bien son nom, vu le temps depuis lequel le projet traine. Des deadlines sont fixées, les idées toujours aussi bonnes, et la motivation au rendez vous. Quelques nuit de travail en perspective, mais qu’est ce que c’est bon d’échanger sur des vrais sujets de geek developpeurs fans de design patterns !

Depuis mon arrivée à Toulouse, je fait partie d’une association naturaliste basée sur l’université de ramonville4, avec laquelle j’ai pu lancer un projet de semaine de l’environnement5. Ca me prends pas mal de temps, mais je rencontre des gens géniaux, et ça me fait décrocher de ce satané écran ! D’ailleurs, la semaine de l’environnement à non pas lieu dans une ville, mais dans 8, et les associations en question sont fédérées autour du GRAPPE (Groupement des Associations Porteuses de Projets en Environnement). Si vous aussi vous voulez lancer une semaine de l’environnement chez vous, contactez nous !

Plus recemment, nous avons eu l’idée de lancer une AMAP étdudiante sur Toulouse. Si vous êtes interessés, faites moi signe, les réunions approchent !

  1. ou qui adore les patterns,au choix.
  2. ou pas, tout dépends les matières
  3. avis aux trolleurs multiples et potentiels: oui, je crois sincérement que Java, c’est bien. Un peu lent, mais bien! Peut être que l’avenir me contredira.
  4. qui n’est pas du tout à coté de mon école…
  5. une semaine d’activités autour du thème de l’environnement, qui aura lieu du 16 au 22 Mars 2009

Allez, au boulot !

Ca fait un bon moment que je n’ai pas pris le temps d’écrire ici, et pour cause, l’été fut chargé: réalisation de sites webs, utilisation intensive des molets1, et découverte des joies du foie gras2

Mais la rentrée pointe le bout de son nez (c’est une bonne chose!), et la reprise d’activités cérébrales ne devrait plus trop tarder. Comme d’habitude, petite liste des choses que j’aimerais bien faire cette année3

  • J’ai eu l’occasion de découvrir l’excellent framework web Jelix, et de l’utiliser pour un projet (pas encore totalement terminé) web. Beaucoup de choses géniales, découverte de svn malgrès moi, et des tonnes d’idées à repiquer pour spiral en perspective4.
  • Trouver un designer digne de ce nom, sur Toulouse, avec lequel travailler, parce que mes clients commencent à trouver que mes sites ont une sale gueule (et ils ont raison…)
  • Trouver un vrai bouquin sur les designs patterns, en français, à mettre sur ma table de chevet.
  • Et puis, enfin, m’installer et découvrir Toulouse, puisque j’ai la chance de poursuivre mes études la bas. D’ailleurs, si vous êtes du coin, je suis pour une visite grandeur nature!

Je profite de ce billet pour remercier ceux qui ont permis de faire de ma passion un gagne-pain le temps d’un été. L’expérience fut très enrichissante, et je vous en remercie chaleureusement.

  1. 750km à vélo pour un mois de vacances inoubliable…
  2. En savourant du Masada sous le grand chapiteau de Jazz In Marciac!
  3. même si je sens que le temps va manquer…
  4. malgrès la puissance de jelix, je continue à m’obstiner à faire « mon mien» . Question de fierté peut être ? En tout cas il me reste – beaucoup – à apprendre

Qu’est ce que GNU/Linux ? Retour aux origines

Avec l’arrivée des distributions « grand public », GNU/Linux souffre d’un phénomène qui prend de plus en plus d’ampleur :

C’est parce que GNU/Linux est une solution de plus en plus largement diffusée et accessible que beaucoup de nouveaux utilisateurs s’y essayent. Trop souvent en oubliant qu’il s’agit du résultat du labeur de la communauté Libre. C’est un phénomène qui se vérifie trop souvent, et j’en suis moi même la preuve : lorsque j’ai décidé de passer sous GNU/Linux, c’était plus par curiosité – parce que cela était amusant – que parce qu’il s’agissait d’une solution fonctionnant grâce et pour le logiciel libre. Ce n’est qu’au fur et à mesure de mes pérégrinations que j’ai cherché à approfondir cette question qui me semble désormais essentielle.

Cela semble pourtant être une évidence : « J’utilise Linux, donc je sais de quoi il retourne ». Malheureusement, c’est assez souvent faux ! Parce qu’il est nécessaire d’avoir une démarche personnelle vers le Logiciel libre pour en comprendre la grandeur, et pour saisir les messages d’ordre philosophique et politique (au sens noble du terme) qu’il engage1.

On compare trop souvent GNU/Linux à Windows, et c’est un tord: L’un n’est pas l’autre2, et les principes qui les régissent, même si ils suivent les même bases techniques (ce sont tous deux des systèmes d’exploitation voués aux mêmes finalités), sont complètement différents voir parfaitement opposés: l’un défends le logiciel libre tandis que l’autre s’inscrit dans une logique de profit économique, et de « programmation égoïste »3.
Ce sont ces principes et cette idéologie, qui ont permis à GNU/Linux de devenir ce qu’il est. Cela à fonctionné parce qu’il s’agit d’un logiciel libre, permettant à chacun, à son échelle, de participer au projet comme il l’entends.

Il semble donc primordial de ne pas reléguer le logiciel libre à un simple contexte de développement, ayant permis de donner naissance au paysage libre actuel. C’est ce qui semble se passer, et la conséquence est simple: les contributions ne sont pas à hauteur du succès des différents projets4.

Le simple fait d’utiliser des logiciels libres ne suffit pas à contribuer à son évolution, il est nécessaire de s’y impliquer pour que cela fonctionne5. La déclaration d’un bug ou un simple retour utilisateur permettent alors de contribuer, à votre échelle.

Avec GNU/Linux, vous avez le pouvoir de faire évoluer les choses, utilisez le !

  1. le projet GNU est une ressource intarissable à ce sujet
  2. Lire l’excellent article de Sébastien Sauvage à ce sujet
  3. au sens ou l’entends Gerald Weinberg dans son ouvrage The Psychology of Computer Programming
  4. ça en fait d’ailleurs râler certains
  5. C’est d’ailleurs ce point qui est à l’origine des désaccords entre les partisans du Logiciel Libre et ceux de l’Open Source…

Convertir des albums encodés en .flac vers du .mp3

J’ai récemment récupéré plusieurs albums au format flac, et souhaitant pouvoir les lire sur mon baladeur multimédia, j’ai du les convertir au format mp3 (bouuuuh).

Rien de bien sorcier, mais les albums en question étaient fournis sous le forme d’un seul et unique fichier, ainsi que d’un fichier .cue, contenant les informations de découpage des titres du dit album.

J’ai donc utilisé mp3splt, ainsi que flac2mp3.

Téléchargez les différents logiciels, installez les puis placez vous dans le répertoire contenant vos fichiers .flac et tapez:

flac2mp3 . . &&  mp3splt -c *.cue *.mp3

Et en trois coups de cuillère à pot, le tour est joué!

Il est également possible de procéder de la même manière en obtenant un fichier ogg Vorbis, en utilisant oggconvert ou flac2ogg.

Ubuntu – Impossible de se connecter au réseau wifi

Cette nuit, et sans donner plus d’explications, mon ordinateur à subitement refusé de se connecter a mon réseau wifi. Lorsque la détection des réseaux voisins, y compris le mien, se passe sans encombres, la connexion échoue systématiquement, nm-applet me demandant sans cesse de (re)saisir la clé de chiffrement.

Il semble s’agir d’un problème de configuration, puisque, après création d’un nouveau compte utilisateur, la connexion en wifi au même point d’accès ce passe sans encombres.

un

locate wireless | grep ~

me retourne une liste des fichiers potentiellement incriminés. Les fichiers de configuration concernant le wifi sont situés dans ~/.gconf/system/networking/wireless/networks.

Supprimez les dossiers portant le nom du SSID de votre connexion wifi, et relancez une session: Ils seront regénérés automatiquement à la saisie de votre clé de chiffrement.

Voici la ligne de commande permettant de supprimer l’intégralité de votre configuration :

rm -Rf ~/.gconf/system/networking/wireless/networks/*

Par contre, je n’ai aucune idée de la provenance du problème …

Linux et Ubuntu: mon expérience utilisateur

Cela fait maintenant quelques mois (depuis octobre peut être) que j’ai complètement quitté Windows (XP) au profit de Linux (Ubuntu). J’ai commencé par essayer plusieurs distributions pour finalement me tourner vers Ubuntu, celle-ci remplissant plutôt bien son objectif premier: rester accessible à l’utilisateur lambda tout en permettant une personnalisation poussée de l’environnement de travail.

Petit compte rendu:

Mauvais souvenirs

A priori, mon appréhension pour Linux était grande: J’ai installé il y à de ça 6 ans une distribution Redhat. J’étais complètement perdu et paniqué (et n’ayant pas internet, ça ne pouvait être que pire): Incompréhension totale du système, impossibilité d’installer un logiciel sans passer par la l’effrayante ligne de commande etc. Échec lamentable et retour à Windows. ( Non pas que le système était mauvais, mais il ne me convenait pas à l’époque).

De la facilité d’installation et d’utilisation

Poursuivant mes études (informatiques), j’ai été amené à côtoyer Linux d’un peu plus près, et à finalement tenter l’installation d’Ubuntu sur mon poste. N’ayant connu que l’installeur de Debian; je fût agréablement surpris de pouvoir installer mon système tout en allant consulter mes mails et rédiger des documents, grâce au live-cd.

L’installation est rapide, pratiquement pas de problèmes de compatibilités sur ma machine (ce n’est pas encore le cas pour tout le monde); Une heure plus tard, je me retrouve avec un environnement de travail bien ficelé, et … même pas la peine d’installer des logiciels supplémentaires; tout est fourni: lecteur audio, navigateur web, traitement de texte, etc. (Quand on vient de windows, ça fait bizarre …)

J’utilise mon ordinateur pratiquement tous les jours, et plusieurs fois par jour. Un des points faibles d’ubuntu (sur mon portable en tout cas), est la lenteur du démarrage, (pas grand chose, mais je dois avoisiner les 15 à 20 secondes de plus que lorsque j’étais sous windows). Par contre, une fois le système démarré; la richesse des outils proposés et leur intégration est géniale. J’ai déniché et installé très facilement quelques logiciels qui m’assistent quotidiennement de manière très efficace (Tomboy et Gnome-Do pour ne pas les citer), j’aurais du mal à les quitter en retournant sous windows.
Je me suis finalement assez rapidement adapté. On s’y retrouve très facilement dans gnome: ca reste simple tout en étant puissant.

Le choix logiciel

Un des arguments qui revient souvent en la défaveur de Linux est le manque de choix logiciels. Outre les outils de la suite Adobe, (qui s’appuient sur des formats non libres et ne permettent pas l’installation de leurs logiciels sous Linux) et la plupart des jeux, cet argument n’est pas valable.

Ce sont nos habitudes qui nous bloquent. J’étais habitué à Office 2007 (qui, il faut le dire, fournit une interface très ergonomique), j’ai néanmoins changé d’habitudes et rédige mes documents sur OpenOffice avec (presque) autant de facilité; en plus les documents en questions sont fournis dans un format libre et ouvert, permettant une intéropérabilité maximum :)
Concrètement, et comme je le disais plus haut, lorsque je cherche un logiciel, les trois quarts du temps, je trouve mon bonheur dans les dépots. J’ai même le choix entre plusieurs logiciels concurrents, le pied.

Certes les gamers, designers (quoi que) et autres photographes bénéficient d’outils bien plus appropriés sous Windows ou sous mac; dommage pour eux ;)

Du chemin à parcourir

Après une installation « fraîche », j’ai été sujet à quelques bugs (leur résolution à d’ailleurs fait l’objet d’un billet). Preuve que le système manque peut être encore un peu de maturité pour les portables. Une fois le premier cap passé (difficile, je vous l’accorde), travailler sous Linux est un vrai bonheur. Et en tant que développeur, je ne pouvais qu’apprécier de pouvoir accéder à toutes les sources des logiciels grâce auxquels je travaille. (je les ai pas tous regardé hein!)

Conclusion

Finalement, je suis pleinement satisfait de mon système: simple d’utilisation, facile à maintenir en forme, et bénéficiant d’une communauté active;

Je crois ne surprendre personne en disant qu’il s’agit uniquement d’une question de choix. J’ai testé Linux et Windows; et pour l’utilisation que j’en ai, Linux me convient parfaitement (ce qui n’est certainement pas le cas de tout le monde actuellement). Windows me convenait également, mais après utilisation, moins que Linux.

D’un point de vue plus idéaliste, participer en tant qu’utilisateur au mouvement opensource est également une fierté personnelle. Joli pied de nez aux éditeurs propriétaires: « Eh ouais, le libre, ça fonctionne, et plutôt pas mal! »

Et puis bien sur, je ne parles que de ce que j’ai pu apercevoir. J’oublie de parler de la sécurité du système, de l’absence de virus (pas qu’il n’y en ai pas, mais je n’en ai pas croisé) et sûrement d’un tas d’autres choses.

En tout cas, en peu de temps les choses ont bougées très rapidement, et dans le bon sens. Ca en est presque flippant: A quoi doit-t-on s’attendre d’ici à 5 ans ?

Expressions régulières – Outils

Qui à déjà utilisé les expressions régulières sait qu’il est plus que facile de s’y emmêler les pinceaux.

J’ai déniché il y à peu un outil réellement très pratique. Bien que conçu pour les exceptions régulières Action Script, l’outil m’a parfaitement assisté lors de la conception d’expressions régulières pour PHP.

Malgré tout, j’aimerais bien trouver quelque chose d’équivalent hors ligne, plus adapté à PHP, et si possible open source. Vous connaîtriez quelque chose du type ?

Edit: Merci à Valos pour sa découverte; Kodos fait exactement tout ça, avec tout un tas d’options juste comme il faut. Fini les prises de têtes :) (ou pas)

Partitionnement sous linux: séparez votre partition /home !

Parce que je ne peux pas m’empêcher de tester d’autres distributions (Crunchbang Linux, Linux Mint,OpenSuse …), il m’arrive occasionnellement de réinstaller mon système d’exploitation.

Afin de garder toujours sous la main mes dossiers personnels, et tous mes réglages d’applications , j’ai séparé lors de mon premier partitionnement, la partition /home des autres. C’est un réel bonheur que de n’avoir plus rien à reconfigurer après réinstallation de son système.

Effectivement, sous Linux, (en tout cas sous gnome), les réglages de vos applications sont enregistrés dans autant de dossiers/fichiers cachés à la racine de votre partition utilisateur (/home/username/.*)

Du coup, pas besoin de configurer l’accès au réseau, de changer son fond d’écran ou de paramétrer ses logiciels, c’est déjà fait! C’est pas beau la vie ? :)

J’ai également séparé ma partition /opt, qui contient toutes les applications qui ne sont pas maintenues dans des dépôts.

Séparation de la partition /home

Si vous n’avez pas séparé votre partition /home lors de la phase d’installation, il n’est pas trop tard.

Plusieures manières de procéder:

  • Soit en installant gparted ( en cliquant sur le lien, ou via un classique sudo aptitude install), puis en modifiant votre table de partition pour obtenir une configuration similaire à la suivante (il est possible via cet utilitaire de redimensionner la taille de vos partitions).
  • Soit, si votre partition système n’est pas accessible avec ubuntu de lancé, en utilisant le live CD, pour toujours obtenir une config comme celle-ci:

Et voilà :)

Brainstorming ubuntu: à l’écoute de l’utilisateur

brainstorming-ubuntu-logo.png

Encore une bonne nouvelle de la communauté ubuntu: un site de brainstorming (pourquoi l’appeler autrement?) sur ubuntu vient d’ouvrir ses portes: http://brainstorm.ubuntu.com/.

Une nouvelle occasion de participer à la communauté, mais cette fois-ci ouverte à tous les publics.

Les utilisateurs peuvent désormais soumettre leurs idées et suggestions pour ubuntu, et voter pour les idées déjà proposées. Une belle avancée, qui devrait apporter énormément à une distribution qui se veut la plus user-friendly possible.

Alors, si vous avez des idées pour la prochaine version Intrepid Ibex, (hardy étant pratiquement bouclée à l’heure qu’il est) n’hésitez pas à participer!

via