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...
 

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.

Entreprise 2.0 et management

C’est Christian Fauré qui a la bonne petite phrase du jour :

Avec l’entreprise 2.0 c’est le management qui fait confiance aux salariés, et non le management qui demande la confiance aux salariés.

Source : L’Entreprise 2.0

“Web 2.0″, Ajax, interfaces riches et prospective

J’ai toujours détesté le terme « web 2.0 ». Il ne signifie rien. Il englobe ce que chacun veut y mettre et ne sert qu’à convaincre les clients crédules de la nécessité d’une refonte de leurs services en ligne.

Les acteurs du web n’ont pas attendu la vague du « web 2.0 » (à quand le ressac ?) pour créer des communautés ou des applications en ligne (on remarquera au passage que les web applications sont devenues des SaaS, softwares as a service, c’est plus « tendance »).

Et que dire du contenu généré par les utilisateurs (le fameux User Generated Content si cher au « web 2.0 ») ? N’est-ce pas la fonction première du web que de permettre la diffusion rapide, massive et économique de contenu ? Depuis 1990 (et la première page web), les utilisateurs mettent en ligne du contenu.

J’ai eu la chance de concevoir des services « à la sauce web 2.0 » dès 1998 : sites communautaires, applications en ligne, outils de travail collaboratif… Et je n’étais pas le seul ! Mais il faut bien avouer que deux choses ont freiné leur expansion : les connexions bas débit et l’inviolabilité de la sphère privée.

Tout le monde peut comprendre qu’avec un modem RTC qui charge une page web en 55 secondes, il est impossible d’avoir des services tels que YouTube. Quant à la sphère privée, il a fallu une bonne dizaine d’années pour que l’internaute s’habitue à publier (donc rendre public) quelques bribes de sa vie personnelle (avec les excès que l’on connait aujourd’hui…).

Finalement, pour moi, le « web 2.0 », c’est :

  • un coup marketing de maître !
  • la généralisation du haut débit
  • l’ouverture de la sphère privée

C’est tout. Enfin presque… J’ai oublié le seul point réellement nouveau dans le « web 2.0 » : Ajax (Asynchronous JavaScript and XML), rendu possible grâce à l’implémentation de XMLHttpRequest dans Internet Explorer (merci Microsoft !).

Ajax change tout, à commencer par la notion de page web. Comme le fait très souvent remarquer Frédéric Cavazza, peut-on encore utiliser le terme de page web, alors que le contenu et la forme évoluent par petites touches au sein d’une seule page ? Netvibes en est un bon exemple.

Nous en sommes à l’ère des single page applications (SPA). Ses effets révolutionnent notre manière de voir et de concevoir le web. Les ergonomes sont obligés de revoir toutes leurs préconisations. Ajax change nos méthodes de production, les éditeurs de code HTML (comme Dreamweaver) ont disparu et font place à des environnements de développement lourd. Ajax bouscule les habitudes chèrement acquises des internautes (on ne touche plus au bouton « Page précédente » du navigateur pourtant si pratique !). Ajax perturbe l’économie du web en faussant la mesure d’audience.

Ajax finira peut-être par tuer le web, en imitant toujours mieux le comportement des applications classiques. Il rendra inutile le navigateur web et favorisera l’émergence des RIA (Rich Internet Applications), puis des RDA (Rich Desktop Applications). Finalement, Ajax entraînera un retour aux sources de l’informatique grand public : un système d’exploitation, des applications locales, des interfaces riches.

A la différence que tous leurs éléments intrinsèques seront connectés à internet et dépendront de lui : WebOS, RDA, Widgets, SaaS. Le web sera, quelques temps encore, un protocole d’échanges de données entre machines, avant de disparaître…

Encyclopedia of Life, un projet ambitieux et prometteur

Encyclopedia of Life

Encore une encyclopédie ! Encore un projet qui exploite la tendance « ecolo-citoyenne » ! Encore une référence en matière de préservation de la biodiversité et de la protection des espèces ! Et pourtant, l’Encyclopedia of Life (EOL) a toutes les chances d’atteindre ces objectifs.

A quoi sert EOL ? A répertorier les 1,8 million d’espèces vivantes, avec un soin du détail digne d’un maniaque. L’interface est particulièrement réussie, non seulement sur la forme mais surtout dans sa navigation intuitive et efficace.

Les fonctions sont aussi nombreuses qu’utiles :

  • Interface et contenu en plusieurs langues
  • Filtres et classification à facettes
  • Moteur de recherche
  • Cladogramme
  • Photographies
  • Vidéos
  • Graphiques
  • Cartes
  • Flux RSS
  • Discussion avec les experts
  • Articles scientifiques
  • Experts de référence
  • etc.

L’interface offre des outils de personnalisation, notamment un curseur pour définir son niveau d’expertise et ainsi adapter le contenu au lecteur.

