J'ai déjà abordé certains aspects permettant
d'augmenter la qualité du logiciel. Je vais en aborder 'autres
plus spécifiques aux langages de scripts que sont PHP et ASP.
Je vais approfondir la technique d'externalisation. Le problème
auquel nous sommes actuellement confronté avec les pages HTML,
dynamiques ou non, est le mélange entre du contenu, du HTML,
des balises de présentation (style), du code javascript. Quand
en plus la page est dynamique s'entrelace dans tout cela des balises
et du code PHP ou ASP. Si l'on n'y fait pas attention, cela devient
vitre inextricable.
On va donc essayer d'y mettre de l'ordre, oh! pas pour le navigateur
qui s'y retrouvera toujours si tant est que toute la syntaxe soit correcte,
mais bien pour nous ; pour pouvoir faire des ajouts, des modifications
sans avoir à s'arracher les cheveux. Quand tout devient spaghetti,
on a vite fait de ne plus s'y retrouver, d'oublier des balises de fermeture
etc.. Et actuellement les logiciels ne s'y retrouvent pas non plus
entre l'ouverture d'une balise en HTML et sa fermeture en script.
Première règle
Soyons cohérents, une balise ouverte en HTML doit être
fernée en HTML. Ne pas faire ceci
<bal>
<?php print "</bal>" ?>
Je prolongerai cette règle par la suivante, ne pas alterner
de façon intempestive le HTML et le langage de script. Est-ce
que cela joue sur les performances du serveur, je n'en sais à
vrai dire rien, mis cela joue surement sur les possibilités
de relecture de nous pauvres humains ;-)).
La mise en forme
En ce qui concerne la mise en forme, le style, la plupart des navigateurs
utilisés supportant les feuilles de style, il faut les mettre
en oeuvre. Il est plus facile de modifier un style largement utilisé
par une feuille de style, mais cela fait aussi moins de caractères
qui traînent dans le HTML et cela perturbe donc moins la lecture
du source de la page. Insérer les styles dans la page elle-même
ou utiliser une feuille de style externe, c'est à chacun de
voir.
Javascript
Je suis partisan de ne pas disséminer le code javascript dans
le HTML et dès que j'ai plus de deux fonctions à appeler
sur un évènement je les regroupe dans une fonction que
j'appelle à leur place. La plupart du temps je sors le javascript
en librairie externe aussi, afin de n'avoir qu'un lien dans le HTML.
Langage de script
Pour le PHP et l'ASP, je propose plusieurs règles simples.
J'ai déjà énoncé la première dans
un article précédent et plus haut dans l'article. A savoir
ne pas alterner trop fréquemment le HTML et le script. Quand
on doit écrire des valeurs provenant d'une base de données,
il vaut mieux écrire le HTML par le langage que de fermer le
script, mettre du HTMl, ouvrir le script etc... Le problème
est qu'effectivement les outils ne savent pas trouver les balises HTML
dans les chaînes de caractères des scripts. Ils peuvent
donc trouver des incohérences dans le HTML
Il est sain aussi de sortir un maximum de traitements dans des include
que l'on spécialise. En les spécialisant on a vite fait
de retrouver des parties de codes réutilisables, pour peu qu'on
les ait rendus indépendants du fonctionnel et que les interfaces
soient clairement décrits et explicités.
Conclusion
Ce que j'ai écrit là ne correspond pas à une
recherche d'optimisation des temps de traitement des pages web. Certains
diront peut-être même au contraire. Mais le surcoût
est négligeable, et de toute façon sans comparaison avec
la maintenabilité de nos pages web. Depuis le début l'informatique
a été un compromis entre l'espace et le temps. Ici, c'est
sur notre temps à nous que nous gagnons quitte à en faire
perdre un peu aux machines.
Bonne lecture, à bientôt sur le forum ou par messagerie.
Daniel Lucazeau
Ajornet.com
Chef de projet Internet
Développeur informatique
|