Présentation du projet
En réponse aux besoins d’un client gérant des projets d’acquisition hydrographique à grande échelle, JAK Services a conçu et développé un portail web sécurisé, isolé par projet, dédié à la gestion, à la visualisation et à la distribution des données et livrables d’acquisition.
Fonctionnalités clés et workflows
Le portail propose une navigation de fichiers ainsi qu’un large éventail de visionneurs intégrés :
- Web Map Services (WMS)
- Visionneur de nuages de points
- Visionneurs Sub-Bottom Profiler
- Lecture vidéo
- et d’autres outils spécifiques à certains formats
Le contrôle d’accès par projet garantit que les workflows d’envoi et de téléchargement sont gouvernés par des identifiants utilisateur individuels et des limites de taille configurables.
Gestion des données et stockage
Le système se connecte de manière transparente à plusieurs backends de stockage, notamment des solutions cloud, permettant une gestion efficace de grands jeux de données d’acquisition diffusés depuis les navires et les environnements de traitement à terre.
Traitement WMS et intégration SIG
Le composant WMS est pris en charge par des workers en arrière-plan qui convertissent automatiquement les données SIG en couches WMS à mesure que des jeux de données de faible volume sont transmis vers le portail.
Un gestionnaire de couches en arborescence permet aux utilisateurs d’ajouter, d’organiser et de réordonner les couches, tout en offrant une vue d’ensemble consolidée de l’ensemble des projets accessibles à l’utilisateur.
Les couches WMS publiées peuvent également être consommées par des applications SIG de bureau et d’autres portails compatibles WMS.
Sécurité
Le portail a été conçu selon un principe de « moindre privilège », combinant l’isolation des projets et des autorisations basées sur les rôles afin de garantir que chaque utilisateur ne voie et n’accède qu’aux jeux de données pertinents pour son rôle, son projet et l’organisation cliente.
- Authentification : connexion par email et mot de passe avec mots de passe hachés, contrôles de politique de mot de passe (longueur / complexité) et gestion de l’expiration ou du changement obligatoire lors de la première connexion.
- Authentification à deux facteurs (2FA par email) : code à usage unique lié à la session, envoyé par email et vérifié avant l’octroi de l’accès.
- Protection contre les attaques par force brute : comptage des tentatives de connexion avec mécanisme de verrouillage et limitation côté API en cas d’abus.
- Autorisation (RBAC et périmètre par projet) : rôles et affectations par utilisateur et par projet, incluant des permissions granulaires (lecture / écriture / suppression / téléchargement).
- Protection contre l’injection SQL : accès aux données via ORM et utilisation de requêtes paramétrées.
- Sécurité web et des transports : HTTPS (TLS), protection CSRF, configuration CORS et durcissement du navigateur via des en-têtes de sécurité (CSP / HSTS lorsque activés).
- Journalisation orientée audit : centralisation des journaux d’erreurs applicatifs et API dans un stockage dédié pour la traçabilité et l’analyse des incidents.