EOL - Fiche de l’ours polaire
Un exemple de fiche EOL, ici celle de l’ours polaire.

Offrir autant d’informations (oui, j’ai oublié de dire que l’accès est gratuit !) demande des moyens conséquents. EOL se donne dix ans pour y parvenir, avec des fonds privés, la participation d’institutions scientifiques et chercheurs du monde entier et une équipe actuelle de 30 personnes.

Seule ombre au tableau : EOL n’est pas encore en ligne… et ne le sera sans doute pas avant fin 2008, le temps de développer l’interface et le contenu essentiel.

Source : L’Atelier

Rue89 a choisi Drupal et explique pourquoi

Rue89

Dimanche 6 mai 2007, ce sera la fin du suspens : nous saurons tous à quoi ressemble… Rue89 ! Oui, c’est la date qu’a choisi cette équipe de journalistes passionnés et téméraires pour ouvrir un site d’information d’un nouveau genre. Rendez-vous donc dimanche à 18h (pas à 20h !).

Pour en diffuser le contenu, Rue89 a sélectionné Drupal, une plate-forme de gestion de contenu libre. Ce choix est argumenté dans un article du blog Rue89 :

Parce que nous avions pris la décision de démarrer le site au plus vite et de le faire évoluer au fur et à mesure des suggestions et critiques des utilisateurs, nous avons cherché une solution flexible et prête à l’emploi.

[…]

Nous avons opté pour la plateforme LAMP (Linux, Apache, MySQL, PHP) parce qu’elle est très largement répandue sur Internet, maîtrisée par de nombreux développeurs et qu’elle sert de base technologique à plusieurs outils de gestion de contenu Open Source performants et stables.

[…]

SPIP, bien que largement déployé, nous a paru dépassé et ne répondant pas à nos attentes en terme de fonctionnalités.

[…]

En matière de performance, Drupal apporte des résultats bien plus intéressants [que Joomla] à périmètre matériel constant.

Rue89 cite par ailleurs quelques études comparatives qui permettent d’y voir plus clair :

Les commentaires des lecteurs valent également de s’y attarder :

eZ Publish est bien une référence, mais une référence qui ne monte pas ! La faute a sa difficulté à monter en charge (cache PHP obligatoire) et à l’incapacité des développeurs à adapter le framework aux versions courantes de PHP/MySQL.

[…]

C’est un véritable plaisir que de développer sur ce framework [Drupal], notre équipe de dev est littéralement sous le charme !

Voilà beaucoup d’arguments solides en faveur de Drupal. Pour ma part, je l’avais testé sans être convaincu. C’était en 2001. La démonstration en ligne de la version actuelle m’a montré qu’il a beaucoup évolué depuis. Je le replace donc dans le peloton de tête des CMS LAMP (Content Management System sur plate-forme Linux, Apache, MySQL et PHP).

Il me reste à souhaiter bon vent à Rue89 qui aura déjà beaucoup à faire deux heures après son lancement !

Launchpad, un bon exemple de service collaboratif

Launchpad

Canonical, éditeur des solutions Ubuntu, nous propose Launchpad (version 1.0 beta), un service dédié aux développeurs open source, similaire à SourceForge.

Après une visite rapide, cet outil me laisse une impression très positive. Tout a été pensé pour faciliter le travail quotidien des développeurs et les fonctionnalités sont riches (code repositories, gestion de versions via CVS et Subversion, bugs tracker, support, gestion des traductions, etc.).

Hormis les produits développés par Canonical, Launchpad héberge quelques projets essentiels, comme Zope ou Creative Commons. J’y mettrai peut-être aussi les projets que j’ai dans mes cartons…

Il n’y a qu’un truc que je n’ai pas trouvé : la liste des projets hébergés. Cette fonction m’est très utile dans SourceForge pour suivre l’actualité des projets open source et trouver des perles rares.
Mise à jour : si, si, on peut avoir la liste de tous les projets. Merci Christian pour ton oeil de lynx !

UDOD, User documentation oriented design

Allez, je me lance ! Ce soir, j’invente un nouveau concept : le UDOD (User documentation oriented design).

Après tout, chaque jour, les acteurs du web inventent de nouveaux « concepts », toujours révolutionnaires, avec leurs centaines de termes et abréviations à connaître par coeur pour rester « in » ! On recherche, on découvre, on apprend, on applique, on oublie et on recommence. C’est tout le charme d’internet ! En regardant de près (ou plutôt de loin si on veut prendre du recul), il y a peu de concepts réellement nouveaux, mais ça fait monter le « buzz » ! Le « web 2.0 » en est une caricature…

« Et UDOD, ça apporte quoi de neuf ? »

Evidemment, après avoir dit tout ce que je pense des « révolutionnaires du web », je vais avoir un peu de mal à vous convaincre d’utiliser UDOD… Mais comme je l’applique avec de bons résultats, je me dis qu’il y aura bien quelques intéressés !

