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
Inspiration

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

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 !

Journée IHM à Toulouse le 30 juin 2008

Comme l’an dernier, Midi-Pyrénées Innovation et le SIGCHI (Special interest group on computer-human interaction) organisent une Journée Interface homme-machine et interaction innovante. Cette fois-ci, la rencontre se déroulera au Museum d’histoire naturelle de Toulouse le 30 juin 2008.

Au programme, le meilleur de l’ergonomie d’interfaces avec de nombreuses études de cas et des démonstrations : IntuiLab, Thales Avionics, Aeroconseil, Smiths Dectection, Microsoft, Immersive Solutions, Blanc Tailleur, SL Dimension, IRIT, etc. Il y a aura même Metapages, cette boîte de fous furieux (de génie) dans laquelle j’ai passé deux ans inoubliables !

Si l’édition 2008 est aussi réussie que l’an dernier, je vous conseille vivement de vous y rendre !

Agence web ou SSII : que choisir ?

Lors d’une conférence aux RSI Midi-Pyrénées, j’ai été amené à répondre à une question sur le choix du prestataire pour une plate-forme e-commerce. Ma réponse a été suffisamment maladroite et incomplète pour que plusieurs visiteurs me relancent sur le sujet dans les couloirs de Sup Info.

La fameuse question

La question était à peu près : « est-ce que le choix entre agence web et SSII n’est qu’une simple question de coût ? ».

J’ai donc répondu que le débat ne se situait pas là, puisque nous constatons une évolution profonde des agences web et des SSII autour des prestations Internet.

La fameuse réponse

Il y a 15 ans, quand démarraient les premiers projets Internet, il y a avait peu de technologies associées. Juste du HTML, même pas de CSS ! Ce nouveau canal de diffusion servait essentiellement à la communication d’entreprises. Naturellement, ce sont les services de communication et/ou de marketing qui ont hérité des projets Internet et ont, à leur tour, transmis les demandes à leurs prestataires habituels : les agences de communication et de design.

Résultat : ces agences ont créé des départements web autour de méthodes et outils utilisés dans les métiers de création. Il suffit de relire les cahiers des charges des sites web de l’époque pour s’en convaincre…

Puis, tout a évolué très vite. Les technologies ont débarqué à un rythme effréné. Attirés par ce nouveau marché juteux, les agences web ont fleuri (en débauchant des profils d’agences de communication et de design) et ont intégré de plus en plus de profils techniques, sans radicalement changer leurs méthodes. Jusqu’à l’éclatement de la « Bulle Internet » en 2000 et 2001.

Internet avait prouvé son intérêt, mais il fallait l’aborder autrement. Les entreprises ont donc impliqué d’autres profils, ceux de l’informatique, autour de méthodes et outils très différents.

D’une façon générale, les agences web qui avaient survécu au crash, ont continué leur chemin autour de la communication et de la conception de contenu et d’interfaces. Les SSII ont récupéré les développements techniques et l’exploitation des services Internet.

Avec le temps et parce que les deux mondes coexistaient sans réellement se comprendre, les rapprochements étaient inévitables. C’est ce que nous vivons depuis quelques années, avec les fusions-acquisitions d’agences web par les SSII (l’inverse est plus rare).

J’ai conclus ma « fameuse » réponse sur ce point. J’ai donc pris beaucoup (trop) de raccourcis et oublié la suite !

Ce que j’aurais dû ajouter

Bien sûr, se faire manger tout crû par une SSII n’a pas plu à certains responsables d’agences web qui réclament haut et fort leur indépendance et leur culture. Et je leur donne mille fois raison !

Voici donc la suite de ma pensée… qui reste toujours la mienne et soumise à débat.

En réponse à la demande des internautes (dont le comportement a fortement évolué avec la généralisation du haut débit), les acteurs d’Internet se spécialisent. Les profils et les prestations deviennent très techniques et mettent à l’écart les agences web qui n’ont pas su évoluer ou recentrer leur activité. Non seulement les méthodes des métiers de la création côtoient les méthodes de développement logiciel, mais Internet a fini par favoriser la création de nouvelles méthodes (méthodes agiles, développements pilotés par les tests, conception centrée utilisateur, etc.). S’il existe encore des agences web indépendantes, c’est parce qu’elles utilisent ces nouvelles approches.

A côté de cela, une myriade de nouveaux acteurs se focalise sur les marchés de niche : référencement, marketing viral, e-mailing, e-commerce, vidéo web, réseaux sociaux, univers virtuels, veille, développement RIA/RDA, M2M, convergence web / mobile, etc. Cette dynamique structure le marché des prestations Internet et favorise la créativité, technique à l’appui.

C’est ma vision des choses qui ne demande qu’à évoluer grâce à vos commentaires.

Magento et le web sémantique

