GAS PS
Du 15 octobre 2021 au 31 janvier 2023, notre équipe a participé à un grand projet gouvernemental visant à créer le Portail GAS PS — une plateforme numérique centralisée pour la collecte, l’analyse et la gestion des statistiques juridiques en Russie.
Le projet a été réalisé en collaboration avec Gost Group, commandité par le Parquet général de la Fédération de Russie.
Dans ce cadre, nous étions responsables du développement du composant “Gestion des données de référence et des métadonnées”, basé sur notre propre solution Soarse.
Ce que faisait Soarse Link to heading
Dans le cadre du Portail, le composant Soarse remplissait plusieurs fonctions clés :
- Gestion des répertoires et catalogues NSI
- Description, versionnage et publication des formulaires de documents de collecte de données primaires (DPU)
- Configuration et validation des règles de contrôle logique et de format (FLC)
- Gestion du modèle de statut des affaires pénales
- Intégration avec les autres composants du système via API
Sous le capot, une base de données NoSQL web-based stockait les données en JSON et toute la configuration se faisait via une interface UI de niveau DBA.
🧩 Architecture et caractéristiques Link to heading
Plugins (Frontend + Backend) Link to heading
Pour adapter le produit aux exigences strictes et spécifiques du client (pas toujours évolutives), nous avons mis en place une architecture par plugins, qui a permis de :
- Isoler le code « custom » du noyau principal
- Simplifier la maintenance et les processus CI/CD
- Préparer la plateforme pour un futur marketplace d’addons
- Déléguer le développement de plugins à des équipes tierces
Les plugins ont apporté un nouveau niveau de flexibilité et de scalabilité à Soarse.
Vues Link to heading
La demande du client de travailler avec des données issues de plusieurs sources nous a enfin permis d’implémenter la fonctionnalité des vues, longtemps planifiée.
Contrairement aux vues SQL classiques, dans Soarse :
- Les données sources sont des documents JSON imbriqués sans structure limitée
- Prise en charge des alias pour les attributs
- Mise en forme conditionnelle des lignes/cellules
- Équivalent de UNION — que nous avons appelé docking
- Et surtout, notre fierté — un équivalent de JOIN :
appelé couplage, il permet de lier des données à n’importe quel niveau d’imbrication, y compris les liens inverses (FK → PK), grâce à l’indexation des relations dans un stockage RDF basé sur Apache Jena
📌 Ce que le système permettait Link to heading
Le composant Soarse permettait de :
- Gérer et mettre à jour les données NSI (tribunaux, départements, etc.)
- Créer des formulaires DPU avec versionnage et logique d’affichage des champs
- Configurer les actions procédurales et publier les formulaires dans le Portail
- Gérer les statuts et priorités des affaires pénales
- Construire des règles FLC, y compris activation/désactivation, export et publication
- Utiliser l’éditeur d’arborescence des affaires pénales
- Rechercher en texte intégral dans toute la NSI
- Créer des vues à partir de plusieurs répertoires avec une logique flexible
🧠 Ce que nous avons appris Link to heading
- Construit une architecture CI/CD flexible dans un environnement microservices et modulaire par plugins
- Implémenté pour la première fois dans Soarse un moteur de vues complet avec relations graphiques
- Atteint un nouveau niveau de maturité d’intégration : l’API REST est devenue la base de toute la logique métier
Rôle dans le projet Link to heading
- Architecte, Analyste, Product Owner
- Responsable de la conception technique du composant Soarse dans le système