Les clients riches de demain

dimanche 25 juillet 2004 :: perrick :: Développement :: aucun commentaire :: aucun trackback

Lors des apéros PHP qui se font sur Lille de temps en temps, une des questions que j'aime bien posé est : "qu'est-ce que tu sens autour du web en ce moment ?" D'abord et avant tout chose la bataille des standards avec Mozilla, CSS, le Zen Garden et quelques autres qui avaient IE en ligne de mire. Puis la poussée des blogs (dont ma tentative, avortée au stade de béta, de plug-in pour DotClear) : et dire que je n'ai célébré ni mon 100ème post, ni mon premier anniversaire.

Désormais les clients riches de demain : particulièrement révélateur, un post de Koranteng Ofosu-Amaah, développeur chez IBM / Lotus. Il évoque les récentes acquisistions d'IBM dans le domaine des applications web très riches : tableur complet, clône de PowerPoint. Le client email (Oddpost, déjà bluffant quand je l'avais croisé il y a près d'un an, mais IE uniquement) est quant à lui parti chez Yahoo -- face à Gmail de Google...

Et parce qu'un peu de culture informatique ne fait pas de mal, un autre lien qui me revient par ce biais : pourquoi "plus mauvais est bien mieux" ! En attendant qu'Opera mette en place le XMLHttpRequest : moi aussi j'ai envie de m'amuser un peu.

Le buzz autour du développement d'applications web

lundi 28 juin 2004 :: perrick :: Développement :: aucun commentaire :: aucun trackback

Le buzz du moment -- ou tout du moins à travers mon filtre personnel sur onpk -- est le futur du développement web. Je vous laisse suivre ou remonter les dicussions à ce sujet -- polémique puisque que facilement compréhensible -- ici ou ou encore ailleurs (note : à chacun de faire sa petite liste).

Du lot, je vois encore une nouvelle structure avec une démarche intéressante : le Web Hypertext Application Technology Working Group. Il s'agit d'un loose unofficial collaboration of Web browser manufacturers and interested parties who wish to develop new technologies designed to allow authors to write and deploy Applications over the World Wide Web. Avec des piliers issus de Mozilla et d'Opera en particulier. J'aime beaucoup leur démarche : The current focus is rapid, open development and iteration to reach that level. Un véritable catalogue de principes agiles. Encore un truc à suivre de près.

Augmenter la confiance

vendredi 18 juin 2004 :: perrick :: Développement :: aucun commentaire :: aucun trackback

Plus j'avance dans le développement logiciel et plus je me rends compte que la principale qualité d'un code doit être la confiance qu'on est prêt à y accorder. J'avais déjà parlé du Ctrl + A et du build en une touche. Tim Bray quant à lui remet un couche sur le développement par les tests (TDD) qu'on met déjà en pratique sur openTIME.

Une autre technique qui va toujours dans ce sens est la notion de battement de coeur d'un projet de développement tel que exposé par Olivier Lafontan -- Project Delivery Manager -- chez Egg lors du SIG Agile du 16/05/2004 à Paris, La Défense : on y retrouve en particulier toutes les techniques "management" d'XP (Client sur le Site, Itérations Régulières et Séance de Planification). Une métaphore intéressante puisqu'elle permet de "prendre le poul", "vérifier que le projet vit toujours", etc. Bref à creuser.

Note : dès que les slides de la présentation sont en ligne je vous ferais signe.

Comment Microsoft a perdu la guerre de l'API

jeudi 17 juin 2004 :: perrick :: Développement :: aucun commentaire :: aucun trackback

