Projets
Explorez mes projets académiques et personnels qui illustrent mes compétences en programmation, développement web et gestion de bases de données.
Classification automatique de dépêche
Le projet consiste à développer un programme capable de classifier automatiquement des dépêches journalistiques en les attribuant à l'une des cinq catégories prédéfinies : Environnement-Sciences, Culture, Économie, Politique, et Sports. Le processus repose sur l'utilisation de lexiques spécifiques à chaque catégorie, avec des mots-clés marqués par des poids représentant leur pertinence.
Compétences
- Programmation JAVA
- Algorithmique
- Analyse de données
- Implémentation d'un besoin client
- Comparaison d'approches algorithmiques
Objectifs
- Créer un programme de classification fiable et rapide
- Générer des lexiques spécifiques à chaque catégorie
- Attribuer correctement les dépêches à leurs catégories
- Obtenir un taux de précision élevé dans la classification
Techniques acquises
- Lecture et traitement de fichiers texte en Java
- Implémentation de méthodes de calcul de scores
- Collaboration efficace en équipe
- Implémentation d'un besoin client
Analyse et Modélisation de Base de Données - Naufrage du Titanic
Ce projet, réalisé en binôme, consiste à analyser le contexte historique et les données relatives au naufrage du Titanic afin de modéliser une base de données. Cette modélisation inclut la création d'un Schéma Entité-Association (SEA) et sa transformation en Schéma Logique de Relations (SLR). Les données sont ensuite implémentées dans une base PostgreSQL et des requêtes sont écrites pour vérifier la conformité des données.
Compétences
- Analyse de données historiques
- Modélisation de bases de données (SEA, SLR)
- Utilisation de PostgreSQL
- Écriture et exécution de requêtes SQL
- Validation et test des contraintes
Objectifs
- Comprendre et synthétiser les informations sur le naufrage
- Produire un SEA modélisant les données pertinentes
- Transformer le SEA en SLR et l'implémenter
- Écrire des tests pour vérifier les contraintes
- Extraire des informations pertinentes via des requêtes
Techniques acquises
- Maîtrise de PostgreSQL pour la création de bases de données
- Aptitude à écrire des requêtes SQL complexes
- Capacité à tester et valider des contraintes
Réalisation d'un site web pour une ESN
Dans le cadre d'un projet académique, j'ai travaillé sur la conception et la réalisation du site web institutionnel de Capgemini, une entreprise leader dans le secteur du numérique. L'objectif principal était de créer un site pratique et accessible, destiné aux élèves de 3ème en recherche de stage, en leur fournissant des informations compréhensibles sur l'entreprise.
Ce projet a été une opportunité pour moi de mettre en pratique les compétences acquises en cours, tout en développant de nouvelles aptitudes en gestion de projet et en communication.
Compétences
- Gestion de projet
- Recherche d'information
- Conception web
- Développement web
- Communication
- Collaboration en équipe
Objectifs
- Créer un site web sobre et écologiquement responsable
- Présenter Capgemini de manière claire et accessible
- Mettre en valeur la transition numérique et écologique
- Vulgariser les informations techniques
Techniques acquises
- Outils de conception: whimsical
- Gestion de contenu et structuration de l'information
- Collaboration en équipe avec répartition des tâches
Thibou
Thibou est une application web permettant d'optimiser le parcours des visiteurs dans un musée. Elle aide les utilisateurs à créer des itinéraires personnalisés en fonction de leurs préférences artistiques (mouvements, artistes, types d'œuvres). La plateforme intègre un système de gestion de comptes utilisateurs, un plan interactif du musée et des descriptions détaillées des œuvres exposées.
Compétences
- Développement web full-stack
- React & Next.js
- TypeScript
- Base de données PostgreSQL
- Authentification sécurisée
- UI/UX avec TailwindCSS
Objectifs
- Développer une interface utilisateur intuitive et responsive
- Gérer l'authentification et les profils utilisateurs
- Visualiser les parcours et les œuvres sur un plan interactif
- Assurer la sécurité des données utilisateurs
Techniques acquises
- Développement d'API REST avec Next.js
- Modélisation de données avec Drizzle ORM
- Création de composants React réutilisables
- Gestion de la sécurité
- Intégration de visualisations interactives
Carnet de Stage
Carnet de Stage est une solution complète pour la gestion des stages étudiants, comprenant un back-office administratif et une application mobile. Cette plateforme permet aux étudiants de consulter les offres de stage, de soumettre des candidatures, et de suivre leur progression. Les administrateurs peuvent gérer les offres, suivre les candidatures et communiquer avec les étudiants via une interface web sécurisée.
Compétences
- Développement back-end avec Symfony 5.4
- Développement mobile Android (Java)
- API REST avec API Platform
- Base de données PostgreSQL
- Architecture client-serveur
Objectifs
- Concevoir une plateforme de gestion complète des stages
- Développer une API REST sécurisée pour la communication client-serveur
- Créer une application mobile intuitive pour les étudiants
- Implémenter une gestion des candidatures et offres de stage
- Assurer la sécurité des données utilisateurs
Techniques acquises
- Développement d'API REST avec Symfony
- Modélisation de données avec Doctrine ORM
- Gestion d'authentification
- Développement Android avec Java
- Communication HTTP client-serveur
- Conception d'interfaces utilisateur mobiles
- Tests d'API avec Postman
École des Loustics
École des Loustics est une application éducative Android conçue pour aider les enfants à développer leurs compétences en mathématiques et en culture générale de manière ludique. L'application propose différents mini-jeux incluant des exercices d'additions, des tables de multiplication, des questions de culture générale, ainsi qu'un jeu de Chifoumi. Elle permet de créer des profils d'utilisateurs pour suivre les progrès et scores de chaque enfant.
Compétences
- Développement Android natif (Java)
- Architecture MVC
- Gestion de base de données avec Room
- Interface utilisateur adaptée aux enfants
- Gestion de données utilisateur
- Animation et interaction tactile
Objectifs
- Créer une application éducative engageante pour les enfants
- Développer plusieurs mini-jeux pédagogiques
- Implémenter un système de profils utilisateurs
- Intégrer un système de score et de progression
- Concevoir une interface simple et intuitive
- Offrir une expérience d'apprentissage ludique
Techniques acquises
- Développement d'applications Android avec Java
- Conception d'interfaces utilisateur avec XML
- Gestion de persistance de données avec Room Database
- Utilisation des SharedPreferences pour stocker des données utilisateur
- Implémentation d'algorithmes de jeux
- Navigation entre activités avec Intent
- Gestion des résultats d'activité avec ActivityResultLauncher
ACDeces - Gestion de Pompes Funèbres
ACDeces est une application de gestion d'événements spécialisée dans le domaine des pompes funèbres. Elle permet de gérer les différents aspects logistiques liés aux obsèques : contrats, employés, véhicules, prestations et rendez-vous clients. L'application dispose d'un calendrier intégré pour planifier les événements et visualiser les disponibilités. Elle implémente un système complet de persistence des données permettant de sauvegarder et restaurer l'état de l'application entre les sessions.
Compétences
- Développement Java avec JavaFX
- Architecture MVC
- Interfaces graphiques FXML
- Gestion de données avec sérialisation
- Implémentation de systèmes de formulaires complexes
- Organisation et structure d'un projet professionnel
Objectifs
- Développer une application de gestion complète pour pompes funèbres
- Implémenter un système de planification d'événements
- Créer une interface utilisateur intuitive avec JavaFX
- Concevoir un système de persistance des données
- Gérer les contraintes métier spécifiques au domaine funéraire
- Permettre la gestion des ressources humaines et matérielles
Techniques acquises
- Conception d'applications Java avec architecture MVC
- Création d'interfaces utilisateur avec JavaFX et FXML
- Implémentation de mécanismes de persistance de données
- Gestion des événements JavaFX et création de contrôleurs
- Organisation de code selon les principes de l'orienté objet
- Utilisation des collections Java pour la gestion des données