Si vous êtes à Toulouse le mardi 27 mai et voulez tout savoir sur les solutions internet actuelles, je vous invite à vous inscrire aux RSI Midi-Pyrénées. 19 conférences sont programmées autour de trois thèmes majeurs : le e-commerce, les technologies web et les stratégies innovantes.

J’ai l’immense privilège (et la lourde tâche !) d’être invité à deux conférences pour aborder ces sujets et montrer le résultat d’approches innovantes dans le e-commerce. Je vais donc prendre mon sujet de prédilection du moment : Magento ! Et pour compliquer la chose, j’y ajouterai une dose de web sémantique, grâce aux travaux menés par Ekinos et Mondeca sur de nouvelles interfaces de sites marchands (navigation contextuelle, filtres à facettes, moteur de recherche sémantique, association de produits et conseils d’achat en temps réel, etc.). Et comme un bon exemple vaut mieux qu’un long discours, je prendrai comme support un site e-commerce Magento que nous développons en ce moment.

Je serai ravi de vous rencontrer sur place pour discuter de tous ces sujets qui me passionnent. Si vous venez, faites-moi signe ! Maxime et Florent, je vous ai déjà repérés ! D’ailleurs, merci Maxime pour ton dernier billet : je vais en avoir bigrement besoin mardi !

Dernière chose, si vous loupez Toulouse, l’équipe d’Ekinos sera présente à Paris le 5 juin pour le TEC Paris – Île de France.

La documentation de Magento 1.0 est en ligne

Depuis le lancement de la version 1.0 de Magento, tous ses utilisateurs attendaient (impatiemment !) sa documentation. Elle est désormais disponible sur le wiki officiel.

C’est long, précis et bien écrit. Amplement suffisant pour comprendre le fonctionnement et les atouts extraordinaires de cette plate-forme e-commerce.

Bonne lecture !

Naviguer dans les graphes, un défi pour la conception d’interfaces ?

Le web sémantique est à la mode. Cette nouvelle « découverte » des notions fondamentales de l’informatique (le web est jeune, qu’il en soit pardonné…) entraîne une évolution des interfaces, à commencer par celles qui facilitent la compréhension et la manipulation de graphes de données.

Exemple avec le site dédié à l’exposition Design and the Elastic Mind du MoMA.

Interface du site web Design and the Elastic Mind
Interface du site web Design and the Elastic Mind.

L’interface (réalisée en Flash) permet de naviguer d’un article à un autre, grâce aux liens typés affichés sur chaque article sélectionné. L’idée est intéressante et l’aspect très réussi, mais l’ensemble manque d’efficacité (la destination d’un lien est imposée et la représentation mentale de l’ensemble est difficile).

Finalement, malgré son âge (7 ans), je trouve Kartoo plus efficace pour naviguer d’une information à l’autre, via leurs relations intrinsèques (même si ces dernières sont déduites de l’indexation des sites et ne gèrent ni l’orientation, ni la composition). Je l’utilise régulièrement quand un moteur « classique », comme Google, ne peut affiner une recherche floue.

Exemple de résultat Kartoo
Exemple de résultat de recherche avec Kartoo.

Autre approche, Visuwords qui tente de typer fortement les relations entre les données. Le résultat est exhaustif, mais, au-delà d’un item (ce que ne fait pas Visuwords), sa lecture nécessite du temps et un effort intellectuel important.

Visuwords
Recherche d’un mot dans le dictionnaire Visuwords.

Malgré le degré de finition de ces quelques exemples (et de tant d’autres glanés sur le web), je reste encore sur ma faim. Est-ce si difficile de concevoir une interface efficace pour naviguer dans des graphes complexes de données ? Je finis par le penser. A croire que notre (mon) cerveau n’a pas naturellement vocation à maîtriser ce type de représentation de l’information qui nous semble pourtant si intuitif…

Au bout du compte, j’en viens à me demander si la manipulation de graphes ne devrait pas être la chasse gardée des machines. Twine semble parfaitement tirer profit de cette approche.

Graphe de données Twine
Un graphe Twine… que l’utilisateur ne verra jamais !
Interface de Twine
L’interface de Twine, simple et pertinente.

Shoogle, votre téléphone mobile en sera secoué !

Lorsqu’en 2006, je défrichais le terrain de la téléphonie mobile pour quelques projets innovants (dont Goojet), certains ergonomes et designers préconisaient de se servir du mouvement pour manipuler les téléphones dans des contextes d’utilisation particuliers (déplacement, obscurité, discrétion…).

Aujourd’hui, les premiers résultats sont là et le projet de l’université de Glasgow le montre parfaitement.


Le projet Shoogle de l’université de Glasgow.

Le projet Shoogle met ainsi en oeuvre les capteurs de mouvement de certains téléphones pour simuler des interactions du monde matériel, comme secouer un objet pour savoir ce qu’il contient. La modélisation des sons reproduits repose sur une approche purement physique (principe de masses ancrées, ressort, friction, collision, granularité de surface), d’où la grande fidélité de restitution.

Source : InternetActu