Boulangerie

La boulangerie

Simulation de production et gestion de ressources en temps réel.

Vous devez créer cette aplication avec VueJS.

Objectifs

L’objectif de cet exercice est de créer une simulation de production et de gérer des commandes entrantes associées à cette production.

Contexte

La boulangerie

Le boulanger est LE spécialiste des baguettes.

Pour fabriquer ses baguettes, le boulanger a besoin de farine.

Pour produire sa farine, le boulanger doit acheter des moulins.

Pour acheter des moulins, le boulanger a besoin d’or.

Lorsque la boulangerie est ouverte, le boulanger crée des baguettes à la chaine.

Pour augmenter la cadence de production, le boulanger doit améliorer sa boulangerie.

Pour améliorer sa boulangerie, le boulanger a besoin d’or.

La boulangerie gènère des faibles coûts de maintenance (en or) indexés sur son niveau.

Pour gagner de l’or, le boulanger vend ses baguettes.

Augmenter le niveau de la boulangerie augmente également sa popularité. La qualité des baguettes s’améliore et leur prix augmente en conséquence.


Les commandes

Le boulanger vend ses baguettes à la commande.

Le boulanger gère ses commandes dans une file d’attente.

La file d’attente peut contenir au maximum 10 commandes.

Pour chaque commande :

Le boulanger peut accepter ou refuser une commande.

Une commande acceptée ne peut plus être annulée.

Les commandes sont traitées dans l’ordre dans lequel elles ont été acceptées.

Une commande est livrée lorsque la boulangerie dispose de suffisemment de baguettes pour satisfaire la commande.

Lorsqu’une commande est livrée, le boulanger gagne le montant total de la commande en or.


Formules (prix, production, commandes…)

Soit :

Boulangerie

Notoriété et commandes

Le nombre de baguettes pour chaque commande est indexé sur le niveau de la boulangerie. Il est déterminé au hasard à la création de la commande et calculé selon ces règles:

Le prix unitaire est également indexé sur le niveau de la boulangerie. Il est déterminé au hasard à la création de la commande et calculé selon les règles suivantes:

Moulins

Farine

Baguettes

Interface

La boulangerie

Créer une page web et représentez les données de la boulangerie à l’identique de la capture suivante (la largeur du cadre s’adapte à la largeur de la fenêtre).

step

Les images se trouvent dans le répertoire assets. Certaines icônes (l’éclair, le sac d’or, la baguette…) ne sont pas des images mais des caractères UTF-8. A vous de trouver la manière de les afficher :) Recherchez sur ce site : https://www.utf8icons.com/.

Le bouton “ouvrir la boulangerie” permet de démarrer la production. Lorsque la boulangerie est ouverte, une fonction s’exécute toutes les secondes et les règles définies plus haut s’appliquent (perte d’or, production de farine…).

step

Ajouter un entête de page avec un titre et un tableau affichant le cumul des gains et pertes de ressources.

step

Validez le fonctionnement de votre application avec votre formateur avant de passer à la suite.

Les commandes

Sous la boulangerie, ajouter un bloc contant un tableau de 10 lignes (+ entête du tableau).

step

Chaque ligne de ce tableau correspond à un emplacement pouvant accueillir une commande. Pour chaque commande, le tableau indique :

Commandes en attente d’être acceptées/refusées :

step

Commandes en cours :

step

Comme pour la boulangerie, les informations du tableau sont actualisées une fois par seconde.

Lorsque la boulangerie est fermée, le tableau des commandes est réinitialisé.

Validez le fonctionnement de votre application avec votre formateur avant de passer à la suite.

Le journal

Sous le bloc des commandes, ajouter un noubeau bloc qui affichera les 20 derniers évènements :

step

Aperçu de l’interface complète :

step

Validez le fonctionnement de votre application avec votre formateur.

Lorsque vous avez terminé, proposez un système de sauvegarde de l’état actuel de la partie dans le navigateur avec l’api LocalStorage.