Retour aux projets

Architecture Full-Stack
Ancien Portfolio

2024 | Projet Personnel | Développement Web

Avant la version actuelle, j'ai développé un premier portfolio entièrement dynamique. L'objectif n'était pas seulement de présenter mes travaux, mais de créer un véritable outil de gestion de contenu (CMS) sur mesure, capable d'automatiser l'ajout de projets et d'interagir avec les visiteurs.

Ce projet met en avant une maîtrise du Backend : connexion à une base de données MySQL, gestion des sessions utilisateurs et mise en place d'un système de droits d'accès complexe (RBAC) pour sécuriser l'interface d'administration.

PHP / MySQL Gestion de BDD Sécurité Web
Structure MySQL

1. Modélisation de la BDD

Conception d'une structure relationnelle permettant de stocker les projets, les utilisateurs et les commentaires. L'utilisation de clés étrangères assure l'intégrité des données entre les différentes tables.

Gestion des permissions

2. Gestion des Rôles (RBAC)

Mise en place d'un système de permissions : un Visiteur ne voit que les projets, un Évaluateur accède à des détails académiques et à un système de commentaire, et l'Admin gère l'intégralité du contenu via des formulaires sécurisés.

3. Automatisation du Contenu

Développement d'une interface d'ajout de "traces" automatisée. Le système traite les données du formulaire, gère l'upload des images et met à jour instantanément la galerie publique sans toucher au code.

Approche Technique :

Le focus a été mis sur la robustesse du code plutôt que sur l'esthétique. J'ai utilisé PHP pour la logique serveur et MySQL pour la persistance des données. Chaque interaction utilisateur est vérifiée côté serveur pour garantir que personne ne puisse modifier un projet sans les droits d'administration nécessaires.

Le défi technique :

Le plus gros challenge a été de gérer la logique d'affichage conditionnel. Il fallait s'assurer que l'expérience utilisateur soit fluide et cohérente quel que soit le rôle, tout en protégeant les routes sensibles du site contre les accès non autorisés.

Compétences Validées (Développer) :

  • Backend : CRUD (Create, Read, Update, Delete) complet.
  • Sécurité : Hashage des mots de passe et gestion des sessions.
  • Data : Requêtes SQL complexes et jointures.

Auto-Critique :

Si le backend est fonctionnel, le frontend manquait de maturité visuelle. Cette expérience m'a poussé à adopter une approche plus équilibrée pour mes projets suivants, en utilisant des frameworks plus modernes pour l'interface tout en gardant une logique back solide.

Vous avez aimé ce projet ?

Votre idée mérite, elle aussi, de voir le jour.

Lancer mon projet