Ceci est une ancienne révision du document !
Projet Cloud
-- Contexte
Vous travaillez pour une entreprise qui souhaite mettre en place un système de Storage as a service (STaaS), permettant de mettre à disposition de ses clients un stockage de fichiers à distance. Vous êtes en charge d'une partie de l'application web permettant de gérer ce service.
-- Règles de gestion
Les clients peuvent disposer d'espaces de stockage (nommés disques) permettant de stocker leurs données. Chaque disque est loué à un certain tarif par le client ; le tarif comprend :
- Un prix (mensuel)
- Un quota (capacité de stockage exprimée dans une unité (o, Ko, Mo, Go ou To)
- Une marge de dépassement, à ne pas dépasser sous peine d'être facturé d'un surcoût.
Le client a la possibilité de changer de tarif à tout moment pour chaque disque, de façon à diminuer ou augmenter son quota, en fonction de ses besoins. L'historique des tarifs associés à un disque est conservé.
Le tarif courant appliqué à un disque est celui correspondant à la date la plus récente.
Chaque location de disque peut être associée à des services (backup, loadBalancer…).
L'historique d'occupation des disques est obtenu de manière automatisée par un script PHP lancé de manière quotidienne par une tâche CRON.