Mon rêve de ce soir, un PHP normalisé…

    23:25 27 09 2007

J’adore PHP, je travaille avec ce langage depuis maintenant 8 ans et je le trouve vraiment pratique et tellement facile d’utilisation.
Mais rien n’est parfait dans ce monde et PHP n’échappe pas à cette règle.

A quoi pensaient les développeurs de PHP lorsqu’ils ont pondu les fonctions de gestion des chaînes! Rien n’est normalisé, ni les noms des fonctions, ni leur prototypage, ni les valeurs qu’elles renvoient.

Des exemples ?

C’est parti, trouvez les erreurs :

str_repace() VERSUS strstr()

strip_tags() VERSUS stripslashes()

stripos() VERSUS str_ireplace()

strcasecmp() VERSUS stristr()

html_entity_decode() VERSUS htmlentities()

nl2br() VERSUS strtolower()

str_replace ( mixed $search, mixed $replace, mixed $subject [, int &$count] ) VERSUS strstr ( string $haystack, string $needle )

etc…

Il semblerait que deux bibliothèques ont été réunies, chacune avec des normes à l’opposée de l’autre.

Quelqu’un en saurait plus?



Résultats de l’observatoire des logiciels libres

    09:40 27 09 2007

Anaska et IB Groupe Cegos ont créé en 2006 l’Observatoire des logiciels libres. Son objectif : mesurer l’usage réel de ces logiciels en entreprise. Les derniers résultats comparant 2006 et 2007 sont disponibles en ligne. Nous vous résumons les principaux enseignements.

L’étude révèle des données précises par domaines et volumes de l’activité formation. Voici les principaux enseignements de cette deuxième édition du baromètre (évolution de 2006 à 2007).

+20% de personnes formées

Le nombre total de personnes formées progresse d’environ 20%, preuve que les logiciels libres séduisent toujours plus d’entreprises. Cette croissance est essentiellement liée à des formations très techniques – web 2.0, optimisation de la plate-forme LAMP, framework PHP, etc. – et l’élargissement du catalogue de formations.

Apparition des progiciels tels que SugarCRM

Les cursus s’enrichissent aujourd’hui de formations dédiées à un public moins technique. C’est notamment le cas des outils de gestion de la relation client comme SugarCRM et de reporting tel que JasperSoft.

LAMP toujours à l’honneur

Le succès de la plate-forme LAMP (Linux Apache MySQL PHP) ne se dément pas. Comme en 2005 et 2006, elle draine un nombre important de formations. Cependant, les entreprises recherchent des cursus de plus haut niveau visant à optimiser les performances ou à améliorer la pérénité et la productivité des développements grâce aux frameworks PHP. Les cursus liés à la certification PHP décollent également.

Le cas « Linux »

Les formations initiales Linux sont toujours plus nombreuses en université et en école d’ingénieurs, si bien qu’avec l’arrivée quasi simultanée de Windows Vista et de Windows Server 2003 dans les entreprises, le nombre de formations Linux reste stable. Les cursus de formation Linux se positionnent eux aussi sur des niveaux d’expertise assez élevés : programmation shell, sécurité, linux embarqué, etc. OpenOffice.org : les entreprises s’auto-forment

Alors que le nombre de téléchargements d’OpenOffice.org (version francophone) a connu une progression de +46% entre 2006 et 2007, les entreprises ne font plus appel aux organismes de formation. Le nombre de personnes formées entre 2006 et 2007 a chuté de 80%, dans les mêmes proportions chez Anaska et IB-Groupe Cegos. Ce ralentissement n’est pas lié à un désintérêt pour OpenOffice.org. Au contraire, les entreprises s’approprient directement la suite bureautique, sans passer par la case formation.

* Le site de l’observatoire du libre
* Télécharger l’étude

Le document peut être téléchargé sur le site ob2l.com.



Compression zlib sans passer par la directive « zlib.output_compression »

    23:52 24 09 2007

