La conception du site
Introduction
La conception du site est une étape cruciale pour créer un service numérique avec une faible empreinte environnementale. Les plus gros leviers de gain green IT sont accessibles durant cette étape. Par la suite, il sera possible d’effectuer des améliorations, mais elles auront des impacts beaucoup plus faibles.
La conception d’un service numérique peut s’appuyer sur des solutions utilisant peu de technologies ou des technologies anciennes et avec un faible impact écologique. Ces solutions sont dites low-tech (par opposition à high-tech). Par exemple, ce peut être un service numérique consultable même sur un matériel ancien ou avec un réseau de faible débit…
Il est également possible de recourir à des solutions n’utilisant pas du tout de technologie : c’est la no-tech. Par exemple, l’utilisation de chiens pour détecter précocement, à l’odeur, certains cancers donne de meilleurs résultats qu’une intelligence artificielle.
Bien souvent, les meilleures solutions allient plusieurs niveaux technologiques parmi les trois (no-tech, low-tech et high-tech). Il existe au Rwanda et au Ghana des drones assurant des livraisons de sang, de médicaments et de vaccins à des communautés éloignées. Les commandes sont passées par SMS...
Les fonctionnalités utiles
Dans un article de son blog (https://lebondigital.com), Alizée Colin écrit : "Un site est fini lorsqu’il n’y a plus rien à enlever - et non à ajouter." Cette phrase surprenante résume très bien la qualité première attendue d’un site internet écoconçu : la frugalité. Nous avons tous tendance à vouloir enrichir nos sites internet de nouvelles fonctionnalités, de nouvelles pages. Le terme "enrichir" laisse entendre que le site s’améliore, mais en fait c’est comme les aliments trop riches : ils font grossir, avec à la clé une surcharge pondérale, voire une obésité ! Les logiciels et en particulier les sites internet en sont sujets également : on parle d’ailleurs d’obésiciel et de gras numérique ! Il est donc nécessaire de faire subir une cure d’amincissement à nos sites existants et de faire attention au régime alimentaire de nos futures créations.
Près de la moitié (45 %) des fonctionnalités d’une application ne sont jamais ou sont très rarement utilisées. Il est donc stratégiquement plus intéressant de se concentrer sur les fonctionnalités vraiment utiles. Moins de lignes de code à produire...
La structuration du site
Une fois le contenu réellement utile trouvé, il faut se poser la question de l’organisation de celui-ci dans les différentes pages du site. Quelles pages faut-il créer ? Comment naviguer de l’une à l’autre ? Cette section répond à ces questions.
1. La profondeur du site
La profondeur d’un site internet est le nombre de clics nécessaires pour accéder à l’une de ses pages depuis la page d’accueil. Par exemple, sur un site d’e-commerce, il peut être nécessaire d’effectuer un premier clic sur une catégorie, puis un second sur un article pour pouvoir visualiser la page détaillant les caractéristiques de ce produit. La profondeur est alors de 2.
Il faut veiller à ce que cette profondeur soit la plus faible possible. Cela est bon à tous points de vue. La personne rencontrant des difficultés à naviguer sur Internet en raison d’une déficience sera heureuse d’accéder rapidement et simplement à l’information souhaitée. Ensuite, le nombre de pages demandées et de ressources téléchargées sera faible, donc bon d’un point de vue green IT. Enfin, cela améliorera le référencement naturel. Une profondeur de 1 ou 2 est souhaitable pour un petit site et cela peut aller...
La structuration d’une page
1. Les lecteurs d’écran
Pour bien comprendre pourquoi la structuration d’une page est primordiale pour une personne utilisant un lecteur d’écran, il est nécessaire de connaître le principe de fonctionnement d’un tel logiciel. Il ne se contente pas uniquement de lire le contenu de la page, il permet aussi d’interagir avec elle. Il est ainsi possible de revenir en arrière, de passer à l’élément suivant du même type, de naviguer d’un titre à l’autre de la page, de parcourir la liste des liens… Cette navigation rapide n’est donc possible que si la page est structurée explicitement et d’une manière logique.
Il existe des lecteurs d’écran pour les différents systèmes d’exploitation sur ordinateur et sur smartphone. Les plus connus sont NVDA (gratuit sous licence GPL) et Jaws (payant) pour Windows, VoiceOver (inclus dans le système) pour macOS et iOS, et Talkback (inclus dans le système) pour Android.
2. Les titres
Une fois les pages réellement utiles trouvées, il faut structurer l’information qu’elles contiennent à l’aide de titres. Les balises de titre (<h1>, <h2>, <h3>, <h4>, <h5> et <h6>) permettent d’organiser le contenu avec des sections hiérarchisées. Il est important de bien respecter le niveau hiérarchique des titres afin d’obtenir une structure cohérente. En revanche, le saut d’un niveau, même s’il n’est pas souhaitable, n’est pas inenvisageable, tout comme le fait de ne pas avoir le premier titre au niveau <h1>, à condition que la structure soit logique. Cela est important pour l’accessibilité du site, car les internautes utilisant des lecteurs d’écran se servent de cette hiérarchie pour se repérer et accéder directement à la partie qui les intéresse.
Nous conseillons de n’avoir qu’une seule balise <h1> correspondant au titre principal de la page. Cela permet de clairement indiquer le sujet de la page et d’améliorer du même...
Le design
Le design d’un site est un élément très important pour le marketing, pour l’image de marque, pour donner envie au visiteur… Et les graphistes effectuent souvent un travail très esthétique et attrayant. Néanmoins, le style appliqué à une page doit être considéré comme un plus permettant d’embellir la page mais ne doit en aucun cas être essentiel pour la consultation ou l’interaction avec la page.
1. Le style sans avoir recours aux images
Pour concevoir une interface élégante et à la fois légère, il est important que les graphistes sachent ce qui est techniquement possible de faire pour donner du style uniquement avec du code CSS sans avoir recours à des images. S’il est possible de se passer d’images pour styliser une bordure par exemple, cela permet d’économiser des ressources.
Il est possible par exemple d’ajouter une ombre à une zone en utilisant la propriété CSS box-shadow. Les bordures peuvent être agrémentées de bords arrondis avec la propriété border-radius. Une image de fond peut avantageusement être remplacée par un fond en dégradé de couleur. Les différentes valeurs de la propriété background permettent de créer des effets très variés : linear-gradient(...), radial-gradient(...) et conic-gradient(...).
D’autres effets sont prévus. Ils seront disponibles lorsque les spécifications CSS4 seront implémentées par les navigateurs…
2. Le responsive web design
Le responsive web design permet d’adapter l’affichage en fonction de la taille de l’écran. Cela est très important pour que la consultation des pages soit aisée, y compris sur les petits écrans des smartphones. De nos jours, les consultations des sites internet se font majoritairement depuis un smartphone. C’est pourquoi Google favorise dans...
Le choix du langage, du framework web ou du CMS
L’un des premiers choix techniques à effectuer pour un site web est le langage éventuellement accompagné de l’un de ses frameworks ou le CMS (Content Management System - Système de gestion de contenu).
Un langage sans framework est bien évidemment ce qu’il y a de plus léger puisque seul ce qui est vraiment nécessaire au site est codé. Un CMS et un framework dans une moindre mesure apportent une multitude de fonctionnalités et de possibilités qui vont au-delà des besoins du site internet. Néanmoins, la plupart sont modulaires et il est possible de les configurer pour n’avoir que les modules nécessaires. Exemple : sous Symfony, il est possible de partir de la version minimaliste et ensuite d’ajouter les packages nécessaires.
Voici l’exemple de la création d’un projet minimaliste auquel est ajouté le moteur de template Twig :
#> composer create-project symfony/skeleton nom_projet
#> cd nom_projet
#> composer require twig
Parmi les CMS, certains sont plus ou moins légers et proposent des thèmes qui ne se valent pas tous. Pensez à vérifier cela lors de votre choix. Il existe également des CMS qui ont été créés pour être écoresponsables. C’est le cas du CMS Translucide...
Les bibliothèques ou frameworks JavaScript ou CSS
Il est très classique d’entendre : "Pour faire de l’AJAX, j’ajoute jQuery au projet.". Ou bien : "Pour avoir un site web responsive, j’utilise Bootstrap.". Mais est-ce vraiment nécessaire ? C’est souvent une solution de facilité, mais sur les milliers de lignes de code, combien nous sont vraiment utiles ? De plus, JavaScript et CSS évoluent en permanence et il est maintenant possible de faire beaucoup de choses facilement sans l’aide d’aucune bibliothèque, d’aucun framework. Il est alors nécessaire de se poser la question de l’intérêt d’utiliser telle bibliothèque ou tel framework. Certaines bibliothèques sont parfois disponibles en différentes parties. Il est alors possible de n’utiliser que la partie dont nous avons besoin. Une autre possibilité est de chercher d’autres bibliothèques plus spécialisées pour répondre à notre besoin.
1. Une page responsive avec les grilles CSS
L’avantage d’utiliser des grilles CSS et des media queries pour faire la mise en page plutôt que d’utiliser un framework de type Bootstrap est multiple. Non seulement cela est plus green puisqu’il n’est pas nécessaire de charger le framework, mais cela permet de mieux séparer le fond et la forme. Finie la litanie de classes associées à nos balises qui pollue le code HTML (exemple : <div class="col-12 col-sm-6 col-md-4 col-lg-3 col-xl-2 col-xxl-1">). La mise en forme avec les grilles est intégralement gérée dans des fichiers CSS.
Exemple de fichier HTML
<!DOCTYPE html>
<html lang="fr">
<head>
<title>Page de test avec une disposition utilisant une grille</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
<link href="grid.css" rel="stylesheet">
<meta name="description" content="Comment créer une page responsive ...
Les feuilles de style
1. La séparation du fond et de la forme
Tout d’abord, il est important de ne pas utiliser les attributs dépréciés pour styliser les pages (exemple <table border="1" bgcolor="#999999" align="center">).
Ensuite, le style ne doit pas être intégré dans une page HTML, mais externalisé dans un fichier CSS. Cela permet d’une part, de bien dissocier le fond de la forme et d’autre part, de réutiliser une même feuille de style dans plusieurs pages sans duplication de code.
Cela permet à des personnes mal voyantes ou dyslexiques d’adapter la page soit avec un paramétrage de leur système ou de leur navigateur soit en ajoutant elles-mêmes des feuilles de style supplémentaires. Cela leur permet par exemple de grossir le texte, d’écarter les lignes, de changer les couleurs…
Enfin, il est important de bien avoir en tête que les feuilles de style CSS ont pour unique objectif de mettre en forme la page. Il ne faut pas qu’elles apportent du contenu essentiel. Cela est parfois le cas avec l’utilisation de la propriété CSS content pour ajouter du texte ou de la propriété background-image pour ajouter une image qui n’est pas uniquement décorative. Il faut également que l’ordre des éléments reste logique même si le style CSS est désactivé.
2. Le nombre de feuilles de style
Pour être les plus écologiques possible, il faut que les feuilles de style soient...
L’impression
Certains visiteurs souhaitent garder une trace papier d’un site. Or le rendu prévu pour un écran n’est généralement pas adapté à l’impression papier. Souvent, cela peut produire l’impression de plusieurs pages alors que le contenu vraiment utile tient sur une seule. Il est possible de prévoir une version imprimable pour chaque page, au format PDF par exemple, mais cela demande énormément de travail supplémentaire. Une solution tout aussi efficace et bien plus simple à mettre en œuvre est d’utiliser une feuille de style dédiée à l’impression.
1. La feuille de style pour l’impression
Deux stratégies s’offrent à nous : soit compléter et amender la feuille de style prévue pour l’affichage à l’écran, soit repartir de zéro. Au premier abord, la première option semble plus simple et plus adaptée si nous souhaitons avoir une cohérence graphique entre la version affichée à l’écran et celle imprimée.
Néanmoins, l’expérience montre qu’il est nécessaire de revenir en arrière sur beaucoup de règles CSS conçues pour l’affichage à l’écran pour les adapter à la mise en forme pour une impression. C’est pourquoi nous vous conseillons la seconde option, avec deux feuilles indépendantes :
<link rel="stylesheet" type="text/css" href="ecran.css"
media="screen">
<link rel="stylesheet" type="text/css"...
Le décommissionnement
Les sites internet que nous créons deviendront un jour obsolètes d’un point de vue technique, informatif ou autre. En continuant d’exister, ils consommeront inutilement des ressources. Comme pour les objets physiques, il est nécessaire de penser dès la conception à la fin de vie de nos créations.
Il peut être intéressant de fixer une date, non pas de péremption, mais de remise en question du site. Le commanditaire et le concepteur du site peuvent décider à cette date de supprimer le site, de le faire évoluer ou de le recréer complètement. Avec nos agendas électroniques, il est facile de créer des rappels même plusieurs années en avance.
Une autre solution consiste à se baser sur des indicateurs. Par exemple, un nombre de visites mensuelles qui passe sous un seuil critique plusieurs mois d’affilée peut déclencher le processus de remise en cause du site.
L’étude d’un cas pratique
À la fin de chaque chapitre, l’étude d’un cas pratique met en œuvre les solutions et conseils qui ont été donnés. Ce cas pratique repose sur la création du site internet accompagnant ce livre (https://numeriqueresponsable.zici.fr/). Vous pouvez soit simplement lire cette section pour information, soit passer vous-même à la pratique et comparer le fruit de votre travail avec ce qui est proposé.
1. Les fonctionnalités utiles
La première question à se poser est donc : quels sont le contenu et les fonctionnalités réellement utiles à proposer aux visiteurs ?
Tout d’abord, il semble essentiel d’avoir une page d’accueil expliquant le contexte du livre. Ensuite, un formulaire de contact paraît également essentiel pour pouvoir communiquer avec les visiteurs et répondre à leurs questions. Malgré tout le soin apporté à la relecture, des coquilles peuvent être présentes dans l’ouvrage : une page d’erratum semble donc nécessaire pour les corriger au fur et à mesure. Une page avec les liens vers l’ensemble des ressources et des sources utilisées permettra aux visiteurs de pouvoir accéder à celles-ci sans avoir à saisir toute l’URL et permettra d’avoir des ressources à jour en cas de changement d’adresse. Enfin, pour respecter la législation, les mentions légales devront nécessairement être présentes. Et même si rien ne nous y oblige, la déclaration d’accessibilité du site sera présente.
D’autres pages viendront peut-être compléter celles-ci ; certaines seront éventuellement supprimées car le besoin peut évoluer. Par exemple, il est tout à fait envisageable d’introduire une FAQ si des questions deviennent récurrentes ou une page pour ajouter des mises à jour en fonction de l’évolution des technologies.
2. La structuration du site
La structure du site est très simple : vu le faible nombre de pages, elles seront toutes accessibles de n’importe quelle page. Les pages d’erreur seront les plus simples possible, avec le menu et uniquement le message d’erreur....