Table de vérité

Refonte complète d'un site web éducatif dédié à l'apprentissage des tables de vérité. Le projet consistait à transformer un site statique en une application dynamique robuste, en implémentant une architecture MVC, une base de données relationnelle et un système d'authentification sécurisé.

Rôle : Développeur Full Stack
Contexte : Projet universitaire - BUT MMI 2ème année
Durée : 1 semaine (15 - 26 mai 2025)
Format : Solo
PHP HTML/CSS JavaScript MySQL
Aperçu du site Table de vérité

Conversion HTML vers PHP & Architecture MVC

La première étape a été de migrer les pages statiques HTML vers des scripts PHP dynamiques. J'ai structuré le projet en suivant le modèle MVC (Modèle-Vue-Contrôleur) pour séparer la logique métier de l'affichage. Cela a impliqué la création d'un routeur, de contrôleurs dédiés et l'utilisation d'un système de templates pour les vues.

Migration de la Base de Données (JSON vers MySQL)

Initialement stockées dans des fichiers JSON, les données ont été migrées vers une base de données MySQL relationnelle. J'ai conçu le schéma de la base (MCD/MLD) pour gérer efficacement les relations entre les tables. L'utilisation de l'extension PDO en PHP a permis de sécuriser les interactions avec la base de données via des requêtes préparées.

Intégration Login & Commentaires

J'ai développé un système complet d'authentification (inscription, connexion, déconnexion) en assurant la sécurité des mots de passe par hachage. Une fois connectés, les utilisateurs peuvent interagir avec le contenu en postant des commentaires, fonctionnalité gérée dynamiquement par le backend.

Conclusion

Ce projet intensif a été une véritable école de la rigueur. Si la migration vers une architecture MVC et la sécurisation des données (PDO, hachage) sont des réussites dont je suis fier, j'ai aussi touché mes limites sur le front-end (conflits CSS Grid et filtre AJAX). J'ai appris qu'une mauvaise gestion du temps se paie cash sur la finition. C'est une expérience frustrante mais formatrice : je sais désormais qu'il faut isoler les problèmes plutôt que de tout changer dans l'urgence.

Outils utilisés

Visual Studio Code PHPMyAdmin