Reference : POL-10
Version : 1.0
Date : 2026-04-09
Auteur : Olivier Philippot (DPO, Referent ecoconception)
Contact : contact@serenaid.fr
Referentiel : RGESN v1 — Referentiel General d'Ecoconception des Services Numeriques (DINUM/ADEME/INR)
Prochaine revue : 2026-09-28
Ce document repond aux exigences RGESN 1.8 (referent), 1.9 (indicateurs), 1.10 (objectifs), 1.11 (revues), 1.12 (declaration publique).
1. Engagement
Serenaid s'engage dans une démarche d'écoconception numérique visant à réduire l'impact environnemental de son service tout en maintenant une qualité d'usage optimale pour les familles d'enfants en situation de handicap.
Cette politique s'appuie sur le RGESN et couvre l'ensemble du cycle de vie du service : conception, développement, hébergement, usage et fin de vie des fonctionnalités.
2. Organisation
2.1 Referent ecoconception (RGESN 1.8)
| Champ |
Valeur |
| Nom |
Olivier Philippot |
| Fonction |
DPO et Referent ecoconception |
| Mission |
Veiller a l'application de cette politique, piloter les revues, suivre les indicateurs |
| Rattachement |
Direction technique |
| Nomme le |
2026-04-09 |
2.2 Gouvernance
| Action |
Frequence |
Responsable |
Outil |
Automatisation |
| Scan echeances + npm audit + metriques |
Hebdomadaire |
Automatique |
governance-review.yml |
GitHub Actions cron (lundi 9h) |
| Rappel echeances a l'ouverture |
A chaque session |
Automatique |
Hook SessionStart |
Claude Code settings.json |
| Audit RGESN automatise |
Trimestriel |
Referent eco |
/sn_rgesn-audit --update |
Local (Claude Code) — rappel cree par le cron |
| Revue des indicateurs |
Trimestriel |
Referent eco |
env-metrics.sh --csv |
Metriques frontend auto (CI), infra manuelle |
| Audit de conformite global |
Semestriel |
Referent eco |
/sn_audit-complet |
Local — rappel cree par le cron |
| Publication des resultats |
Semestriel |
Referent eco |
Page /conformite |
Manuelle |
| Sync Notion |
Apres chaque revue |
Referent eco |
/sn_notion-gov-sync push |
Manuelle |
| Revue de la politique |
Annuel |
Referent eco |
Ce document |
Rappel via date_prochaine_revue |
3. Mesures en place
3.0 Exigences fournisseurs en ecoconception (RGESN 2.3)
Tout fournisseur d'hebergement ou de services tiers doit repondre aux criteres suivants :
| Critere |
Exigence |
Scaleway (fournisseur actuel) |
| Energie renouvelable |
>= 80% du mix energetique |
100% (DC5, certifie) |
| PUE datacenter |
< 1.5 |
~1.15 (refroidissement adiabatique) |
| Code de Conduite EU |
Signataire |
Oui (Code of Conduct for Data Centres) |
| Localisation |
France / UE |
fr-par (Paris) |
| Materiel reconditionne |
Politique de reconditionnement active |
Oui (Scaleway reconditionne ses serveurs) |
| Transparence environnementale |
Metriques carbone/eau accessibles |
Oui (Environmental Footprint API + Cockpit) |
| Sobriete dimensionnement |
Offres proportionnees disponibles |
Oui (DEV1-S, db-play2-pico, Serverless Containers) |
Evaluation : Scaleway repond a 7/7 criteres. Prochaine evaluation : lors du renouvellement ou changement de fournisseur.
3.1 Architecture legere
| Mesure |
Détail |
RGESN |
| Framework API léger |
Hono (6 KB) au lieu d'Express (200 KB) |
3.1 |
| Container Docker optimisé |
Image multi-stage Node 20 Alpine (~180 Mo vs ~900 Mo Node standard) |
3.1 |
| Modèle LLM frugal |
Mistral Small (24B paramètres) au lieu de modèles >70B. Température basse (0.1-0.3) pour réduire les tokens générés |
3.1 |
| Base de données managée |
PostgreSQL Scaleway — pas de serveur BDD auto-hébergé à maintenir |
3.1 |
3.2 Optimisation frontend
| Mesure |
Détail |
Impact mesuré |
RGESN |
| Code splitting |
7 vendor chunks séparés (React, Radix, Maps, Charts, Analytics, Icons, DnD) |
Chunk principal : 827 KB (réduit de 1001 KB) |
6.1, 6.7 |
| Lazy loading |
15+ composants chargés à la demande (React.lazy) : admin, carte, assistant, paramètres |
Pages secondaires non chargées au démarrage |
6.6, 6.8 |
| Compression build |
gzip + Brotli pré-générés par vite-plugin-compression2 |
~60-80% réduction transfert réseau |
6.4 |
| Polices self-hosted |
Quicksand + Open Sans en woff2 local (138 Ko total) |
0 requête vers Google Fonts CDN |
4.10, 6.11 |
| Cache Service Worker |
Workbox avec stratégies adaptées : API (NetworkFirst 24h), images (CacheFirst 30j), polices (CacheFirst 1 an) |
Navigation offline possible |
6.3, 6.9 |
| Debounce/throttle |
300ms sur géocodage, 500ms sur recherche texte |
Réduction requêtes API pendant la saisie |
4.11 |
| Pas d'autoplay |
Aucune vidéo, audio ou animation en lecture automatique |
0 bande passante non sollicitée |
4.2 |
| Pas d'infinite scroll |
Pagination explicite sur toutes les listes |
DOM maîtrisé, pas de fuite mémoire |
4.3 |
| Tree-shaking |
Vite/Rollup élimine le code mort. Radix UI importé par composant (pas de bundle monolithique) |
Seul le code utilisé est embarqué |
6.7 |
3.3 Optimisation backend
| Mesure |
Détail |
RGESN |
| Cache serveur |
Articles KG : TTL 7 jours. Embeddings : LRU 5 min / 100 entrées. Évite les appels LLM redondants |
7.1 |
| Compression réponses |
Nginx : gzip on + gzip_static on pour les assets pré-compressés |
7.2 |
| Protocoles modernes |
HTTP/2 activé, TLS 1.3 |
3.3, 3.4 |
| Pagination API |
Toutes les routes de listing utilisent limit + offset |
7.1 |
| Requêtes optimisées |
Prisma avec select explicite (pas de SELECT *), jointures ciblées |
7.1 |
3.4 Hébergement responsable
| Mesure |
Détail |
RGESN |
| Hébergeur engagé |
Scaleway — signataire du Code de Conduite européen sur les datacentres |
8.1 |
| Énergie renouvelable |
100% énergie renouvelable pour les datacentres français (Scaleway DC5) |
8.7 |
| PUE performant |
~1.1-1.2 (refroidissement adiabatique DC5) — parmi les meilleurs du marché |
8.5 |
| Localisation cohérente |
Région fr-par (Paris) pour un public France métropolitaine |
8.8 |
| Serveurs reconditionnés |
Scaleway utilise du matériel reconditionné quand possible |
8.3 |
| Pas de sur-réplication |
Architecture single-server proportionnée au trafic actuel. Migration vers Serverless Containers (scale-to-zero) planifiée |
8.11 |
3.5 Contenus
| Mesure |
Détail |
RGESN |
| Avatars compressés |
Compression JPEG 85%, redimensionnement 400x400 px max côté client avant upload |
5.2 |
| Icônes SVG |
Lucide-react (SVG inline) au lieu de bibliothèques d'icônes lourdes |
5.1 |
| Pas de vidéo/audio |
Aucun contenu média lourd intégré dans l'application |
5.3-5.6 |
4. Indicateurs de suivi
4.1 Indicateurs techniques (mesurés automatiquement)
| Indicateur |
Valeur actuelle |
Objectif |
Fréquence de mesure |
RGESN |
| Poids chunk JS principal |
808 KB |
Suivre la tendance (pas de seuil normatif RGESN) |
À chaque build (CI) |
6.1 |
| Poids total build (hors .gz/.br) |
~3 300 KB |
Suivre la tendance |
À chaque build |
6.1 |
| Nombre d'entrées précache |
65 |
Suivre la tendance |
À chaque build |
6.1 |
| Poids polices |
138 KB (4 fichiers woff2) |
< 200 KB |
Semestriel |
4.10 |
| Requêtes externes au chargement |
0 (hors API) |
0 |
Semestriel |
6.11 |
| Nombre de dependencies npm (prod) |
59 |
< 55 |
Trimestriel |
2.5 |
| Taille image Docker API |
586 Mo |
< 200 Mo |
Trimestriel |
3.1 |
4.2 Indicateurs d'usage (à mettre en place)
| Indicateur |
Valeur actuelle |
Objectif |
Outil |
RGESN |
| Score Lighthouse Performance (mobile) |
A mesurer (T2 2026) |
> 80 |
Lighthouse CI |
1.9 |
| Emissions CO2 infra/mois |
~1 kgCO2eq |
< 1.5 kgCO2eq |
Scaleway Footprint API |
1.9, 8.4 |
| Temps de chargement (3G lente) |
A mesurer (T2 2026) |
< 5s |
Lighthouse CI |
4.1 |
4.3 Indicateurs infrastructure (Scaleway Environmental Dashboard)
| Indicateur |
Source |
Fréquence |
RGESN |
| Consommation électrique des instances (kWh) |
Scaleway Cockpit — Environmental Dashboard |
Mensuel |
1.9, 8.4 |
| Émissions CO₂ équivalentes (gCO₂eq) |
Scaleway Environmental Dashboard |
Mensuel |
1.9, 8.4 |
| PUE du datacenter (DC5 fr-par) |
Scaleway — données publiques |
Annuel |
8.5 |
| WUE du datacenter |
Scaleway — données publiques |
Annuel |
8.6 |
| Mix énergétique (% renouvelable) |
Scaleway — rapport environnemental |
Annuel |
8.7 |
Les données du Scaleway Environmental Dashboard sont accessibles via la console Cockpit. Elles fournissent la consommation réelle par instance (compute, managed DB, object storage) et non des estimations théoriques.
4.4 Indicateurs de gouvernance
| Indicateur |
Valeur actuelle |
Objectif |
RGESN |
| Score RGESN global |
54% (39/71 applicables) |
> 70% a 6 mois, > 80% a 12 mois |
1.10 |
| Nombre de criteres non conformes |
3 |
0 |
1.10 |
| Derniere revue ecoconception |
2026-04-09 |
Trimestriel (PROC-11) |
1.11 |
| Politique publiee |
Validee, publication web planifiee |
Page /ecoconception |
1.12 |
5. Objectifs et plan de progression
5.1 Objectifs chiffres a 6 mois (Septembre 2026) — RGESN 1.10
| # |
Objectif |
Indicateur cible |
RGESN |
Priorite |
| 1 |
Publier cette politique sur /ecoconception |
Page publique accessible |
1.12 |
P0 |
| 2 |
Score RGESN global |
> 70% (actuel : 54%) |
1.10 |
P0 |
| 3 |
Chunk JS principal |
< 800 KB (actuel : 828 KB) |
6.1 |
P1 |
| 4 |
Budget taille bundle dans la CI |
Alerte si chunk > 800 KB |
2.1, 6.1 |
P1 |
| 5 |
Score Lighthouse Performance mobile |
> 80 |
1.9 |
P1 |
| 6 |
Emissions CO2 infrastructure |
< 1.5 kgCO2eq/mois (actuel : ~1 kgCO2eq/mois hors migration) |
8.4 |
P2 |
| 7 |
Dependencies npm prod |
< 55 (actuel : 59) |
2.5 |
P2 |
5.2 Objectifs a 12 mois (Mars 2027) — RGESN 1.10
| # |
Objectif |
Indicateur cible |
RGESN |
| 8 |
Score RGESN global |
> 80% |
1.10 |
| 9 |
Migrer API vers Scaleway Serverless Containers |
Scale-to-zero actif |
3.2 |
| 10 |
Taille image Docker API |
< 200 Mo (actuel : 586 Mo) |
3.1 |
| 11 |
Emissions LLM par requete |
< 5 mgCO2eq/requete (actuel : 6 mgCO2eq) |
ANS Ethique 11 |
6. Choix de conception documentés
6.1 Choix du modèle LLM
| Critère |
Choix retenu |
Alternative écartée |
Justification |
| Modèle |
Mistral Small (24B) |
Mistral Large (123B), GPT-4 |
Empreinte carbone ~5x inférieure. Performance suffisante pour l'analyse de requêtes et la génération d'articles. |
| Hébergement LLM |
Scaleway Generative APIs (fr-par) |
OpenAI (USA), Anthropic (USA) |
Souveraineté + localisation cohérente (pas de transfert transatlantique) |
| Température |
0.1 (recherche), 0.3 (médical) |
0.7-1.0 |
Moins de tokens générés = moins de compute. Réponses plus déterministes. |
| Cache embeddings |
LRU 5 min / 100 entrées |
Pas de cache |
Évite ~40% des appels LLM pour les requêtes similaires |
6.2 Choix d'architecture
| Critère |
Choix retenu |
Alternative écartée |
Justification |
| Framework API |
Hono (~6 KB) |
Express (200 KB), NestJS (20 Mo) |
Empreinte mémoire minimale |
| UI Components |
Radix UI (headless) + Tailwind |
Material UI (~300 KB), Ant Design |
Pas de CSS superflu. Import granulaire par composant. |
| Polices |
Self-hosted woff2 (138 KB) |
Google Fonts CDN |
0 requête externe, contrôle du cache, pas de tracking Google |
| Images/icônes |
Lucide (SVG inline, tree-shakable) |
FontAwesome (~1 Mo), Material Icons |
Seules les icônes utilisées sont embarquées |
| Base Docker |
Node 20 Alpine (~180 Mo) |
Node 20 Debian (~900 Mo) |
Image 5x plus légère |
| PWA |
Workbox (generateSW) |
Pas de SW |
Offline-first réduit les requêtes réseau |
6.3 Choix écartés volontairement
| Fonctionnalité écartée |
Justification écologique |
| Vidéo/audio intégrés |
Bande passante disproportionnée par rapport à la valeur ajoutée |
| Infinite scroll |
Charge mémoire incontrôlée, encourage la surconsommation |
| Autoplay animations |
Consommation CPU/GPU inutile |
| Analytics tiers (Google Analytics) |
Requêtes externes, tracking massif. PostHog UE avec consentement. |
| CDN tiers pour les polices |
Requête DNS + tracking potentiel. Self-hosted préféré. |
| Modèle LLM >70B |
Compute x5 pour un gain de qualité marginal sur le cas d'usage |
7. Intégration dans le cycle de développement
7.1 Revue de code
Lors de chaque revue de code, vérifier :
7.2 CI/CD
| Contrôle |
Statut |
Action |
| Build réussi |
✅ En place |
npm run build dans GitHub Actions |
| Tests unitaires |
✅ En place |
Vitest |
| Tests E2E |
✅ En place |
Playwright |
| Audit npm (vulnérabilités) |
✅ En place |
npm audit dans CI |
| Budget taille chunk |
[À IMPLÉMENTER] |
Alerter si chunk > 500 KB |
| Lighthouse CI |
[À IMPLÉMENTER] |
Score Performance > 80 |
7.3 Audit automatisé
L'agent /rgesn-audit scanne le code source et l'infrastructure pour évaluer la conformité RGESN. Résultats stockés dans docs/audits/grilles/audit-rgesn-grille.csv avec traçabilité par critère.
Commandes disponibles :
/rgesn-audit # Audit complet (79 critères)
/rgesn-audit --update # Re-scan (préserve les annotations manuelles)
/rgesn-audit --thematique frontend # Une thématique
/audit-complet --resume # Tableau de bord multi-référentiels
8. Décommissionnement
8.1 Fonctionnalités désactivées
| Fonctionnalité |
Date désactivation |
Raison |
Statut code |
| Assistant IA conversationnel |
2026-03-26 |
Backend non porté vers Hono |
Code conservé, widget retiré de l'UI |
| Suivi quotidien (daily tracking) |
— |
Non activé en production |
Schéma BDD existe, UI non exposée |
| Hono API |
2026-03-26 |
Migration vers API Hono Scaleway achevee |
Code legacy supprime le 2026-03-31 |
8.2 Politique de décommissionnement
Avant de supprimer une fonctionnalité :
- Vérifier qu'aucun utilisateur actif ne l'utilise (analytics)
- Communiquer le retrait 30 jours à l'avance
- Exporter les données utilisateur si applicable
- Supprimer le code et les données associées
- Mettre à jour la documentation et les audits
9. Ressources et références
Ce document est revise annuellement ou lors de tout changement significatif de l'architecture. Prochaine revue : Septembre 2026 (voir PROC-11).