API End Points¶
Tous les points de sortie¶
Objet |
Methode |
Url |
Explication |
Fonction appelée |
|---|---|---|---|---|
Articles |
GET |
/api/articles |
||
Informations |
GET |
/api/informations |
||
Surveys |
GET |
/api/sondages |
||
Displays |
GET |
/api/displays |
||
Meals |
GET |
/api/meals |
||
Profs Absent |
GET |
/api/profsAbs |
||
Post Vote |
GET |
/api/postVote |
||
Get Tweets |
GET |
/api/tweets |
||
Get Meteo |
GET |
/api/meteo |
Articles¶
Récupère les articles visibles et les renvoie en JSON
Fonction associée : ApiServer.views.getArticles()
Exemple :
GET /api/articles
Retourne :
[
{
"title": "Mon bel article",
"article": "Lorem ipsum blabla il est joli l'article pas vrai",
"image": "Articles/IMG_5532_rTKf30T.png",
"date_creation": "2022-01-17",
"author": {
"first_name": "Elo",
"last_name": "Rap"
},
"date_last_modif": "2022-01-07"
}
]
Informations¶
Récupère les informations visibles et les renvoie en JSON
Fonction associée : ApiServer.views.getInfos()
Exemple :
GET /api/infos
Retourne :
[
{
"message": "Internat fermé jusque nouvel ordre !",
"type": {
"id": 1,
"name": "Important"
},
"date_creation": "2022-01-22",
"author": {
"first_name": "Elo",
"last_name": "Rap"
}
}
]
Type d’informations:
ID |
Nom |
Comportement |
|---|---|---|
1 |
Important |
Texte en rouge sur les écrans |
2 |
Lambda |
Aucun comportement |
Surveys¶
Récupère les sondages visibles, avec les réponses associées et les renvoie en JSON
Fonction associée : ApiServer.views.getSurveys()
Exemple :
GET /api/sondages
Retourne :
[
{
"id": 1,
"author": 1,
"subject": "Combat de MMA entre le proviseur et les AED",
"date_creation": "2022-01-22",
"date_end": "2022-02-06",
"answers": [
{
"id": 1,
"text": "Pour"
},
{
"id": 2,
"text": "Contre"
}
]
}
]
Displays¶
Récupère l’écran et la page associée au paramètre code_name dans l’url de la requêtes et retourne les infos sous format JSON.
Fonction associée : ApiServer.views.getDisplays()
Paramètres
Nom |
Type |
Exemple de valeur |
|---|---|---|
code_name |
str |
viescolaire |
Exemple :
GET /api/displays?code_name=viescolaire
Retourne :
[
{
"code_name": "viescolaire",
"name": "Vie scolaire Bat C",
"page": "Article + Profs abs + Agenda + Twitter"
}
]
Meals¶
Récupère le menu correpondant au paramètre date et retourne ses infos sous format JSON
Fonction associée : ApiServer.views.getMeals()
Paramètres
Nom |
Type |
Exemple de valeur |
|---|---|---|
date |
str |
2022-01-19 |
Exemple :
GET /api/meals?date=2022-01-19
Retourne :
[
{
"date": "2022-01-19",
"is_midday": true,
"meal": {
"1": [
"Pâté en croûte ",
"Salade verte oignons frits"
],
"2": [
"Poisson pané ",
"Côte d'agneau"
],
"3": [
"Légumes grillés ",
"Gratin dauphinois"
],
"4": [
"eau"
],
"5": [
"Fromage",
"Yaourt"
],
"6": [
"Fruit de saison",
"Mousse chocolat ",
"Ananas chantilly"
]
}
},
]
Profs Abs¶
Récupère les profs absent correpondant à la date d’aujourd’hui et retourne les infos sous format JSON
Fonction associée : ApiServer.views.getProfsAbs()
Exemple :
GET /api/profsAbs
Retourne :
[
{
"prof": "JESUS R.",
"debut": "2022-01-19T21:15:25Z",
"fin": "2022-01-19T23:15:35Z"
}
]
Post Votes¶
Poste le vote d’un utilisateur dans la DB à l’aide de l’username du password et de l’id du vote
Retourne le status de la requête, si tout s’est bien passé ou non
Fonction associée : ApiServer.views.postVote()
Paramètres
Nom |
Type |
Exemple de valeur |
|---|---|---|
username |
str |
EloRap |
password |
str |
123 |
vote |
int |
1 |
Exemple :
GET /api/postVote?vote=1&username=EloRap&password=123
Retourne :
[
{
"code": 200
"message": ""
}
]
Code :
Code |
Message |
Explication |
|---|---|---|
200 |
Tout à bien fonctionné, le vote est posté |
|
400 |
Il manque une information ! (soit vote, soit identifiants) |
Une des informations est manquante dans la requête |
403 |
Les identifiants sont invalides |
Le couple username/password ne correspondent à aucun user dans la DB |
404 |
Aucun sondage en cours |
Aucun sondage n’est en cours |
404 |
Mauvaise réponse |
La réponse du vote donné n’existe pas / n’est pas trouvé dans la DB |
Tweets¶
Récupère les 5 derniers tweets du lycée bourdelle et les retourne sous format JSON
Fonction associée : ApiServer.views.getTweets()
Exemple :
GET /api/tweets
Retourne :
{
"data": [
{
"text": "ERASMUS avec les collèges @Col_Despeyrous ...",
"created_at": "2022-01-21T09:47:27Z"
},
{
"text": "ERASMUS+ LP BOURDELLE: signatures des con ...",
"created_at": "2022-01-13T10:26:51Z"
},
{
"text": "09/11/21 Les Term STL @LyceeBourdelle au m...",
"created_at": "2022-01-11T08:13:50Z"
},
{
"text": "ORIENTATION AMBITIEUSE @LyceeBourdelle : p...",
"created_at": "2021-12-17T16:36:49Z"
},
{
"text": "ERASMUS +@LyceeBourdelle : voyage préparat...",
"created_at": "2021-12-17T16:11:51Z"
}
],
"meta": {
"oldest_id": "1471875800865689601",
"newest_id": "1484462637899526147",
"result_count": 5
}
}
Météo¶
Renvoie la météo du jour avec les prévisions sur 2 jours sour format JSON
Voir l’api de OpenWeatherMap pour plus d’infos sur la data renvoyée
Fonction associée : ApiServer.views.getMeteo()
Exemple :
GET /api/tweets
Retourne :
Avertissement
Toutes les informations transmises par /api/meteo ne sont pas dans cet exemple car sinon
l’exemple serait beaucoup trop long et peu utile. Donc, se trouve dans cet exemple,
seules les informations que le projet utilise ou jugées utiles.
{
"hourly": [
{
"dt": 1642878000,
"temp": 3.47,
"feels_like": 3.47,
"weather": [
{
"id": 800,
"main": "Clear",
"description": "clear sky",
"icon": "01n"
}
],
},
],
"today": {
"dt": 1642852800,
"temp": {
"day": 5.78,
"min": -0.33,
"max": 6.83,
"night": 2.47,
"eve": 3.33,
"morn": -0.33
},
"feels_like": {
"day": 4.4,
"night": 2.47,
"eve": 3.33,
"morn": -0.33
},
"weather": [
{
"id": 800,
"main": "Clear",
"description": "clear sky",
"icon": "01d"
}
],
}
}