Christophe Le Bot

  • Navigation rapide
Pratique de la conception numérique

Derniers commentaires

  • Une excellente thèse sur Simile Exhibit
    • Olivier Rossel | Bonjour. Malgre les annees, avez vous toujours en memoire vos usages d’Exhibit? Je serais ravi d’en discuter avec vous. Cordialement, Olivier Rossel.
  • Utiliser le planificateur de tâches OVH (crontab) avec PHP
    • Max | Bonjour, comme faire pour appeler une version de PHP qui n’est plus proposée par défaut dans le manager ? J’essaie de lancer un cron avec php 5.3 mais le log affiche No such file...
    • Christophe | @absolument Merci pour ces précisions. Je n’ai pas mis en place de tâches cron récemment, mais j’ai reçu quelques notifications étranges d’OVH il y a quelques...
  • Récupérer le dernier auto-incrément MySQL avec PHP
    • Thy | Sujet toujours *très* utile en 2015 ! Je réponds à Serge tsimba qui récupère un « Resource id ». (Et à tous ceux qui ont le même souci mais qui ne le disent pas) :)...
  • Régler l’heure de serveurs virtuels sous Debian
    • Ares_XL | Il semble que sur Débian la commande « tzconfig &ra quo; soit dépréciée et remplacée par : « dpkg-reconfigure tzdata » elle donne accès à une...
 

Archives de la catégorie
Imaginer

Le guide pratique Scrum bientôt dans les bacs

Encore 9 jours de patience avant de découvrir un livre très attendu : Scrum, de Claude Aubry, chez Dunod. Les méthodes agiles ont le vent en poupe et les précurseurs, comme Claude, ont maintenant suffisamment de recul et d’expérience pour nous expliquer Scrum avec beaucoup d’efficacité et de pédagogie.

A lire sans retenue !

Si après ça, vous n’êtes pas convaincus, je ne sais plus quoi faire. Ah si, venir aux ateliers du SigmaT (dont Claude Aubry est le président !). Le prochain est mercredi 3 février et ce sera un XP Game, parfait pour découvrir l’efficacité d’une démarche agile.

Barcamp PHP toulousain : la synthèse

Bacrcamp PHP Toulouse

Jeudi dernier se tenait le Barcamp PHP Cheese & Wine. Même si le vin et le fromage ont été très appréciés, nous n’étions pas venus (seulement) pour ça. Alors pour les absents qui ont eu tort de l’être, voici une petite synthèse de cette longue soirée.

Un vrai barcamp

Premier bon point : c’est un vrai barcamp où les participants se présentent et définissent le contenu des ateliers. Tous les barcamps ne respectent pas cette règle de base… Xavier Gorse, président de l’AFUP, a donc joué le rôle de « maître de cérémonie » pour établir le programme d’après les souhaits de chacun  :

  • PHP et sécurité
  • PHP 5.3
  • Déploiement d’applications PHP
  • PHP et les bases de données « NoSQL »
  • Outillage PHP
  • PHP et testing
  • Frameworks PHP

Pour ma part, j’ai participé aux ateliers :

  • Déploiement d’applications PHP
  • PHP et les bases de données « NoSQL »
  • PHP et testing

Je limite donc mon article à ces sujets, sachant que d’autres synthèses ont déjà été publiées :

Déploiement d’applications PHP

Cet atelier a mis en évidence la difficulté de déployer des applications web en général (technologies nombreuses et environnement hétérogène). Tous les outils existants ont été passés en revue, du paquet Linux (.deb) aux outils spécifiques à PHP (PEAR, Phing, Phar) en passant par des intermédiaires parfois plus adaptés (makefile, Puppet, Capistrano, Ant). Deux groupes de participants étaient clairement représentés, avec des besoins très différents :

  • Déploiement d’une solution sur un parc important et hétérogène (cas des éditeurs de solutions, comme Linagora avec OBM)
  • Déploiement d’un projet sur-mesure sur un ou quelques serveurs, mais très fréquemment et avec des contraintes d’intégration de contenus externes (cas des agences web, avec plusieurs déploiements par jour).

