Aller au contenu

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

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.