From d937726f66feaa47bf5f48824d729cd84d932070 Mon Sep 17 00:00:00 2001 From: Marc Lasserre Date: Wed, 19 Aug 2026 00:33:22 +0200 Subject: [PATCH] docs: ajout de la cartographie SI et de la politique de traitement des donnees/ML pour l'INRIA --- iso27001/POLITIQUE_TRAITEMENT_DONNEES.md | 54 ++++++++++++++ techniques/CARTOGRAPHIE_SI.md | 89 ++++++++++++++++++++++++ 2 files changed, 143 insertions(+) create mode 100644 iso27001/POLITIQUE_TRAITEMENT_DONNEES.md create mode 100644 techniques/CARTOGRAPHIE_SI.md diff --git a/iso27001/POLITIQUE_TRAITEMENT_DONNEES.md b/iso27001/POLITIQUE_TRAITEMENT_DONNEES.md new file mode 100644 index 0000000..df58565 --- /dev/null +++ b/iso27001/POLITIQUE_TRAITEMENT_DONNEES.md @@ -0,0 +1,54 @@ +# Politique de Traitement des Données & Gouvernance ML + +## 1. Cadre Général & Engagement Privacy-by-Design + +Le projet RYM / Peakload traite des données relatives à la pratique sportive, à la physiologie et au suivi de la performance. Conformément au **RGPD (Règlement Général sur la Protection des Données)** et aux directives d'éthique de la recherche (INRIA / CNIL) : +* **Minimisation des données** : Seules les métriques strictement nécessaires à l'analyse de la charge et à la prévention des blessures sont collectées. +* **Chiffrement de bout en bout** : Toutes les données personnelles et physiologiques sont chiffrées en transit (TLS 1.3) et au repos (AES-256). +* **Isolation des environnements** : Séparation stricte entre les données de production, les jeux de données de test et les environnements de recherche. + +--- + +## 2. Classification des Données Traitées + +| Catégorie de Donnée | Exemples | Niveau de Sensibilité | Mesures de Protection | +| :--- | :--- | :--- | :--- | +| **Données Identifiantes** | Email, Nom, Prénom, Identifiant unique | **Élevé** | Stockage chiffré, séparé des données de performance. | +| **Données Physiologiques** | VRC, Fréquence Cardiaque, Sommeil, Fatigue (RPE) | **Très Élevé (Données de Santé)** | Pseudonymisation à la source, accès restreint aux micro-services ML. | +| **Données d'Activité** | Charge d'entraînement, Durée, Type de sport | **Moyen** | Agrégation et horodatage chiffré. | +| **Données Techniques / Métriques** | Logs d'accès, IP pseudonymisées, Métriques Podman | **Faible** | Log rotation automatisé, anonymisation sous 30 jours. | + +--- + +## 3. Stratégie de Pseudonymisation & Anonymisation + +Afin d'alimenter les modèles de Machine Learning tout en protégeant la vie privée des utilisateurs : + +1. **Jetons de Pseudonymisation (Tokenization)** : + * L'identité réelle de l'utilisateur est dissociée de son profil physiologique via un identifiant unique universel (UUID) irréversible stocké dans un coffre-fort d'identités chiffré. +2. **Pipelines d'Anonymisation pour la Recherche / ML** : + * Les jeux de données d'entraînement pour les modèles ML sont extraits sans aucune référence personnelle. + * Injection de bruits contrôlés (Confidentialité Différentielle / *Differential Privacy*) sur les séries temporelles lors des analyses agrégées. + +--- + +## 4. Gouvernance & Éthique du Machine Learning (ML) + +Afin d'éviter tout effet "Boîte Noire" et de garantir un audit carré exigé par l'INRIA : + +* **Explicabilité & Traçabilité des Décisions** : + * Chaque recommandation générée par le modèle (ex: ajustement de charge d'entraînement) est accompagnée de ses facteurs explicatifs (ex: baisse de la VRC de X% + augmentation de la charge aiguë). +* **Auditabilité des Modèles** : + * Les poids des modèles, les hyperparamètres et les jeux de données d'entraînement anonymisés sont versionnés (Model Registry). +* **Supervision Humaine (*Human-in-the-loop*)** : + * L'algorithme agit comme un système d'aide à la décision. L'athlète ou le coach conserve toujours le contrôle final sur l'ajustement de son programme. + +--- + +## 5. Droits des Personnes & Cycle de Vie des Données + +* **Portabilité & Exportation** : L'utilisateur peut exporter l'intégralité de ses données sous un format standard ouvert (JSON / CSV) à tout moment. +* **Droit à l'Oubli** : La suppression du compte entraîne la purge physique et définitive de l'ensemble des clés de déchiffrement associées aux données de l'utilisateur (*Crypto-shredding*). +* **Durée de Conservation** : + * Données actives : Conservées durant la durée d'utilisation du service. + * Données anonymisées de recherche : Conservées sous forme non identifiable pour l'amélioration continue des modèles. diff --git a/techniques/CARTOGRAPHIE_SI.md b/techniques/CARTOGRAPHIE_SI.md new file mode 100644 index 0000000..015c38c --- /dev/null +++ b/techniques/CARTOGRAPHIE_SI.md @@ -0,0 +1,89 @@ +# Cartographie du Système d'Information & Architecture Technique RYM / Peakload + +## 1. Vision & Principes d'Architecture Innovante + +Le Système d'Information (SI) RYM / Peakload repose sur une architecture **Souveraine, SecOps et Privacy-by-Design**. + +Pour répondre aux exigences d'agilité, de sécurité et d'auditabilité : +* **SecOps & Compliance-as-Code** : La conformité (ISO 27001 / ISO 9001) et les contrôles de sécurité (détection de secrets, vulnérabilités IaC) sont intégrés nativement dans la chaîne d'intégration continue (CI/CD). +* **Isolation Rootless** : L'ensemble des services applicatifs et des agents d'exécution fonctionnent sous **Podman** (sans privilèges root ni daemon centralisé). +* **Confidentialité & Traitement Edge/Local** : Les données sensibles de santé et de performance sportive sont traitées au plus près de l'utilisateur ou dans des micro-services isolés et chiffrés. + +--- + +## 2. Choix Technologiques & Langages à Forte Communauté + +Afin de garantir la pérennité, la maintenabilité et la facilité de recrutement ou de collaboration académique/industrielle, le choix s'est porté sur les langages bénéficiant des plus vastes écosystèmes open-source au monde : + +| Composant / Couche | Technologie / Langage | Justification & Atouts Communautaires | +| :--- | :--- | :--- | +| **Services Backend & ML** | **Python 3.12+ (FastAPI / PyTorch)** | Standard universel en Recherche, IA/ML et Data Science. Écosystème massif, haute performance asynchrone avec FastAPI. | +| **Applications Frontend / Mobile** | **TypeScript (Node.js / React Native)** | Typage strict, sécurité à la compilation, vaste communauté et réutilisation de code inter-plateformes (Web & Mobile). | +| **Forge & CI/CD** | **Gitea + Gitea Actions (`act_runner`)** | Solution souveraine, légère et compatible avec les workflows GitHub Actions. | +| **Conteneurisation & IaC** | **Podman / Podman-Compose** | Runtime souverain, respectueux des normes OCI, sans risque d'élévation de privilèges root. | +| **Bases de Données & Cache** | **PostgreSQL + Redis** | SGBDR robuste avec support natif des données relationnelles, séries temporelles et extensions géospatiales (PostGIS). | + +--- + +## 3. Cartographie Applicative & Flux de Données (Diagramme) + +```text +[ Client Mobile / App Web ] (TypeScript / React Native) + │ + │ (HTTPS / TLS 1.3 - REST & WebSockets) + ▼ +[ Gateway API / Proxy Reverse ] (Nginx / Caddy sur VPS Debian) + │ + ├───────────────┬──────────────────────────────┐ + ▼ ▼ ▼ +[ Service Backend Core ] [ Engine ML & Analytics ] [ Forge & CI/CD ] + (Python / FastAPI) (Python / PyTorch) (Gitea + Runner) + │ │ │ + ▼ ▼ │ +┌──────────────────────────────┐ │ +│ Stockage Données & Cache │ │ +│ (PostgreSQL & Redis Rootless)│ ◄─────────────────────────┘ +└──────────────────────────────┘ (Audits & Scans SecOps via Podman) +``` + +--- + +## 4. Modèle Machine Learning (ML) : Pertinence, Explicabilité & Traitement des Séries Temporelles + +Dans le cadre du projet RYM / Peakload, l'intégration du Machine Learning répond à un besoin métier précis : la prévention du surentraînement et l'optimisation personnalisée de la charge de travail sportive. + +### A. Modélisation Hybride & Déterministe + +* **Pas de "Boîte Noire" Opaque** : Utilisation prioritaire d'algorithmes statistiques et de ML explicables (Séries temporelles, Modèles autorégressifs ARIMA/Prophet, XGBoost, ou réseaux de neurones légers type LSTM/TCN sous **PyTorch**). + +* **Indicateurs Clés Traités** : + + * Variabilité de la Fréquence Cardiaque (VRC / HRV) + * Charge Aiguë / Chronique (ACWR - *Acute:Chronic Workload Ratio*) + * Score d'énergie et de récupération perçu (RPE) + +* **Pertinence Scientifique** : Les recommandations générées reposent sur des modèles physiologiques validés cliniquement et académiquement, garantissant une traçabilité totale des décisions de l'IA. + +--- + +## 5. Matrice de Sécurité & Traçabilité pour Audit (ISO 27001 / ISO 9001) + +Pour garantir la traçabilité intégrale exigée lors des audits de conformité : + +| Zone d'Audit | Mecanisme de Contrôle | Résultat / Livrable d'Audit | +| :--- | :--- | :--- | +| **Authentification Commits** | Signature GPG obligatoire sur Git | Commits vérifiés et non repudiables dans Gitea | +| **Détection de Secrets** | Scan automatique **Gitleaks** en CI | Log d'audit automatisé à chaque PR | +| **Analyse Vulnérabilités IaC** | Scan automatique **Trivy** en CI | Rapport de conformité des conteneurs/images OCI | +| **Protection des Branches** | Verrouillage de `main` + PR + Code Review | Traçabilité des approbations et du duo de validation | +| **Sécurité des Données** | Chiffrement AES-256 au repos & TLS 1.3 en transit | Conformité PSSI et RGPD | + +--- + +## 6. Politique de Déploiement & Résilience (PRA / DRP) + +* **Architecture Invariable** : Tout changement d'infrastructure est défini par du code (*Infrastructure-as-Code*) versionné dans le dépôt `rym_infrastructure`. +* **Sauvegardes Chiffrées & Extérieures** : Automatisation des sauvegardes (données + configurations) via des mécanismes de chiffrement de bout en bout et export vers un stockage souverain hors-site. +* **Test de Restauration (DRP)** : Procédures de reconstruction à froid du SI validées périodiquement. + +---