LY Labs - Matrix — MKI
Première version stable du système
Historique des versions
Version 2.1.1
Changements :
VERSION 2.1.1 — Interface d'administration améliorée
Nouvelle fonctionnalité :
- Configuration initiale du mot de passe administrateur directement depuis le navigateur. Plus besoin de générer un hash bcrypt en ligne de commande
- Lors de la première visite sur /admin, un formulaire de création de mot de passe s'affiche automatiquement
- Le mot de passe est hashé avec bcrypt et sauvegardé dans src/admin_hash.json
- La variable d'environnement ADMIN_PASS_HASH reste prioritaire si elle est définie dans le .env
- Une fois le mot de passe configuré, le formulaire de setup n'est plus accessible, empêchant toute réinitialisation non autorisée
Correction :
- Correction du login admin avec ajout d'un fallback getenv pour les variables d'environnement, assurant la compatibilité entre les configurations PHP CLI et PHP FPM
Nouveau fichier :
- CHANGELOG.md journal des versions en français
Version 2.1.0
Changements :
VERSION 2.1.0 — Raffinement du thème Glassmorphism
Design :
- Thème gris clair : palette éclaircie avec fond #1a1a20, surface #22222b, texte #eef2f6. Opacité du verre augmentée pour un meilleur rendu
- Alignement horizontal du logo et du titre dans l'en-tête avec flexbox
- Cartes cliquables : les cartes Projet et MARK sont entièrement cliquables via attribut data-href et gestionnaire JavaScript. Le titre reste un lien accessible séparément
- Effet de lueur au curseur : halo radial de 800px qui suit la souris avec requestAnimationFrame pour un rendu fluide à 60 images par seconde. Utilisation de will-change transform pour des performances optimales. Disparaît quand la souris quitte la fenêtre
- Transitions CSS fluides avec effet de soulèvement au survol des cartes
Accessibilité :
- Barre latérale se ferme automatiquement au clic sur un lien en mobile
- Ouverture et fermeture possible avec la touche Echap
Version 2.0.0
Changements :
VERSION 2.0.0 — Refonte sécurité et Glassmorphism
Sécurité — 10 correctifs :
1. Identifiants en dur dans index.php et docker-compose.yml — Passage en variables d'environnement via .env et config.php
2. Mot de passe admin en clair dans le code — Hash bcrypt avec password_hash et password_verify
3. Aucune protection CSRF sur les formulaires admin — Token CSRF avec validation hash_equals
4. Injections SQL possibles sur 3 requêtes non préparées — Conversion de 100% des requêtes en prepared statements
5. Upload de fichiers non sécurisé — Validation MIME avec finfo, vérification de l'extension, des magic bytes avec getimagesize, limite à 5 Mo
6. Session non sécurisée — Activation de HttpOnly, Secure, SameSite Strict, regeneration d'ID au login
7. Absence de limite de tentatives de connexion — Rate limiting à 5 tentatives par fenêtre de 15 minutes
8. Headers de sécurité manquants — Ajout de CSP, HSTS, X-Frame-Options, X-Content-Type-Options, Permissions-Policy dans le .htaccess
9. Fuite d'informations avec die() sur erreur de base de données Journalisation centralisée des erreurs avec message générique pour l'utilisateur
10. Secrets Docker exposés dans docker-compose.yml — Passage en variables d'environnement
Gestion d'erreurs :
- Gestion centralisée des exceptions pour toutes les opérations DB et CRUD
- Transactions MySQL pour les opérations multi-tables
- Pages d'erreur 404 stylisées en glassmorphism
- Journalisation des erreurs dans logs/error.log
Design Glassmorphism Noir et Gris :
- Palette sombre : fond noir profond, texte gris clair, accents blancs
- Effets de verre dépoli avec backdrop-filter blur 24px sur toutes les cartes
- Ombres portées et transitions cubiques au survol
- Typographie Inter + Fira Code avec préchargement Google Fonts
- Icônes SVG inline dans la barre latérale
- Champs de formulaire redessinés avec champs en verre et boutons pill
Responsive design mobile-first :
- Barre latérale en tiroir avec overlay en dessous de 768px
- Grille des projets en auto-fill, passage à 1 colonne sur mobile
- Canvas 3D adaptatif : 520px desktop, 360px tablette, 280px mobile
- Boutons pleine largeur sur mobile
- ResizeObserver sur le canvas Three.js pour redimensionnement dynamique
- Variables CSS ajustées selon les breakpoints
Nouveaux fichiers créés :
- src/config.php pour la configuration centralisée
- .env.example comme template de configuration
- .gitignore pour exclure les fichiers sensibles
- SECURITY_ANALYSIS.md rapport d'audit complet
Fichiers modifiés :
- src/index.php réécriture complète
- src/.htaccess avec headers de sécurité
- docker-compose.yml avec variables d'environnement
- README.md documentation mise à jour
Version 1.0.1
Changements :
Fix upload logo
Fix favicon
Version 1.0.0
Changements :
Dashboard Centralisé (Index d'Accueil) : * Affichage dynamique de l'ensemble des projets enregistrés en base de données.
Algorithme d'extraction automatique (via expressions régulières) de la première phrase de la description pour garantir un rendu concis et propre sur les cartes.
Récupération en temps réel et affichage du logo du tout dernier composant mis à jour pour chaque projet.
Menu latéral (Sidebar) récapitulant les 5 derniers projets publiés pour une navigation rapide.
Visualisation Node-Tree 3D (Three.js & GLSL) :
Modélisation interactive de l'arbre des versions et des MARKS en WebGL.
Shaders procéduraux personnalisés simulant un effet de filaments électriques (style "Loki branch") qui s'animent en temps réel.
Post-processing avancé avec lueur cinétique (UnrealBloomPass) pour un rendu visuel haut de gamme.
Étiquettes HTML flottantes texturées et synchronisées dynamiquement avec les coordonnées tridimensionnelles des nœuds 3D.
Configuration initiale de la caméra en vue plongeante oblique (angle rehaussé et décalé) pour offrir une vue d'ensemble instantanée dès le chargement de la page.
Contrôles orbitaux fluides avec amorti (OrbitControls) pour l'exploration de la structure.
Console d'Administration Sécurisée (/admin) :
Interface d'authentification restrictive par couple opérateur/clé d'accès.
Formulaire d'injection de données à trois niveaux : création ou sélection d'un projet parent, déploiement d'un nouveau MARK (variante technique), et journalisation fine de la version logique (numéro de version et changelog détaillé).
Gestionnaire d'upload sécurisé pour les logos de composants.
Système de messages flash pour notifier la réussite ou l'échec des injections système.
Gestion des Redirections et Sessions HTTP :
Traitement de la logique d'authentification, des déconnexions et du traitement des formulaires positionné au sommet absolu du cycle d'exécution PHP. Cela élimine les erreurs critiques de modification des en-têtes HTTP (Headers already sent) et garantit des redirections instantanées.
Système d'Héritage Automatique d'Images (Fallback) :
Mécanisme SQL automatisé : lors de la création d'une version ou d'un MARK sans image dédiée, une sous-requête interroge l'historique pour appliquer automatiquement le chemin de l'image du dernier MARK configuré sur le même projet parent.
Thème Visuel "Dark Industriel" :
Interface graphique architecturée autour de variables CSS (:root) exploitant des nuances de gris sombres et industriels (#18181c).
Optimisation des contrastes et utilisation d'effets de transparence floutée (backdrop-filter) pour mettre en valeur les accents lumineux (Cyan et Blanc) sans causer de fatigue visuelle.