En PHP, il est possible de compresser les sources envoyés vers le navigateur afin d’économiser de la bande passante. Cela s’appelle la compression zlib. Il est possible de l’activer directement dans le fichier php.ini grâce à la directive zlib.out_compression.

Mais voilà, on n’a pas toujours accès au fichier php.ini. Vous allez alors me dire

« bah, t’as qu’à faire un ini_set() dans ton code! ».

Je suis d’accord, sauf que l’utilisation d’ini_set() est gourmande en temps d’exécution vu que l’a conf est rechargée à chacun de ses appels.

Une solution tierce que m’a donné un stagiaire sur une formation que j’anime cette semaine est de passer par l’output buffering.

Il est possible de passer une fonction de callback à ob_start(). Cette fonction sera exécutée sur l’ensemble de votre buffer, donc de votre page. Or il existe une fonction spécifique en PHP permettant d’effectuer la compression zlib avec l’output buffering : ob_gzhandler()

En complant les deux, on obtient une compression zlib sur sa page :

ob_start(‘ob_gzhandler’);

Cette astuce est certainement connue de beaucoup de monde vu qu’elle est directement décrite dans la documentation de PHP (http://fr.php.net/manual/fr/function.ob-gzhandler.php) mais je doit avouer que je n’étais jamais tombé dessus.



Ma famille va s’agrandir

    23:34 24 09 2007

J’ai préféré attendre un peu avant de l’annoncer mais maintenant que la période un peu délicate de début de grossesse est passée, je peux me lancer : ma famille va bientôt s’agrandir!

Et oui, Adam va bientôt avoir un petit frère ou une petite soeur (on devrait être fixé d’ici deux semaines avec la seconde echographie).

La cigogne devrait passer la première quinzaine de Février 2008!

Il ne reste plus qu’à lui trouver une place dans notre petite maison…



Bluffé par WordPress!

    15:05 22 09 2007

Voilà, je viens de finir la nouvelle version de mon Blog. J’ai mis à jour WordPress, changé et adapté le template, ajouté des modules, revu les menus etc… je n’ai plus qu’à poster un peu plus souvent ;-)

Cette évolution m’a permis de me pencher plus avant sur WordPress, son mode de fonctionnement et les plugins disponibles et je dois avouer que j’ai été bluffé, cette application est vraiment bien conçue et super complète.

Du coup, je crois que je vais me baser dessus pour la refonte du site de WampServer. Les fonctionnalités nécessaires sont :

- possibilité de publier N pages avec arborescence
- backoffice avec gestion des utilisateurs et de leurs droits
- système multi langue (disponible en plugin)
- forum (disponible en plugin)
- mailing list (disponible en plugin)

Je vais tester tout cela ce week-end et si ça colle, je me lance dans la refonte la semaine prochaine.



Nouvelle version de mon blog

    02:15 22 09 2007

Je suis fatigué, mais ça valait le coup ;-)

…promis, demain je finis en remplaçant l’image de la bannière par une perso.



La France a gagné!

    22:37 21 09 2007

Je viens de regarder la fin du match de l’équipe de France de rugby contre les Irlandais, c’est top, ON A GAGNE!!! …mais j’ai rien compris!

Je trouve que pour les néophytes, le rugby est un sport difficile a regarder. A plein de moments, le ballon était par terre, mais personne ne le prenait, qu’est ce qu’ils attendaient, que les autres le prennent? A d’autres moments, tout le monde s’arrêtait de jouer, je sais toujours pas pourquoi?!

Pourtant j’ai fait le site de l’équipe de Brives en 2004 ou 2005 (il a changé depuis) mais j’y comprends toujours rien, enfin si,

ON A GAGNE!!!



Photoshoot avec les stars du PHP

    22:56 20 09 2007

En faisant du ménage sur mon portable, je suis retombé sur cette photo plutôt marrante :

Romain Bourdon, Rasmus Lerdorf, Zeev Suraski

