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:
@@ -119,4 +119,4 @@ dsn := "postgres://user:pass@localhost:6432/roadwave"
|
|||||||
## Documentation technique détaillée
|
## Documentation technique détaillée
|
||||||
|
|
||||||
- [Diagramme de séquence cache géospatial](../architecture/sequences/cache-geospatial.md)
|
- [Diagramme de séquence cache géospatial](../architecture/sequences/cache-geospatial.md)
|
||||||
- [Schéma base de données](../architecture/database/schema.md)
|
-
|
||||||
|
|||||||
@@ -199,7 +199,7 @@ ON user_locations USING GIST(last_position);
|
|||||||
- ✅ **Maintenabilité** : Patterns clairs, réutilisables
|
- ✅ **Maintenabilité** : Patterns clairs, réutilisables
|
||||||
- ❌ **Complexité** : Une couche de plus, mais justifiée
|
- ❌ **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
|
## Conséquences
|
||||||
|
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ Approche **multi-niveaux** : unitaires, intégration, BDD (Gherkin), E2E, load t
|
|||||||
## Tests BDD (Gherkin + Godog)
|
## Tests BDD (Gherkin + Godog)
|
||||||
|
|
||||||
- **Framework** : `github.com/cucumber/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
|
- **Exécution** : Avant release
|
||||||
- **Détails** : Voir [ADR-007](007-tests-bdd.md) pour contexte complet
|
- **Détails** : Voir [ADR-007](007-tests-bdd.md) pour contexte complet
|
||||||
|
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ Cela garantit que :
|
|||||||
- **Turborepo** ou **Nx** : orchestration des builds/tests, cache intelligent
|
- **Turborepo** ou **Nx** : orchestration des builds/tests, cache intelligent
|
||||||
- **Docker Compose** : environnement de dev local (PostgreSQL, Redis, backend, etc.)
|
- **Docker Compose** : environnement de dev local (PostgreSQL, Redis, backend, etc.)
|
||||||
- **Make** : commandes communes (`make test`, `make build`, `make dev`)
|
- **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
|
## Conséquences
|
||||||
|
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ Utilisation de **16 librairies open-source** avec licences permissives.
|
|||||||
|
|
||||||
## Alternatives considérées
|
## 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
|
- Framework : Fiber vs Gin vs Echo vs Chi
|
||||||
- PostgreSQL : pgx vs GORM vs database/sql
|
- PostgreSQL : pgx vs GORM vs database/sql
|
||||||
- Redis : rueidis vs go-redis vs redigo
|
- Redis : rueidis vs go-redis vs redigo
|
||||||
@@ -118,7 +118,7 @@ require (
|
|||||||
|
|
||||||
## Références
|
## 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-001 : Langage Backend (Fiber, pgx, go-redis)
|
||||||
- ADR-007 : Tests BDD (Godog)
|
- ADR-007 : Tests BDD (Godog)
|
||||||
- ADR-011 : Accès données (sqlc)
|
- ADR-011 : Accès données (sqlc)
|
||||||
|
|||||||
@@ -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 :
|
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
|
## 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
|
## 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-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)
|
- [ADR-018 : Librairies Go](018-librairies-go.md) (même format de documentation)
|
||||||
- [flutter_bloc documentation](https://bloclibrary.dev/)
|
- [flutter_bloc documentation](https://bloclibrary.dev/)
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
## Contexte
|
## 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
|
- **Métriques** : latency p99 < 100ms, throughput API, erreurs
|
||||||
- **Alerting** : détection pannes, dégradations performance
|
- **Alerting** : détection pannes, dégradations performance
|
||||||
- **Incident response** : runbooks, escalation, post-mortems
|
- **Incident response** : runbooks, escalation, post-mortems
|
||||||
@@ -283,7 +283,7 @@ graph TB
|
|||||||
|
|
||||||
## Références
|
## 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-001 : Langage Backend](001-langage-backend.md) (Go, Fiber)
|
||||||
- [ADR-005 : Base de données](005-base-de-donnees.md) (PostgreSQL)
|
- [ADR-005 : Base de données](005-base-de-donnees.md) (PostgreSQL)
|
||||||
- [ADR-015 : Hébergement](015-hebergement.md) (OVH France, self-hosted)
|
- [ADR-015 : Hébergement](015-hebergement.md) (OVH France, self-hosted)
|
||||||
|
|||||||
@@ -202,10 +202,10 @@ domains/<domain>/
|
|||||||
|
|
||||||
## Navigation
|
## Navigation
|
||||||
|
|
||||||
- [📖 Règles métier par numéro](../regles-metier/) *(structure legacy, déprécié)*
|
- *(structure legacy, déprécié)*
|
||||||
- [🏛️ ADR (Architecture Decision Records)](../../../adr/)
|
- [🏛️ ADR (Architecture Decision Records)](../adr/)
|
||||||
- [⚖️ Documentation légale](../legal/)
|
- [⚖️ Documentation légale](../legal/README.md)
|
||||||
- [🖥️ Interfaces UI](../interfaces/)
|
- [🖥️ Interfaces UI](../interfaces/README.md)
|
||||||
- [🔧 Documentation technique](../technical.md)
|
- [🔧 Documentation technique](../technical.md)
|
||||||
|
|
||||||
## Ubiquitous Language Global
|
## Ubiquitous Language Global
|
||||||
|
|||||||
@@ -154,7 +154,7 @@ Android (`AndroidManifest.xml`) :
|
|||||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_LOCATION" />
|
<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é) :
|
**Disclosure avant demande permission** (Android requis, iOS recommandé) :
|
||||||
|
|
||||||
|
|||||||
@@ -119,9 +119,6 @@ Interactions simplifiées pour sécurité routière maximale :
|
|||||||
- Écoute ≥80% du contenu → Like renforcé (+2 points jauge)
|
- Écoute ≥80% du contenu → Like renforcé (+2 points jauge)
|
||||||
- Écoute 30-79% du contenu → Like standard (+1 point jauge)
|
- Écoute 30-79% du contenu → Like standard (+1 point jauge)
|
||||||
- Skip après <10s → Signal négatif (-0.5 point)
|
- 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
|
## 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 |
|
| **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.
|
**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ées collectées
|
||||||
|
|
||||||
| Donnée | Finalité | Base légale |
|
| Donnée | Finalité | Base légale |
|
||||||
|
|||||||
@@ -31,7 +31,7 @@
|
|||||||
| **Monitoring** | Prometheus + Grafana | [ADR-024](adr/024-monitoring-observabilite.md) |
|
| **Monitoring** | Prometheus + Grafana | [ADR-024](adr/024-monitoring-observabilite.md) |
|
||||||
| **Secrets** | Vault + sealed secrets | [ADR-025](adr/025-securite-secrets.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 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
67
scripts/remove-broken-links.sh
Executable 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!"
|
||||||
Reference in New Issue
Block a user