Comment est généré www.debian.org

L'« arborescence web » Debian, qui est l'ensemble des répertoires et fichiers composant notre site web, se trouve dans le répertoire /org/www.debian.org/www sur la machine www-master.debian.org. Les pages sont essentiellement statiques (c'est-à-dire qu'elles ne sont pas générées par le serveur à l'aide de CGI, PHP, ou autres), parce que le site est recopié par des sites miroirs.

Les pages web Debian sont générées de l'une des trois façons suivantes :

Une mise à jour automatique (à partir de l'arborescence CVS et d'autres sources) est effectuée six fois par jour.

Si vous voulez aider à la maintenance du site web, il ne faut pas simplement modifier les fichiers dans le répertoire www/. Prenez d'abord contact avec les webmasters.

Tous les répertoires et fichiers appartiennent au groupe debwww et peuvent être modifiés par ce groupe, ainsi l'équipe du site web peut modifier ces fichiers. Le mode 2775 sur les répertoires implique que tous les fichiers créés dans cette arborescence appartiendront aussi à ce groupe. Toute personne dans le groupe debwww doit donc faire « umask 002 » afin que les fichiers soient accessibles en écriture pour le groupe.


« Look & feel »

Nous donnons aux pages une charte graphique homogène en laissant WML faire le travail de finition consistant à ajouter en-têtes et pieds-de-page. Bien qu'une page .wml apparaisse de prime abord comme étant une page HTML, le HTML n'est qu'un des types d'informations supplémentaires pouvant être contenus dans des fichiers .wml. Une fois que WML a terminé ses divers filtrages sur un fichier, le résultat final est du HTML. Mais pour vous donner une idée de la puissance de WML, vous pouvez inclure du code Perl dans vos pages pour vous permettre de faire, pour ainsi dire, à peu près tout ce que vous souhaitez.

Il faut cependant noter que WML ne vérifie (et parfois corrige) la validité du code HTML que de façon très basique. Vous devriez installer weblint et/ou tidy pour valider votre code HTML.

Nos pages web sont pour l'instant conformes à la norme HTML 4.01 Strict. Nous prévoyons de passer en XHTML, si bien que les rédacteurs de pages sont fortement incités à écrire les balises HTML en lettres minuscules, à écrire toutes les balises de fin même optionnelles, etc. afin de rendre la transition aussi douce que possible.

Quiconque travaille sur beaucoup de pages devrait installer WML afin de vérifier le résultat obtenu. Si vous utilisez Debian, vous pouvez facilement installer le paquet wml. Lisez alors comment utiliser WML pour de plus amples informations.

Sources

Les sources des pages web sont gérées par CVS. CVS est un outil de contrôle de version, qui permet de voir qui, quand, pourquoi, etc. a modifié certains fichiers. Cela permet un accès aux sources simultané par plusieurs auteurs de façon sûre, ce qui est crucial pour nous, parce que l'équipe de maintenance du site web est nombreuse.

Si vous n'êtes pas familier avec ce programme, vous devriez lire les pages expliquant comment utiliser CVS.

Le répertoire racine webwml dans l'arborescence CVS contient des répertoires dont le nom est celui des langues dans lesquelles ce site est traduit, deux fichiers Makefile et plusieurs scripts. Le nom du répertoire de traduction doit être en anglais et en lettres minuscules (par exemple « french » et non « Français »).

Le plus important des deux Makefile est Makefile.common, qui comme son nom l'indique, contient quelques règles courantes qui sont appliquées en incluant ce fichier dans les autres Makefile.

Chacun des répertoires de traduction contient des Makefile, des fichiers source WML et des sous-répertoires. Les noms des fichiers et répertoires sont les mêmes qu'en anglais afin de conserver des liens corrects dans toutes les langues. Les répertoires peuvent aussi avoir des fichiers .wmlrc qui contiennent des informations utiles à WML.

Le répertoire webwml/english/template contient des fichiers WML spéciaux appelés modèles (« templates » en anglais), parce qu'ils peuvent être appelés depuis n'importe quel autre fichier en utilisant la commande #use.

Afin que les changements sur ces fichiers modèles se répercutent aux fichiers qui les utilisent, des dépendances ont été mises dans les Makefile. Comme une grande majorité de fichiers utilisent le modèle « template » en insérant une ligne #use wml::debian::template au sommet de la page, la dépendance par défaut (celle pour tous les fichiers) est sur ce fichier modèle. Bien sûr, il y a des exceptions à cette règle.

Scripts

Les scripts sont majoritairement écrits en shell ou en Perl. Quelques-uns sont indépendants, d'autres sont intégrés dans les fichiers sources wml.

Les sources des scripts de reconstruction du site www-master principal se trouvent dans le dépôt Git debwww/cron.

Les sources des scripts pour la reconstruction de packages.debian.org se trouvent dans le dépôt Git webwml/packages.

Comment aider

Nous invitons quiconque à nous aider à rendre le site web Debian aussi bon qu'il peut l'être. Si vous avez des informations intéressantes sur Debian qui manquent sur le site, partagez-les avec nous et nous verrons comment les inclure.

Nous avons toujours besoin d'aide pour améliorer le design des pages (d'un point de vue graphique et présentation), et aussi pour garder le code HTML le plus propre possible. Les programmes suivants sont lancés régulièrement sur la totalité du site :

De l'aide est toujours bienvenue pour lire ces rapports et corriger les problèmes.

Les traces de la dernière compilation des pages du site web sont accessibles sur http://www-master.debian.org/build-logs/.

Si vous parlez couramment une ou plusieurs langues, vous pouvez vérifier la syntaxe des pages et nous indiquer toute erreur.

Vous pouvez aussi nous aider à traduire les pages dans une autre langue. Si une page a été traduite, mais comporte des erreurs, regardez la liste des coordinateurs de traduction et indiquez ces problèmes au responsable de la traduction. Si vous souhaitez traduire vous-même certaines pages, suivez ce lien pour de plus amples informations.

Un fichier TODO existe aussi, regardez ce qu'il reste à faire.

Comment ne pas aider

[Q] Je veux ajouter une fonctionnalité amusante du web sur www.debian.org, je peux ?

[R] Non. Nous voulons que www.debian.org soit le plus accessible possible, ce qui implique

[Q] J'ai une idée sympa. Pouvez-vous ajouter TRUC dans le daemon HTTPD sur www.debian.org ?

[R] Non. Nous voulons que les administrateurs des sites miroirs aient une tâche facile, donc aucune fonctionnalité exotique de HTTPD n'est utilisée. Même pas les Server Side Includes (SSI). Une exception a été faite pour la négociation du contenu, parce que c'est la seule façon fiable de permettre une navigation multilingue.