Dans le premier cas, la difficulté est d’identifier la configuration des serveurs cibles et de préparer les paquets d’installation correspondants (.deb pour chaque distribution Linux, .msi pour chaque version de Windows, etc.), tout en assurant la compatibilité des données sans toujours les connaître (tests de régression).

Dans le second cas, il faut savoir intégrer pendant le déploiement les données du site en exploitation (base de données, templates gérés par un web designer externe, etc.), avec d’éventuelles transformations (ETL, Extract Transform Load).

J’ai ajouté qu’un déploiement ne se limite pas à la livraison de la partie applicative mais doit aussi savoir traiter la mise à jour des outils liés au projet (plate-forme de gestion de tickets, extranet, feuille de route, tests, sauvegardes, alertes, etc.).

En dehors de PEAR, trés utilisé et qui est un outil de déploiement à l’origine, j’ai une préférence pour Ant + Phing et Capistrano.

Bases de données « NoSQL »

Là, on entre dans une autre dimension. Les bases « NoSQL » sont des bases de données non relationnelles. En gros, on ne retrouve pas le schéma habituel « tables contenant des champs et étant reliées entre elles ». L’avantage est d’obtenir des performances exceptionnelles sur des entrepôts de données énormes. Parmi les acteurs majeurs qui développent et utilisent des bases « NoSQL », on peut citer : Google (projet Big Table qui a inspiré le projet Cassandra), Facebook ou Linkedin.

Si on revient à la dure réalité d’un acteur de dimension modeste, on constate que ces technologies émergentes et prometteuses sont encore très spécifiques. Les bases relationnelles ont de beaux jours devant elles. La difficulté est notamment de réintégrer dans l’application PHP ce qui fait la force des systèmes SQL : sélection, jointures, intégrité référentielle, etc. Le volet testing des projets en prend un coup…

PHP et testing

Atelier en petit comité (6 personnes), en concurrence déloyale avec l’atelier Frameworks qui a fait le plein ! Nous avons tenté de lister les types de tests liés à une application web, en dépassant autant que possible la simple vue du développeur :

  • Tests unitaires (PHP et Javascript)
  • Tests fonctionnels
  • Tests d’IHM (via Selenium Core, Selenium RC et Selenium IDE)
  • Tests de recette
  • Tests de non régression
  • Tests de performance
  • Tests de charge
  • Tests de conformité (normes, W3C, accessibilité, etc.)
  • Tests ergonomiques (tri par cartes, paper prototyping, tests utilisateurs, etc.)
  • A/B testing

Les échanges sur nos expériences ont été très instructifs. Nous étions tous d’accord pour insister sur la définition précise des cas d’utilisation qui facilite la gestion des tests pendant toute la durée du projet avec le client. D’où une phase de spécifications sérieuse qui conditionne la qualité du travail livré. Certains tests peuvent faire l’objet de validation contractuelle, comme les wireframes issus de tests ergonomiques qui servent ensuite de feuille de route aux intégrateurs et développeurs.

La difficulté avec les tests, c’est de savoir placer le curseur pour ne pas s’y noyer. Il n’est pas réaliste d’appliquer les tests de façon exhaustive. C’est un idéal en contradiction avec les budgets et les délais imposés en pratique. Il faut donc savoir réaliser les bons tests, au bon endroit et au bon moment. Par exemple, sur le calcul des prix d’un panier de site e-commerce, sur l’intégration des données lors d’un couplage entre deux systèmes, sur l’ergonomie d’une interface riche, etc.

En résumé

Une excellente soirée qui a largement dépassée les 5 heures prévues ! L’accueil de Linagora et de l’AFUP était parfait, l’ambiance très sympathique et le niveau des échanges très pointu. Il y a des gens qui savent faire des choses avec PHP en Midi-Pyrénées ! Je pense qu’on remettra ça sous peu. Prochaine étape : le Bargento, lundi 9 novembre à Paris. Je serai présent avec l’équipe de l’AFUP pour organiser et animer cette journée qui s’annonce exceptionnelle. Et à la suite, le Forum PHP 2009, tout aussi exceptionnel. Sur ce coup-là, je déclare forfait. Il faut bien travailler un peu !

L’Agile Tour 2009 à Toulouse le 22 octobre

