Le site développeur Gladys 3 en lecture seule / continuité des instances Gladys 3

Salut à tous,

Cela fait un bout de temps que j’y pensais, et j’aimerais vous en parler avant de presser le bouton :slight_smile:

Pour l’instant le site développeur Gladys 3 tourne toujours ( https://developer.gladysassistant.com/fr/ ), mais compte tenu des développements qui sont tournés vers la v4, ce site n’est plus qu’utile qu’en lecture seule: il n’y a plus de nouveaux modules ajoutés, plus de nouveaux comptes développeurs créés.

Ce site n’est actuellement plus qu’utile que pour son API qui est appelée lorsqu’on se rend dans l’onglet “Modules” de Gladys 3.

Ma priorité, c’est d’assurer la continuité de ce service pour les instances Gladys 3 qui tournent toujours: l’API fonctionnera toujours, ne vous inquiétez pas :slight_smile:

En revanche, le site développeur actuel n’a plus trop de sens: il induit en erreur les nouveaux arrivants qui pensent que les modules Gladys sont pour Gladys 4, le système de compte n’est plus utilisé.

De mon côté, maintenir cette plateforme à un coût: surtout un coût en temps.

J’ai donc décidé de faire quelque chose de très simple: transformer cette API dynamique en API statique. J’ai écris un petit script ( voir sur github ) qui boucle sur tous les modules de l’API et qui extrait leurs informations en JSON. Puis, je n’ai plus qu’à héberger ces fichiers sur une plateforme de site statique pour avoir une API statique qui ne bouge pas, et qui ne demande plus de maintenance :slight_smile:

J’ai utilisé l’excellent Netlify pour héberger l’API, et j’ai généré un fichier de configuration pour mapper les routes d’API aux bons fichiers JSON.

Le résultat est disponible pour l’instant sur une URL Netlify, et après vos retours je migrerais le DNS du site développeur vers Netlify. Pour les instances Gladys 3, ce sera transparent.

Voilà un exemple d’appel API:

Sur l’ancien site: https://developer.gladysassistant.com/api/v1/modules/radioemitter?lang=fr
Sur la nouvelle API: https://eager-wright-cf1c2b.netlify.app/api/v1/modules/radioemitter?lang=fr

1 Like

DNS migré, l’API est désormais statique et tourne chez Netlify + mise en cache par Cloudflare :slight_smile:

2 Likes

Si ça vous intéresse, j’ai détaillé le process sur un thread Twitter:

Le site statique de l’API est bien entendu open-source: