Cahier des charges Web
Ce cahier des charges vise à proposer une base saine pour un projet numérique de site ou de service numérique. Dans l’ensemble du document, nous utiliserons “Le site” pour parler du livrable, mais ce terme peut être adapté en fonction de la spécificité du contexte.
Les chapitres encadrés tels que celui-ci fournissent des informations de contexte à l’organisation qui souhaite utiliser le cahier des charges. Ils peuvent être supprimés du document final.
Pour en savoir plus
Contexte [C]
Organisation
Projet
Système d’information existant
Cadre légal spécifique
Méthodologie [M]
Co-construction avec les usagers
Exploration, priorisation
Tests utilisateurs
Aux phases de maquette, pré-production, et production.
Fonctionnalités [F]
Impératifs
Possibilités
Exigences techniques [T]
Le numérique étant à la fois matériel (impact écologique) et excluant (impact sociétal), il est nécessaire de faire des choix techniques pertinents, à même de minimiser l’impact écologique et de maximiser l’accessibilité, tout en garantissant le parfait respect des données personnelles, la souveraineté opérationnelle et en assurant la pérennité de la solution.
L’ensemble des choix techniques préconisés devront l’être en respectant le principe du “minimal par défaut”, c’est à dire que la solution la plus simple techniquement doit être envisagée comme base, et chaque brique technique ajoutée doit l’être à la suite d’une analyse bénéfices/risques favorable. La préconisation d’une solution “parce qu’elle fonctionne bien” ou “parce qu’elle est bien maîtrisée” génère des sous-optimalités à tous les niveaux.
Pour en savoir plus
Accessibilité [TA]
Écoconception [TE]
Comme défini par la DINUM, les objectifs de l’écoconception de services numériques sont de réduire la consommation de ressources informatiques et énergétiques et la contribution à l’obsolescence des équipements, qu’il s’agisse des équipements utilisateurs ou des équipements réseau ou serveur.
Le site doit avoir l’impact écologique le plus léger possible, sur plusieurs niveaux :
- minimisation de l’impact serveur
- minimisation de l’impact réseau
- minimisation de l’impact périphérique
Pour en savoir plus
Minimisation de l’impact serveur [TEV]
La charge de calcul et de stockage sur les serveurs doit être aussi légère que possible. Pour cela, les choix architecturaux devront être justifiés, en partant du cas le plus simple, à savoir les fichiers HTML bruts, précompilés. Chaque composant logiciel ajouté (base de données, CMS, framework…) devra faire l’objet d’une analyse bénéfices/risques, et d’une preuve que la solution plus simple n’est pas adaptée au cas d’usage.
Les données doivent être stockées de la façon la plus légère possible sans empêcher leur usage. Le fonctionnement “par défaut” est de ne conserver aucune donnée. Chaque donnée doit être conservée uniquement par rapport à un usage défini au préalable, clairement identifié et proportionné aux besoins.
Les traitements de données pouvant nécessiter des calculs intensifs, par exemple les préparations d’images pour différents formats d’affichage, doivent être exécutés une et une seule fois, en fonction du besoin réel. Les solutions de génération différée (lazy loading) mise en cache seront privilégiées par rapport aux solutions de génération lors de l’envoi (qui impliquent des calculs potentiellement inutiles) et surtout par rapport à la génération à la volée sans système de cache (qui impliquent des recalculs à l’identique).
L’infrastructure d’hébergement choisie doit présenter les meilleurs preuves d’efficacité, tant sur l’usage de l’électricité (Power Usage Effectiveness, PUE) que sur l’usage de l’eau (Water Usage Effectiveness, WUE). L’équilibre doit être recherché entre la souveraineté, la performance technique et la sobriété.
Pour en savoir plus
Minimisation de l’impact réseau [TER]
Les pages doivent être légères, particulièrement en mobile :
- les images seront chargées en utilisant des formats adaptés (picture et srcset), redimensionnés du côté du serveur
- le poids total téléchargé sur mobile, sans naviguer, sera à l’idéal inférieur à 500 ko, au pire inférieur à 1 mo
- aucune vidéo ne démarrera automatiquement (autoplay)
- le nombre de requêtes par page sera à l’idéal inférieur à 25, au pire inférieur à 50
- la politique de cache permettra d’éviter les rechargements inutiles, d’une page sur l’autre et d’une visite sur l’autre
Pour en savoir plus
Minimisation de l’impact périphérique [TEP]
Rétrocompatibilité
Par défaut pas de framework, tout à justifier (bénéfices/risques)