Projet personnel, né du constat qu'aucun site ne répertoriait les marques de vêtements indépendantes, et que les marques que je connaissais étaient mal triées/organisées.
Annuaire/Wiki pour des marques de vêtements indépendantes
- ├─Authentification admin via Supabase Auth et upload d'images via Supabase Storage.
- └─Schéma de base de données relationnel avec tables many-to-many.
// Difficultés rencontrées
- ├─Gérer des relations many-to-many propres entre marques et tags sans complexifier les requêtes.
- ├─Gérer un projet solo de bout en bout, sans supervision : planification, choix techniques et motivation sur la durée.
- └─Progresser en design frontend, un axe sur lequel je me sentais moins à l'aise, en travaillant particulièrement l'identité visuelle du site.
// Ce que j'en retiens
Une première vraie expérience de bout en bout avec Supabase (auth + storage + base de données relationnelle), et un travail plus poussé sur l'identité visuelle d'un projet perso.
Messagerie sécurisée
C#Projet scolaire, axé sur la sécurité des communications réseau.
Application desktop de messagerie (Client/Serveur) sécurisée.
- ├─Architecture réseau basée sur les Sockets TCP et sécurisation des flux via TLS 1.3.
- └─Implémentation d'une couche de sécurité : chiffrement symétrique (AES) et intégrité des données (SHA).
// Difficultés rencontrées
- ├─Gérer la concurrence et le multi-threading pour supporter plusieurs clients connectés simultanément sans blocage.
- └─Comprendre en profondeur le fonctionnement de TLS pour l'implémenter correctement, plutôt que d'utiliser une solution toute faite.
// Ce que j'en retiens
Une meilleure compréhension des mécanismes bas niveau de sécurité réseau (chiffrement, intégrité des données, gestion de sessions), au-delà de la simple utilisation de librairies prêtes à l'emploi.
Gestionnaire de documents
C#Projet scolaire : une application client-serveur permettant d'enregistrer des fichiers sur un serveur distant, avec une base de données d'utilisateurs pour gérer les accès.
Application desktop de gestion et de chiffrement de documents sensibles.
- ├─Implémentation d'algorithmes de cryptographie (AES) en C#.
- └─Gestion des permissions utilisateurs et sauvegarde locale sécurisée.
// Difficultés rencontrées
- ├─Sécuriser le transfert et le stockage des fichiers : chaque fichier est haché pour garantir son intégrité avant d'être enregistré côté serveur.
- └─Concevoir une base de données d'utilisateurs cohérente pour gérer les permissions d'accès aux documents.
// Ce que j'en retiens
Une meilleure compréhension du fonctionnement client-serveur en C#, ainsi que des mécanismes de hachage et de chiffrement pour garantir la sécurité et l'intégrité des données stockées.
Treasure Quest
Java, Swing, JUnit5Projet scolaire.
Jeu de recherche de trésors avec une architecture Superviseur/Vue.
- └─Architecture en triplets Superviseur/Interface de vue/Implémentation Swing, avec séparation stricte entre logique métier et affichage.
// Difficultés rencontrées
- ├─Choisir une collection adaptée pour représenter une carte non rectangulaire, en justifiant le choix par une analyse de complexité (CTT).
- └─Synchroniser plusieurs superviseurs entre eux (menu, partie en cours) sans créer de dépendances mutuelles, via une fabrique de jeu partagée.
// Ce que j'en retiens
Une meilleure compréhension des architectures qui séparent vue et logique métier (proche du pattern MVP), ainsi qu'une première vraie pratique de l'analyse de complexité algorithmique et de la couverture de tests.
Gestionnaire de tournois
PHP, SQL, MVCProjet scolaire : un site où les utilisateurs créent un compte, rejoignent des tournois, et suivent les affrontements sous forme d'arbre pour voir qui avance et qui gagne. Les tournois eux-mêmes se déroulaient dans la vraie vie — le site ne servait qu'à l'organisation et au suivi.
Plateforme de gestion de compétitions E-sport et sportives.
- └─Conception d'une base de données relationnelle complexe.
// Difficultés rencontrées
- ├─Concevoir une base de données relationnelle capable de gérer utilisateurs, tournois, participations et matchs de façon cohérente.
- └─Structurer la logique d'un arbre de tournoi (qui affronte qui, qui avance au tour suivant) de manière dynamique en fonction des résultats saisis.
// Ce que j'en retiens
Une bonne mise en pratique du pattern MVC pour structurer un site avec plusieurs entités liées entre elles, ainsi qu'une première approche de la modélisation de données relationnelles un peu complexes.