Trouver les points de levier dans le code

jeudi 25 mai 2006 :: perrick :: Développement :: aucun commentaire :: aucun trackback

L'objectif du remaniement n'est pas uniquement d'avoir du code joli. Il est aussi d'avoir du code malléable : de trouver les points de levier. Ceux qui feront qu'il devient facile de faire évoluer son application.

Reste à trouver ces points : ils ne sont que très rarement évidents au début du développement. J'ai même l'impression qu'ils sont impossibles à anticiper. Le client, la mode, la couleur du ciel : tout participe à l'évolution des fonctionnalités. Pas la peine alors d'essayer de les anticiper.

Plutôt que de les chercher, j'ai parfois l'impression qu'ils émergent naturellement grâce à un remaniement continue. J'en ai encore eu l'exemple cette semaine : j'ai installé la dernière version d'Opera -- version 9 béta. Premier défaut, ils ont changé le raccourci pour ouvrir un nouvel onglet (le très mozillien Ctrl + t, au lieu de Ctrl + n). Deuxième défaut plus génant : une anomalie sur la priorité des champs <input>. Forcément la grille de saisie des temps dans mon logiciel maison contient 6 des ces boutons. Autant dire que je suis assez sensible à ce qu'il se passe quand on appuie sur Entrée au lieu de cliquer sur tel ou tel bouton.

Read next

L'interface c'est moi

mercredi 24 mai 2006 :: perrick :: Ergonomie :: 4 commentaires :: aucun trackback

Je travaille acutellement sur la reprise d'un projet qui me tiens à coeur : les apéros PHP. L'interface est tout à fait différente d'une application comme openTIME. A commencer par le style de l'interface : faut-il écrire je m'inscris ou inscrivez-vous ?

Les exemples sont légions :
Sign in chez Flickr
Amazon, chez Perrick
Mon Yahoo
Reddit, my password

J'ai l'impression qu'avec cette ligne de démarcation on s'approche du concept de l'écran comme projection de sa propre identité : en affichant mon espace (au lieu de votre espace), l'interface devient une extension de son propre corps pour atteindre ses comptes ou ses données. Exactement comme on a besoin de sa main pour cueillir une pomme sur le pommier de la voisine.

Au fait voici un extrait de la maquette pour la futur version du site des Apéros PHP :

Apéro PHP, j'y serais.

Autrement dit, j'ai choisi... avant de revenir en arrière ?

Créer son entreprise au prochain apéro PHP lillois

lundi 22 mai 2006 :: perrick :: Management :: un commentaire :: aucun trackback

Sous l'impulsion de Jean-Marc, le prochain apéro PHP à Lille aura pour thème la création d'entreprise. Ce sera le jeudi 8 juin 2006 à partir de 20h. Bien sûr je serais présent pour évoquer les deux premières années de No Parking (déjà deux ans).

Si le sujet vous intéresse, les inscriptions sont par ici. En attendant, quelques liens à se mettre sous la dent :

Offre de stage chez No Parking

vendredi 19 mai 2006 :: perrick :: No Parking :: aucun commentaire :: aucun trackback

Avec les beaux jours qui arrivent enfin, nous sommes à la recherche d'un stagiaire en développement pour l'été (3 mois minimum). Si vous lisez de temps en temps ce blog, le poste est probablement fait pour vous : PHP, MySQL et Extreme Programming figurent au programme. L'annonce est disponible sur le site de No Parking : stage_developpement_2006.

Quelques détails pratiques quand même :

PS : n'oubliez pas de mettre onpk dans votre mail à recrut AT noparking POINT net. Il remontra automatiquement dans ma pile.

Une bible pour le remaniement

lundi 15 mai 2006 :: perrick :: Développement :: aucun commentaire :: aucun trackback

Ce n'est pas souvent qu'après quelques heures un bouquin devienne une référence : c'est exactement ce qui m'est arrivé avec Refactoring: Improving the Design of Existing Code. Martin Fowler a écrit avec Kent Beck et quelques autres une bible. De celles qu'on relit jour après jour.

En deux jours sur la table au bureau, ce livre est déjà passé par toutes les mains. Il permet tout simplement de créer un vocabulaire commun au sein de l'équipe de développement. Dans les phases d'apprentissage -- une fois que le code marche -- il devient une aide très précieuse par son côté systématique. Juste dommage que ce vocabulaire soit anglophone encore une fois.

Et puis il faut avouer que cette exploration est largement aidée par la batterie de tests que nous avons sur openTIME. En attendant d'acheter le livre, un détour par le site refactoring.com pourra peut-être s'avérer utile à quelqu'un. D'ailleurs ce quelqu'un pourrait très bien être moi-même : je viens d'y découvrir le Split Loop. Et j'adore découvir des remises en cause de mes pratiques.

Petit défaut qui me rend jaune

mardi 2 mai 2006 :: perrick :: Ergonomie :: un commentaire :: aucun trackback

Il y a parfois des petits défauts qui sont très pénibles. Celui-ci par exemple :

Pas grand chose en apparence : c'est juste que le fax et le numéro de téléphone sont inversés. Et bien sûr j'ai appelé le fax. Deux fois. Argh...

