Éviter les erreurs, certes, c'est une tâche courante quand on construit un site Web, mais comment faire au mieux ? C'est la question que j'ai tendance à me poser.
Depuis le temps, j'ai appris pleins de trucs que je mets en pratique :
Et puis sûrement d'autres trucs que j'oublie. Jusqu'ici, on me demandait d'apporter des corrections à des sites, ou de ne faire qu'une petite page très simple de présentation, par exemple la page de Yghon ou celle de Bobatomix.
Un ami qui m'accompagne souvent en soirée psytrance, et qui y fait des photos, souhaitait avoir son site pour présenter ses clichés. Je lui ai donc proposé un site recevant ses photos, avec tout ce qu'il faut pour l'administrer. C'est le site de photos de Yanninho, dont l'aspect graphique (rendu par CSS) fonctionne même presque parfaitement avec un navigateur obsolète.
Oui, Yanninho (c'est son nom) prend aussi des photos compromettantes de votre serviteur :D Genre après une nuit à danser, quand je suis en train de dormir dans un coin, la marque du pull sur le front :D Mais il a la décence de ne pas les mettre en ligne, hum ^^
Quand j'ai commencé à réaliser son site, les questions compliquées arrivèrent. Quel type d'URI avoir pour pointer sur une soirée ? Quelle arborescence adopter pour les fichiers ? Comment avoir un calcul de vignettes automatique et transparent ? Comment présenter les photos ? Comment répartir le code ? Où placer la limite entre le côté dynamique (site souple, mais plus lent) et le côté statique (site rigide, mais rapide) ?
Pleins de problèmes intéressants, mais nécessitant une réflexion qui a parfois du mal à aboutir... décision arbitraire, « alea jacta est » :) Ou alors des problèmes qui n'ont pas encore de solution, et restent dans l'état le temps de la réflexion. Par exemple, j'utilise massivement l'option Multiviews et le Path Info de php, ce qui permet d'avoir des URI naturelles, sans extension « .php » ou de paramètres disgracieux « ?plop=2&img=34 ». Mais du coup, pour une adresse donnée, dois-je la faire terminer ou non par le caractère « / » ? Ce dernier petit détail change tout, puisque les liens dans la page devront changer aussi.
Concernant l'hébergement, on a fait appel à online.net. Leur avantage est de ne pas être trop cher, d'autoriser un traffic illimité, et de supporter le Multiviews et le Path Info. En revanche la vitesse de traitement du PHP est d'une extrême lenteur. J'ai pourtant bien optimisé le site, en utilisant des astuces CSS au lieu de PHP pour déporter le boulot côté client. J'ai aussi exploité au maximum les fonctionnalités de cache, en m'appuyant sur l'excellent article d'Éric Daspet sur le cache HTTP. Un changement d'hébergeur est donc prévu malgré tout.
Au fur et à mesure des versions, au fil des sites Web ou des logiciels que j'ai l'occasion de réaliser, cette question est toujours là : « c'est quoi le mieux ? ». Question délicate pour laquelle je ne suis pas le seul à chercher des réponses ;) On se retrouve alors non plus dans une optique de correction directe de problème : un bug / une correction, qui est une chose triviale à se représenter, mais dans une optique de proposition d'une vision, d'une façon de concevoir les choses. On est face à un problème pour lequel il existe de nombreuses solutions, et celle retenue dépendra de la personnalité et des envies du bâtisseur.
Ce dernier point est important, car il expose les bienfaits d'un système concurrentiel. Pour rester dans le monde du logiciel, imaginez ce qui se passerait si une société imposait, sur la plupart des ordinateurs de la planète, son propre logiciel pour naviguer sur le Web, mettant en place sa seule et unique vision des choses. Ne serait-ce pas là une situation des plus malsaines ?
Ah, on me chuchotte à l'oreille que cette situation a déjà eu lieu... Je parle au passé car pour le bonheur de tous, cette unique vision du logiciel de navigation Web a tendance à s'ébrécher, au point de donner un navigateur obsolète.