MCO Dashboard
-Status Infra
● Online - France (OVH)
Status Infra
+● Online - France (OVH)
+diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3055b57 --- /dev/null +++ b/.gitignore @@ -0,0 +1,49 @@ +# ==================================================================== +# RYM Horizon - Git Ignore Rules +# ==================================================================== + +# --- Système d'Exploitation (Hôtes & Laboratoires) --- +# Fedora / Linux généraux +.directory +.Trash-* +*~ + +# Fichiers systèmes Windows / macOS au cas où un collaborateur en utilise +Thumbs.db +Desktop.ini +.DS_Store +.AppleDouble +.LSOverride + +# --- Éditeurs de Code & IDE --- +# VS Codium / VS Code +.vscode/ +*.code-workspace +.history/ + +# --- Infrastructure locale (Podman / Docker) --- +.docker/ +.podman/ +*.tar +*.tar.gz +# Ne pas ignorer les fichiers de conf Nginx si nécessaire, +# mais ignorer les logs locaux si générés dans le projet +*.log + +# --- Fichiers d'environnement & Sécurité --- +# Contient les clés d'API, secrets RYM Bank, accès serveurs +.env +.env.local +.env.*.local +*.pem +*.key +*.secret + +# --- Dépendances futures --- +# Pour anticiper l'arrivée de Node.js, npm, ou de préprocesseurs CSS +node_modules/ +.npm/ +dist/ +build/ +.sass-cache/ +.cache/ diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md new file mode 100644 index 0000000..72f27e6 --- /dev/null +++ b/ARCHITECTURE.md @@ -0,0 +1,54 @@ +RYM Horizon — Spécifications Architecturales + +Version : 3.0.0 (Souveraine & Épurée) + +Date : Samedi 23 Mai 2026 + +Statut : Validé en Laboratoire Local +1. Philosophie & Alignement Géopolitique + +RYM Horizon est le cockpit d'organisation temporelle et de gestion des actifs de la performance pour l'athlète d'endurance. Conformément à la charte "Tout sauf US", l'intégralité de l'environnement de développement et de déploiement est étanche aux lois extra-territoriales américaines (Cloud Act, EAR). + + Hébergement cible : Serveurs souverains européens (Debian VPS). + + Laboratoire local : Conteneurisé sous OS Européen (Allemagne/Suède). + + Flux Financiers : Intégration native exclusive des rails européens (Wero / Euro Numérique). + +2. Infrastructure du Laboratoire Local (Podman & openSUSE) + +Pour valider le fonctionnement de l'application sans dépendance externe, le projet est exécuté dans un bac à sable isolé. +Composants techniques : + + Orchestrateur : Podman (Rootless, natif Fedora, sans démon privilégié). + + Système d'Exploitation : openSUSE Leap 15.6 (Distribution allemande/suédoise, ultra-stable). + + Serveur Web : Nginx (Configuration optimisée). + +Architecture Réseau & Ports : + +Pour des raisons de sécurité (mode Rootless de Podman), le conteneur n'a pas les droits pour ouvrir le port standard 80. La configuration a été basculée sur le port 8080. Un tunnel de port lie la machine hôte au conteneur. + + Accès local de développement : http://localhost:8080 + +3. Spécifications Fonctionnelles de l'Interface (v3.0.0) + +L'interface abandonne le look "calendrier de bureau" au profit d'un cockpit de vie multi-échelle, inspiré de la clarté de Runna, de la précision de Garmin et du minimalisme de Stripe/Vercel. +Les 4 Échelles Temporelles : + + Vue Jour : Découpage de la journée en cours (Matin / Après-midi / Soir) pour coller au bi-quotidien des athlètes. + + Vue Semaine : Timeline horizontale fluide avec capacité de réorganisation des séances (Drag & Drop). + + Vue Mois : Aperçu stratégique de la charge globale et des blocs d'assimilation. + + Vue Macro / Olympiades : Planification à long terme des objectifs majeurs (Ex: Ironman, Pics de forme) et des budgets matériels associés. + +Cockpit Physiologique & Matériel (Les Spinners) : + +Indicateurs circulaires fins calculant en temps réel : + + Fraîcheur / VRC : Niveau de tolérance à la charge d'entraînement. + + Santé Matériel : Indice d'usure des actifs critiques (chaînes, chaussures carbone) corrélé directement à la RYM Bank pour le provisionnement budgétaire automatique. diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..c0a27c2 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,43 @@ +# Journal des Modifications — RYM Horizon + +Toutes les modifications notables de ce projet seront documentées dans ce fichier. + +Le format est basé sur [Keep a Changelog](https://keepachangelog.com/fr/1.0.0/) +et ce projet respecte le [Versionnement Sémantique](https://semver.org/lang/fr/). + +--- + +## [3.0.0] - 2026-05-23 + +### Ajouté +- **Architecture W3C :** Découplage complet et strict du code source en trois entités distinctes (`index.html`, `style.css`, `app.js`). +- **Logique JS Moderne :** Remplacement des attributs obsolètes `onclick` par un gestionnaire d'événements JavaScript non-intrusif basé sur les `data-attributes`. +- **Documentation :** Création du fichier `ARCHITECTURE.md` figeant la vision technique et la philosophie souveraine du projet. +- **Sécurité & Git :** Déploiement d'un fichier `.gitignore` standardisé pour protéger les secrets de la RYM Bank (fichiers `.env`, clés privées). +- **Cockpit à 4 Échelles :** Intégration de la vision multi-échelle (Jour J détaillé / Semaine fluide / Aperçu Mensuel / Macro-Olympiades). +- **Indicateurs Fins :** Implémentation des "spinners" circulaires en CSS pur pour le suivi de la fraîcheur physiologique (VRC) et de la santé du matériel. + +### Modifié +- **Infrastructure Lab :** Bascule du serveur de test local vers un conteneur souverain européen **openSUSE Leap 15.6** opéré via **Podman** (Rootless). +- **Réseau :** Configuration et routage du serveur Nginx local sur le port alternatif `8080` pour contourner les restrictions de privilèges. + +### Sécurisé +- Exclusion stricte des fichiers de configuration locaux et des dossiers caches d'éditeurs (`.vscode/`). + +--- + +## [2.4.0] - 2026-05-10 + +### Ajouté +- Première ébauche de la vue calendrier hebdomadaire en tableau standard. +- Intégration des boutons d'exports de rapports pour l'Espace Expert (Cohort-Dashboard). +- Intégration visuelle de l'état de synchronisation avec l'API Strava. +- Structure HTML de base intégrant Bootstrap 5 (version monolithique avec style et script intégrés). + +--- + +## [1.0.0] - 2026-04-01 + +### Ajouté +- Initialisation du projet RYM Horizon. +- Maquette de principe de l'interface et choix de la charte graphique de base. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..3324573 --- /dev/null +++ b/LICENSE @@ -0,0 +1,68 @@ +==================================================================== +RYM HORIZON — CONTRAT DE LICENCE COMMERCIALE ET DE CONFIDENTIALITÉ +==================================================================== + +Version : 1.0.0 +Date de révision : 23 Mai 2026 +Titulaire des droits : RYM Bank / Écosystème RYM +Juridiction exclusive : République Française / Union Européenne + +-------------------------------------------------------------------- +1. PROPRIÉTÉ ET DROITS D'AUTEUR +-------------------------------------------------------------------- +Le présent logiciel, incluant sans limitation le code source (HTML, +CSS, JavaScript), l'architecture technique, les éléments graphiques, +l'arborescence et la documentation associée (ci-après "le Logiciel"), +est la propriété exclusive et entière de son auteur originel et de +la structure RYM Bank. + +Le Logiciel est protégé par les lois françaises et internationales +relatives au droit d'auteur et à la propriété intellectuelle. +Tous droits non expressément concédés par le présent contrat sont +strictement réservés par le titulaire des droits. + +-------------------------------------------------------------------- +2. SOUVERAINETÉ ET ÉTANCHÉITÉ COMPORTEMENTALE +-------------------------------------------------------------------- +Conformément à la charte fondamentale de l'écosystème RYM, ce logiciel +est conçu pour garantir une étanchéité absolue vis-à-vis des lois +extra-territoriales étrangères (notamment le US Cloud Act / USA PATRIOT Act). + +Toute intégration future, modification ou exploitation du code source +doit impérativement respecter cette clause d'étanchéité et de +souveraineté numérique européenne. + +-------------------------------------------------------------------- +3. RESTRICTIONS D'UTILISATION ET DE DISTRIBUTION +-------------------------------------------------------------------- +Sauf autorisation écrite, préalable et expresse du titulaire des +droits, il est strictement interdit de : +- Copier, modifier, adapter, traduire ou créer des œuvres dérivées + du Logiciel à des fins commerciales externes ou personnelles. +- Distribuer, louer, sous-licencier, vendre ou transférer le Logiciel + ou son code source à des tiers. +- Divulguer ou publier le code source sur des forges logicielles + publiques non contrôlées ou non hébergées en Europe de manière souveraine. + +-------------------------------------------------------------------- +4. CLAUSE PARTICULIÈRE : RECRUTEMENT ET COLLABORATION (LEAD TECH) +-------------------------------------------------------------------- +Le présent code source est structuré selon les meilleures pratiques du +W3C à des fins d'audit technique et d'intégration de collaborateurs +clés (notamment un Lead Technical Officer). + +L'accès à ce code par un tiers dans le cadre d'un recrutement, d'un +partenariat ou d'un co-développement implique de plein droit une +obligation stricte de secret professionnel, de réserve et de non-divulgation. + +-------------------------------------------------------------------- +5. EXCLUSION DE GARANTIE +-------------------------------------------------------------------- +Le Logiciel est fourni "en l'état", sans garantie d'aucune sorte, +expresse ou implicite, y compris mais sans s'y limiter, les garanties +de commercialisation ou d'adéquation à un usage particulier. + +-------------------------------------------------------------------- +Fait à usage de droit. Pour toute demande de licence ou contribution : +Contact de l'infrastructure : www.gorym.fr +==================================================================== diff --git a/README.md b/README.md new file mode 100644 index 0000000..3f1f508 --- /dev/null +++ b/README.md @@ -0,0 +1,18 @@ +# RYM Horizon + +> Le Cockpit de Performance Souverain pour l'Athlète d'Endurance. + +## Présentation +RYM Horizon fusionne l'organisation temporelle, le suivi de la fraîcheur physiologique et la gestion budgétaire de la performance (MCO des actifs), de manière totalement étanche aux technologies extra-territoriales américaines. + +## Installation Rapide (Laboratoire Local) +Le projet est configuré pour tourner de manière isolée sur un serveur web openSUSE via Podman. + +1. Lancer le conteneur : + podman run -d -p 8080:8080 --name rym-suse-stable registry.opensuse.org/opensuse/leap:latest tail -f /dev/null + +2. Accéder à l'application : `http://localhost:8080` + +## Documentation +- Spécifications techniques : `ARCHITECTURE.md` +- Historique des versions : `CHANGELOG.md` diff --git a/app.js b/app.js new file mode 100644 index 0000000..1393500 --- /dev/null +++ b/app.js @@ -0,0 +1,45 @@ +/** + * RYM Horizon - Core Navigation Script + * @description Gestionnaire d'onglets découplé conforme aux standards W3C + */ + +document.addEventListener('DOMContentLoaded', () => { + + // Sélecteurs d'éléments de navigation + const navLinks = document.querySelectorAll('.sidebar .nav-link'); + const tabContents = document.querySelectorAll('.tab-content'); + + /** + * Bascule l'affichage vers l'onglet ciblé + * @param {string} targetTabId - L'identifiant de la section à afficher + */ + const switchTab = (targetTabId) => { + // 1. Masquer tous les contenus actifs + tabContents.forEach(content => content.classList.remove('active')); + + // 2. Afficher le contenu demandé + const activeTarget = document.getElementById(targetTabId); + if (activeTarget) { + activeTarget.classList.add('active'); + } + }; + + // Attribution dynamique des écouteurs d'événements + navLinks.forEach(link => { + link.addEventListener('click', (event) => { + event.preventDefault(); + + // Récupération de l'ID cible via le dataset + const targetTab = link.getAttribute('data-tab'); + + if (targetTab) { + // Gestion de l'état graphique de la navigation + navLinks.forEach(item => item.classList.remove('active')); + link.classList.add('active'); + + // Exécution de la bascule logique + switchTab(targetTab); + } + }); + }); +}); diff --git a/index.html b/index.html index b0f3eaa..8c9bdc6 100644 --- a/index.html +++ b/index.html @@ -6,58 +6,64 @@
● Online - France (OVH)
● Online - France (OVH)
+