Skip to content

Specifications

Martial SOMDA edited this page May 3, 2013 · 14 revisions

JCertif Facade est le back-end des applications JCertif (Android, Web, etc...).

Objets

Login

Champ Type Format Obligatoire Unique Commentaire
email String x@y.z X X Adresse email du participant
password String X Mot de passe du participant
version String Version de modification de la donnée
deleted String Indique si la donnée a été supprimée

Referentiel

Champ Type Format Obligatoire Unique Commentaire
label String X Libellé
version String Version de modification de la donnée
deleted String Indique si la donnée a été supprimée

Participant

Champ Type Format Obligatoire Unique Commentaire
email String x@y.z X X Adresse email du participant
password String X Ce champ est valorisé uniquement lors de la création d'un participant.
title String (referentiel) X
lastname String X Nom de famille
firstname String X Prénom
website String Site web, blog
city String X Ville
country String X Pays
company String Entreprise du participant
phone String Numéro de téléphone
photo String url complète vers la photo du participant
biography String Biographie du participant
sessions List Liste d'identifiant de sessions auquel est inscrit le participant
version String Version de modification de la donnée
deleted String Indique si la donnée a été supprimée

Speaker

Champ Type Format Obligatoire Unique Commentaire
email String x@y.z X X Adresse email du participant
password String X Ce champ est valorisé uniquement lors de la création d'un présentateur.
title String (référentiel) X
lastname String X Nom de famille
firstname String X Prénom
website String Site web, blog
city String X Ville
country String X Pays
company String Entreprise du participant
phone String Numéro de téléphone
photo String url complète vers la photo du participant
biography String Biographie du participant
version String Version de modification de la donnée
deleted String Indique si la donnée a été supprimée

Sponsor

Champ Type Format Obligatoire Unique Commentaire
email String x@y.z X X Adresse email du sponsor
name String X Nom du sponsor
logo String X URL vers le logo
level String (voir référentiel) X Niveau de partenariat
website String X Site web, blog
city String X Ville
country String X Pays
phone String Numéro de téléphone
about String Présentation de l'entreprise
version String Version de modification de la donnée
deleted String Indique si la donnée a été supprimée

Session

Champ Type Format Obligatoire Unique Commentaire
id Entier X Identifiant de la session
title String X Titre de la session
summary String X Résumé
description String X Descriptif du déroulement
status String (voir référentiel) X Statut de la session
keyword String X Mots clés
category List X Liste d'identifiants de categorie. Exemple : [12,25,44]
start Date-Heure X Date/Heure de début
end Date-Heure X Date/heure de fin
speakers List Liste des adresses email des présentateurs. Exemple : [lab@jcertif.org, rossi.oddet@yahoo.fr]
salle Entier Identifiant de la salle où va se dérouler la session
version String Version de modification de la donnée
deleted String Indique si la donnée a été supprimée

Site

Champ Type Format Obligatoire Unique Commentaire
id Entier X X Identifiant du site
name String X Nom du site
street String X Nom et numéro de rue
city String X Ville
country String X Pays
contact String X Contact du site (Email ou numéro de de téléphone)
website String Site web
description String X Description du site
photo String url complète vers la photo du site
version String Version de modification de la donnée
deleted String Indique si la donnée a été supprimée

Room

Champ Type Format Obligatoire Unique Commentaire
id Entier X X Identifiant du site
name String X Nom ou numéro de la salle
site Entier X Identifiant du site d'appartenance de la salle
seats Entier X Nombre de places de la salles
description String Description de la salle et de ses particularités
photo String Url complète de la photo de la salle
version String Version de modification de la donnée
deleted String Indique si la donnée a été supprimée

Services REST

Version

Service REST HTTP URL Données en requête Données en réponse
Obtenir la version des données sponsors GET /version/sponsor Plusieurs réponses possibles :
  • Si OK => HTTP 200 : Numéro. Exemple : 1256
  • Si erreur technique => HTTP 500 : 'message'
Obtenir la version des données sessions GET /version/session Réponses possibles :
  • Si OK => HTTP 200 : Numéro. Exemple : 1256
  • Si erreur technique => HTTP 500 : 'message'
Obtenir la version des données d'un participant GET /version/{email} Réponses possibles :
  • Si OK => HTTP 200 : Numéro. Exemple : 1256
  • Si erreur technique => HTTP 500 : 'message'

Participant

