Automatiser un site web
Pourquoi automatiser son site web
La plupart du temps, presque toutes les pages d'un site web sont structurées suivant le même shéma. Par exemple, un menu sur la gauche, une phrase de copyright en bas, et le contenu spécifique à la page sur la droite. De même, en général le titre de la page est affiché de la même manière (taille, couleurs, bordure...) sur chaque page, ainsi que les sous-titres, les liens, etc.En général, les gens qui créent un site web commencent par définir la structure de leur page, puis font un copier-coller de cette structure dans chaque page qu'ils ajoutent au site. Le principal inconvénient de cette méthode apparaît dès que l'on désire modifier un élément de la structure (par exemple, rajouter un lien dans le menu de gauche). Il faut alors effectuer la modification sur chaque page.
Une première solution serait d'utiliser des cadres (frames) pour définir un menu (cadre de gauche), un copyright (cadre du bas)... qui ne changent jamais, alors que le cadre de droite change. On peut effectuer de nombreuses critiques à l'encontre des cadres (pas dans l'esprit du web à l'origine, mauvais support dans certains navigateurs...), mais l'objection que nous retiendrons est justement le manque de flexibilité des cadres. Si vous définissez un menu global pour tout votre site, vous ne pouvez pas adapter ce menu en fonction de la page (par exemple, afficher un menu détaillé concernant la section où vous êtes, et un menu moins détaillé concernant les autres sections). Il est possible de « tricher » en faisant plusieurs fichiers de menu, mais nous voilà revenus au problème précédent.
De plus, outre le problème de mise à jour, il est possible que vous vouliez effectuer un traitement systématique sur chaque page (par exemple, remplacer les caractères accentués par les entités correspondantes en HTML), et il est assez fastidieux d'appliquer ce traitement à la main à chaque fois qu'une page est modifiée. Et si ce traitement pouvait être fait sans que vous ayez à vous en préoccuper ?
Enfin, il est possible que vous vouliez faire participer d'autres personnes à la rédaction de pages de votre site. Vous ne voudriez pas, dans ce cas, qu'ils soient confrontés à l'organisation que vous avez choisie. Il serait beaucoup plus simple et beaucoup plus sûr que les différents auteurs se contentent d'entrer leur texte, et que toute la mise en page soit effectuée automatiquement.
Quel type d'automatisation ?
Il y a plusieurs niveaux d'automatisation possibles, qui ne répondent pas aux mêmes besoins, mais que vous pouvez mélanger entre eux.Tout d'abord, si vous voulez simplement uniformiser l'apparence des pages de votre site (par exemple, tous les titres centrés, les sous-titres en gras...), vous pouvez (et devriez) utiliser les feuilles de style (CSS, ou Cascading Style Sheets) normalisées par le W3C. Les feuilles de style permettent d'indiquer au navigateur de quelle manière vous voulez afficher les différents éléments d'une page. Il est ainsi possible de définir une CSS, et de l'utiliser pour toutes les pages du site. De cette manière, si vous désirez changer l'apparence d'un élément, il vous suffit de modifier la CSS, et la modification sera visible sur toutes les pages.
Ensuite, si vous désirez, en plus du style, automatiser le contenu de vos pages, deux solutions s'offrent à vous. La plus connue (et la plus en vogue) est d'utiliser un langage de script « côté serveur » comme le PHP, c'est à dire un langage qui vous permet d'inclure dans vos pages des commandes qui seront interprétées par le serveur web lorsqu'un visiteur demandera à accéder à la page. Cela permet de générer dynamiquement des pages, mais demande un travail supplémentaire au serveur web pour chaque page demandée.
L'autre solution est d'utiliser un langage de script (ou de macro) « côté auteur », c'est à dire un langage qui va vous permettre de « coller » ensemble les morceaux de vos pages, vous donnera les fichiers HTML correspondant, que vous pourrez alors mettre sur le serveur web. Cette méthode vous permet d'automatiser le site, mais ne permet pas de générer des pages qui s'adaptent au visiteur comme la méthode précédente. Cependant, vous économisez le temps de traitement, qui peut être une ressource précieuse si votre serveur est surchargé ou si vous avez de nombreux visiteurs.
- Introduction aux feuilles de style (CSS).
- Automatisation « côté auteur » avec un langage de macros et make.
- Automatisation « côté serveur » avec PHP.