GreenCodeLab.github.io
Ce projet contient le référentiel des règles du Green Code Label, également consultable ici.
Les règles sont réparties en différentes catégories :
- code côté client ;
- code côté serveur ;
- contenu ;
- design ;
- hébergement ;
- mesure ;
- processus.
Chaque règle possède deux attributs : validated et level.
L’attribut validated prend la valeur true si la règle est validée et utilisée pour les audits de labellisation du Green Code Label.
L’attribut level permet de distinguer les règles selon 2 niveaux (1 ou 2). Ces niveaux sont utilisés dans la notation pour l’obtention du label.
Code - Client
- Adapter le fonctionnement si l’utilisateur ne visualise pas la fenêtre
- Proposer une alternative en l’abscence de script
- Proposer un titre de page
- Ne pas lancer des contenus de type vidéo, sons sans action de l’utilisateur (dont le passage à la souris)
- Ne pas rafraîchir les pages
- Ne pas charger de données lourdes si elles ne sont pas visibles
- Minimiser le nombre d’iframes
- Nommer les liens
- Réduire la profondeur du DOM
- Supprimer les lignes vides du HTML
- Utiliser des timers les plus adéquats aux exigences de performance
Code - Serveur
- Mettre en cache le bytecode
- Mettre en cache les données calculées souvent utilisées
- Limiter le nombre de résultats des requêtes en base de données
- Minimiser le nombre de requêtes SQL
- Optimiser les conditions d’itération
- Favoriser les pages statiques
- Libérer de la mémoire les variables qui ne sont plus nécessaires
- Supprimer le code JavaScript redondant
- Préciser la colonne de recherche lors des requêtes
- Utiliser tous les niveaux de cache du CMS
- Utiliser un système de cache pour l’accès à la base de données
- Utiliser des variables statiques pour prendre en compte le contexte
Contenu
- Adapter les sons aux contextes d’écoute
- Adapter les vidéos aux périphériques de visualisation
- Mettre en cache le favicon.ico
- Dédoublonner systématiquement les fichiers avant envoi
- Ne pas redimensionner les images dans le code HTML
- Encoder les sons en dehors du CMS
- Optimiser les images
- Préférer le texte brut au HTML lors de l’envoi des mails
- Redimensionner les images en dehors du CMS
- Appliquer une alternative textuelle aux images
- N’utiliser que des fichiers double opt-in
Design
- Préférer les CSS aux images
- Favoriser une intégration du design sémantique et efficace
- Favoriser les polices standard
Hébergement
- Ajouter des entêtes Expires ou Cache-Control
- Choisir un hébergeur “vert”
- Compresser la sortie HTML, CSS et JS
- Désactiver les modules qui ne sont pas utilisés
- Installer le minimum d’outil et de programme requis sur le serveur
- Minifier les fichiers CSS
- Minifier les fichiers JavaScript
- Optimiser l’efficacité énergétique des serveurs
- Préférer Nginx à Apache lorsque c’est possible
- Regrouper les JavaScript et les CSS
- Supprimer les règles CSS inutilisées
- Utiliser une électricité “verte”
- Utiliser un serveur avec une technologie non bloquante
- Utiliser un reverse proxy
Mesure
- La taille de la page principale ne doit pas dépasser la taille moyenne des sites du panel WEA (50)
- Nombre d’anomalies ouvertes par rapport à la charge du projet
- Le nombre de requêtes ne doit pas dépasser le nombre moyen des sites du panel WEA (50)
- Utiliser des outils de qualimétrie : dette technique, complexité…
- Le score WEA du site doit être supérieur ou égal à C
- Le score WEA ne doit pas dépasser 20% de la valeur lors de l’audit pendant plus de 2 mois
- Le site doit pouvoir s’afficher sur une plateforme ancienne