Réalisation · Depuis décembre 2025
Mibeko
Une application pour consulter le droit congolais et OHADA avec ses propres mots. Chaque réponse renvoie à l’article de loi exact d’où elle vient.
- Statut
- En production
- Période
- Depuis décembre 2025
- Mon rôle
- Créateur et responsable technique : conception, développement, mise en ligne et suivi, du serveur jusqu’aux stores
- 17 000+articles de loi, chacun avec sa source
- 6 moisde l’idée à la mise en ligne
- 2 storesApp Store et Google Play
- 6dépôts de code public
À quoi ressemble l’assistant
Une question posée à l’assistant, et les articles de loi qu’il cite. En dessous, le chemin que suit chaque texte, du document d’origine à la réponse.

- 01Document originalLe fichier et son empreinte restent la référence.
- 02Structure validéeLe schéma bloque toute donnée qui ne respecte pas la forme attendue.
- 03Recherche hybrideMots exacts, fautes proches et sens de la question mènent au bon article.
- 04Article citéLa réponse affiche l’article exact d’où elle vient.
Le problème#
Au Congo, le droit existe, mais il est éparpillé dans des PDF scannés. Pour un juriste, un entrepreneur ou un simple citoyen, retrouver une règle précise veut dire fouiller des documents, sans savoir s’ils sont à jour ni citer la bonne source.
Mibeko est un projet personnel. Il vise avant tout à aider les gens au Congo qui n’ont pas facilement accès aux textes de loi. Il rend ces textes simples à consulter pour tout le monde, et donne aux professionnels des outils adaptés à leurs besoins.
Le fonds#
Mibeko rassemble aujourd’hui plus de 1 000 textes officiels (codes, lois, décrets, actes uniformes), soit plus de 17 000 articles. Chaque article a sa propre adresse et sa source : le Secrétariat général du Gouvernement (sgg.cg) ou l’OHADA (ohada.org). Quand on pose une question, on arrive directement sur l’article qui répond, pas sur un document entier à relire.
L’assistant ne répond pas de mémoire. Il cherche dans ce fonds et garde les articles utiles. Avant d’afficher sa réponse, le code vérifie que chaque article cité existe bien dans la base : sinon, la citation est retirée. Trois questions réelles et leurs sources sont consultables sans compte.
La construction#
Tout part des documents. Chaque PDF est lu automatiquement (OCR), puis mis en forme par un modèle de langage. Ce que renvoie le modèle est contrôlé par un schéma strict : si ça n’a pas la bonne forme, ça n’entre pas en base. Chaque morceau de texte garde la trace du fichier d’où il vient, jusqu’à son empreinte (provenance SHA-256).
Pour retrouver le bon article, la recherche est hybride. Elle combine les mots exacts, les fautes de frappe proches et le sens de la question (similarité sémantique avec pgvector). On trouve donc l’article même quand on ne connaît pas les termes de la loi.
L’assistant s’appuie sur cette recherche : c’est un RAG sourcé (l’IA cherche d’abord dans le fonds, puis rédige à partir de ce qu’elle a trouvé). Un agent IA lance lui-même les recherches dont il a besoin et cite chaque article utilisé. S’il ne trouve rien, il le dit et propose une autre piste. Un serveur MCP (le moyen standard de donner des outils à un assistant IA) ouvre aussi le fonds à d’autres assistants : chercher, lire un article, signaler une anomalie. L’IA signale, et c’est un humain qui corrige et publie.
Côté technique : une API Laravel, un service Python / FastAPI pour les documents, un tableau de bord React, un site Astro, et des applications mobiles Kotlin Multiplatform publiées sur l’App Store et Google Play.
La production#
Mibeko tourne en production depuis décembre 2025. Je le conçois, je le développe et je le fais tourner au quotidien : mises en ligne, surveillance, corrections.
Chaque modification est testée automatiquement avant d’être mise en ligne, par une CI/CD GitHub Actions. Il y a deux sortes de tests : les tests unitaires vérifient une fonction seule, les tests d’intégration vérifient plusieurs briques ensemble, sur une vraie base PostgreSQL. Pest teste l’API Laravel, Vitest le tableau de bord React, et rien n’est mis en ligne si les tests échouent. Le traitement des documents a ses propres tests, écrits avec pytest.
Le tout tourne sur un serveur Linux que j’administre, configuré avec Ansible, Docker et Traefik. Pour suivre ce qui se passe en ligne, la mesure d’audience passe par Umami, installé sur mon serveur et sans cookies, et les journaux des services se lisent avec Dozzle.
Ce que j’en retiens
Sur un outil juridique, surtout au Congo, il faut pouvoir se protéger : chaque réponse doit renvoyer au texte d’origine, pour qu’on le retrouve facilement. C’est ce qui m’a demandé le plus de travail, plus que la qualité des réponses elles-mêmes.
Liens publics
Le produit en ligneAccessible sans compte.
- mibeko.fr ↗Le produit public : recherche, textes officiels, démarches et guides.
- mibeko.fr/assistant ↗Trois questions réelles et les articles qui fondent la réponse, ouvrables sans compte.
Les applicationsLes fiches sur l’App Store et Google Play.
- App Store ↗L’application iOS publiée, avec ses captures et ses mises à jour.
- Google Play ↗La même application côté Android, publiée depuis le même dépôt Kotlin.
Le codeDépôts publics, avec leur historique et leurs tests.
- mibeko-dashboard ↗L’API et la base de référence : textes de loi, comptes, assistant, facturation. Laravel, PostgreSQL.
- mibeko-python ↗Le traitement des documents : OCR, extraction et mise en forme des textes. FastAPI.
- mibeko-front ↗Le tableau de bord des avocats et juristes. React, Vite, TypeScript.
- mibeko-app-kmp ↗Les applications Android et iOS, consultables en partie hors connexion. Kotlin Multiplatform.
- mibeko-site ↗Le site public des textes de loi. Astro.
- vps_infra ↗Le serveur qui fait tourner le tout, public lui aussi. Ansible, Docker, Traefik, PostgreSQL, MinIO.
Technos et domaines
Technos
- Laravel
- Python
- FastAPI
- React
- Astro
- Kotlin Multiplatform
- PostgreSQL
- pgvector
- Docker
- Ansible
- Traefik
- GitHub Actions
Domaines
Page relue le .
Continuer
Un poste ou un projet de ce genre ? Écrivez-moi.