Gerege Template Platform¶
Production · Couche 3 — Socle de plateforme ·
Dépôt : template-gerege-mn · open.gerege.mn
Le socle pour construire des services numériques. Ce n'est pas du code d'exemple : c'est une plateforme complète, prête pour la production, durcie côté sécurité et testée. La plupart des produits de l'écosystème en sont issus.
Le socle successeur est Gerege Nexus
En août 2026 est arrivée la 2e génération du socle applicatif : Gerege Nexus, un monolithe modulaire doté d'un app store. Plutôt que de forker le modèle, un nouveau produit s'écrit désormais comme un module Nexus — ou, pour une marque, comme un fork de l'upstream. La Template reste en production, mais si vous démarrez un nouveau projet, regardez d'abord Gerege Nexus.
open.gerege.mn est injoignable au 2026-08-07 — cet hôte sert désormais le
certificat nexus.gerege.mn, et HTTPS échoue donc sur une non-correspondance de
nom. Voir la Cartographie des domaines.
L'idée centrale¶
Aucun nouveau service ne devrait avoir à résoudre à nouveau l'identité, la sécurité, le modèle de droits, l'audit et l'IA. Tout cela arrive prêt dès le premier jour ; le développeur n'ajoute que la logique de son propre métier.
Vous construisez de la valeur, pas de l'infrastructure.
Ce qui est fourni prêt à l'emploi¶
Authentification et sessions¶
- Connexion par eID — QR / deep link / push par numéro d'état civil (session en long-poll).
- Google OAuth — liaison secondaire ; la première fois, la vérification par eID est obligatoire.
- JWT access + refresh (rotation) ; la déconnexion invalide les deux.
- Pas de mot de passe, pas de connexion par e-mail/OTP.
Droits et organisations¶
- RBAC — rôles dynamiques et catalogue de permissions ; modèle à quatre
niveaux (
superadmin → admin → manager → user). - Le super admin est un compte distinct, protégé par MFA — créé via un assistant d'onboarding (allow-list d'invitations → Google → eID → OTP par e-mail → TOTP + codes de secours). Il est stocké dans sa propre table, de sorte qu'une même personne peut être à la fois admin eID et super admin Google.
- Organisations et affiliations — création/recherche (contrôlée auprès du registre de l'État via Gerege Verify), gestion des membres et des droits, le tout protégé par RLS pour chaque utilisateur.
La surface de service¶
- Un portail de services publics — catalogue de services, demandes, renseignements, notifications, paiements, prise de rendez-vous.
- Passerelle API — services / routes / consumers / clés d'API / policies gérés par l'administrateur, plus la télémétrie des requêtes.
- Signature de documents (PAdES) — via G-Sign.
- Intégrations tierces — connexions Google Drive/Meet et Dropbox, avec des jetons chiffrés en AES-256-GCM. Ainsi qu'un stockage SFTP propre à l'application.
IA¶
- Pipeline Gemini — chat texte et vocal, STT, TTS, traduction en direct.
- System prompt en couches — garde-fous intégrés au code, plus un périmètre configuré par l'administrateur via la base de données.
- L'outil
search_knowledge— ancre les réponses dans des données réelles de la base de connaissances.
Sécurité et observabilité¶
- En-têtes de sécurité stricts (CSP, HSTS, COOP/COEP/CORP), allow-list CORS, rate limit, timeouts du serveur HTTP.
- Requêtes paramétrées ; RLS Postgres et garde-fou d'applicabilité au démarrage.
- Journal d'audit — chaîné par hachage, en ajout seul.
- OpenTelemetry + Prometheus + Zap.
Voir Sécurité pour le détail.
Structure¶
template-gerege-mn/
├── backend/ # Go · chi (net/http) · pgx (pgxpool) · PostgreSQL · Redis
│ └── docs/ # ARCHITECTURE · DEVELOPMENT · API_CONTRACT · SECURITY (EN/MN)
├── frontend/ # BFF Next.js — proxy côté serveur, sessions par cookie
└── ios/ # Client eID SwiftUI (SDK GeregeSmartID)
Le backend suit la Clean Architecture — handler → usecase → repository →
domain, sans back-import. Le cœur métier n'importe pas de framework web.
Origine et licence¶
Le backend dérive du projet open source
snykk/go-rest-boilerplate (MIT,
Najib Fikri). La couche HTTP a été convertie de Gin vers chi (net/http) et la
couche de données de sqlx vers pgx (pgxpool, SQL écrit à la main).
L'attribution au projet d'origine est conservée dans le fichier AUTHORS. Le
projet est sous licence MIT.
Variantes¶
| Variante | Stack | Dépôt |
|---|---|---|
| Gerege Template Platform | Go + Next.js | template-gerege-mn |
| Government Template Platform V3.0 | Go + Next.js | template-dgov-mn |
| Government Template — édition Node.js | Node.js/TS + React | template-dgov-mn-nodejs |
La variante Node.js est un portage de la version Go — Express 5 · pg · RLS +
React. La stabilisation se poursuit.
Produits issus de ce socle¶
- Gerege Platform — étendu, fournisseur d'identité à part entière
- Developer Portal
- Gerege Wallet
- Ring System · la plateforme « Khurdan » — la ligne gouvernementale
Code partagé et synchronisation automatique
Les capacités backend communes résident dans open-gerege-core, et celles
du frontend dans @gerege/ui-core. La synchronisation git quotidienne
propage les changements et ouvre une PR ou une issue en cas de conflit.
Documentation détaillée¶
Les documents ARCHITECTURE, DEVELOPMENT, API_CONTRACT et SECURITY se
trouvent dans le répertoire backend/docs/ du dépôt template-gerege-mn, en
mongol et en anglais.