Joel Spolsky a largement contribué à ma propre manière de produire du logiciel -- au sens "craft". Mais depuis quelque temps les articles se faisaient plus rare. Et là il vient de pondre un article TRES intéressant sur l'évolution interne de Microsoft : Comment Microsoft a perdu la guerre de l'API (Note perso : faudra que je lance la traduction en français si ce n'est pas déjà le cas). Et son dernier paragraphe prend tout son sens avec les questions de Daniel Glazman sur l'évolution de l'HTML... Affaire à suivre donc.

Comment le travail collaboratif modifie les rapports directs

jeudi 18 décembre 2003 :: perrick :: Développement :: 2 commentaires :: aucun trackback

Via le blog de Scott Jonhson, j'arrive sur un article de Ross Mayfield Augmenting Social Interaction. Il y évoque les modifications dans les rapports humains suite à l'utilisation grandissante des outils de travail collaboratif (en particulier le wiki -- qui est son outil phare).

Et j'ai eu droit hier -- à l'apéro PHP -- à une vérification flagrante : avec Jean-Marc Fontaine de Dying Culture, on a eu une discussion très pointue sur nos sujets de prédilection (PHP, CSS, XHTML, développement web & co.) avec des références communes alors que :
1/ on ne se croise que tous les 3/4 mois de visu autour d'une bière
2/ on s'envoie un mail tous les 2/3 mois
3/ on lit le blog de l'autre et pas mal de blogs en commun

L'effet est le même que la télé : à une époque c'était le seul sujet de discussion commun dans la cour de récréation. Sauf que désormais je n'ai plus la télé...

Je vais comprendre XUL

jeudi 30 octobre 2003 :: perrick :: Développement :: aucun commentaire :: aucun trackback

Laurent Jouanneau annonce l'ouverture de Xulfr.org sur son blog.

Comme il s'agit d'une technologie qui m'intéresse, je suis allé y faire un petit tour et j'ai trouvé un tutoriel intéressant : en 2 temps, j'avais créé ma première page XUL. Le résultat est saisissant quand on a été limité à l'HTML depuis 1995.

RYOFM, une variation du RTFM

mercredi 10 septembre 2003 :: perrick :: Développement :: un commentaire :: aucun trackback

Ce matin avec un client, j'ai effectué un atelier sur son utilisation de mon outil de gestion d'activité (pour ceux qui ne seraient pas encore au courant, il s'agit d'openTIME).

Et sur une des fonctionnalités -- création d'un prévisionnel, plus possible de faire des modifications. Très embarrassant, surtout quand on dit que le soft n'a pas de bugs connus. De retour au bureau, l'idée m'effleure de regarder le fichier d'aide avant de me plonger dans le code.

Extraits de la page d'aide en question (que j'ai aussi envoyé au client en question) : "Le prévisionnel n'est modifiable qu'au stade 'proposition', ensuite seul un dirigeant peut y retoucher. Un utilisateur simple ne peut que consulter les données."

Il ne s'agissait donc pas d'un bug mais d'une fonctionnalité, documentée par votre humble blogger en personne. J'ai même la date du commit dans le source : 16/10/2003 17h32 ! D'où cette note personnelle : Read You Own Fucking Manual.

La puissance du Ctrl+A

mardi 12 août 2003 :: perrick :: Développement :: aucun commentaire :: aucun trackback

De temps en temps je relis Le test de Joël : 12 étapes vers un meilleur code, histoire de voir où j'en suis dans mes méthodes de développement.

Il y a des points que je pratique depuis maintenant pas mal de temps : 1. système de gestion de code source 4. base de données de bugs 5. correction des bugs avant d'écrire du nouveau code 8. environnement de travail calme 9. les meilleurs outils que je peux me payer 10. des testeurs 12. des tests d'utilisabilité de couloir. Donc pour l'instant 7/12 : encore bien loin des 12/12. Mais je m'en rapproche petit à petit ;-)

D'autres points ne sont pas encore à l'ordre du jour ? A quoi bon dire "oui" à les nouveaux candidats écrivent-ils du code pendant leur entretien d'embauche ? quand il n'y a pas encore eu d'embauche de développeurs...

Et puis il y a cette question des builds qui doivent être quotidiens et en une seule étape. Etant donné que mon code n'est jamais compilé (logiciel web : PHP / CSS / JavaScript) et que je suis l'unique développeur, comment comprendre ce "build" ?

Quand je "livre" un produit, je fais juste un transfert FTP de mes fichiers "propres" vers un serveur de production. Pas bien compliqué... sauf que je dois volontairement laisser intacts certains fichiers (configuration, paramètres, log des erreurs et quelques autres) sur le serveur de production s'il s'agit d'un upgrade et pas d'une install. Vous l'aurez compris, c'est ce volontairement qui m'empêche de faire un Ctrl+A et m'oblige à me poser des questions.

En passant sur un autre fil de réflexion sur le build quotidien, on trouve un lien vers http://www.finalbuilder.com. Il s'agit d'un très bel outil pour remplacer les fichiers .BAT : d'un seul clic, je peux désormais aller chercher mes derniers fichiers propres et les placer dans trois endroits distincts (un répertoire "install", un répertoire "update" et un fichier ".ZIP"). Résultat lors d'un transfert FTP classique, je peux enfin profiter de la tranquilité et de la garantie du Ctrl+A. Et j'en profite pour passer de 7 à 9/12.

Note : pour les non-habitués des raccourcis clavier sous Windows, Ctrl+A permet de sélectionner l'ensemble des données traitées par l'application en cours (tous les fichiers dans un logiciel de FTP, tout le texte dans Word, etc.)

Au revoir au 'refresh'

lundi 28 juillet 2003 :: perrick :: Développement :: un commentaire :: aucun trackback

Il y a des petites choses qui se répètent si souvent qu'on en viendrait parfois à se dire qu'elles sont aussi éternelles que le soleil ou les nuages.

Et pourtant en lisant un article à propos des sessions PHP sur phpfreaks, j'ai trouvé une perle : comment dire au revoir au 'refresh' obligatoire sur IE quand on utlilise des sessions et des formulaires.

C'est un hack tellement simple que je me demande encore pourquoi je n'ai jamais cherché à passer outre : il suffit d'ajouter après le session_start() cette ligne
header("Cache-control: private");

