Développer un service web pour répondre aux besoins d'une page web existante et fournir des fonctionnalités complémentaires via un client en ligne de commande.
Créer l'application serveur qui supporte les fonctionnalités de ce client web.
require "securerandom"
p Random.uuid
nil
si faux, sinon la date-heure actuelle.require "date"
p DateTime.now.to_s
Affichage du client web
GET /
===
___Fichier taskor.html___
Liste des tâches
GET /tasks
=== Toutes les tâches, telles que dans le fichier
[
{ id: "...", name: "...", completed_at: null | "yyyy-mm-ddThh:mm:ss-0z:00" },
...
]
Créer une tâche, une tâche n'est PAS complétée par défaut
POST /new-task
{ name: "..." }
===
""
~~~ Si erreur de validation
"Message d'erreur"
Compléter ou non une tâche
POST /set-completed
{ id: "...", completed: true | false }
===
""
~~~ Si erreur de validation
"Message d'erreur"
Mettre à jour le nom
POST /update-name
{ id: ..., name: "..." }
===
""
~~~ Si erreur de validation
"Message d'erreur"
Supprimer une tâche
POST /remove-task
{ id: ... }
===
""
~~~ Si erreur de validation
"Message d'erreur"
Le client offre une interface console minimale pour permettre de manipuler les données via les routes existantes.
Liste des tâches supporte plusieurs paramètres d'URL optionnels pour ajuster les items affichés
GET /tasks?sort=___asc | desc___&name=___critère___&status=___pending | done___
===
[
...
]
~~~ Si erreur de validation
"Message d'erreur"
Paramètres vides, si les paramètres sont vides, ils ne sont pas envoyés
Taskor
------
Liste ou Ajout (L, A): L
Tri:
Recherche:
Status:
[ ] Nom A
[x] Nom B yyyy-mm-ddThh:mm:ss-0z:00
...
Validations
Taskor
------
Liste ou Ajout (L, A): L
Tri: patate
Recherche:
Status:
tri invalide, asc ou desc
Taskor
------
Liste ou Ajout (L, A): L
Tri: patate
Recherche:
Status: coucou
tri invalide, asc ou desc
status invalide, pending ou done
Paramètres
Taskor
------
Liste ou Ajout (L, A): L
Tri: desc
Recherche: ruby
Status: pending
...Seulement les tâches correspondantes...
Ajout
Taskor
------
Liste ou Ajout (L, A): A
Nom: Tâche C
Ajout réussis
Taskor
------
Liste ou Ajout (L, A): A
Nom:
Nom requis
17 octobre, 8h AM via LÉA
Nom: ____________________________________
Qualité de rédaction: Nomenclature, Formatage, Syntaxe | 0 |
Serveur | |
GET /, fichier html | 0 |
GET /tasks, toutes les tâches, données complètes, données de test | 0 |
Paramètres optionnels: sort, name, status, réponse | 0 |
POST /new-task, body json, validations, réponse, persistence | 0 |
POST /set-completed, body json, validations, réponse, persistence | 0 |
POST /update-name, body json, validations, réponse, persistence | 0 |
POST /remove-task, body json, validations, réponse, persistence | 0 |
Client | |
Menu: liste, ajout | 0 |
Liste: saisie tri, recherche, status, affichage résultat | 0 |
Requête Liste: route, paramètres url | 0 |
Opération: saisie, affichage résultat | 0 |
Requête Opération: route, paramètres json | 0 |
UI/UX cohérent | 0 |