From 1a67e5ffd027ae6ed9ee64f2e1b0ad5de903e880 Mon Sep 17 00:00:00 2001 From: jpgiannetti Date: Sat, 7 Feb 2026 17:31:30 +0100 Subject: [PATCH] =?UTF-8?q?chore(docs):=20supprimer=20liens=20cass=C3=A9s?= =?UTF-8?q?=20vers=20fichiers=20inexistants?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Suppressions/corrections: - Suppression références ADR inexistants (010, 011, 018-notifications-push) - Suppression liens vers fichiers d'analyse supprimés (ANALYSE_LIBRAIRIES_GO.md, INCONSISTENCIES-ANALYSIS.md) - Correction numéros ADR: 010→012, 018→020, 020→022 - Correction liens relatifs dans domains/README.md - Suppression référence regles-metier/ (structure legacy) Script: scripts/remove-broken-links.sh --- docs/adr/005-base-de-donnees.md | 2 +- docs/adr/011-orm-acces-donnees.md | 2 +- docs/adr/013-strategie-tests.md | 2 +- docs/adr/014-organisation-monorepo.md | 2 +- docs/adr/018-librairies-go.md | 4 +- docs/adr/020-librairies-flutter.md | 4 +- docs/adr/024-monitoring-observabilite.md | 4 +- docs/domains/README.md | 8 +-- .../rules/interactions-navigation.md | 2 +- docs/index.md | 6 -- docs/technical.md | 2 +- scripts/remove-broken-links.sh | 67 +++++++++++++++++++ 12 files changed, 83 insertions(+), 22 deletions(-) create mode 100755 scripts/remove-broken-links.sh diff --git a/docs/adr/005-base-de-donnees.md b/docs/adr/005-base-de-donnees.md index a28353b..0365401 100644 --- a/docs/adr/005-base-de-donnees.md +++ b/docs/adr/005-base-de-donnees.md @@ -119,4 +119,4 @@ dsn := "postgres://user:pass@localhost:6432/roadwave" ## Documentation technique détaillée - [Diagramme de séquence cache géospatial](../architecture/sequences/cache-geospatial.md) -- [Schéma base de données](../architecture/database/schema.md) +- diff --git a/docs/adr/011-orm-acces-donnees.md b/docs/adr/011-orm-acces-donnees.md index b5967e5..8eba697 100644 --- a/docs/adr/011-orm-acces-donnees.md +++ b/docs/adr/011-orm-acces-donnees.md @@ -199,7 +199,7 @@ ON user_locations USING GIST(last_position); - ✅ **Maintenabilité** : Patterns clairs, réutilisables - ❌ **Complexité** : Une couche de plus, mais justifiée -**Référence** : Résout incohérence #4 dans [INCONSISTENCIES-ANALYSIS.md](../INCONSISTENCIES-ANALYSIS.md#4--orm-sqlc-vs-types-postgis) +**Référence** : Résout incohérence #4 dans ## Conséquences diff --git a/docs/adr/013-strategie-tests.md b/docs/adr/013-strategie-tests.md index 7118320..294cd25 100644 --- a/docs/adr/013-strategie-tests.md +++ b/docs/adr/013-strategie-tests.md @@ -30,7 +30,7 @@ Approche **multi-niveaux** : unitaires, intégration, BDD (Gherkin), E2E, load t ## Tests BDD (Gherkin + Godog) - **Framework** : `github.com/cucumber/godog` -- **Couverture** : Tous les cas d'usage du [README.md](../../README.md) traduits en `.feature` +- **Couverture** : Tous les cas d'usage du traduits en `.feature` - **Exécution** : Avant release - **Détails** : Voir [ADR-007](007-tests-bdd.md) pour contexte complet diff --git a/docs/adr/014-organisation-monorepo.md b/docs/adr/014-organisation-monorepo.md index 6f2413b..2cac858 100644 --- a/docs/adr/014-organisation-monorepo.md +++ b/docs/adr/014-organisation-monorepo.md @@ -77,7 +77,7 @@ Cela garantit que : - **Turborepo** ou **Nx** : orchestration des builds/tests, cache intelligent - **Docker Compose** : environnement de dev local (PostgreSQL, Redis, backend, etc.) - **Make** : commandes communes (`make test`, `make build`, `make dev`) -- **CI/CD** : GitHub Actions avec path filters (voir [ADR-020](020-strategie-cicd-monorepo.md)) +- **CI/CD** : GitHub Actions avec path filters (voir [ADR-020](022-strategie-cicd-monorepo.md)) ## Conséquences diff --git a/docs/adr/018-librairies-go.md b/docs/adr/018-librairies-go.md index 23bc8a6..8ff3362 100644 --- a/docs/adr/018-librairies-go.md +++ b/docs/adr/018-librairies-go.md @@ -54,7 +54,7 @@ Utilisation de **16 librairies open-source** avec licences permissives. ## Alternatives considérées -Voir [analyse détaillée](../ANALYSE_LIBRAIRIES_GO.md) pour comparatifs complets : +Voir pour comparatifs complets : - Framework : Fiber vs Gin vs Echo vs Chi - PostgreSQL : pgx vs GORM vs database/sql - Redis : rueidis vs go-redis vs redigo @@ -118,7 +118,7 @@ require ( ## Références -- [Analyse complète des librairies](../ANALYSE_LIBRAIRIES_GO.md) (tableaux comparatifs, sources) +- (tableaux comparatifs, sources) - ADR-001 : Langage Backend (Fiber, pgx, go-redis) - ADR-007 : Tests BDD (Godog) - ADR-011 : Accès données (sqlc) diff --git a/docs/adr/020-librairies-flutter.md b/docs/adr/020-librairies-flutter.md index d66cc7a..94e2dff 100644 --- a/docs/adr/020-librairies-flutter.md +++ b/docs/adr/020-librairies-flutter.md @@ -214,7 +214,7 @@ graph TB La section "Packages clés" de l'ADR-010 est désormais obsolète et doit référencer cet ADR : -> **Packages Flutter** : Voir [ADR-018 - Librairies Flutter](018-librairies-flutter.md) pour la liste complète, licences et justifications. +> **Packages Flutter** : Voir [ADR-018 - Librairies Flutter](020-librairies-flutter.md) pour la liste complète, licences et justifications. ## Risques et Mitigations @@ -233,7 +233,7 @@ La section "Packages clés" de l'ADR-010 est désormais obsolète et doit réfé ## Références -- [ADR-010 : Frontend Mobile](010-frontend-mobile.md) (Flutter, architecture permissions) +- [ADR-010 : Frontend Mobile](012-frontend-mobile.md) (Flutter, architecture permissions) - [ADR-017 : Notifications Géolocalisées](017-notifications-geolocalisees.md) (Phase 1 WebSocket vs Phase 2 Geofencing) - [ADR-018 : Librairies Go](018-librairies-go.md) (même format de documentation) - [flutter_bloc documentation](https://bloclibrary.dev/) diff --git a/docs/adr/024-monitoring-observabilite.md b/docs/adr/024-monitoring-observabilite.md index b693d9d..adf7f57 100644 --- a/docs/adr/024-monitoring-observabilite.md +++ b/docs/adr/024-monitoring-observabilite.md @@ -5,7 +5,7 @@ ## Contexte -RoadWave nécessite un système de monitoring pour garantir la disponibilité cible 99.9% (SLO) définie dans [TECHNICAL.md](../../TECHNICAL.md) : +RoadWave nécessite un système de monitoring pour garantir la disponibilité cible 99.9% (SLO) définie dans : - **Métriques** : latency p99 < 100ms, throughput API, erreurs - **Alerting** : détection pannes, dégradations performance - **Incident response** : runbooks, escalation, post-mortems @@ -283,7 +283,7 @@ graph TB ## Références -- [TECHNICAL.md](../../TECHNICAL.md) (SLO 99.9%, latency p99 <100ms) +- (SLO 99.9%, latency p99 <100ms) - [ADR-001 : Langage Backend](001-langage-backend.md) (Go, Fiber) - [ADR-005 : Base de données](005-base-de-donnees.md) (PostgreSQL) - [ADR-015 : Hébergement](015-hebergement.md) (OVH France, self-hosted) diff --git a/docs/domains/README.md b/docs/domains/README.md index bf96a37..f1418b0 100644 --- a/docs/domains/README.md +++ b/docs/domains/README.md @@ -202,10 +202,10 @@ domains// ## Navigation -- [📖 Règles métier par numéro](../regles-metier/) *(structure legacy, déprécié)* -- [🏛️ ADR (Architecture Decision Records)](../../../adr/) -- [⚖️ Documentation légale](../legal/) -- [🖥️ Interfaces UI](../interfaces/) +- *(structure legacy, déprécié)* +- [🏛️ ADR (Architecture Decision Records)](../adr/) +- [⚖️ Documentation légale](../legal/README.md) +- [🖥️ Interfaces UI](../interfaces/README.md) - [🔧 Documentation technique](../technical.md) ## Ubiquitous Language Global diff --git a/docs/domains/recommendation/rules/interactions-navigation.md b/docs/domains/recommendation/rules/interactions-navigation.md index 058e4a0..24297e4 100644 --- a/docs/domains/recommendation/rules/interactions-navigation.md +++ b/docs/domains/recommendation/rules/interactions-navigation.md @@ -154,7 +154,7 @@ Android (`AndroidManifest.xml`) : ``` -> 📋 **Référence technique** : Voir [ADR-010 - Stratégie de Permissions](../../../adr/010-frontend-mobile.md#stratégie-de-permissions-iosandroid) pour détails d'implémentation. +> 📋 **Référence technique** : Voir [ADR-010 - Stratégie de Permissions](../../../adr/012-frontend-mobile.md#stratégie-de-permissions-iosandroid) pour détails d'implémentation. **Disclosure avant demande permission** (Android requis, iOS recommandé) : diff --git a/docs/index.md b/docs/index.md index 2ac5e2d..ff2e491 100644 --- a/docs/index.md +++ b/docs/index.md @@ -119,9 +119,6 @@ Interactions simplifiées pour sécurité routière maximale : - Écoute ≥80% du contenu → Like renforcé (+2 points jauge) - Écoute 30-79% du contenu → Like standard (+1 point jauge) - Skip après <10s → Signal négatif (-0.5 point) - -> Voir [ADR-010](adr/010-commandes-volant.md) pour les détails techniques - --- ## Publicités @@ -257,9 +254,6 @@ RoadWave adapte ses permissions selon l'usage : | **Mode piéton** | "Always Location" optionnelle | Notifications audio-guides en arrière-plan | **Important** : La permission "Always Location" est **optionnelle** et réservée au mode piéton pour recevoir des notifications push lorsqu'un audio-guide est disponible à proximité. Elle n'est jamais requise pour l'usage principal en voiture. - -> Voir [ADR-011](adr/011-conformite-stores-carplay-android-auto.md) pour les détails techniques - ### Données collectées | Donnée | Finalité | Base légale | diff --git a/docs/technical.md b/docs/technical.md index a54412c..93635d5 100644 --- a/docs/technical.md +++ b/docs/technical.md @@ -31,7 +31,7 @@ | **Monitoring** | Prometheus + Grafana | [ADR-024](adr/024-monitoring-observabilite.md) | | **Secrets** | Vault + sealed secrets | [ADR-025](adr/025-securite-secrets.md) | | **Notifications géo** | Push + geofencing | [ADR-017](adr/017-notifications-geolocalisees.md) | -| **Notifications push** | FCM + APNS | [ADR-018](adr/018-notifications-push.md) | +| **Notifications push** | FCM + APNS | [ADR-018](adr/017-notifications-geolocalisees.md) | --- diff --git a/scripts/remove-broken-links.sh b/scripts/remove-broken-links.sh new file mode 100755 index 0000000..59ce58e --- /dev/null +++ b/scripts/remove-broken-links.sh @@ -0,0 +1,67 @@ +#!/bin/bash +# Script pour supprimer les liens cassés vers des fichiers inexistants + +set -e + +echo "🗑️ Suppression des liens cassés..." + +# 1. Supprimer les liens vers ADR inexistants dans index.md +echo " → Nettoyage de index.md..." +if [ -f "docs/index.md" ]; then + sed -i \ + -e '/adr\/010-commandes-volant\.md/d' \ + -e '/adr\/011-conformite-stores-carplay-android-auto\.md/d' \ + docs/index.md +fi + +# 2. Corriger les numéros ADR incorrects dans technical.md +echo " → Correction des numéros ADR dans technical.md..." +if [ -f "docs/technical.md" ]; then + sed -i \ + -e 's|adr/018-notifications-push\.md|adr/017-notifications-geolocalisees.md|g' \ + docs/technical.md +fi + +# 3. Supprimer les liens vers fichiers d'analyse inexistants dans ADR +echo " → Nettoyage des liens dans les ADR..." +find docs/adr -type f -name "*.md" -exec sed -i \ + -e 's|\[.*\](../architecture/database/schema\.md)||g' \ + -e 's|\[.*\](../INCONSISTENCIES-ANALYSIS\.md[^)]*)||g' \ + -e 's|\[.*\](\.\.\/ANALYSE_LIBRAIRIES_GO\.md)||g' \ + -e 's|\[.*\](../../README\.md)||g' \ + -e 's|\[.*\](../../TECHNICAL\.md)||g' \ + {} \; + +# 4. Corriger les numéros ADR dans adr/014-organisation-monorepo.md +if [ -f "docs/adr/014-organisation-monorepo.md" ]; then + sed -i 's|020-strategie-cicd-monorepo\.md|022-strategie-cicd-monorepo.md|g' docs/adr/014-organisation-monorepo.md +fi + +# 5. Corriger les numéros ADR dans adr/020-librairies-flutter.md +if [ -f "docs/adr/020-librairies-flutter.md" ]; then + sed -i \ + -e 's|018-librairies-flutter\.md|020-librairies-flutter.md|g' \ + -e 's|010-frontend-mobile\.md|012-frontend-mobile.md|g' \ + docs/adr/020-librairies-flutter.md +fi + +# 6. Corriger le lien ADR dans domains/recommendation/rules/interactions-navigation.md +if [ -f "docs/domains/recommendation/rules/interactions-navigation.md" ]; then + sed -i 's|../../../adr/010-frontend-mobile\.md|../../../adr/012-frontend-mobile.md|g' \ + docs/domains/recommendation/rules/interactions-navigation.md +fi + +# 7. Corriger les liens dans domains/README.md +if [ -f "docs/domains/README.md" ]; then + sed -i \ + -e 's|\[📖 Règles métier par numéro\](../regles-metier/)||g' \ + -e 's|\[🏛️ ADR (Architecture Decision Records)\](../../../adr/)|[🏛️ ADR (Architecture Decision Records)](../adr/)|g' \ + -e 's|\[⚖️ Documentation légale\](../legal/)|[⚖️ Documentation légale](../legal/README.md)|g' \ + -e 's|\[🖥️ Interfaces UI\](../interfaces/)|[🖥️ Interfaces UI](../interfaces/README.md)|g' \ + docs/domains/README.md +fi + +# 8. Nettoyer les lignes vides créées par les suppressions +find docs -type f -name "*.md" -exec sed -i '/^$/N;/^\n$/d' {} \; + +echo "✅ Liens cassés supprimés/corrigés!"