Agile Tour 2009

L’Agile Tour est de retour à Toulouse ! Le principe reste le même : faire découvrir les méthodes agiles et partager les retours d’expérience de leur application sur des projets réels.

L’édition 2008 a été un réel succès, alors ne boudez pas celle de 2009 ! L’efficacité des organisateurs et un contenu riche et utile vous rempliront la tête d’idées.

Ce sera le 22 octobre toute la journée, mais pas au même endroit que l’an dernier. Hélas ! Je ne pourrai pas m’y rendre, c’est une catastrophe… Heureusement, les comptes-rendus sont toujours complets, avec une copie des présentations faites à l’assistance. Que du bon en somme.

Informations et inscription : Agile Tour 2009

Un bien joli panier pour Magento 1.4

Panier Magento 1.4

Ouf ! Ce fut long et difficile, mais le résultat est là. Magento 1.4 arrive bientôt… avec un contrôle bien plus fin des calculs de prix et de TVA ! Suffisamment pour respecter les lois françaises sur les sites ouverts aux particuliers et pour programmer les promotions les plus folles en déclarant correctement la TVA !

Ceux qui se sont arraché les cheveux avec ça comprendront tout de suite l’intérêt de cette simple capture d’écran…

Je remercie l’équipe de Varien pour cet excellent travail et pour sa compréhension des subtilités de la fiscalité française. Vu des Etats-Unis, ce n’était pas gagné d’avance…

Donc, c’est un grand jour. Il faut maintenant attendre la validation de la version 1.4 qui devrait sortir bientôt. A Varien d’en faire l’annonce ! 😉

Virage stratégique pour Magento

Les choses avancent chez Varien et l’avenir de Magento se précise. Aujourd’hui, Varien a présenté à ses partenaires ses objectifs et le nouveau programme de partenariat (le troisième en un an). Changement radical ! Je ne vais pas tout dévoiler, c’est à Varien de le faire publiquement, mais un certain nombre d’intégrateurs vont devoir revoir leur stratégie de développement e-commerce autour de Magento. Rien que ça…

Magento Enterprise Edition arrive. Cette version propriétaire et payante (chère pour beaucoup mais abordable quand on regarde la concurrence directe) était prévue depuis l’origine, mais on en connait maintenant le contenu et les points forts (qui seront eux aussi dévoilés par Varien). La surprise vient du nouveau programme de partenariat, complètement revu autour de cette version.

3 niveaux (au lieu des 4 existants) définiront la capacité des intégrateurs à mettre en oeuvre cette version sur laquelle Varien compte beaucoup. Un donnant-donnant qui place la barre très haut ! Les partenaires seront de fait plus solides, autour d’un éditeur qui sera de fait plus impliqué.

Qu’en sera-t-il de la communauté Magento, centrée autour de la version open source et qui a fait le succès du buzz autour de Magento ? Varien tient à nous rassurer sur le sujet : la version open source s’appuiera sur les mêmes fondamentaux que la version Enterprise et en même temps (un peu à la SugarCRM sans doute). Reste à savoir comment seront réparties les contributions entre version libre et version propriétaire.

De mon côté, je vais devoir mesurer les conséquences de ces changements sur notre activité :

  • Peut-on encore vendre des projets Magento ? La question se pose légitimement. Avec des budgets moyens de plusieurs dizaines de k€, je suis sûr que oui, mais ça se mesure quand même !
  • Vers quel niveau de partenariat s’orienter ?
  • Comment structurer les offres autour des deux versions ?
  • Comment intégrer le coût annuel des licences ?
  • Comment assurer le service de garantie de la version commerciale ?
  • Comment définir les critères de sélection de la version libre ou de la version commerciale ?
  • Doit-on vendre à Varien notre expertise métier quand elle est intégrée dans la version commerciale seulement (la fameuse différence entre contribution et prestation) ?
  • etc.

Beaucoup de questions, donc. Ensuite, viendra le temps des retours. Varien a beaucoup insisté sur la nécessité d’avoir un feedback de ses partenaires sur le sujet. Je pense que cela n’a jamais été aussi nécessaire qu’aujourd’hui. Chacun peut et doit y trouver son compte.

