PHP à la rescousse de la validation HTML / XHTML

jeudi 31 juillet 2003 :: perrick :: PHP :: aucun commentaire :: un trackback

Au départ il y avait "HTML tidy", un projet open source pour nettoyer du code HTML. Et ensuite une librairie et maintentant une extension pour PHP5 (donc je n'ai pas encore testé) :

http://www.coggeshall.org/archives/e_65.html.

Si j'arrive à l'installer un jour, peut-être que ça remplacera le validator du W3C qui m'avait bien servi pendant mon passage à l'XHTML d'il y a quelques temps.

Via : http://dev.nexen.net/news/

Ah la paperasse

mercredi 30 juillet 2003 :: perrick :: Management :: aucun commentaire :: aucun trackback

LN note dans son blog qu'elle en a ras le bol de noter "NOM_PROJET lundi=8 mardi=8 mercredi=8 jeudi=8 vendredi=8 cumul_projet=40" sur un bout de papier. Je ne vais pas revenir sur le fait que c'est anti-écologique (note : c'est un argument que je n'avais pas encore mis dans ma liste personnelle ;-).

La question sous-jacente, c'est pourquoi mettre systématiquement 8,8,8,8,8 pendant des mois : ça ne donne aucune information n'est-ce pas... J'ai déjà eu ce type de question lors d'une installation de mon propre produit - openTIME.

En fait l'information est au niveau supérieur : c'est au niveau du projet, avec probablement plusieurs personnes sur le même projet, que les 8,8,8,8,8 deviennent pertinents.

Et puis si je dois croire Hal Macomber, LN doit être vernie de ne travailler que sur un unique projet. Il demande d'éliminer le multi-tâche sur l'homme (on n'est pas des machines) mais ce n'est pas le cas pour tout le monde. Loin de là.

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 ?

Quand la BLR tombe...

jeudi 24 juillet 2003 :: perrick :: Connexe(s) :: aucun commentaire :: aucun trackback

Pendant presque 2 jours, la BLR fournie par Firstmark n'a pas fonctionné : que de temps perdu. C'est dans ces moments-là que je me rends compte à quel point je suis dépendant des documentations de PHP et MySLQ quand j'écris du code.

Et aussi du validateur du W3C : heureusement j'ai quand même réussi à mettre à jour http://www.noparking.net/ et ce blog. Les deux valident le XHTML 1.0 Transitional. Une belle étape de franchie. Même si ni l'un, ni l'autre n'ont la prétention d'être aussi beau que ça ou ça par Dan Cederholm.

Au passage, merci à Free qui m'a permi de ne pas couler complètement pendant cette éternité de 30h57 !

Quand gestion du temps rime avec content

mardi 22 juillet 2003 :: perrick :: Management :: 3 commentaires :: aucun trackback

Mais pourquoi est-ce que je ne l'avais pas encore fait ? C'est une de ces questions qui me trotte dans la tête en créant cette rubrique "Management"... Le titre est provisoire - même si comme toutes les choses provisoires, il va probablement rester en l'état un petit bout de temps.

Au cas où vous ne le sauriez pas encore, je développe (et commercialise, au passage ;-) un logiciel intranet de gestion du temps : openTIME. C'est donc tout naturellement (économiquement ?) que j'essaye de suivre ce qui se fait en terme de "management".

Mais pourquoi aujourd'hui ? C'est que je viens de trouver un post qui m'a fait sourire. Dans Forging boldly into the 1990s!, Dave Hill exprime son bonheur : il va enfin passer à une feuille de temps électronique. Mais bien sûr, il lui manque le mot de passe pour s'y connecter ;-) Ah cette gestion des mots de passe : un vrai bonheur de sysadmin !

Via feedster.

MySQL et PHP : une explication en cours

mercredi 16 juillet 2003 :: perrick :: MySQL :: 2 commentaires :: aucun trackback

La version 5 de PHP ne contiendra pas de client pour la base de données MySQL : la nouvelle avait surpris pas mal de monde. La raison ? Une incompatibilité de licence entre la GPL (MySQL depuis la version 4) et la BSD (PHP).
Pour y voir plus clair : un entretien entre Zak Greant -- MySQL AB Community Advocate -- et le magazine php | architect.
Via http://dev.nexen.net/news/.

Mes étapes vers les standards

vendredi 4 juillet 2003 :: perrick :: CSS :: 2 commentaires :: aucun trackback

Voici donc mon parcours exhaustif pour passer de l'HTML plus ou moins propre à de l'XHTML (presque) valide :
- remplacement de <img> par <img />
- remplacement de <input> par <input />
- remplacement de <option selected> par <option selected="selected">
- remplacement de <select multiple> par <option multiple="multiple">
- remplacement de <h1 name="titre"> vers <h1 name="titre" id="titre"> (note : c'est n'est pas du XHTML strict)
- suppression des caractères spéciaux dans les URLs
- remplacement de l'attibut 'language' par 'type' dans les <script>
- suppression de l'attribut 'height' dans les <table>
- suppression de l'attribut 'align' dans les <div>
- ajout de l'attribut 'alt' dans les tags <img>
- fermeture des <options> avec </option>
- mise en minuscule des attributs de type onchange / onselect / etc.
- suppression du signe ">" du code javascript dans le XHTML (note : le code est mis dans un fichier .js exterieur)
- transformation des & en & dans les URLs

Suite de la transition vers le XHTML et presque fin aussi

jeudi 3 juillet 2003 :: perrick :: CSS :: 4 commentaires :: aucun trackback

Ça y est : je suis (presque) Valid XHTML 1.0 Strict. Après deux jours de plongée dans l'ensemble du code de présenation d'openTIME. Voici enfin les réponses que j'attendais :

Doctype: XHTML 1.0 Transitional
Errors: 1


et

Doctype: XHTML 1.0 Strict
Errors: 4


La différence entre les deux DTDs disparaitra quand je referais la navigation. Pour l'instant il y a des menus déroulants (avec table et formulaire). Bientôt ils seront remplacés par d'autres menus tout aussi déroulants (mais avec liste et CSS). Et là, ce sera le début du bonheur...

Quant au dernier bug, je ne sais pas encore comment le résoudre : il s'agit d'un "swap menu" - deux menus multiples entre lesquels on peut faire basculer les options. Et forcément celui de droite peut être vide, au moins au départ... et ça, c'est pas possible : You have a ‘FOO’ element, but you have omitted some required sub-element of it. Alors si quelqu'un a la réponse (et qu'en plus elle est élégante), je suis preneur ;-)

Transition vers le XHTML

mardi 1 juillet 2003 :: perrick :: CSS :: un commentaire :: aucun trackback

En parcourant http://openweb.eu.org/ à propos des feuilles de style CSS sur lesquelles je me pose encore des questions. Je suis tombé sur une page à propos du passage de l'HTML - que je pratique depuis 1995 - à l'XHTML.

Un petit tour sur le site de validation du W3C pour vérifier l'étendu des dégats sur une page type d'openTIME :
Doctype: XHTML 1.0 Strict
Errors: 1723


Après quelques heures de boulot - merci le copier / coller sur tous les fichiers - on descend très vite sous une barre plus raisonnable :
Doctype: XHTML 1.0 Strict
Errors: 93


C'est bien plus respectable. Par contre je n'ai pas encore trouvé de réponse à un truc qui me chiffone : dans une balise de type <input type="radio" name="report" value="test" id="test">, est-ce que je dois remplacer l'attribut name par l'attribut id ? C'est effectivement ce que me demande l'article sus-nommé. Mais dans ce cas je perd la possibilité de lier mon bouton radio et le texte qui lui correspond... Alors que faire ?