Gestion de location de Grimoires [Clef en main]

Prologue

Cette fiche projet met l’accent sur les phases de création d’un projet.
Elle a été conçue pour pouvoir avancer sur une étape sans forcément avoir fait les autres.
Choisissez de suivre la fiche au fur et à mesure, ou creusez le sujet de votre choix plus spécifiquement.

Chaque étape est importante et propose l’utilisation d’outils spécifiques, qui peuvent etre adaptés ou remplacés, en fonction du besoin et des préférences de chacun·e.

A vous de jouer !

Contraintes générales

  • Groupes: libres
  • Langage: ruby
  • Durée de la séquence: 2 semaines

Plénières

  • Création de schemas UML (par exemple un diagramme de classe) avec l’exemple du concours de cuisine

Contexte

Lauréline Fleury vient de reprendre les rênes de la célèbre librairie Fleury & Bott, à la suite de son père. Et elle compte bien lui faire un coup de neuf!

Tout d’abord, car elle a constaté que la plupart de ses clients ne relisaient jamais deux fois leurs livres, elle a décidé d’arrêter la vente pour se lancer dans la location de livres. (C’est bien plus écologique !)

Ensuite, car il faut se faire connaitre plus loin que juste le Chemin de Traverse et ses environs, elle a planifié d’ouvrir un site reprenant l’ensemble de son offre.

Vous avez décidé de répondre à son offre pour l’aider dans cette entreprise.

Voici quelques informations qu’elle a tenu à indiquer sur sa demande de projet:

Bonjour,
Merci d’avoir accepté de répondre à mon annonce !
Je souhaite créer un site internet qui me permettrait de louer les oeuvres littéraires que la boutique possède.

Nous avons un ensemble de catégories assez large, comprenant des grimoires d’incantation, des livres de cuisine elfiques, des livres sur l’histoire de la magie, des manuels scolaires ou encore des contes et légendes.
Certains sont ensorcelés, d’autres non.

L’idéal serait de permettre à nos clients de louer toutes ces merveilles au minimum une journée, et au maximum à l’année. Bien sur, chaque édition a un stock limité chez nous. Certains livres sont très rares !
Il y aura besoin de voir la couverture des livres, car certains grimoires informent de leur contenu par la simple vue de leur couverture.

La clientèle devra etre en mesure de se créer un compte pour pouvoir louer les oeuvres. Grace à cela, elle pourra suivre les locations qu’elle a effectué, et savoir si elle est en retard de rendu.

Enfin, je vais avoir besoin d’une sorte de panneau d’administration pour gérer toutes ces catégories et ajouter de nouveaux livres. Ça me permettra aussi de spécifier le tarif de location de chacun des livres.

Merci d’avance pour cette aide précieuse !

1. Phase d’analyse

Laureline Fleury attend de vous une première présentation de son site, pour etre sure que vous vous etes bien compris. Pour cela, vous vous etes mis d’accord pour mettre en place divers documents:

  • des maquettes du futur site,
  • une liste complète des fonctionnalités qu’aura le site,
  • quelques schémas explicatifs pour comprendre comment se passera une location ou la création d’un nouveau livre disponible

Objectifs pédagogiques

  • Mieux appréhender comment échanger avec un·e client·e (que ce soit un·e collègue de travail ou un·e client·e externe),
  • Prendre le temps de mieux cerner le besoin d’une personne non technique,
  • Traduire les besoins exprimés en maquettes et diagrammes compréhensibles par d’autres

Ressources

Dans cette phase du projet, vous avez carte blanche.
Néanmoins, si vous souhaitez quelques idées, voici une liste de documents sur lesquels vous pourriez vous entrainer:

  • Une maquette pour chaque écran possible de l’application (le plus simple et rapide est une version papier. Voici une piste pour les personnes qui souhaiteraient creuser des outils plus complexes),
  • Un document de spécifications fonctionnelles reprenant les fonctionnalités que vous prévoyez de proposer,
  • Des schemas. En utilisant par exemple l’outil UML, langage de modélisation unifié, vous pourriez fournir un diagramme de contexte, des diagrammes de cas d’utilisation et des diagrammes d’activité.

2. Phase de conception

Avec Lauréline, vous vous etes mis d’accord sur comment sera la plateforme de location de grimoires.
Il est maintenant temps de clarifier les aspects techniques de l’application, comme comment stocker les données que l’application va gérer ou quels blocs techniques contiendra l’application.

Objectifs pédagogiques

  • Réfléchir aux aspects techniques d’un projet avant de se lancer dans le code, pour anticiper ses contraintes et problématiques
  • Mieux cerner le cout logiciel, matériel et humain du projet en clarifiant ce qui sera nécessaire

Ressources