Service REST HTTP URL Données en requête Données en réponse
Obtenir la liste des participants GET /participant/list des objets Participant au format JSON.
Exemple : {email : 'lab@jcertif.org', lastname : 'Gates', fistname : 'Bill' }
Veuillez à valoriser tous les champs obligatoires.
Plusieurs réponses possibles :
  • Si OK => HTTP 200 : OK
  • Si requête invalide => HTTP 400 : 'lastname,firstname' (liste des champs en erreurs)
  • Si erreur technique => HTTP 500 : 'message'
Créer un participant POST /participant/register un objet Participant au format JSON.
Exemple : {email : 'lab@jcertif.org', lastname : 'Gates', fistname : 'Bill' }
Veuillez à valoriser tous les champs obligatoires.
Plusieurs réponses possibles :
  • Si OK => HTTP 200 : OK
  • Si requête invalide => HTTP 400 : 'lastname,firstname' (liste des champs en erreurs)
  • Si erreur technique => HTTP 500 : 'message'
Mettre à jour un participant POST /participant/update un objet Participant au format JSON.
Exemple : {email : 'lab@jcertif.org', lastname : 'Gates', fistname : 'Bill' }
Veuillez à valoriser tous les champs obligatoires.
Plusieurs réponses possibles :
  • Si OK => HTTP 200 : OK
  • Si requête invalide => HTTP 400 : 'lastname,firstname' (liste des champs en erreurs)
  • Si erreur technique => HTTP 500 : 'message'
Supprimer un participant POST /participant/remove Plusieurs réponses possibles :
  • Si OK => HTTP 200 : OK
  • Si requête invalide => HTTP 400 : 'lastname,firstname' (liste des champs en erreurs)
  • Si erreur technique => HTTP 500 : 'message'
