FreeMessage

Logo de FreeMessage : une bulle de discussion avec un cœur, à côté du nom, en blanc sur fond bleu
Code sur GitHub

Fiche projet

Stack
PHP 8 · Twig 3 · MySQL / MariaDB · HTML / CSS / JavaScript vanilla · Composer
Architecture
MVC construit à la main, sans framework
Base de données
6 tables relationnelles avec clés étrangères
Interface
Responsive, en CSS pur, sans framework ni étape de build

Le projet en bref

FreeMessage est un réseau social organisé en 8 catégories : jeux vidéo, musique, films, livres, sport, peinture et dessin, photographie et séries. Je l'ai développé en PHP natif, sans framework, avec une architecture MVC construite à la main : un routeur, des contrôleurs, des modèles et des vues Twig.

L'objectif était de comprendre et de maîtriser tout ce qu'un framework fait habituellement à notre place : le routage, les sessions, la sécurité des formulaires, l'envoi de fichiers et l'accès à la base de données.

Fonctionnalités

Comptes utilisateurs

Publications

Interactions

Panneau d'administration

Interface

Sécurité

Architecture

Chaque requête HTTP passe par .htaccess vers un point d'entrée unique, routeur.php, qui vérifie le jeton CSRF et distribue les routes. Le contrôleur porte la logique métier et le rendu des vues ; le modèle regroupe les requêtes SQL vers MySQL / MariaDB (tables utilisateur, message, commentaire, réaction, catégorie et type).

Compétences mobilisées