Échange de données 1

L'objectif de cette série d'exercices est d'implémenter le traitrement serveur correspondant aux clients vues précédemment

rb
Calcul du personnage
def character(firstname, lastname, birthday)
date_of_birth = Date.strptime(birthday, "%Y-%m-%d")

typeValue = firstname.count("aeiouy") + lastname.count("aeiouy");
types = ["mage", "knight", "rogue", "barbarian", "monk", "druid", "ranger", "paladin"]
type = types[typeValue % types.length]

if typeValue.even?
name = "#{lastname} #{firstname}".reverse
else
name = (firstname + lastname).chars.shuffle.join.insert(typeValue, " ")
end

raceValue = (firstname.length + lastname.length) * date_of_birth.year / (date_of_birth.day + date_of_birth.month)
races = ["dwarf", "elf", "human", "orc", "fairy"]
race = races[raceValue % races.length]

{
name: name,
type: type,
race: race
}
end

Livre d'or

Créer un service web qui permet de récolter les commentaires laissés par les visiteurs d'un lieu/événement

  • Les messages sont enregistrés dans un fichier par le serveur
    • Vous devez définir le format utilisé pour enregistrer les données dans le fichier et la communication avec le client
    • Le fichier contient les données de chaque item publié
  • Le serveur offre 2 fonctionnalités
    • Liste des messages, du plus ancien au plus récent
    • Publication d'un message
      • Le serveur reçoit le nom et le message de l'utilisateur
      • Valider que les données ne sont pas vides et retourner "" si l'ajout fonctionne, sinon retourner un message d'erreur

API

http
Liste
GET / HTTP/1.1

===

...les messages...
http
Publication
POST / HTTP/1.1

...nouveau message...

===

""

~~~ Nom ou message vide

"Erreur ..."
  • Programmer un client qui exploite le serveur
    • Le client affiche la liste des messages existants et demande un message et le nom de l'auteur
    • Le client boucle jusqu'à ce qu'aucun message ne soit saisit

Client

Le livre d'or
=-=-=-=-=-=-=

Alice: First!!11!!1
Bob: Bravo!
Eve: J'ai adoré, à refaire!
...

Votre message: Bel endroit :)
Votre nom: James

=-=-=-=-=-=-=

Alice: First!!11!!1
Bob: Bravo!
Eve: J'ai adoré, à refaire!
...
James: Bel endroit :)

Votre message: allo
Votre nom:

Fournir un nom!

Votre message: