Portail de suivi de demandes administratives


Développement d’une API REST sécurisée et flexible.






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.

overview-illustration

Besoins métiers

  • Après avoir déposé sa demande au sein des services de la communauté urbaine de la ville, le demandeur devrait, à partir de ses identifiants, pouvoir se connecter au portail et suivre l’état d’avancement de l’instruction de sa demande.
  • Pour satisfaire ce besoin, la plateforme devait être accessible 24h/7 et permettre uniquement aux ayant droit l’accès aux dossiers.
  • Le portail WEB, la seule interface entre l’utilisateur et le système, est totalement découplé de la base dorsale, d’où la nécessité d’APIs afin de faire office de pont.

Défis

Les challenges étaient surtout d’ordre techniques :

our challenges
  • chevron-down

    Assurer la sécurité des APIs

  • chevron-down

    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

architecture du moteur de signature
  • 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 icon

JWT

spring Security icon

Spring Security

Swagger icon

Swagger

Kubernetes icon

Kubernetes

Implémentation

Les étapes d’implémentation comprenaient les phases suivantes :

our implamentation
  • chevron-down

    Conception du contrat d’interface

  • chevron-down

    Exposition d’une version bouchonnée

  • chevron-down

    Implémentation

  • chevron-down

    Sécurisation

  • chevron-down

    Déploiement final

Roadmap

  • Conception du contrat d’interface:
    • Brainstorming
    • Analyse des besoins de la partie frontale
  • Déploiement d’une version bouchonnée:
    • Mise en place des interfaces à exposer
    • Mise en place des services d’implémentation bouchonnés
    • Génération de la documentation des interfaces
  • Implémentation:
    • Suppression des bouchons et mise en place des services réels d’implémentation.
    • Mise en place des test unitaires et d’intégration
  • Sécurisation:
    • Implémentation du système d’authentification à jetons
    • Définition des rôles et permissions.
  • Déploiement final:
    • Déploiement
    • Évaluation et feedback
    • Améliorations

Plus value métier

plus value metier

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.

Que vous vouliez ce service ou un de beaucoup plus personnalisé, contactez-nous et laissez nous vous aider à faire monter en échelle votre business.

Contactez-nous know more
Back to top