Compare commits
No commits in common. "faec0be692cdb7e9ea227e268c4e5b66a3a3ce6f" and "d937726f66feaa47bf5f48824d729cd84d932070" have entirely different histories.
faec0be692
...
d937726f66
|
|
@ -1,20 +0,0 @@
|
||||||
# OS & Éditeurs
|
|
||||||
.DS_Store
|
|
||||||
Thumbs.db
|
|
||||||
*.swp
|
|
||||||
*~
|
|
||||||
.vscode/
|
|
||||||
.idea/
|
|
||||||
|
|
||||||
# Fichiers temporaires & Logs
|
|
||||||
*.log
|
|
||||||
tmp/
|
|
||||||
*.tmp
|
|
||||||
|
|
||||||
# Sécurité & Secrets local (Anti-fuite)
|
|
||||||
.env
|
|
||||||
.env.local
|
|
||||||
*.pem
|
|
||||||
*.key
|
|
||||||
*.p12
|
|
||||||
*.pfx
|
|
||||||
|
|
@ -1,53 +0,0 @@
|
||||||
# Index Documentaire du Système d'Information RYM
|
|
||||||
|
|
||||||
Ce document recense l'ensemble de la documentation cadre, technique et opérationnelle du SI RYM.
|
|
||||||
Il garantit la traçabilité et le suivi des révisions conformément aux exigences **ISO 27001 (SMSI)**, **ISO 9001 (SMQ)** et aux préconisations de l'**ANSSI**.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 🛡️ 1. Gouvernance, Sécurité & Qualité (`rym_gouvernance`)
|
|
||||||
|
|
||||||
#### A. Norme ISO 27001 & RGPD (`iso27001/`)
|
|
||||||
|
|
||||||
| Réf. / Code | Titre du Document | Description / Portée | Statut / Version | Responsable | Fréquence de Révision |
|
|
||||||
| :--- | :--- | :--- | :--- | :--- | :--- |
|
|
||||||
| **DOC-SEC-00** | `INDEX_DOCUMENTAIRE.md` | Registre central de la documentation du SI | **Approuvé v1.0** | Marc Lasserre | Continue |
|
|
||||||
| **DOC-SEC-01** | `iso27001/POLITIQUE_SECURITE.md` | PSSI (Politique de Sécurité du SI) | **Approuvé v1.0** | Marc Lasserre | Annuelle |
|
|
||||||
| **DOC-SEC-02** | `iso27001/SOUVERAINETE.md` | Principes d'indépendance technique & doctrine | **Approuvé v1.0** | Marc Lasserre | Annuelle |
|
|
||||||
| **DOC-SEC-03** | `iso27001/MATRICE_RISQUES.md` | Cartographie et analyse des risques / menaces | **Approuvé v1.0** | Marc Lasserre | Semestrielle |
|
|
||||||
| **DOC-SEC-04** | `iso27001/GESTION_INCIDENTS.md` | Procédures d'escalade et réponse aux incidents | **Approuvé v1.0** | Marc Lasserre | Semestrielle |
|
|
||||||
| **DOC-SEC-05** | `iso27001/POLITIQUE_TRAITEMENT_DONNEES.md` | Protection RGPD, pseudonymisation & gouvernance ML | **Approuvé v1.0** | Marc Lasserre | Semestrielle |
|
|
||||||
|
|
||||||
#### B. Norme ISO 9001 & Organisation (`iso9001/`)
|
|
||||||
|
|
||||||
| Réf. / Code | Titre du Document | Description / Portée | Statut / Version | Responsable | Fréquence de Révision |
|
|
||||||
| :--- | :--- | :--- | :--- | :--- | :--- |
|
|
||||||
| **DOC-QUA-01** | `iso9001/PROCESSUS_RELEASE.md` | Workflow de mise en production (SMQ) | **Approuvé v1.0** | Marc Lasserre | Semestrielle |
|
|
||||||
| **DOC-QUA-02** | `iso9001/REGLES_CODE_REVIEW.md` | Standards de relecture de code & PR | **Approuvé v1.0** | Binôme RYM | Continue |
|
|
||||||
| **DOC-ORG-01** | `iso9001/ONBOARDING.md` | Procédure d'accueil et intégration collaborateurs | **Approuvé v1.0** | Marlène Marigny | Selon besoin |
|
|
||||||
|
|
||||||
#### C. Architecture & Cartographie Technique (`techniques/`)
|
|
||||||
|
|
||||||
| Réf. / Code | Titre du Document | Description / Portée | Statut / Version | Responsable | Fréquence de Révision |
|
|
||||||
| :--- | :--- | :--- | :--- | :--- | :--- |
|
|
||||||
| **DOC-TEC-01** | `techniques/CARTOGRAPHIE_SI.md` | Vision SI, langages (Python/TS) & Moteur ML | **Approuvé v1.0** | Marc Lasserre | Semestrielle |
|
|
||||||
| **DOC-TEC-02** | `techniques/CARTOGRAPHIE_ANSSI.md` | Cloisonnement des 2 SI & Trajectoire Cluster k3s | **Approuvé v1.0** | Marc Lasserre | Semestrielle |
|
|
||||||
| **DOC-TEC-03** | `techniques/ARCHITECTURE_OUTILS.md` | Stack souveraine EU & Ergonomie non-tech | **Approuvé v1.0** | Marc Lasserre | Semestrielle |
|
|
||||||
| **DOC-TEC-04** | `techniques/HARDENING_SERVEURS.md` | Bastion & Sécurisation du VPS Debian | **Approuvé v1.0** | Marc Lasserre | Annuelle |
|
|
||||||
| **DOC-TEC-05** | `techniques/CONSEILS_DEPLOIEMENT.md` | Procédures d'exploitation & maintenance | **Approuvé v1.0** | Marc Lasserre | Semestrielle |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### ⚙️ 2. Infrastructure & Déploiement (`rym_infrastructure`)
|
|
||||||
|
|
||||||
| Réf. / Code | Titre du Document | Description / Portée | Statut / Version | Responsable | Fréquence de Révision |
|
|
||||||
| :--- | :--- | :--- | :--- | :--- | :--- |
|
|
||||||
| **DOC-INF-01** | `README.md` | Architecture, prérequis & stack Podman | **En cours v0.9** | Marc Lasserre | Continue |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 💻 3. Applicatif Frontend & Backend (`rym_horizon`)
|
|
||||||
|
|
||||||
| Réf. / Code | Titre du Document | Description / Portée | Statut / Version | Responsable | Fréquence de Révision |
|
|
||||||
| :--- | :--- | :--- | :--- | :--- | :--- |
|
|
||||||
| **DOC-APP-01** | `README.md` | Setup local, stack Node/React & variables d'env. | **En cours v0.9** | Marc Lasserre | Continue |
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
# Plan de Reprise d'Activité (PRA / DRP) — SI RYM
|
|
||||||
|
|
||||||
## 1. Objectifs (RTO / RPO)
|
|
||||||
* **RPO (Recovery Point Objective)** : 24 heures (données perdues max = 1 journée).
|
|
||||||
* **RTO (Recovery Time Objective)** : 2 heures (temps max de reconstruction complète du SI).
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 2. Stratégie de Sauvegarde (3-2-1 Rule)
|
|
||||||
1. **Quoi** : Volumes Podman, Bases PostgreSQL/SQLite, Dépôts Git Gitea (`gitea dump`).
|
|
||||||
2. **Comment** : Script automatisé exécuté par `cron` à 02h00 du matin. Chiffrement AES-256 avant envoi (*Zero-Knowledge*).
|
|
||||||
3. **Où** : Export hors-site vers Object Storage S3 souverain (OVH ou autre en zone exclusivement EU -Hors Suisse) ou serveur de secours isolé.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 3. Procédure de Reconstruction à Froid (En cas de crash total du VPS)
|
|
||||||
1. Provisionner un nouveau VPS Debian vierge.
|
|
||||||
2. Cloner le dépôt de configuration : `git clone https://git.gorym.net/RYM/rym_infrastructure.git`.
|
|
||||||
3. Exécuter le script de Hardening : `./HARDENING_SERVEURS.sh`.
|
|
||||||
4. Rapatrier et déchiffrer la dernière sauvegarde S3.
|
|
||||||
5. Remonter les conteneurs Podman : `podman-compose up -d`.
|
|
||||||
|
|
@ -1,36 +0,0 @@
|
||||||
### 📄 2. `techniques/ARCHITECTURE_OUTILS.md`
|
|
||||||
|
|
||||||
# Architecture des Outils & Stratégie Souveraine
|
|
||||||
|
|
||||||
## 1. Vision Métier & Ergonomie "Non-Tech"
|
|
||||||
|
|
||||||
Pour garantir une adoption fluide par l'ensemble de l'équipe (profils techniques et non-techniques) sans multiplier les outils :
|
|
||||||
* **Zéro CRM/Usine à gaz complexe** : Le suivi de projet et la gouvernance se font directement via l'interface web de Gitea (`git.gorym.net`).
|
|
||||||
* **Validation en 1-clic** : La relecture et la validation des documents/code se font via le bouton **"Approuver"** de l'interface web, sans aucune ligne de commande.
|
|
||||||
* **Unified Domain** : L'ensemble des services métiers et techniques sont regroupés sous l'écosystème unifié `*.gorym.net`.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 2. Stack Technique Souveraine (EU Compliance)
|
|
||||||
|
|
||||||
Afin d'éliminer toute dépendance aux Cloud Act US (Vercel, Supabase SaaS, Anthropic) :
|
|
||||||
|
|
||||||
| Couche Applicative | Stack Cible Souveraine | Remplacement Souverain |
|
|
||||||
| :--- | :--- | :--- |
|
|
||||||
| **Hébergement Frontend** | React 18 / Vite (Nginx Podman) | Remplacement de Vercel public par le VPS Debian Podman. |
|
|
||||||
| **Orchestration & Runtime** | **Podman (Dev/Mono) -> Cluster k3s (Prod)** | Alternatif souverain léger à Docker et aux services Kubernetes Cloud gérés (EKS/GKE). |
|
|
||||||
| **Backend & API** | Node.js Express / Python FastAPI | Remplacement des fonctions Vercel Serverless. |
|
|
||||||
| **Base de Données** | PostgreSQL (Rootless Podman) | Auto-hébergement local du script `supabase-military.sql`. |
|
|
||||||
| **Secrets & Passwords** | Passbolt / Bitwarden Send | Hôte sur `send.gorym.net` (Zero-Knowledge). |
|
|
||||||
| **IA & Audio (Horizon)** | API Souveraines / Modèles Open-Source | Transition progressive depuis Claude/ElevenLabs vers des modèles UE. |
|
|
||||||
| **Communication & Chat** | **Matrix(Synapse) + Client Element | Alternative souveraine E2EE (chiffrée de bout en bout) à Slack, Mattermost & Teams |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 3. Matrice de Responsabilités (Marc & Marlène)
|
|
||||||
|
|
||||||
| Périmètre | Marc Lasserre (Tech/DevSecOps) | Marlène Marigny (Product/Stratégie) |
|
|
||||||
| :--- | :--- | :--- |
|
|
||||||
| **Infra & SecOps** | Maintien Podman, CI/CD, Nginx, Backups | Utilisation des endpoints applicatifs |
|
|
||||||
| **Gouvernance** | Rédaction technique, règles GPG, PSSI | Validation web des PR, gestion de la Roadmap |
|
|
||||||
| **Product & App** | Intégration SecOps du code React/API | Design, fonctionnalités métier, Dépôt de code sur Gitea |
|
|
||||||
|
|
@ -1,66 +0,0 @@
|
||||||
# Cartographie du SI & Cloisonnement (Guide ANSSI)
|
|
||||||
|
|
||||||
## 1. Principes Général & Doctrine d'Isolation
|
|
||||||
|
|
||||||
Conformément aux recommandations de l'ANSSI, le Système d'Information (SI) du projet est cloisonné en deux périmètres strictement étanches pour limiter la surface d'attaque et contenir tout risque de propagation.
|
|
||||||
|
|
||||||
* **SI IT & Outillage (DevSecOps / Administration)** : Héberge la forge, la CI/CD, les secrets et la documentation cadre.
|
|
||||||
* **SI Général / Production (Applicatif Peakload)** : Héberge l'application client, l'API et la base de données physiologiques.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 2. Matrice de Cloisonnement des deux SI
|
|
||||||
|
|
||||||
```text
|
|
||||||
[ Internet / Public ]
|
|
||||||
│
|
|
||||||
▼
|
|
||||||
[ Reverse Proxy Nginx (TLS 1.3 / WAF) ]
|
|
||||||
│
|
|
||||||
├──────────────────────────────────────┐
|
|
||||||
▼ ▼
|
|
||||||
┌──────────────────────────────┐ ┌──────────────────────────────┐
|
|
||||||
│ SI GENERAL / PRODUCTION │ │ SI IT / OUTILLAGE │
|
|
||||||
│ Zone Applicative Peakload │ │ Zone DevSecOps & Governance │
|
|
||||||
├──────────────────────────────┤ ├──────────────────────────────┤
|
|
||||||
│ • App Web (React/Vite) │ │ • Forge (`git.gorym.net`) │
|
|
||||||
│ • API Engine (FastAPI/Node) │ │ • Runner CI/CD (`act_runner`)│
|
|
||||||
│ • BDD (PostgreSQL Rootless) │ │ • Secrets (`send/passbolt`) │
|
|
||||||
└──────────────────────────────┘ └──────────────────────────────┘
|
|
||||||
```
|
|
||||||
---
|
|
||||||
|
|
||||||
## 3. Matrice des Flux & Cartographie Réseau
|
|
||||||
|
|
||||||
| Zone | Composant | Port Interne | Exposition Publique | Protocole / Usage
|
|
||||||
| :--- | :--- | :--- | :--- | :--- |
|
|
||||||
| **Edge** | Reverse Proxy (Nginx) | 80, 443 | Oui (gorym.net) | HTTPS (TLS 1.3 Strict) |
|
|
||||||
| **SI IT** | Forge Gitea | 3000 | Via Proxy (git.gorym.net) | HTTP/SSH Chiffré |
|
|
||||||
| **SI IT** | Secrets (Passbolt/Send)| 8080 | Via Proxy (send.gorym.net) |HTTPS Zero-Knowledge |
|
|
||||||
| **SI IT** | Chat & Visioconference (Matrix/Element) | 8008, 8081 | Via Proxy (chat.gorym.net) | HTTPS / E2EE (Chiffrement bout en bout) |
|
|
||||||
| **SI Prod** | Frontend Peakload | 5000 | Via Proxy (app.gorym.net) | HTTPS |
|
|
||||||
| **SI Prod** | API Core | 8000 | Interne Podman uniquement | REST / JSON |
|
|
||||||
| **SI Prod** | Base PostgreSQL |5432 | **NON (Isolé Podman)** |SQL interne chiffré |
|
|
||||||
|
|
||||||
## 4. Mesures de SecOps & Isolation ANSSI
|
|
||||||
|
|
||||||
* *Réseaux Podman distincts :* Le SI IT et le SI Prod tournent sur deux réseaux virtuels Podman internes totalement séparés.
|
|
||||||
* *Privilèges :* Exécution à 100 % sous mode Rootless (aucun conteneur n'est exécuté sous l'utilisateur root du VPS).
|
|
||||||
* *Base de données isolée :* PostgreSQL n'a aucun port exposé sur l'extérieur. Seule l'API interne du pod Prod peut communiquer avec lui.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 5. Trajectoire d'Orchestration Haute Disponibilité (k3s Cluster)
|
|
||||||
|
|
||||||
Afin de garantir la scalabilité, la résilience et la haute disponibilité (HA) du SI Général/Production sans aucune dépendance aux orchestrateurs Cloud propriétaires :
|
|
||||||
|
|
||||||
* **Runtime de proximité / Dev** : Les services sont conteneurisés sous **Podman** (mode Rootless, respect strict des normes OCI).
|
|
||||||
* **Orchestration de Production (k3s)** : Le déploiement s'appuie sur un cluster **k3s** (distribué, léger, certifié CNCF) auto-hébergé sur des instances VPS souveraines européennes.
|
|
||||||
* **Isolation par Namespaces Kubernetes** :
|
|
||||||
* `namespace: rym-core` (API, Moteur ML, Traitement VRC/Santé)
|
|
||||||
* `namespace: rym-db` (PostgreSQL / Redis isolés avec NetworkPolicies strictes)
|
|
||||||
* `namespace: rym-ingress` (Ingress Controller Nginx / TLS 1.3)
|
|
||||||
* **Sécurité des Pods (PSS)** : Application des règles *Restricted Pod Security Standards* de Kubernetes (interdiction des privilèges root, contraintes de capabilités Linux).
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
Loading…
Reference in New Issue