PnX-SI / UsersHub-authentification-module

Module Flask d'authentification de UsersHub
GNU General Public License v3.0
5 stars 13 forks source link

Faire de UHAM un package autonome #1

Closed ksamuel closed 7 years ago

ksamuel commented 7 years ago

Bonjour Amandine,

Samuel Priou m'a donné pour mission de créer un logiciel pour gérer les autorisations de circulation sur le parc du Mercantour. L'une des demandes est d'utiliser UsersHub pour gérer les comptes utilisateur, et il m'a redirigé sur ton module comme solution adaptée à Python.

Comme nous utilisons Flask et SQLAlchemy, tes modèles et routes sont en effet un bon point de départ pour l'authentification dans notre projet.

Néanmoins dans sa structure actuelle le projet est fait pour être utilisé comme un submodule de TaxHub. Il part du principe que ce dernier est installé, utilisant notamment des effets de bords du fichiers server.py, et supposant que le schema de la base postgres est déjà en place.

Afin de pouvoir bénéficier du code de ton projet, j'ai travaillé à en faire un package autonome. Voici un résumé des aménagements :

J'en ai profité pour faire quelques corrections PEP8.

Comme je ne voulais pas casser les projets existant, j'ai mis en places quelques mesures pour pouvoir encore utiliser le projet comme submodule dans TaxHub:

J'aimerais voir avec toi si il est possible de merger ces modifications dans ton projet original à travers cette PR. Si il y a des modifications à apporter pour le permettre, je suis disposé à les faire.

Avant cela néanmoins, je n'ai pas eu la possibilité de tester le projet sur TaxHub (je n'ai pas de documentation pour l'installer). N'ayant pas non plus de tests unitaires à lancer dans les deux projets, il m'est difficile de valider le code que je propose. Si cette PR t'interesse, pourrais-tu vérifier si je casse quelque chose en installant mon code sur une machine de test avec TaxHub en tant que submodule (comme vous faites en prod) et voir si ça marche comme prévu ?

Si tout se passe bien et que le projet continue de marcher avec TaxHub, les prochaines étapes seraient:

Je suis disponibles les prochains jours afin de pouvoir discuter de tout cela.

Cordialement,

Kevin

camillemonchicourt commented 7 years ago

Merci pour ces éléments et ce travail. En effet à terme, il faudrait même que ce sous-module soit complètement déconnecté de TaxHub. TaxHub est utilisé au PNM pour la gestion de la taxonomie de GeoNature. Sinon le projet est ici : https://github.com/PnX-SI/TaxHub et la doc ici : http://taxhub.readthedocs.io (pas revue depuis un moment).

gildeluermoz commented 7 years ago

Merci pour cette contribution. Je laisse Amandine l'analyser sur le plan technique. Sur le plan stratégique et conceptuel, il me semble intéressant de faire de ce sous module un module d'authentification générique et autonome. En effet, le module d'authentification peut/doit avoir sa propre connexion à une base UsersHub, indépendamment de l'application qui utilise ce module. Il peut fonctionner de manière autonome (connexion et modèle de données) et récupérer les informations nécessaires à l'authentification sur une base qui n'est pas celle de l'application métier. Ceci permet d'envisager de l'utiliser dans une application qui n'aurait pas besoin d'embarquer dans sa base le schéma utilisateurs de UsersHub.