chore(docs): supprimer liens cassés vers fichiers inexistants

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
This commit is contained in:
jpgiannetti
2026-02-07 17:31:30 +01:00
parent be9fc998cc
commit 1a67e5ffd0
12 changed files with 83 additions and 22 deletions

View File

@@ -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)
-

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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)

View File

@@ -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/)

View File

@@ -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)

View File

@@ -202,10 +202,10 @@ domains/<domain>/
## 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

View File

@@ -154,7 +154,7 @@ Android (`AndroidManifest.xml`) :
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_LOCATION" />
```
> 📋 **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é) :

View File

@@ -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 |

View File

@@ -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) |
---

67
scripts/remove-broken-links.sh Executable file
View File

@@ -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!"