Conversation
|
Je trouve cette initiative très pertinente ! L’idée d'avoir Swagger UI pour l’API JSON-RPC est vraiment bonne.
|
|
Maintenabilité : il y a 2 sujets
Sur la partie sécurité je n'ai fait que ouvrir l'accès au répertoire /docs donc rien de sensible. Mais je pourrais aussi créer un nouveau répertoire /swagger pour ne pas toucher à l'existant et laisser la doc inaccessible, ça se discute. |
|
Je te rejoint sur la premier point. Pour le second, c'est relativement claire avec tes explications. Je pense qu'il faudrait a minima une doc pour décrire la marche à suivre. Et éventuellement une note dans la phpdoc de l'api avec le lien. Pour la sécurité, je ne pense pas non plus que ce soit critique, mais c'est toujours préférable de le signaler. |
25da5c2 to
5381842
Compare
f4b99f0 to
0be90ee
Compare
There was a problem hiding this comment.
Concernant l'aspect sécurité et d'ouvrir l'accès, je ne suis pas d'accord.
Ca reste du code à maintenir, y a du js, une faille peut arriver et servir de rebond et cette partie est inutile dans plus de 90% des installations.
La surface d'attaque doit toujours est réduite au minimum, là on ouvre parce que "c'est plus simple". Ce n'est pas la bonne approche selon moi.
Soit:
- Le swagger doit être hébergé sur un site propre.
- cela ne doit être ouvert que si "installation en mode dev" (concept qui n'existe pas sous jeedom)
Mais sur une installation de "prod", ca doit être fermé.
|
Ok je comprends ton argument, c'est vrai je pourrais laisser le Après, c'est quand même du code entièrement généré, il est maintenu par une équipe, on a juste à le regénérer + commit lorsqu'il y a des mises à jours sur leur repo (et ils sont plus réactifs que jeedom) (haha elle était facile celle la) et on pourrait aussi faire un workflow pour automatiser cette mise à jour. Mais d'un autre côté j'ai fait la même PR sur le repo doc de jeedom ici où il a toute sa place. Je comprendrais tout à fait un ref-flag ici et qu'on ferme cette PR. Mais dans ce cas, à quoi sert le rep |
Description
le
swagger-uitel que présenté sur le communityhttps://community.jeedom.com/t/documentation-open-api-et-generation-de-code-automatique/141421
le but est d'avoir la doc au plus proche du code, ainsi je propose de l'héberger et l'avoir disponible localement:
http://localhost/docs/swagger-ui/index.html (le résultat ici https://pifou25.github.io/jeedom-ui)
J'ai donc supprimé le .htaccess dans /docs et modifié celui de racine pour autoriser l'accès. (Toute la doc dispo en format markdown mais bloquée par le .htaccess ça n'est pas très utile)
Mais peut-être vous préférez héberger la doc uniquement sur le repo documentation et mettre ce swagger à côté ou à la place de l'existante https://doc.jeedom.com/fr_FR/core/4.1/jsonrpc_api ?
Suggested changelog entry
swagger-ui for Json-RPC API
Related issues/external references
Fixes #
Types of changes
PR checklist