Elle est pas belle la vie sous les étoiles de juillet ?

Séparer logique et présentation La logique dans la base de données et la présentation dans les feuilles de style

lundi 21 avril 2003 :: perrick :: Développement :: aucun commentaire :: aucun trackback

J'entends souvent parler des "templates". Comme je ne les ai jamais utilisés pour les sites web que je développe en PHP, je ne peux que vous donner quelques liens :
- un article "pour"
- un article "contre" et la réponse
- un autre article "plus neutre"

(note : si je mets les guillemets, c'est pour ne pas me faire incendier.)

Ce n'est pas pour autant que je ne fais pas des couches dans mon code : MySQL / PHP & HTML / CSS me permettent de bien le faire ;-)

Pour ce qui est de la base de données, des exemples à suivre (AMHA) :
- http://www.databasejournal.com/features/php/article.php/1568461

Et pour les avantages des feuilles de style CSS :
- http://www.blogblues.com/standards/
- http://www.nitot.com/standards/blog/

LABEL dans un formulaire : ACCESSKEY et A HREF II

mercredi 11 décembre 2002 :: perrick :: Développement :: un commentaire :: aucun trackback

En faisant un petit tour par les logs, je me suis rendu compte qu'un des articles les plus lus ici correspondait à l'utilisation de LABEL dans un formulaire. En voici donc une deuxième utilisation possible :



Sous IE et Mozilla & Co, le raccourci clavier "Alt + P" permet d'aller directemnt dans le champ "Mot de passe". Je vous laisse faire le test. Ensuite n'hésitez pas à aller faire un petit tour dans le code source pour voir comment c'est fait...

Au passage, ça marche aussi dans une balise <A HREF="page.html" ID="label">. C'est ce que j'utilise dans openTIME pour offrir un raccourci clavier : on peut toujours revenir vers la page principale avec un simple raccourci clavier. Le rêve de tous les développeurs ;-)

PS : ça fonctionne aussi sur le site officiel du PHP.

Le test de Jamie Après celui de Joël

mercredi 20 novembre 2002 :: perrick :: Développement :: aucun commentaire :: aucun trackback

Dans "Jamie On Game Development", James Fristrom reprend le test de Joël (Spolsky) et l'adapte à l'univers du jeux vidéo. On y retrouve, entre autres, le grand classique "reuse as much as you can and replace as much as you can" avec de nouveaux exemples (et même l'exception qui confirme la règle ;-).

Quand on sait que mes voisins et clients font du jeux vidéo (TeamChman, ça vous dit quelque chose ?), ce weblog prend une saveur très particulière...

Le butineur se relèvera...

lundi 4 novembre 2002 :: perrick :: Développement :: aucun commentaire :: aucun trackback

Un texte très intéressant de Paul Prescod : pourquoi le butineur ne peut pas mourir ?

4 bonnes raisons :
- une interface utilisateur presque identique dans tous les butineurs
- le lien URL (on peut ouvrir n'importe quelle appli à partir de n'importe quelle autre)
- pas d'installations sur le poste client
- et son corollaire, indépendance du poste client (mon PC à la maison, ma boîte Unix au bureau ou un MAC dans un web café font tous l'affaire)

Quatre fonctionnalités irrésistibles ?

LABEL dans un formulaire Associer nom et case à cocher (ou bouton radio) dans un formulaire

vendredi 18 octobre 2002 :: perrick :: Développement :: 2 commentaires :: aucun trackback

Parmi les options peu utilisés de l'HTML, j'ai découvert récemment le tag LABEL. Il permet de lier du texte avec la case à cocher ou le bouton radio qu'il décrit.

:

Si vous savez regarder le code source, n'hésitez pas. Par contre si vous n'utilisez qu'un éditeur WYSIWYG, vous avez encore du chemin à parcourir : même Dreamweaver ne propose pas cette option (au moins dans sa version 4).

L'avantage de cette liaison ? Au lieu de devoir cliquer "pile" sur le bouton, on a tout l'espace du texte descriptif pour ne pas se louper ! Le bonheur pour ceux qui ont une souris encrassée, un "touch pad" récalcitrant, un minuscule bouton rouge au milieu du clavier, etc...

Et en plus vos internautes aveugles vous en seront reconnaissants. Même si là je ne parle pas par expérience, elle probablement un peu plus.

Revision Control II

jeudi 26 septembre 2002 :: perrick :: Développement :: aucun commentaire :: aucun trackback

Toujours à la recherche de l'outil parfait :

- TortoiseCVS [TortoiseCVS home]
Un client CVS intéressant et facile de prise en main. On y retrouve en particulier le "clic droit sur la souris" pour remettre ses fichiers dans le " repository" (entrepôt à lignes de code ?).

- CS-RCS [ ComponentSoftware] (suite)
En plus il peut fonctionner en mode CVS.