Contexte

Pour présenter mes compétences sans surcouche et surcoût de maintenance de framework lourd, j'ai conçu et développé ce portfolio sur-mesure. Le besoin exigeait une application rapide, sécurisée, accessible (WCAG) et facilement déployable sur un hébergement mutualisé standard.

Actions réalisées

  • Architecture PHP MVC : Conception d'une structure logicielle modulaire en PHP 8 avec autoloader Composer, séparation nette des responsabilités (AuthManager, SessionManager, Fail2banManager, Layout) et routage explicite.
  • Moteur Hybride Flat-File & SQLite :
    • Contenu éditorial (Projets, Notes, Docs) : Stockage en Markdown avec métadonnées Frontmatter YAML, indexé en temps réel dans un fichier JSON léger (articles_index.json).
    • Authentification & Audit : Bases SQLite embarquées et découplées (auth.db pour le contrôle d'accès RBAC et fail2ban.db pour le suivi des événements de sécurité).
  • Sécurité en profondeur : Protection anti-brute force Fail2ban applicative (statuts avertissement/blocage IP sur 24h), Content Security Policy (CSP) stricte sans aucun script ni style inline, et gestion des sessions sans bloquer d'inodes.
  • Accessibilité & UX : Conformité WCAG 2.1 Level AA (liens d'évitement .skip-link, gestion :focus-visible, sémantique HTML5 complète, support du mode sombre et gestion A4 à l'impression).
  • Moteur de recherche intégré : Recherche plein texte indexée inter-sections (Markdown + CV) respectant les permissions d'accès aux données personnelles.

Résultats chiffrés

  • Performance d'affichage : Temps de rendu serveur < 15 ms et score Google Lighthouse de 100/100 sur la performance et la sécurité.
  • Zéro dépendance lourde : Empreinte mémoire minime (< 2 Mo par requête) tournant nativement sur PHP 8.x sans base de données externe complexe.
  • Couverture de tests : Suite de 12 modules de tests unitaires CLI automatisés validant la sécurité, la gestion des sessions et la cohérence de l'index à chaque modification.