Lors de cette étape, vous pourriez fournir à Lauréline, en utilisant par exemple l’outil UML, les diagrammes suivants:

3. Phase de planification

Lauréline est ravie de tous les documents que vous lui avez fourni. Elle arrive à se projeter dans sa future application de location et imagine déjà tous ces professeurs prestigieux de l’école d’à coté se connecter pour l’utiliser.

Elle se demande quelles sont les premieres parties de l’application qui pourraient etre mises en place, et quel serait le planning de construction des différentes fonctionnalités dont vous avez discuté.

Vous l’aurez deviné, le but est ici de réfléchir à un petit planning de développement:

  • par quoi commence t-on ?
  • qui est dans l’équipe ?
  • quelles sont les envies ou compétences de chacun·e ?
  • quelles sont les dépendances entre les blocs applications / les fonctionnalités ?
  • Peut-on faire une estimation de chacune des étapes ?
  • Quels sont les problèmes possibles (humains, techniques, organisationnels, etc) qui pourraient arriver pendant ce projet et impacter sur le planning ?

Objectifs pédagogiques

  • Mise en place d’un planning d’équipe collaboratif
  • Comprehension des dépendances entre les différentes étapes de construction d’un projet de programmation
  • Essayer d’organiser un déroulement de développement de projet

4. Phase de construction

Lauréline n’a qu’une hate, c’est de pouvoir tester la fameuse application. Elle s’est renseigné et voudrait une application qui soit plutot robuste. Elle ne voudrait pas qu’un·e de ses client·es tombe sur un bug et ne puisse plus rien faire !

Elle veut donc que son application soit testée automatiquement !

Dans cette phase, vous avez le choix entre vous lancer sur une vraie application avec toutes les fonctionnalités discutées au dessus, ou proposer une preuve de concept avec une fonctionnalité minimale si vous manquez de temps. Seule condition (C’est Lauréline qui l’a demandé): l’application a besoin d’etre testée.

Objectifs pédagogiques

  • Manipulation du langage Ruby
  • Possible utilisation d’un framework du langage Ruby
  • Mise en place de tests pour rendre l’application plus robuste
  • Travail en équipe

5. Phase de déploiement

Vous avez pu montrer l’application à Lauréline, sur votre ordinateur personnel. Elle est RA-VIE !
Il va maintenant falloir passer aux choses sérieuses, et la rendre accessible à tout le monde.
Trouvez un outil qui vous convient et mettez l’application en « production ». :rocket:

Objectifs pédagogiques

  • Manipulation d’outils de mise en production et d’hébergement

Ressources

  • Certains outils, comme Heroku, proposent leurs services gratuitement aux petits projets

6. Pour aller plus loin

Quelques fonctionnalités en plus

Voici des idées de fonctionnalités que vous pourriez ajouter au site de Lauréline, si vous continuez cette coopération fructueuse:

  • Ajout d’un planning pour gérer les évènements (comme les dédicaces de Gilderoy Lockhart, par exemple),
  • Permettre à la clientèle de donner un avis sur les livres loués,
  • Ajouter un planning des disponibilités détaillé pour chaque livre,
  • Rendre disponible une messagerie pour pouvoir contacter Lauréline Fleury autrement que par un miroir à double sens ou une beuglante.

La confidentialité des données

Lauréline Fleury a beau etre une magicienne confirmée, si elle ne fait pas attention aux données de sa clientèle, les enquêteurs moldus viendront lui chercher des noises. Il serait interessant de faire un suivi des informations

Ressources

Le suivi des statistiques de l’application

Pour améliorer ses fins de mois et enfin pouvoir se payer une pensive pour ses vieux jours, Lauréline aimerait suivre le déroulement de ses ventes de près et savoir ce qui intéresse le plus sa clientèle.
Pensez-vous pouvoir lui installer un outil pour cela ?

Objectifs pédagogiques

  • Découvrir et comprendre comment installer et utiliser des outils de visualisation de données et de mesure statistique

Ressources

  • Des outils validés par la CNIL, comme Matomo, existent et proposent ce type de services

Le référencement

Lauréline a pour ambition que son application soit vue par le plus de sorcières et de sorciers au monde. Essayez de voir comment faire en sorte que les potentiels client·es interessé·es trouvent facilement le site avec une recherche.

Ressources

L’accessibilité

Lauréline Fleury est bien embêtée. Elle a parmi ses fidèles clients la Professeure Sibylle Trelawney, aussi myope qu’un niffleur.
Il va donc falloir rendre la plateforme de location accessible, pour permettre à plus de monde d’y accéder

Ici, au choix, amusez vous à vérifier quels sites sont accessibles, quels sites ne le sont pas. Ou essayez de mettre en place des solutions sur l’application développée pour Lauréline.

Ressources

Le bric-a-brac des ressources

2 J'aimes