Généralités
Le but premier de ce portail était de permettre aux demandeurs d’actes d’urbanisme de suivre
l’instruction de leurs
dossiers à distance.
Il était nécessaire d’exposer une interface de communication
entre le grand
public et la base
dorsale de la plateforme.
Besoins métiers
Défis
Les challenges étaient surtout d’ordre techniques :
-
Assurer la sécurité des APIs
-
Assurer la haute disponibilité de l’API
Mais aussi d’ordres managériaux. En effet, dans un souci de gain de temps, l’équipe de développement du portail WEB dépendait du format final de l’API afin de démarrer les développements de raccordement sans attendre que l’API soit complètement développée.
Solution
- Chez Zerofiltre, nous nous alignons constamment aux derniers standards de sécurité. En termes d’APIs Web, la préconisation est de mettre en place un système d’authentification se reposant sur des jetons jetables avec date d’expiration. Chaque utilisateur authentifié possède un jeton informant de qui il est. Ce dernier est signé numériquement afin de s’assurer non seulement de l’authenticité de l’utilisateur, mais aussi de l’intégrité des informations passées.
- Une seconde mesure de sécurité consistait à exposer des services ou ressources en fonction des rôles et permissions des utilisateurs qui souhaitent y accéder.
- Enfin, afin d’assurer la haute disponibilité 24h/7j des APIs, nous nous sommes appuyés sur des technologies s’assurant tout d’abord du (re)démarrage de plusieurs instances de serveurs en cas de fortes charges, et aussi d’un équilibrage de charge constant entre les instances. Les cas d'indisponibilités deviennent alors inexistants.
- Afin de fournir un contrat d’interface aux développeurs WEB, forme finale de l’API, nous avons généré la documentation de la dite API avec Swagger, et l’avons exposé tout en bouchonnant l’implémentation, permettant ainsi des tests de communication avec l’API.
Nos technologies
Celles qui rendent tout ceci possible
JWT
Spring Security
Swagger
Kubernetes
Implémentation
Les étapes d’implémentation comprenaient les phases suivantes :
-
Conception du contrat d’interface
-
Exposition d’une version bouchonnée
-
Implémentation
-
Sécurisation
-
Déploiement final
Roadmap
Plus value métier
La mise en place de cette API a permis le découplage du portail Web et de la base dorsale, entraînant:
- la décentralisation de la gestion des projets de développement de la plateforme
- la parallélisation des processus.
- l’économie de ressources.