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 ?

J'en parle : un peu, beaucoup, passionément, à la folie... pas du tout

mardi 15 juillet 2003 :: perrick :: Développement :: aucun commentaire :: aucun trackback

Il y a quelques temps j'avais lu un article intéressant sur la politique du buzz : Mouth Wide Shut. En gros, rien ne sort avant que la fonctionnalité ne soit implementée.

Et puis pas plus tard qu'hier, le même -- Joel Spolsky -- nous donne un léger aperçu des prochaines versions de son logiciel phare CityDesk.

Et puis du côté d'Apple (remarqué dans l'article ci-dessus pour sa politique de la bouche cousue), Dave Hyatt tient

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.

Revision Control Une problématique simple : suivre l'avancement du code source.

jeudi 19 septembre 2002 :: perrick :: Développement :: un commentaire :: aucun trackback

7 mois de développement à No Parking, ça fait déjà :
- 479 fichiers
- 20 dossiers
- 5,65 Mo (5 926 843 octets)
Sans compter les fichiers tests, ceux de créations graphiques. Je parle ici principalement des fichiers *.php et des quelques images qui rendent le tout à la fois jolie et conviviale.

Le jeu est simple : trouver un outil qui permette de piloter au mieux cette masse de code. C'est le premier point du test de Joël : 12 étapes vers un meilleur code.

Quatre outils ont été testés :
- CVS [CVS home]
Classique, mais délicat à configurer sur Windows. Désolé mais allons voir ailleurs.

- Code Co-op [Reliable Software]
Concept très intéressant : la synchronisation des scripts peut se faire par email, en plus du traditionnel client / serveur. Par contre c'est du pur Windows, donc dans un univers LAMP ce n'est pas forcément l'idéal.

- CS-RCS [ ComponentSoftware]
Un outil moitié open source, moitié commercial. Basé sur GNU RCS, il écarte les problèmes de compatibilité entre OS. Il s'intègre très bien dans l'univers Windows (clic droit sur la souris). Seul problème pour l'instant : il n'est pas possible d'avoir des fichiers d'un projet A dans le projet B. C'est attendu pour la version future : affaire à suivre.

- QVCS [QumaSoft]
Un shareware classique : Windows exclusivement. Pas très cher. Mais on perd la solution multi-plateforme.