Des nouvelles et belles images pour des données

mercredi 26 avril 2006 :: perrick :: Ergonomie :: 2 commentaires :: aucun trackback

Je suis toujours assez fan des nouvelles manières de présenter des chiffres et des données dans de jolies graphiques. Cette semaine, j'ai été gâté.

Il y a tout d'abord eu les résultats de l'étude de Tim O'Reilly sur les ventes de livres informatiques aux USA : State of the Computer Book Market, Part 1, Part 2 et Part 3. Il s'agit là de Treemap.

Plus récemment, les arbres phylogénétiques de Jean Véronis : celui des thèmes de la campagne électrole 2007 et celui des prétendants à la présidentielle 2007. Il donne même une liste de logiciels pour réaliser de tels arbres : phylogeny software. Je rêve d'abord ces outils en PHP un jour !

Une ligne d'Apple pour ajouter un utilisateur dans un groupe

mercredi 19 avril 2006 :: perrick :: Mac OS X :: 4 commentaires :: aucun trackback

L'avantage de Mac OS X, c'est qu'on a sous le capot un véritable OS de la grande famille des *nix. Sauf que pas de bol, la commande adduser n'existe pas. Rappel : je souhaite ajouter un utilisateur dans un groupe (pour le détail : man adduser).

L'équivalent est niutil -appendprop / /groups/mongroupe users monutilisateur. C'est ce que dit la doc : Porting UNIX/Linux Applications to Mac OS X: NetInfo. Heureusement que je m'en sers moins souvent que du | masqué parce que je sens que je vais avoir du mal à m'en souvenir.

Foutage de gueule à la SNCF

lundi 10 avril 2006 :: perrick :: Ergonomie :: 11 commentaires :: aucun trackback

Avec le traffic (et le chiffre d'affaires) qui passe tous les jours sur le site de la SNCF, on pourrait s'imaginer que le site soit très très bien. Ce n'est pas vraiment le cas : il est toujours beaucoup plus lent que ses concurrents suisses ou allemands par exemple. Et puis aujourd'hui, je tombe sur un truc hallucinant :

15 jours pour traiter une demande de modification sur le mailing-list

Vous avez bien lu : la modification de votre abonnement sera effective d'ici 15 jours.

On ne me fera pas croire que ma demande est imprimée, transportée en stop jusque Marseille puis en bateau jusqu'en Inde avant d'y être rescannée, puis resaisie et enfin mise sur le serveur de production. Quinze jours à encore être emmer*** par les annonces partenaires : je rêve.

A explorer après PHPQuébec (IV)

vendredi 31 mars 2006 :: perrick :: PHP :: 3 commentaires :: aucun trackback

Ma petite liste de notes continue de s'allonger suite aux conférences de Rasmus et de Derick.

Les "acétates" de ma présentation à PHPQuébec 2006

:: perrick :: Extreme Programming :: aucun commentaire :: aucun trackback

Juste quelques lignes pour indiquer que mes acétates sont disponibles en ligne : /talks/20060331_phpquebec/pratiques_xp_en_php.

A explorer après PHPQuébec (III)

jeudi 30 mars 2006 :: perrick :: PHP :: un commentaire :: aucun trackback

Après quelques heures passées à me débattre sur la console, j'ai enfin réussi à afficher PHP Version 6.0.0-dev via un appel phpinfo(). Je vais pouvoir commencer à explorer le travail titanesque entamé par Andrei Zmievski : voici un aperçu du chantier en cours.

Dans le cadre d'un projet avec internationalisation / traduction, les formats proposés par International Components for Unicode pourront être d'une grande utilité : c'est comme ça qu'on peut découvrir le motif monétaire pour le Groënland -- kr1.234,57 -- à comparer avec notre cas à nous -- 1 234,57 €. En attendant que des fonctions PHP fassent tout le travail pour nous à travers les API d'ICU !

Note : les itérateurs (et SPL) continuent leur apparition. Pour Unicode Andrei a évoqué le TextIterator.

A explorer après PHPQuébec (II)

:: perrick :: PHP :: aucun commentaire :: aucun trackback

En venat à Montréal, je n'avais pas anticipé que la plupart des mes tests unitaires allaient partir en vrille. La raison : le changement de fuseau horaire. La fonction date_default_timezone_set() me permet de forcer PHP à Paris : à Lille, pas de problème. Ici à Montréal, ce n'est pas aussi simple : en changeant le fuseau horaire de mon Mac, j'ai changé celui de MySQL au passage. Et je me retrouve avec un décalage de 6h (ou 7h) entre les timestamps de la base de données et ceux de mon application. Autrement dit il y a encore du boulot au niveau de mes tests pour lisser tout cela !

A explorer après PHPQuébec (I)

:: perrick :: PHP :: un commentaire :: aucun trackback

Premier jour à PHPQuébec avec au programme deux "tutorials" : Marcus Boeger sur SPL puis Ilia Alshanetsky sur la sécurité. Et à chaque fois, 3 heures de contenu dense et intéressant et une liste de points à explorer...