Le principe de UDOD est simple : après avoir fait un brief rapide et fixer des objectifs assez larges pour votre nouvelle application (méthodologie Paper prototyping), vous commencez par écrire la documentation de l’utilisateur débutant (« User guide for beginners »). L’intérêt est de poser une fois pour toute une description claire, synthétique et compréhensible de votre application. On devrait donc y trouver au moins :

  • une définition de l’application ;
  • une présentation des notions fondamentales ;
  • une description des fonctions principales et de leur utilisation ;
  • une description de l’architecture et de son interaction avec d’autres sytèmes ;
  • des annexes pour les détails techniques ;
  • un glossaire ;
  • un index.

Une architecture claire, des notions définies

Certes, cela a un coût. La rédaction est longue et doit être faite par un spécialiste. Cependant, on découvre vite l’intérêt de cette méthode :

  • La définion de l’application facilite la compréhension des objectifs pour l’équipe de développement.
  • Les notions fondamentales sont exhaustives et définies.
  • La description des fonctions donnent l’étendue du travail (orienté tâches) de développement et de conception de l’interface.
  • La description de l’architecture pose les bases du noyau de l’application.
  • Les annexes précisent les contraintes pour les développeurs.
  • Le glossaire définit tous les éléments de l’application.
  • L’index permet de valider la cohérence des termes utilisés.

Entendons-nous bien, je n’ai pas dit qu’il fallait finir la documentation avant de faire autre chose, mais bien de commencer par elle. Les autres méthodes de conception viendront compléter UDOD sans accroc :

  • Design participatif ;
  • Méthodes agiles ;
  • User task oriented design pour la conception de l’interfaces ;
  • UML pour la modélisation de l’application ;
  • Object oriented programming et Aspect oriented programming pour le développement du code ;
  • Unit tests pour valider chaque brique fonctionnelle définie par UDOD ;
  • et j’en passe…

Des utilisateurs impliqués

L’équipe interne a maintenant de quoi travailler sereinement. Mais il y a mieux encore : UDOD implique très vite les futurs utilisateurs de votre application. Ils peuvent la découvrir avant même qu’elle ne soit codée. Et bien sûr y apporter rapidement des remarques, des contraintes, de nouveaux besoins. Dans le cadre d’une application métier, la qualité des échanges est nettement améliorée. On applique au mieux les méthodes de design participatif !

Une documentation de qualité

Au bout du compte, vous aurez optimisé tous les cycles de développement. Et je garde le meilleur pour la fin : vous avez une documentation utilisateur claire et complète au lancement de l’application ! C’est tellement rare…

Faites tester vos sites grâce à UsabilityExchange

Ce n’est pas Cédric, mon ergonome préféré, qui me contredira : mettre en place un test efficace pour mesurer l’ergonomie et l’usage d’un site web coûte cher, parce que chaque service à tester est unique et donc le protocole de test spécifique.

Pourtant, les points communs sont nombreux d’un site à l’autre et l’internet permet de réunir des compétences et des testeurs de tout profil. Pourquoi ne pas profiter de cette nouvelle donne pour réaliser des tests plus facilement pour un coût maîtrisé ? C’est le service que propose le site UsabilityExchange.

La mise en place d’un test se fait par un formulaire en ligne qui définie la portée du test et le profil des testeurs. Tout se fait à distance : protocole de test, déroulement, clôture, résultats… et même paiement des testeurs qui restent sagement chez eux pour réaliser les tests !

Et que donnent les résultats ? A part de jolis graphiques et tableaux, on pourra bien sûr discuter le concept et notamment s’interroger sur le suivi des comportements d’un testeur qui n’est pas physiquement présent. Tracer ce qui se passe sur une interface ne suffit pas : l’attitude, les mouvements, les traits du visage, les hésitations, les grognements, les pertes de concentration, tous ces signes sont décisifs dans les résultats d’un test ergonomique.

Ceci dit, pour une validation basique d’un site, UsabilityExchange a au moins l’avantage d’éliminer les erreurs grossières pour un prix raisonnable.

Krugle, un moteur de recherche pour les développeurs

Krugle

Encore en phase de test, Krugle est un moteur de recherche dédié aux développeurs. « Et un moteur de plus ! » Oui, mais celui-là fait bien plus que de donner une liste d’adresses web : il plonge dans le cœur des applications.

Vous voulez connaître les paramètres d’une méthode de Tomcat ou l’utilisation d’une variable d’environnement dans Apache ? Krugle affiche la liste des scripts concernés et leur code source ! Vous pouvez placer des marqueurs sur le code et partager les résultats avec d’autres développeurs.

Pour financer ce service, Krugle mise dans un premier temps sur la publicité. la société devrait à terme proposer des services pour les entreprises grâce à l’indexation de leurs projets internes.