Aller au contenu

« Documentation de l'API Jeuxvideo.com » : différence entre les versions

JVClient, dépréciation de l'api GG, corrections sur v4, retrait bannière
m (→‎Queries des tests : Correction lien pastebin)
(JVClient, dépréciation de l'api GG, corrections sur v4, retrait bannière)
Ligne 1 : Ligne 1 :
{{Bannière Info|Contenu=Co-rédacteur de cet article, j'aurais besoin de l'aide d'un khey calé sur l'API de JVC et/ou le fonctionnement technique de jeuxvideo.com. J'ai plusieurs questions à poser en vue de la réalisation d'un projet informatique. (Edwado si tu passes par là…)<br>
Merci de me contacter sur JVC (pseudo ContrapunctusI{{CDV|Pseudo=ContrapunctusI}}). Toute aide sera appréciée.}}
L''''API de [[jeuxvideo.com]]''', utilisée à l'origine par les applications mobiles de jeuxvideo.com, permet de développer plus facilement des applications, sites Web, et autres scripts en rapport avec jeuxvideo.com.
L''''API de [[jeuxvideo.com]]''', utilisée à l'origine par les applications mobiles de jeuxvideo.com, permet de développer plus facilement des applications, sites Web, et autres scripts en rapport avec jeuxvideo.com.


Ligne 10 : Ligne 6 :


Les anciennes versions sont toujours exploitables avec les ''tokens'' qui leur sont propres{{Commentaire|Autre=potentiellement obsolète}}, mais certains ''endpoints'' renvoient des erreurs HTTP 403.
Les anciennes versions sont toujours exploitables avec les ''tokens'' qui leur sont propres{{Commentaire|Autre=potentiellement obsolète}}, mais certains ''endpoints'' renvoient des erreurs HTTP 403.
=JVClient=
[[File:icon-512x512.png|vignette|256px|Le logo de JVClient : « Le pouvoir par les données ».]]
[https://www.npmjs.com/package/jv-client '''JVClient'''] est une '''librairie Node.js''' écrite en TypeScript qui fournit des classes et des fonctions permettant d'interagir avec l'API v4 de jeuxvideo.com ainsi que le site JVC lui-même.
Publiée en février 2025, son objectif est de servir de base aux programmeurs pour le ''scraping'' de données sur des jeux, articles, forums, topics, etc. et pour l'exécution d'opérations nécessitant un compte connecté (comme poster des topics). Le code est ''open source'' et disponiblesur Github<ref>https://github.com/Contrapunctus-XIV/jv-client</ref>.
Elle dispose également d'une documentation complète<ref>https://contrapunctus-xiv.github.io/jv-client/</ref> qui explique en détail l'organisation des données de jeuxvideo.com.
{{clear}}


=Rétro-ingénierie de l'application mobile JVC=
=Rétro-ingénierie de l'application mobile JVC=
Ligne 135 : Ligne 141 :


<div id="sous-domaine"></div>
<div id="sous-domaine"></div>
== Comportement du sous-domaine ==
== Comportement du sous-domaine pour les forums ==
Il est intéressant de remarquer que l'API se comporte souvent en véritable sous-domaine, de manière similaire au site www.jeuxvideo.com de base : par exemple, si vous êtes sur un [[topic]] ou un [[forum]], il vous suffit de remplacer dans l'URL « www » par « api » et vous vous trouverez sur une page aux informations identiques quoique présentées de manière différente. Ainsi, les URL seront de la forme <code>https://api.jeuxvideo.com/forums/0-51-0-1-0-1-0-blabla-18-25-ans.htm</code>.
Il est intéressant de remarquer que l'API se comporte souvent en véritable site Web, qui réplique les forums du site www.jeuxvideo.com : par exemple, si vous êtes sur un [[topic]] ou un [[forum]], il vous suffit de remplacer dans l'URL « www » par « api » et vous vous trouverez sur une page aux informations identiques quoique présentées de manière différente. Ainsi, les URL seront de la forme <code>https://api.jeuxvideo.com/forums/0-51-0-1-0-1-0-blabla-18-25-ans.htm</code>. Il manque cependant de nombreuses fonctionnalités comme les pages de profils sur le sous-domaine API.


[[File:forum_api.png|vignette|350px|Le forum [[Blabla 18-25 ans]] sur le site de l'API.]]
[[File:forum_api.png|vignette|350px|Le forum [[Blabla 18-25 ans]] sur le site de l'API.]]
Ligne 144 : Ligne 150 :
{{clear}}
{{clear}}


==Endpoints « formels » ==
==Endpoints de service==
Il s'agit des ''endpoints'' « documentés » dans le code de l'application mobile et qui se comportent différemment des services de l'API qui ne se contentent que de « copier » le contenu JVC (voir sous-section précédente).
Il s'agit des ''endpoints'' « documentés » dans le code de l'application mobile et qui se comportent différemment des services de l'API qui ne se contentent que de « copier » le contenu JVC (voir sous-section précédente).
On rappelle que l'accès à ces ''endpoints'' nécessite un token d'authentification à fournir dans le header ''Jvc-Authorization''. Voir l'[[#annexe|annexe]] pour le générer.


'''URL de base''': ''<nowiki>https://api.jeuxvideo.com/v4/</nowiki>''  
'''URL de base''': ''<nowiki>https://api.jeuxvideo.com/v4/</nowiki>''  
Ligne 946 : Ligne 953 :
*[https://pastebin.com/LWNDQDKy Classe PHP] exploitant l'API (cette classe est incomplète et sera possiblement rendue obsolète dans le temps).
*[https://pastebin.com/LWNDQDKy Classe PHP] exploitant l'API (cette classe est incomplète et sera possiblement rendue obsolète dans le temps).


= API jvc.gg =
= API jvc.gg (dépréciée) =
{{Bannière Note|Contenu=Le contenu qui va suivre concerne l'ancienne API qui n'existe plus.}}
 
[[File:phoenix.png|300px|vignette|La page Phoenix des jeux.]]
[[File:phoenix.png|300px|vignette|La page Phoenix des jeux.]]


Cette API est une API distincte de la ''v4'' et utilisée par la partie Phoenix du site, c'est-à-dire les pages listant les jeux, ''reviews'', vidéos, etc., comme [https://www.jeuxvideo.com/tous-les-jeux/ celle-ci]. Elle est hébergée sur le domaine [https://api.jvc.gg api.jvc.gg].
Cette API était une API distincte de la ''v4'' et utilisée par la partie Phoenix du site, c'est-à-dire les pages listant les jeux, ''reviews'', vidéos, etc., comme [https://www.jeuxvideo.com/tous-les-jeux/ celle-ci]. Elle était hébergée sur le domaine [https://api.jvc.gg api.jvc.gg].
 
L'API est fermée début février 2025 à la suite de la refonte des pages Phoenix de JVC qui adoptent désormais le même fonctionnement que les autres pages du site.


{{clear}}
{{clear}}
Kheys
423

modifications