Si ce virage est bien pris, Varien aura définitivement orienté Magento sur des marchés à gros potentiels. Le risque est peut-être de voir les petites agences et freelances s’orienter vers des solutions plus légères. Nous le sentions depuis un certain temps, mais ça se confirme d’un coup.

Essayez vos lunettes avec Enjoy Sunglasses

Accueil Enjoy Sunglasses

Et voilà, Enjoy Sunglasses est en ligne ! Ce site e-commerce qui vend des lunettes de soleil, est l’un des rares à proposer d’essayer ses produits… en temps réel et en ligne !

Pour un client, rien n’est plus frustrant que d’acheter un produit qui ne lui va pas. Pour un vendeur, rien n’est plus frustrant que de perdre des ventes parce que le client n’a pas essayé le produit. Partant de ce constat, Enjoy Sunglasses a misé sur des technologies innovantes et propose l’essayage des paires de lunettes sur son propre visage. Une prouesse rendue possible par l’utilisation des outils d’essayage de Fitting Box.

Intégré à chaque étape-clé de la navigation, l’essayage virtuel offre enfin un moyen rapide de sélectionner la bonne paire de lunettes en fonction de la forme de son visage.

Retours d’expérience

Au-delà du concept plus qu’intéressant, j’ai eu la chance et le plaisir de vivre ce projet de l’intérieur. Toute l’équipe d’Ekinos a, en effet, participé à la construction de ce site autour de la plate-forme e-commerce Magento. Un travail parfois long et souvent difficile car les besoins étaient très éloignés du standard et les technologies utilisées longues à caler.

Sans tout dévoiler (ce n’est pas fini, une suite est déjà en route…), ce projet nous a permis de sortir des sentiers battus et de mettre à profit l’architecture si particulière de Magento. Oui, Magento est un gigantesque Lego. Oui, on peut faire des choses étonnantes avec. Mais quelle exigence ! J’avoue que la jeunesse de la solution nous a causé pas mal de soucis, cependant nous avons acquis une belle expertise dans le développement de modules, l’optimisation des performances et les méthodes de production adaptées à Magento (cycles de tests, packages, données de test et de production, installation, migration, etc.).

Nous avons maintenant une longue liste de points d’amélioration pour les futures versions de Magento, avec, en première ligne, la gestion des règles de calcul de prix pour le marché français et européen (prix HT, prix TTC, TVA, remises et escomptes, règles officielles d’arrondis sur 5 décimales, contextes d’application, etc.). Je reviendrai sur ce sujet pour préciser les aspects métier et fiscaux qui doivent être intégrés dans le standard Magento. C’est curieux : tous les intégrateurs Magento ont ce soucis, mais personne n’ose le dire…

Manque plus que l’soleil !

Maintenant, le site est en production. Avec l’arrivée du printemps (plus quelques fonctionnalités…), Enjoy Sunglasses sera, je l’espère, l’un des piliers du e-commerce ! Il faut bien rêver un peu, d’autant que les équipes d’Enjoy Sunglasses et de Fitting Box méritent bien ce succès : le projet est réfléchi, exigeant, précis et bien piloté. J’avoue prendre beaucoup de plaisir à travailler avec des gens qui ont des idées et de l’énergie pour les concrétiser. Surtout quand ils ont l’intelligence d’être souples face aux obstacles !

Je tiens aussi à remercier l’équipe qui partage mon quotidien chez Ekinos et a réalisé ce travail. Le challenge valait le coup, non ? Oui, bon, je sais, on soufflera plus tard : on doit livrer des projets encore plus dingues… J’y retourne !

World of Goo : le design numérique par excellence


World of Goo, LA surprise numérique de cette fin d’année.

Noël approche ! C’est le moment de penser aux cadeaux. Et pour ceux qui cherchent encore, j’ai LE truc qui va plaire à tout le monde : World of Goo.

« Quoi ? Un jeu vidéo !? »

A première vue, oui, mais ce serait passer à côté de l’essentiel : il s’agit surtout d’une oeuvre numérique parfaitement réalisée. Pour calmer cet emballement juvénile soudain (cela doit faire 15 ans que je n’ai pas touché un jeu vidéo), je vais aborder le sujet sous un angle plus rabat-joie technique. Voici donc le cocktail détonnant qui compose la chose…

Un gameplay basique, mais un univers totalement décalé

Pour perdre du temps à jouer sans culpabilité, il faut pouvoir se plonger dans un univers en décalage complet avec la réalité. Avec World of Goo, on est servi ! Le but du jeu est plutôt simple (mettre des Goos dans un tuyau), mais l’histoire, les messages, les transitions entre les scènes nous plongent dans un univers caustique et sarcastique (rien que ça !), à mi-chemin entre le doux rêve et le cauchemar absolu.

Une création graphique originale

Chaque élément de l’interface est travaillé pour servir le jeu. Tous les détails comptent : la forme, le comportement, les interactions avec les autres éléments, les messages dans lesquels sont cachés des astuces. Le tout traité avec une grande cohérence graphique. Un excellent travail !

Une bande son extraordinaire

Les concepteurs de jeu le savent bien : le son est plus efficace que l’image pour immerger l’utilisateur. Et les concepteurs de World of Goo ne l’ont pas oublié. La musique se fond parfaitement aux phases du jeu, les bruitages sont superbes (la palme au bruit du Goo se faisant croquer !).

Une programmation sans faille

Dommage que je ne puisse pas accéder au code source… Quand on voit le jeu tourner, on perçoit immédiatement la qualité de la programmation (orientée objet, cela va de soi). Sa fluidité incroyable offre une parfaite maîtrise des éléments qui composent la scène. Aucun bug constaté.

Les lois de la physique parfaitement respectées

Je finis par ce qui fait le principal intérêt de World of Goo : son respect maniaque des grands principes de la physique : masse, inertie, élasticité, énergie, gravité, mécanique des fluides. Tout repose sur la parfaite intégration de ces notions intuitives. Nul doute que tout est programmé grâce aux formules mathématiques adéquates. D’ailleurs, le résultat semble largement inspiré d’autres projets, comme les animaux de SodaZoo (huit ans déjà !) ou les expériences de Yugo Nakamura.

Joyeux Noël !

Après ce déluge d’éloges, je ne peux que vous inciter à essayer ce jeu, d’autant que son prix reste très abordable (20$). Pour ma part, je garderai de ce projet l’exemple d’une parfaite intégration des différents métiers du numérique : scénario, création graphique, composition musicale, programmation objet, etc. Même si l’équipe derrière ce bijou se résume à quelques fous furieux talentueux !

Je me sens agile !

Excellente journée, aujourd’hui !

Pour commencer, une jolie acquisition finalisée ce matin (la 4e entreprise du groupe) dont je laisse au padrone le soin d’annoncer la nouvelle. Ce sera le 21 octobre. Oui, je sais, ça fait un peu buzz

Et puis, c’était surtout la journée Agile Tour 2008 à Toulouse ! Inutile de tourner autour du pot : j’ai été très agréablement surpris ! Et ce, pour plusieurs raisons :

  • L’organisation était parfaite : accueil sympathique, horaires respectés, pauses gourmandes généreuses, matériel et salles adaptés, atmosphère détendue propice aux échanges.
  • Les salles étaient combles, preuve que les méthodes agiles commencent à s’installer doucement mais surement.
  • Les intervenants étaient passionnés, passionnants et pédagogues.
  • Les exemples d’utilisation étaient clairs et convaincants.
  • La programmation était judicieuse pour avoir une vision globale du sujet (1. Origine, théorie ; 2. Application via les ateliers ; 3. Retours d’expérience).
  • L’effort des sponsors a permis d’ouvrir gratuitement cette journée à tous, sans rogner sur la qualité des interventions.

Que du bonheur ! Il faut dire que c’était facile : l’organisation de ces journées Agile Tour a elle-même bénéficié d’une approche agile…

Sur ce coup, les absents ont eu tord, mais ils pourront (légèrement) se rattraper en consultant les supports des conférences sur le site de la SigmaT dès demain.

