Professional Documents
Culture Documents
Vlos en libre-service
Le projet seffectue par groupe de 2 personnes. Vous pouvez contacter vos encadrants aux adresses :
Les rgles anti-plagiat de luniversit sappliquent votre travail et toute utilisation dlments ext-
rieurs devra tre explicitement voque et source. Vous pouvez discuter des diffrents aspects du projet
avec les autres groupes, mais toute copie partielle ou totale de code entre plusieurs groupes est interdite.
Rendu 2 : Code
Date : Mi-dcembre priori (date communique ultrieurement).
Format : Une unique archive contenant lensemble de vos fichiers de code et un fichier
README.txt expliquant brivement quoi correspond chaque fichier, dpose
sur Moodle. Pour crer une archive MonArchive.tar partir dun dossier
MonCode utilisez la commande Linux : tar cvf MonArchive.tar MonCode
Consignes : Implmentez dans PostgreSQL votre base de donnes et les requtes permet-
tant de lutiliser, en utilisant la modlisation effectue pour le Rendu 1 et les
consignes dtailles partir de la page 2.
Rendu 3 : Soutenance
Date : Jeudi 21/12 et vendredi 22/12.
Format : Prsentation orale par tous les membres du groupe.
Consignes : Vous dbuterez votre soutenance par une prsentation de votre travail.
Nous vous poserons ensuite des questions sur vos choix de modlisation, les
contraintes dintgrit utilises, les points forts et les points faibles de votre
approche, le fonctionnement de vos requtes, etc.
1
Dans ce projet, vous allez raliser une base de donnes pour un systme de location de vlos en libre-
service (de style Vlib). Les consignes de rendu ont t donnes la page prcdente (veillez indiquer
vos noms et prnoms dans le nom des documents dposs sur Moodle). Voici la description du sujet :
Concevez une base de donnes qui permette de grer la location de vlos en libre-service. Vous pou-
vez vous inspirer des systmes existants (comme Vlib dcrit prcdemment) ou ajouter vos propres
fonctionnalits. Regardez au pralable les requtes que vous serez amens implmenter (Section 3)
pour savoir quelles informations seront indispensables dans votre base. Vous commencerez par raliser le
modle conceptuel de donnes (schma entits-associations) pour le Rendu 1, puis vous pourrez passer
limplmentation dans PostgreSQL pour le Rendu 2. Utilisez les diffrents outils tudis en cours et
en TP (cls primaires/trangres, contraintes dintgrit, types adapts ...). Expliquez dans le rapport
(Rendu 2bis) et lors de la soutenance (Rendu 3) comment vous avez conu cette base de donnes, les
choix que vous avez effectus, les avantages, limites et amliorations possibles de votre systme, etc.
1. http://blog.velib.paris.fr/blog/2012/03/19/les-stations-bonus-de-la-plus-frequentee-a-la-plus-ardue/
2
Aide lutilisation de PostgreSQL
En plus de vos cours et TPs, vous tes encourags consulter la documentation en franais de
PostgreSQL disponible ici :
https://docs.postgresql.fr/10/
Les sections I. Tutoriel (https://docs.postgresql.fr/10/tutorial.html) et II. Langage
SQL (https://docs.postgresql.fr/10/sql.html) sont les plus intressantes. Il y est expliqu
comment compter, calculer un maximum, ajouter des contraintes lors de la cration dune table
(empcher un attribut dtre ngatif par exemple), faire des oprations mathmatiques, etc.
Vous pouvez galement consulter les fichiers Installation et commandes basiques pour
PostgreSQL et Quelques fonctionnalits PostgreSQL disponibles sur Moodle :
https://moodlesupd.script.univ-paris-diderot.fr/course/view.php?id=3673
Vous y trouverez notamment de laide sur la cration de requtes interactives (ce qui peut utile
pour la prsentation orale) et la manipulation des dates.
https://www.data.gouv.fr/fr/datasets/velib-paris-et-communes-limitrophes/
Difficult F
1. les vlos disponibles dans une station donne
2. tous les vlos en cours de location
3. le nombre de vlos en rparation
4. tous les trajets effectus par un utilisateur donn
5. le nombre de places encore disponibles dans chaque centre de rparation
6. les vlos pour lesquels une panne contenant le mot frein a t signale par un utilisateur
Difficult FF
1. les utilisateurs nayant jamais emprunt de vlo lectrique
2. les stations compltement vides ou compltement pleines
3
3. le plus long trajet effectu ce mois-ci par un utilisateur donn
4. les vlos qui nont t emprunts par personne au cours de la dernire semaine
5. le vlo qui a t le plus emprunt depuis le dbut
6. les vlos lectriques nayant jamais t emprunts par quelquun qui a dj emprunt un vlo manuel
Difficult FFF
1. la dure moyenne des trajets selon les tranches dge des utilisateurs
2. les vlos qui ont reu plus de trois signalements de pannes par des utilisateurs diffrents
3. le classement des utilisateurs selon le nombre de fois o ils ont t les derniers a utiliser un vlo
juste avant quune panne ne soit signale par lutilisateur suivant
4. les 100 vlos qui ne sont pas passs depuis le plus longtemps dans un atelier de rparation
5. les 10 stations o il y a eu le moins demprunts au cours du dernier mois
6. le rapport nombre de rparations / temps total dutilisation pour chaque vlo
Enfin, crez et implmentez 3 requtes supplmentaires de votre choix qui vous semblent pertinentes et
sont suffisamment complexes. Utilisez des jointures entre plusieurs tables, des requtes imbriques, des
conditions EXISTS ou IN, des oprateurs GROUP BY, HAVING, etc.
Expliquez dans le rapport (Rendu 2bis) quelles sont les difficults que vous avez pu rencontrer lors
de limplmentation de toutes vos requtes et comment vous les avez surmontes. Dtaillez galement les
3 requtes que vous avez choisies prcdemment. Enfin, trouvez une requte qui vous semble difficile (ou
impossible) effectuer dans votre modle, et suggrer une modification de votre modlisation initiale qui
faciliterait limplmentation de cette requte.
2. http://blog.velib.paris.fr/blog/2008/04/09/entretien-avec-les-responsables-de-la-regulation-velib/
comment-page-1/
3. http://blog.velib.paris.fr/blog/2014/11/28/prevoir-a-12h-la-disponibilite-des-velos/