← Retour aux compétences

Création et gestion d’une base de données avec MySQL Workbench

Ce que j’ai fait

J’ai conçu un schéma de base de données adapté aux besoins du projet, écrit des requêtes SQL pour manipuler et interroger les données, et utilisé MySQL Workbench pour visualiser et administrer la base. Ce travail m’a permis d’appliquer concrètement les notions théoriques vues en cours.

Ce que j’ai appris

Cette expérience m’a permis de maîtriser les fondamentaux de la gestion de bases de données relationnelles, l’écriture de requêtes complexes, et l’utilisation d’outils professionnels pour l’administration et le suivi des données. J’ai également découvert l’importance de la structuration et de la normalisation pour garantir la cohérence et la performance.

Lien avec un projet ultérieur

Ces compétences ont été essentielles pour le projet de gestion de la collection de jeux, où nous avons amélioré et optimisé la base de données initiale. J’ai participé à la refonte du schéma et à l’optimisation des requêtes, ce qui a permis d’améliorer la performance et la fiabilité de l’application.

Difficultés rencontrées et solutions mises en place

La conception du schéma a parfois été complexe, notamment pour modéliser des relations multiples et assurer la normalisation. J’ai travaillé en collaboration avec l’équipe pour revoir plusieurs versions et tester les performances, ce qui a permis d’aboutir à une base robuste et efficace.

Compétence : SQL MySQL Workbench draw.io dbdiagram.io phpMyAdmin Niveau : ★★★☆☆

Surpriz’Me, données et recommandation en local

  • Projet : Application mobile de recommandation en local (films, jeux de société, activités). L’objectif était de proposer des recommandations personnalisées à partir d’un profil utilisateur, sans compte et sans connexion internet.
  • Période : Semestre 5 (3ème année de BUT Informatique), durée : 6 mois, projet en groupe de 5.
  • Lien : Voir le projet sur GitHub

Ce que j’ai fait

J’ai travaillé sur la structuration des données et leur préparation pour la recommandation. Nous avons organisé les contenus (catégories, durée, nombre de personnes, difficulté, tags…) puis transformé ces informations en représentations exploitables (notamment vecteurs) afin de comparer les contenus au profil utilisateur.

Le profil était construit à partir des interactions (likes / dislikes) et l’ensemble des données était stocké en local, via une base de type NoSQL manipulée et structurée avec Hive.

Ce que j’ai appris

Ce projet m’a appris à concevoir des données réellement exploitables par un système de recommandation : choisir les bons attributs, normaliser/encoder (ex. one-hot), et maintenir la cohérence pour éviter des biais ou des incohérences dans les résultats.

J’ai aussi compris l’importance de garder une structure commune quand on a plusieurs approches de recommandation, afin que l’application reste cohérente de bout en bout.

Difficultés rencontrées et solutions mises en place

La difficulté a été de garder des données cohérentes alors que nous avions 3 algorithmes de recommandation (et donc des besoins un peu différents) et que, côté équipe, nous n’avions pas tous les mêmes goûts. Sans une structure commune, les résultats pouvaient varier de façon “bizarre” d’un algo à l’autre.

Pour stabiliser tout ça, nous avons uniformisé les attributs/tags, défini des règles claires (valeurs attendues, encodage), et ajouté des vérifications pour éviter les données manquantes ou incohérentes avant de lancer la recommandation.

Compétence : NoSQL Hive Data structuration Qualité Niveau : ★★★★☆

SAÉ S6, génération de diagrammes de Voronoï (données et validation)

  • Projet : Réalisation d’une interface (Python / Pygame) permettant de générer et visualiser un diagramme de Voronoï à partir d’un fichier contenant une liste de points, avec export en PNG.
  • Période : Semestre 6, durée : ~1 mois, projet en groupe de 6.
  • Lien : GitHub (SAÉ Voronoï)

Ce que j’ai fait

J’ai contribué au chargement des données : import du fichier de points, stockage des coordonnées et préparation des données pour le calcul (transformation en “germes”).

Les données étaient stockées dans un fichier JSON afin de pouvoir modifier ou ajouter des points facilement sans changer le code, tout en gardant un format stable pour le traitement et l’affichage.

Ce que j’ai appris

J’ai appris l’importance d’un format clair et stable (structure JSON) : la qualité des entrées et la validation (cas limites, cohérence) sont essentielles pour éviter des comportements inattendus.

Le projet a aussi été enrichi par la comparaison de nos solutions avec des approches proposées par des IA, ce qui m’a aidée à mieux comprendre les choix techniques possibles.

Difficultés rencontrées et solutions mises en place

Une difficulté a été d’anticiper les formats et les cas “imparfaits” (fichiers mal formés, coordonnées hors plage, peu de points). Sans validation, l’interface pouvait échouer ou afficher un résultat incohérent.

Pour y faire face, nous avons stabilisé le format JSON, ajouté des vérifications et testé régulièrement avec des jeux de points variés avant de lancer la génération.

Compétence : JSON Import fichier Validation Qualité Niveau : ★★★★☆