Attention: ceci est un document préparatoire et pas un appel à contribution définitif. Le questionnaire proposé n’est pas finalisé.
Pour beaucoup de langages de programmation, il existe des guides stylistiques ou conventions de codage qui décrivent une «bonne manière» de coder avec le langage en question. Comme le rappelait Christian Heilmann à Paris Web 2007, les équipes efficaces suivent des standards. Il s’agit bien sûr des standards du Web, mais aussi de standards ou conventions internes.
Pourquoi ne pas proposer un guide stylistique pour HTML et CSS?
C'est le projet auquel je vous propose de participer.
Les guides stylistiques sont des documents composés de directives sur la bonne manière de rédiger un texte. Par exemple, la plupart des grands journaux ont un guide stylistique ou manuel stylistique. Il existe des manuels stylistiques pour les documents universitaires de telle ou telle discipline, pour les documents techniques dans divers secteurs industriels, etc.
En programmation, il existe également quelques guides stylistiques. Certains sont officiels (proposés par l'équipe qui crée et maintiens le langage), d’autres proposés par divers intervenants. On parlera également de conventions de codage (coding conventions ou coding standards).
Voici par exemple le guide stylistique (officiel) pour le langage Python, ou encore un guide stylistique pour PHP.
Lorsque plusieurs personnes interviennent sur un même projet, et en particulier au sein d'une même équipe, il peut être difficile pour une personne de reprendre un projet commencé par une autre, ou pour deux personnes de travailler efficacement sur un même code. Surtout si les pratiques de codage sont très différentes.
Le but serait de produire non pas une norme mais un document de référence, qui décrirait une manière précise de rédiger du code HTML et CSS. Ce document pourrait alors être utilisé comme référence interne pour agence web souhaitant uniformiser les pratiques de ses collaborateurs et faciliter l'intégration de nouveaux employés. Un indépendant pourrait suivre ce guide stylistique et s'y référer au moment de livrer son travail, en conseillant aux autres intervenants de le suivre s'il doit y avoir des allers-retours. Etc.
Attention: un guide stylistique ou des conventions de codage ne sont pas des normes ou des standards ou même titre que les recommandations du W3C! Il s’agit de recueil de bonnes pratiques, auxquelles tout un chacun est libre de se conformer ou non.
Pour rédiger ce document, il me semble important de me fonder non pas sur mes propres pratiques (même si je les trouve bonnes à 90% ;)), mais sur un éventail de pratiques provenant de divers professionnels du Web.
Je souhaite donc récolter des informations sur les pratiques des uns et des autres, pour confronter les pratiques et vérifier si certaines tendances se dégagent. C’est là l’objectif de cet appel à contribution.
Il s’agit de répondre à un questionnaire relativement ouvert sur différents points de style ou de méthode: indentation du code, utilisation des espaces et commentaires, nommage des classes et identifiants, utilisation des classes et identifiants en fonction des contenus, etc.
Les questions sont ouvertes (pas de réponses de type «oui/non»), et vous pouvez répondre très brièvement ou de manière plus détaillée (avec de brefs exemples de code si nécessaire).
Vous trouverez le questionnaire et des instructions pour y répondre un peu plus bas.
Merci d’avance pour votre contribution. :)
Je prévois pour l’instant de réaliser le dépouillement et un premier jet du guide stylistique moi-même, avec l’aide éventuelle des modérateurs d’Alsacréations. Ce premier jet (version alpha ;)) sera alors soumis à commentaires.
Si vous souhaitez participer activement à ce premier jet, contactez-moi (cf. adresse en fin de page). En cas de demandes nombreuses, un wiki ou autre système de collaboration pourra éventuellement être mis en place.
Note: la question de l’indentation du code n’est pas abordée. En effet, pour la plupart des sites web elle ne peut pas être gérée de manière précise, à cause de l’utilisation de nombreux scripts, systèmes de templates, etc.
Projet proposé par Florent Verschelde et Alsacréations.
Contact: florent (Arobase) covertprestige (Point) net.