Vérifier les informations de connexion d'un participant POST /participant/login un objet Login au format JSON.
Exemple : {email : 'lab@jcertif.org', password : 'Blabla'}
Plusieurs réponses possibles :
  • Si OK => HTTP 200 : objet Participant
  • Si requête invalide => HTTP 400 : 'login,password' (les deux champs sont toujours retournés
  • Si erreur technique => HTTP 500 : 'message'
Récupérer les informations d'un participant GET /participant/get/{email} Les réponses possibles :
  • Si OK => HTTP 200 : objet Participant
  • Si requête invalide => HTTP 400 : 'email'
  • Si erreur technique => HTTP 500 : 'message'
Inscrire un participant à une session POST /participant/{email}/session/add/{idsession} Plusieurs réponses possibles :
  • Si OK => HTTP 200 : OK
  • Si erreur technique => HTTP 500 : 'message'
Désinscrire un participant à une session POST /participant/{email}/session/remove/{idsession} Plusieurs réponses possibles :
  • Si OK => HTTP 200 : OK
  • Si erreur technique => HTTP 500 : 'message'
Récupérer la liste des sessions d'un participant GET /participant/{email}/session/list Plusieurs réponses possibles :
  • Si OK => HTTP 200 : Liste des identifiants de session
  • Si erreur technique => HTTP 500 : 'message'
Réinitialiser le mot de passe POST /participant/{email}/lostpassword Plusieurs réponses possibles :
  • Si OK => HTTP 200 : Liste des identifiants de session
  • Si erreur technique => HTTP 500 : 'message'
Changer de mot de passe POST /participant/{email}/changepassword Objet JSON : {oldpassword : 'blabvl', newpassword : 'jjj'} Plusieurs réponses possibles :
  • Si OK => HTTP 200 : OK
  • Si erreur technique => HTTP 500 : 'message'

Sponsor

Service REST HTTP URL Données en requête Données en réponse
Liste des sponsors GET /sponsor/list Plusieurs réponses possibles :
  • Si OK => HTTP 200 : liste d'objet Sponsor au format JSON.
    Exemple : {{email : 'lab@jcertif.org', name : 'Android2ee'},{email : 'douglas@objis.com', name : 'Objis'}}
    Veuillez à valoriser tous les champs obligatoires.
  • Si erreur technique => HTTP 500 : 'message'
Liste des sponsors modifiés depuis un version GET /sponsor/list/{version} Plusieurs réponses possibles :
  • Si OK => HTTP 200 : liste d'objet Sponsor au format JSON.
    Exemple : {{email : 'lab@jcertif.org', name : 'Android2ee'},{email : 'douglas@objis.com', name : 'Objis'}}
    Veuillez à valoriser tous les champs obligatoires.
  • Si erreur technique => HTTP 500 : 'message'
Créer un sponsor POST /sponsor/new Plusieurs réponses possibles :
  • Si OK => HTTP 200
  • Si erreur technique => HTTP 500 : 'message'
Mettre à jour les données d'un sponsor POST /sponsor/update objet Sponsor au format JSON.
Exemple : {{email : 'lab@jcertif.org', name : 'Android2ee'}}
Plusieurs réponses possibles :
  • Si OK => HTTP 200
  • Si erreur technique => HTTP 500 : 'message'
Supprimer un sponsor POST /sponsor/remove Plusieurs réponses possibles :
  • Si OK => HTTP 200
  • Si erreur technique => HTTP 500 : 'message'

Speaker

Service REST HTTP URL Données en requête Données en réponse
Liste des présentateurs GET /speaker/list Plusieurs réponses possibles :
  • Si OK => HTTP 200 : liste d'objet Speaker au format JSON.
    Exemple : {{email : 'bill@jcertif.org', lastname : 'Gates'},{email : 'douglas@objis.com', lastname : 'Mbiandou'}}
  • Si erreur technique => HTTP 500 : 'message'
Liste des présentateurs modifiés depuis une version GET /speaker/list/{version} Plusieurs réponses possibles :
  • Si OK => HTTP 200 : liste d'objet Speaker au format JSON.
    Exemple : {{email : 'bill@jcertif.org', lastname : 'Gates'},{email : 'douglas@objis.com', lastname : 'Mbiandou'}}
  • Si erreur technique => HTTP 500 : 'message'
Inscrire un présentateur POST /speaker/register un objet Speaker au format JSON.
Exemple : {email : 'lab@jcertif.org', lastname : 'Gates', fistname : 'Bill' }
Veuillez à valoriser tous les champs obligatoires.
Plusieurs réponses possibles :
  • Si OK => HTTP 200 : OK
  • Si erreur technique => HTTP 500 : 'message'
Mettre à jour un présentateur POST /speaker/update un objet Speaker au format JSON.
Exemple : {email : 'lab@jcertif.org', lastname : 'Gates', fistname : 'Bill' }
Veuillez à valoriser tous les champs obligatoires.
Plusieurs réponses possibles :
  • Si OK => HTTP 200 : OK
  • Si erreur technique => HTTP 500 : 'message'
Supprimer un présentateur POST /speaker/remove Plusieurs réponses possibles :
  • Si OK => HTTP 200 : OK
  • Si erreur technique => HTTP 500 : 'message'

Session

Service REST HTTP URL Données en requête Données en réponse
Liste des sessions GET /session/list Plusieurs réponses possibles :
  • Si OK => HTTP 200 : liste d'objet Session au format JSON.
    Exemple : {{email : 'bill@jcertif.org', lastname : 'Gates'},{email : 'douglas@objis.com', lastname : 'Mbiandou'}}
  • Si erreur technique => HTTP 500 : 'message'
Liste des sessions modifiées depuis une version/td> GET /session/list/{version} Plusieurs réponses possibles :
  • Si OK => HTTP 200 : liste d'objet Session au format JSON.
    Exemple : {{email : 'bill@jcertif.org', lastname : 'Gates'},{email : 'douglas@objis.com', lastname : 'Mbiandou'}}
  • Si erreur technique => HTTP 500 : 'message'
Proposer une session POST /session/new un objet Session au format JSON.
Exemple : {title : 'Blu blu', summary : 'Bla bla'}
Veuillez à valoriser tous les champs obligatoires.
HTTP 200
Mettre à jour une session POST /session/update un objet Session au format JSON.
Exemple : {title : 'Blu blu', summary : 'Bla bla'}
Veuillez à valoriser tous les champs obligatoires.
HTTP 200
Supprimer une session POST /session/remove HTTP 200

Référentiel

Service REST HTTP URL Admin Données en requête Données en réponse
Liste des niveaux de partenariat GET /ref/sponsorlevel/list HTTP 200 : liste d'objet Referentiel au format JSON.
Exemple : [{"label" : "Diamant"},{"label" : "Or"}]
Créer un niveau de partenariat GET /ref/sponsorlevel/new X HTTP 200
Supprimer un niveau de partenariat GET /ref/sponsorlevel/remove X HTTP 200
Liste des statuts des sessions GET /ref/sessionstatus/list HTTP 200 : liste d'objet Referentiel au format JSON.
Exemple : [{"label" : "Approuvé"},{"label" : "Brouillon"}]
Créer un statut de session GET /ref/sessionstatus/new X HTTP 200
Supprimer un statut de session GET /ref/sessionstatus/remove X HTTP 200
Liste des civilités GET /ref/title/list HTTP 200 : liste d'objet Referentiel au format JSON.
Exemple : [{"label" : "Mr"},{"label" : "Mlle"}]
Créer une civilité POST /ref/title/new X HTTP 200
Supprimer une civilité POST /ref/title/remove X HTTP 200
Liste des categories GET /ref/category/list HTTP 200 : liste d'objet Referentiel au format JSON.
Exemple : [{"label" : "HTML5"},{"label" : "Android"}]
Liste des categories modifiées depuis une version GET /ref/category/list/{version} HTTP 200 : liste d'objet Referentiel au format JSON.
Exemple : [{"label" : "HTML5"},{"label" : "Android"}]
Créer une catégorie POST /ref/category/new X HTTP 200
Supprimer une catégorie POST /ref/category/remove X HTTP 200

Site

Service REST HTTP URL Admin Données en requête Données en réponse
Liste des sites GET /site/list HTTP 200 : liste d'objets Site au format JSON.
Exemple : [{"name" : "Mercure Hotel", "street" : "01 rue du triomphe", "city" : "Brazzaville", "country" : "Congo Brazzaville", "contact" : "contact@mercurebrazza.com"}]
Obtenir les informations d'un site GET /site/get/{idSite} HTTP 200 : un objet Site au format JSON.
Exemple : [{"name" : "Mercure Hotel", "street" : "01 rue du triomphe", "city" : "Brazzaville", "country" : "Congo Brazzaville", "contact" : "contact@mercurebrazza.com"}]
Enregistrer un nouveau site POST /site/new X Un objet Site au format JSON. Plusieurs réponses possibles :
  • HTTP 200 => OK
  • HTTP 409 => Site déjà existant
  • HTTP 403 => Utilisateur n'ayant pas les droits admin
  • HTTP 500 => Erreur inattendue
Supprimer un site POST /site/remove X Identifiant du site Plusieurs réponses possibles :
  • HTTP 200 => OK
  • HTTP 404 => Site inexistant
  • HTTP 403 => Utilisateur n'ayant pas les droits admin
  • HTTP 500 => Erreur inattendue
Mettre à jour un site POST /site/update X Un objet Site au format JSON. Plusieurs réponses possibles :
  • HTTP 200 => OK
  • HTTP 404 => Site inexistant
  • HTTP 403 => Utilisateur n'ayant pas les droits admin
  • HTTP 500 => Erreur inattendue

Room

Service REST HTTP URL Admin Données en requête Données en réponse
Liste des salles GET /room/list HTTP 200 : liste d'objet Salle au format JSON.
Exemple : [{"name" : "Printemps"},{"name" : "Hivers"}]
Liste des salles d'un site GET /site/{idSite}/room/list HTTP 200 : liste d'objet Salle au format JSON.
Exemple : [{"name" : "Printemps"},{"name" : "Hivers"}]
Obtenir les informations d'une salle GET /room/get/{idRoom} HTTP 200 : UN objet Salle au format JSON.
Enregistrer une nouvelle salle POST /room/new X Un objet Room au format JSON. Plusieurs réponses possibles :
  • HTTP 200 => OK
  • HTTP 409 => Salle déjà existante
  • HTTP 404 => Site inexistant
  • HTTP 403 => Utilisateur n'ayant pas les droits admin
  • HTTP 500 => Erreur inattendue
Mettre à jour une salle POST /room/update X IUn objet Room au format JSON Plusieurs réponses possibles :
  • HTTP 200 => OK
  • HTTP 404 => Site inexistant ou salle inexistante
  • HTTP 403 => Utilisateur n'ayant pas les droits admin
  • HTTP 500 => Erreur inattendue
Supprimer une salle POST /room/remove X Identifiant de la salle Plusieurs réponses possibles :
  • HTTP 200 => OK
  • HTTP 404 => Site inexistant ou salle inexistante
  • HTTP 403 => Utilisateur n'ayant pas les droits admin
  • HTTP 500 => Erreur inattendue
Clone this wiki locally
You can’t perform that action at this time.