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

De JVFlux
(Création et prototypage de l'article)
 
Aucun résumé des modifications
 
(10 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 =
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énérer les cookies 'auth' et 'sess', 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]])
== Endpoints ==
=== Tous les utilisateurs ===
=== Réservés aux modos et aux admins ===


== Utilisation ==
== Fonctionnement général du site ==
=== Connexion ===
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
|
|}
 
==== <u>Réservés aux modos et aux admins</u> ====
{| class="wikitable"
|+
!Description
!URL
!METHOD
!BODY
|-
|
|admin/unbanip
|POST
|
|-
|
|admin/banip
|POST
|
|-
|
|admin/unban
|POST
|
|-
|
|admin/ban
|POST
|
|-
|
|admin/jail
|POST
|
|-
|
|admin/unjail
|POST
|
|-
|
|message/remove/
|POST
|
|}
{{SectionRéférences}}
[[Catégorie:Onche.org]]

Dernière version du 31 mars 2024 à 18:20

Cet article est en cours de rédaction ou de réécriture. La version que vous lisez n'est pas définitive et peut manquer d'informations importantes ou de sources.

L'API (interface de programmation d'application) du forum Onche.org, est utilisée de manière analogue à l'API de Jeuxvideo.com, permettant d'interagir facilement avec le forum depuis une application, un site, ou n'importe quels autres programmes extérieurs.

Fonctionnement général du site[modifier | modifier le wikicode]

Le site utilise principalement 3 bibliothèques pour son fonctionnement.[1]

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.[2]

API[modifier | modifier le wikicode]

Endpoints[modifier | modifier le wikicode]

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.

Disponibles pour tous les utilisateurs[modifier | modifier le wikicode]

Description URL METHOD BODY
JSON des stickers stickers/favorites GET
notifications (forum + mp) JSON notifications/count GET
liste utilisateurs online user/logged GET

Réservés aux modos et aux admins[modifier | modifier le wikicode]

Description URL METHOD BODY
admin/unbanip POST
admin/banip POST
admin/unban POST
admin/ban POST
admin/jail POST
admin/unjail POST
message/remove/ POST

Références[modifier le wikicode]