Tous les projets

MacConnect

Un réseau social complet, construit depuis la page blanche : profils, publications, likes, commentaires et messagerie entre utilisateurs.

Rôle

Développeur

Période

2023 – 2025

Contexte

BTS SIO SLAM · Lycée Paul Sabatier

En ligne

Démo ↗

Code

GitHub ↗

Écran de connexion de l’application MacConnect
Le problème

Reconstruire un réseau social, c’est surtout modéliser des relations entre des gens.

Le sujet demandait une application complète pour une entreprise fictive : des profils, un fil d’actualité, des interactions entre utilisateurs et un système de messagerie. Rien d’exotique pris isolément, mais tout doit tenir ensemble.

La vraie difficulté n’était pas d’afficher une publication. C’était de décider comment représenter qui suit qui, qui a le droit de voir quoi, et comment une conversation se rattache à deux comptes sans dupliquer les messages.

La solution

Une application PHP organisée en MVC, sans framework : les requêtes passent par un routeur, les contrôleurs portent la logique, les modèles parlent à MySQL. L’interface s’appuie sur HTML, CSS et Bootstrap, et les interactions rapides passent par AJAX.

PHPMVCMySQLAJAXBootstrapGit

Trois décisions

  1. 01

    Le MCD avant le code

    Publications, likes, commentaires, abonnements et messages se croisent tous. Modéliser ces relations d’abord a évité de devoir réécrire la moitié des requêtes à mi-parcours.

  2. 02

    Du MVC à la main, sans framework

    L’objectif pédagogique était de comprendre ce qu’un framework fait à votre place. Écrire le routeur et la séparation des couches soi-même rend le passage à Laravel, ensuite, beaucoup plus lisible.

  3. 03

    AJAX pour les interactions courtes

    Un like ou un commentaire ne justifie pas de recharger la page entière. Les actions légères partent en arrière-plan, le reste suit le cycle classique.

Le résultat

Une application déployée et utilisable : création de compte, fil d’actualité, publication, likes et commentaires, et messagerie entre utilisateurs. Des tests unitaires, d’intégration et de charge ont servi à repérer les requêtes trop lentes avant la mise en ligne.

Ce que j’en retiens : écrire soi-même ce qu’un framework automatise coûte du temps une fois, et en fait gagner sur tous les projets suivants.

Voir la démo en ligne

Projet suivant

PGI Coffee Shop

Voir l’étude de cas