Pour finir, voici en vrac ce que je retiens de cet événement :

  • Lire deux livres : The Mythical Man-Month, de Frederick P. Brooks, et Peopleware, de Tom DeMarco et Timothy R. Lister.
  • L’Agile Manifesto et ses 12 principes.
  • La complémentarité de l’approche Lean sur les projets agiles.
  • Le constat à l’origine de la création de Scrum : « le processus de développement est imprévisible ».
  • Scrum est utilisé dans 3 projets agiles sur 4 (Scrum seul 49%, Scrum + XP 22%).
  • Le coeur de cible agile : un nouveau projet pas trop critique, piloté par un management accomodant, sur une architecture définie, développé à temps plein par une équipe de 5 à 12 personnes réunies en un même lieu, s’appuyant sur des outils et systèmes interactifs ! C’est un idéal, bien sûr…
  • Sélectionner les méthodes agiles adéquates et les adapter au contexte.
  • Shu Ha Ri : suivre, comprendre, adapter. Auquel j’ajouterais améliorer.
  • Bien penser son architecture avant d’appliquer un développement agile.
  • Ne pas oublier de documenter son travail (non par formalisme, mais parce que tout ne peut pas être déduit du code, comme les séquences).
  • L’atelier XP Game qui a vite montré à tous les participants l’intérêt de l’Extreme Programming pour piloter un projet.
  • L’excellent retour d’expérience d’Igeoss qui a adopté les méthodes agiles dès l’origine pour développer ses solutions, avec un réel avantage productif et qualitatif.
  • L’excellente discussion avec Ramiro Sarmiento, agile coach chez Agilii et organisateur de l’Agile Tour 2008.

Parmi les blogs que je lis régulièrement sur le sujet, je vous recommande :

Merci à tous les organisateurs d’Agile Tour 2008 pour cette belle réussite ! Leurs efforts méritent bien ce petit retour.

Une excellente thèse sur Simile Exhibit

J’ai toujours eu un faible pour le web sémantique. Et encore un peu plus pour les projets Simile. Ceux qui me lisent régulièrement (si, si, il y en a !) auront suivi mes (modestes) contributions au projet Simile Exhibit.

Aujourd’hui, c’est au tour de Josef Dabernig de l’Université des sciences appliquées de Vienne (Technikum Wien) d’apporter sa pierre à l’édifice. Un sacré morceau : une thèse entièrement consacrée au framework Exhibit ! Toutes les informations y sont réunies pour faciliter la mise en place et l’utilisation de cet outil magique.

Le résultat est sur le wiki de Simile Exhibit, sous forme de document PDF (Creating interactive web pages using the Exhibit framework) et de code source.

Au passage, j’ai enfin compris comment je peux gérer des items hiérarchiques dans une même facette, tout en conservant la sélection multiple !

Hiérarchie dans une facette Exhibit
Hiérarchie dans une facette Exhibit

Saine et bonne lecture qui va m’inciter à sortir des cartons de vieux projets…

Magento à Paris

Magento event

La solution e-commerce Magento a cela de paradoxal qu’elle est à la fois très en vogue et très obscure. Une communication habile qui attire la foule, mais qui commence aussi à inquiéter les premiers clients. Je vous invite à relire mon article sur le business model de Magento et ses commentaires très instructifs…

Parmi les incertitudes, on peut citer celles qui reviennent tout le temps :

  • Quel est le but de Magento et de son éditeur Varien ?
  • Comment s’assurer de la pérénité de la plate-forme ?
  • Faut-il craindre un changement de licence vers un modèle commercial ?
  • Pourquoi n’y a-t’il pas une documentation technique officielle et complète du produit ?
  • Les performances de Magento sont-elles aussi médiocres qu’on le dit sur certains forums ?

Si ces questions vous turlupinent, Magento vous donne rendez-vous à Paris le 23 septembre 2008 à 20h30 (lieu à déterminer). Ce sera un moment important pour faire un point complet sur l’état et l’avenir de la solution, sans oublier que vous découvrirez enfin l’équipe solide qui se cache derrière ce projet.

Les partenaires français, eux, sont invités la veille (22 septembre à 20h30) pour discuter des premières expériences de terrain et renforcer leur stratégie e-commerce autour de Magento. J’y serai, bien entendu, aux couleurs d’Ekinos.