« Documentation de l'API Onche.org » : différence entre les versions

aucun résumé des modifications
Aucun résumé des modifications
 
(7 versions intermédiaires par 3 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
{{CadreTravaux}}
{{Bannière Travaux}}
l'API de [[Onche.org]] est utilisée sur le site pour gérer une partie des actions des utilisateurs (Quand un utilisateur se connecte, quand il ajoute un topic à ses favoris, etc).
L''''API''' (''interface de programmation d'application'') du forum '''[[Onche.org]]''', est utilisée de manière analogue à l'[[Documentation de l'API Jeuxvideo.com|API de Jeuxvideo.com]], permettant d'interagir facilement avec le [[forum]] depuis une application, un site, ou n'importe quels autres programmes extérieurs.
= API =
 
== Fonctionnement général du site ==
== Fonctionnement général du site ==
Le site utilise les bibliothèques [https://jquery.com/ jQuery] pour faire la plupart des appels API, [https://github.com/js-cookie/js-cookie JavaScript Cookie] pour gérer les cookies, et [https://react.dev/ React] pour l'UI. (Pourquoi utiliser React et jQuery ? la présence de jQuery est peut-être du à l'héritage de [[Stakha]])
Le site utilise principalement 3 bibliothèques pour son fonctionnement.<ref name=":0">https://onche.org/js/license.txt</ref>
 
* [https://jquery.com/ ''jQuery''] pour la majorité des appels à l'API.<ref name=":0" />
* [https://github.com/js-cookie/js-cookie ''JavaScript Cookie''] pour la gestion des cookies.<ref name=":0" />
* [https://fr.react.dev/ ''React''] pour la conception de l'interface utilisateur.<ref name=":0" />
 
L'inclusion simultanée de React et jQuery est une pratique peu commune. Cela s'avère problématique du fait des disparités de fonctionnement entre ces deux bibliothèques, pouvant engendrer une multitude de bugs, une baisse de performance notable et compliquer la mise en œuvre de nouvelles fonctionnalités, ainsi que la maintenance des fonctionnalités existantes.<ref>https://stackoverflow.com/a/51304632</ref>
 
== API ==
 
=== <u>Endpoints</u> ===
Il y a différents niveaux d'accès en fonction du status de l'utilisateur, le serveur évalue le niveau d'accès en fonction du cookie '''''auth'''''.
 
==== <u>Disponibles pour tous les utilisateurs</u> ====
{| class="wikitable"
|+
!Description
!URL
!METHOD
!BODY
|-
|JSON des stickers
|stickers/favorites
|GET
|
|-
|notifications (forum + mp) JSON
|notifications/count
|GET
|
|-
|liste utilisateurs online
|user/logged
|GET
|
|}


== Endpoints ==
==== <u>Réservés aux modos et aux admins</u> ====
=== Tous les utilisateurs ===
=== Réservés aux modos et aux admins ===
{| class="wikitable"
{| class="wikitable"
|+
|+
Ligne 50 : Ligne 83 :
|
|
|}
|}
 
{{SectionRéférences}}
== Utilisation ==
[[Catégorie:Onche.org]]
=== Connexion ===
12 150

modifications