Click here to check if anything new just came in.
February 28 2010
February 25 2010
PHP jouerais-t-il dans la cours des grands ?
Le temps passe, et la mauvaise image du langage PHP marque les esprits. Mauvaise image, qui n’est pas complètement dénuée de sens, même si les choses évoluent doucement. PHP est considéré par beaucoup comme un langage de débutants, et bon nombre d’entreprises et de personnes font le choix d’utiliser ce langage en mettant de coté les bonnes pratiques de la conception logicielle, traînant avec eux une vieille image ternie de ce qu’est PHP actuellement.
D’un autre coté, des projets matures et fiables voient le jour, héritant du savoir faire et de la qualité du monde Java, un exemple frappant est Flow3, et plus récemment, Symfony 2 (ce qui m’à d’ailleurs agréablement surpris). Le monde de PHP est donc en pleine mutation, avec la montée en puissance de concepts avancés tels l’inversion de contrôle, les tests unitaires et (enfin!), de la VRAIE persistance.
A l’origine, un langage de débutants…

PHP joue-t-il dans la cour des grands ?
Ce qui plombe le plus PHP, doit être le non professionnalisme d’une partie de sa communauté, découvrant le développement via PHP — langage permissif au possible — et laissant la porte ouverte à des aberrations folles.
Le langage laisse (trop) libre les nouveaux venus, et on ne parles que peu de tests unitaires, de code commenté (j’en passe des tonnes, volontairement). Facile donc de faire les choses de travers, et vous ne trouverez que peu de personnes pour vous encourager à ne pas continuer dans ce sens, à moins de savoir vers ou chercher.
On trouve encore trop de scripts en PHP avec une approche fonctionnelle (de par le passé de php et son approche fonctionnelle de la programmation), et trop de bibliothèques pas ou peu testées, bref, dans l’ensemble c’est une catastrophe. Je m’amuse à faire l’analogie avec la construction de maisons avec du scotch.
… qui tends à se professionnaliser
Je suis le premier à dire que les (petites) entreprises (en général) manquent d’un savoir faire crucial en terme de bonnes pratiques, et pourtant, ces dernières commencent à s’intéresser de près à des concepts avancés, et aux bonnes pratiques. Les frameworks utilisés en entreprise sont souvent testés unitairement (Jelix, symfony, Zend Framework, pour ceux que j’ai eu l’occasion d’apprivoiser), et les bonnes pratiques sont parfois vraiment mises en avant.
Avec la sortie de PHP 5.3, on peut désormais utiliser des fonctionnalités telles que les espaces de noms ou les closures, concepts déjà implémentés depuis fort longtemps dans d’autres langages, et qui venaient à briller par leur absence.
Et un front de raz-le-bol général qui bat son plein: on veut du code testé, du code bien fait, on en veux plus de la soupe (et de la programmation spaghetti) ! Rébellion !
Même si je fonde de grands espoirs dans PHP, et que je penses que tout n’est pas à jeter, qu’il y à une réelle motivation qui commence à se faire sentir de la part de la communauté, je me demandes si PHP joue dans la même cour que Java, ou que Python et Ruby pour ne citer qu’eux, qui bénéficient d’une communauté forte et avide de bonnes pratiques.
Et vous qui utilisez PHP, vous en pensez quoi ? PHP peut-il être comparé à Java, à Python, à Ruby ? Est-ce une abération de faire de telles comparaisons? ou est-ce définitivement à un autre niveau ?
February 23 2010
Semaine de l’environnement: La consommation étudiante
Les acteurs associatifs sont bien souvent moteurs des critiques de nos sociétés. Je pense à Framasoft, à la Quadrature du net ou à Ars Industrialis (dans le domaine de la science et de l’informatique), mais aussi aux Amis de la Terre, à ATTAC (dans le domaine de l’environnement entres autres), et a tout un tas d’autres associations que je ne peux pas citer ici exhaustivement… Ce sont eux qui sont porteurs de messages alternatifs, et qui sont les initiateurs de débats publics, qui permettent de faire avancer des thématiques aussi importantes que le logiciel libre ou la protection de l’environnement.
Dans cette optique, depuis près de 3 ans (déjà !), au sein du réseau GRAPPE, on essaye d’aborder des thématiques qui touchent de près ou de loin à l’environnement, parce que c’est un sujet qui nous importe et nous passionne.
L’année dernière, c’était l’alimentation étudiante, ce qui à abouti à la publication de la revue « les étudiants se mettent à table» . Cette année c’est la consommation étudiante qui est au programme.
La consommation étudiante ?
L’idée principale de cette étude est de tenter de faire une analyse de la « société de consommation» , souvent questionnée par les étudiants et par d’autres, et de jeter un œil sur le rapport des étudiants à cette société:
Quoi et comment consomment-ils ? Les universités et les écoles ne poussent-elles pas d’une certaine manière les étudiants à la consommation ?
Quelles sont les alternatives face aux dérives de surconsommation ?
Analyse des pratiques, réflexions et mobilisations des étudiants en termes de consommation seront réalisés pour comprendre leur modes de vie, mais aussi leurs attentes, leurs propositions sur cette thématique
La semaine de l’environnement !
A travers l’ensemble des villes du réseau, des projections de films et des débats auront donc lieu sur ce thème, lors de la semaine de l’environnement 2010, qui se déroulera d’ailleurs durant le mois de Mars partout en france, et du 6 au 14 Mars sur Toulouse. Jetez un oeil au programme !
Avec pour objectif de sonder un peu le ressenti des étudiants en terme de consommation, nous avons mis en place un questionnaire en ligne, que vous pouvez compléter en une petite 10aine de minutes, n’hésitez pas !
February 07 2010
February 05 2010
January 31 2010
January 24 2010
January 17 2010
January 10 2010
January 03 2010
December 27 2009
December 22 2009
December 20 2009
December 18 2009
December 17 2009
Python, go !
Cela fait maintenant un peu plus d’un mois que je travaille sur un projet en django, et que, nécessairement, je me forme à Python.
Je prends un plaisir non dissimulé à découvrir ce langage (et à l’utiliser), qui ne cesse de me surprendre. Les premiers mots qui me viennent à l’esprit à propos de Python, sont « logique» et « simple» . Et pourtant puissant pour autant.
Je ne manque d’ailleurs pas une occasion pour faire un peu d’évangélisation auprès des quelques personnes qui veulent bien m’écouter.
The Zen of Python
Avant toute autre chose, je pense utile de citer Tim Peters, et le PEP20, qui constituent une très bonne introduction au langage, qui prends la forme d’un easter egg présent dans python:
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
J’ai la vague impression que c’est ce que j’ai toujours cherché à faire en PHP, et particulièrement dans le framework Spiral, mais en ajoutant ces concepts dans une sur-couche au langage.
Ici, c’est directement de l’esprit de python qu’il s’agit, ce qui signifie que la plupart des bibliothèques python suivent ces concepts. Elle est pas belle la vie ?
Comment commencer, et par ou ?
Pour ma part, j’ai commencé par la lecture de quelques livres et articles intéressants, qui constituent une bonne entrée en matière sur le sujet (La liste n’est bien évidemment pas exhaustive et vos commentaires sont les bienvenus) :
- Dive into python
- A byte of python
- Python: petit guide à l’usage du développeur agile de Tarek Ziadé
- La documentation officielle python, bien sûr !
- Les vidéos du pyconfr 2009 !
- Un peu de temps, et une console python ouverte
J’essaye par ailleurs de partager au maximum les ressources que je trouve de temps à autres, que ce soit via twitter ou via mon compte delicious. Allez jeter un œil au tag python sur mon profil, peut être que vous trouverez des choses intéressantes, qui sait!
Un python sexy
Quelques fonctionnalités qui devraient vous mettre l’eau à la bouche:
- Le chaînage des opérateurs de comparaison est possible (a<b <c dans une condition)
- Assignation de valeurs multiples (il est possible de faire a,b,c = 1,2,3 par exemple)
- Les listes sont simples à manipuler !
- Les list comprehension, ou comment faire des opérations complexes sur les listes, de manière simple.
- Les doctests: ou comment faire des tests directement dans la documentation de vos classes, tout en la documentant avec de vrais exemples.
- Les métaclasses, ou comment contrôler la manière dont les classes se construisent
- Python est un langage à typage fort dynamique: c’est ce qui m’agaçait avec PHP qui est un langage à typage faible dynamique.
Cous pouvez également aller regarder l’atelier donné par Victor Stinner durant le Pyconfr 09.
Have fun !
December 13 2009
December 06 2009
November 29 2009
November 22 2009
November 15 2009
Maybe Soup is currently being updated? I'll try again automatically in a few seconds...