Cette photo date du Forum PHP 2004.
J’étais parti faire des courses car on manquait de bouteille d’eau pour les participants et en revenant je me suis trouvé au milieu d’un photoshoot de Rasmus et Zeev pour divers journalistes présents sur place. On (je ne sais plus exactement qui) m’a alors demandé de me mettre à côté d’eux pour le côté fun de la situation…malheureusement (ou heureusement), la photo n’a pas été sélectionnée pour les magazines en question ;-)



Première revue de WampServer 2

    08:54 20 09 2007

Comme certains le savent peut-être, je suis actuellement en train de travailler sur WampServer 2, la prochaine version de WAMP5 qui devrait sortir avant la fin de l’année.
Cette fois, il s’agit non pas d’une évolution de WAMP5, mais bien d’une refonte lourde de l’application.

Certains vont me demander « Pourquoi? Qu’est ce qu’il t’a fait WAMP5 pour mériter cela? »
et je leur répondrait « WAMP5 a fait son temps, il n’a pas démérité et aura bien sûr sa place au tableau d’honneur, mais il est temps de se tourner vers l’avenir et de réfléchir aux générations futures qui ont également le droit à l’innovation! ».
Comment ça, je pars en vrille…?!

Donc une nouvelle version de WAMP, mais alors pourquoi ce changement de nom?
Je commencerais par dire, que dans WAMP5, il y a 5 en référence à PHP5 et que bientôt (enfin, dans les 12 mois), il y aura PHP6 et que je n’ai pas envie de tout changer à ce moment là. Par ailleurs, mon idée première était que WAMP5 s’appelle WampServer mais, à l’époque, je suis parti sur WAMP5 en décidant que ce serait une série spéciale en référence à la sortie de PHP5. La série spéciale est restée et est devenue la référence. Je dirais ensuite que WAMP5 1.x.x, ça fait beaucoup de chiffres pour une seule application!
Retour aux origines, la prochain version s’appellera donc WampServer 2.0.

Mais alors, quel est donc l’objectif de ce WampServer 2.0 machin chose?

WAMP5 (ou WampServer maintenant) a pour objectif premier de permettre aux développeurs de reproduire leur environnement de production sur leur poste Windows afin d’en faire un environnement de développement. Le problème est que jusqu’à présent, chacun peut reproduire un environnement à peu près équivalent à celui de production, les versions de Apache, PHP, et MySQL étant liés à la version de WAMP5 que vous installez. Il n’est pas possible, par exemple, d’avoir un apache 2.0.45 avec un PHP 5.1.3 et un MySQL 4.0.25 (au pif) à moins de télécharger une vieille version de WAMP5 et de la bidouiller.
WampServer 2 va remédier à cela!

Avec WampServer 2, il sera possible d’installer autant de version de Apache, PHP et MySQL que souhaité et basculer de l’une à l’autre. La version de base sera toujours livrée avec les dernières version disponibles mais il sera ensuite possible de télécharger des modules complémentaires pour ajouter d’autres versions, le nombre de versions installables étant virtuellement infini.

L’idée semble simple, mais elle implique une refonte complète de WampServer, le menu devant s’adapter à chaque switch effectué. Par exemple, je switch d’une version de PHP à une autre. Dans le menu, il faut alors recharger toutes les extensions, les options de configuration, changer le chemin d’accès au fichier php.ini..etc
C’est pourquoi dans WampServer 2.0, le menu sera entièrement regénéré à chaque lancement de l’application ou à chaque changement de conf grâce à un unique script CLI refresh.php.
Cela implique également d’autres changements importants dans le fonctionnement et l’architecture de WampServer mais je vous épargnerais ces détails.

Voilà pour la principale nouveauté, d’autres seront également incluses (nouvelle page d’accueil, modification de la structure du menu, changement de l’arborescence de WAMP, etc…) mas ça, je vous l’expliquerais dans un autre post ;-)



LA montre des années 80

    20:23 17 09 2007

Je viens de me payer un petit bijou, la crème des crèmes des années 80, la montre que tout le monde se devait d’avoir pour être top moumoute.

La montre casio calculatrice digitale à cristaux liquides :

montre casio calculatrice

J’ai réussi à la trouver sur Ebay pour 15 Euros, j’ai hâte de la recevoir.