Bonjour à tous,
Dans le cadre d’un exercice, je dois construire une application en POO sous PyCharm, mais sans interface graphique (on utilisera donc cette appli depuis la console). Je dois pour ce faire séparer les couches métier et DAO, ce que je n’avais jamais fait avant, et c’est entre autres cela qui me pose problème.
Voici en quoi doit consister l’application:
Elle doit gérer les temps et les classements de courses d’athlétisme, je m’explique:
Cette appli s’adresse d’une part à des visiteurs lambdas (sans besoin de se connecter) qui désirent soit rechercher des courses prévues, soit consulter des courses passées (classement et chronos de tout le monde) soit consulter une fiche coureur de n’importe quel coureur ayant déjà participé à une course (fiche regroupant tous les chronos+classements des courses auxquelles ce coureur a déjà participé).
D’autre part cette appli s’adresse également aux "organisateurs" de courses (besoin de se connecter). Les organisateurs sont les seuls à:
-pouvoir inscrire (le un coureur à une course (c’est mal fait mais un coureur ne peut s’inscrire lui même)
-pouvoir créer/modifier/supprimer une nouvelle course (libellé/date et heure/lieu/distance)
-un organisateur peut créer autant de courses qu’il le souhaite mais ne peut pas toucher à celles des autres.
Ce que l’on me donne:
-Un ficher de quelques courses au format csv (je peux en ajouter ou en supprimer à ma guise)
-Un fichier csv répertoriant N coureurs. Je n’ai pas besoin de créer d’autres coureurs supplémentaires, mais pour chaque course i, je vais appeler une API que l’on me donne pour générer Ni coureurs pari ces N
Comme je le disais au début, mon gros point de blocage est la DAO, notion que l’on vient de m’introduire. En effet, je vais devoir créer sur SQL une table Coureurs, une table Courses ainsi qu’une table organisateurs (enfin je suppose).
D’après ce que j’ai compris la couche DAO, par le biais des requêtes SQL, va faire le lien entre la couche métier et mes tables SQL. Mais concrètement, je n’ai aucune idée de la manière d’implémenter cela…
Si quelqu’un pouvait m’éclairer sur ce sujet,
Merci d’avance,
Alexouu