Tout ce que j’écris et que je peux publier est publié, sous licence libre, sur github.com/lemathou et github.com/iprospective. Il n’y a pas d’un côté mes développements et de l’autre mes contributions open source : c’est la même chose.
Vous pouvez donc lire le code avant de me confier un projet, et le reprendre si nous cessons de travailler ensemble. C’est la contrepartie de ce que je vends : pas de licence à racheter, pas de prestataire obligé.
Ce que vous trouvez ici, ce sont des outils : du code qui existe indépendamment du client chez qui il a été écrit, qui se réinstalle ailleurs et qui tourne souvent chez plusieurs. Ce qui a été livré à quelqu’un — une boutique, une reprise d’ERP, une infrastructure — est sur Réalisations. Le même travail s’y lit sous l’autre angle : la réalisation dit chez qui et pourquoi, l’outil dit quoi et comment.
siteadm-webhostingEn productionOutil de gestion et d’administration de serveur Linux complet : comptes, hôtes virtuels, pools PHP isolés par site, certificats, quotas. C’est ce qui rend tenable l’hébergement de plusieurs dizaines de sites sans que l’un puisse gêner l’autre.Déployé chez — toute ma plateforme d’hébergement, et donc la quasi-totalité des sites clients.Code —siteadm-webhostingOutillage d’hébergement — le détail
zfs-snap-clean, zfs-lxcEn productionGestion de backups Linux : instantanés ZFS et conteneurs LXC : rétention, purge, création et clonage de conteneurs. Une sauvegarde qu’on ne purge pas finit par remplir le disque qu’elle protège.Déployé chez — ma plateforme — voir Sauvegardes.Code —zfs-snap-cleanzfs-lxcOutillage d’hébergement — le détail
opensvc-zfs-resyncEn productionRéplication de config serveur entre une machine de production et son failover, sous OpenSVC. La bascule ne vaut que si la configuration des deux côtés est réellement identique ; ce script le vérifie et le rétablit.Déployé chez — ma plateforme.Code —opensvc-zfs-resyncOutillage d’hébergement — le détail
mysql-sync-replicEn production(Re)synchronisation d’une réplication MySQL/MariaDB. Quand un esclave décroche, la réponse habituelle est de tout redumper ; cet outil resynchronise ce qui diverge, sans interrompre le service.Déployé chez — ma plateforme — voir Bases de données.Code —mysql-sync-replicOutillage d’hébergement — le détail
Outillage diversEn productionLes petits scripts qui font tourner le reste : création de pools PHP-FPM par site, tunnels SSH persistants.Déployé chez — ma plateforme.Code —php-fpm-pool-84ssh-tunnel
26 modules DolibarrEn productionProduits, stocks, entrepôts, expéditions, paiements, projets, GED, CRM, SAV, statistiques, comptabilité, filtres, sécurité. Le module est le bon niveau d’intervention : assez petit pour être maintenu, assez isolé pour ne pas empêcher les mises à jour de l’ERP.Déployé chez — Calicote, Pisceen / Dercya, Villa Cactus, Code42.Code —dolibarr-mmi-modules, et un fork de Dolibarr qui ajoute les points d’accroche manquants.Détail des modules : Intégration Dolibarr et Paiement en ligne.Modules Dolibarr — le détail
Synchronisation Dolibarr ↔ PrestaShopEn productionProduits, déclinaisons, prix, stocks, commandes, clients : une seule source pour le catalogue. C’est ce qui évite le double catalogue, vraie cause des ruptures et des ventes de produits absents.
L’ensemble tient en trois pièces : l’intergicieldoli-presta-sync, qui porte la logique de correspondance et l’ordonnancement ; le module Dolibarrmmiprestasync, qui expose côté ERP les données et les réglages de la synchronisation ; et côté boutique le module PrestaShopcustomers-tools, qui reprend les comptes clients et les paniers que la synchronisation fait remonter.Déployé chez — trois installations : Calicote, Pisceen / Dercya, Villa Cactus.Code —doli-presta-syncdolibarr-module-mmiprestasyncprestashop-module-customers-toolsModules Dolibarr — le détail
mmi-pollsEn productionAstreinte par relais : sondage de disponibilités, attribution des créneaux principal et suppléant, notifications avec confirmation, demandes de remplacement entre participants ou orchestrées par le manager. Écrit pour un besoin associatif que rien ne couvrait sans abonnement par utilisateur — voir Associations & syndicats.Code —mmi-polls
FAD — framework PHP complexeHistorique, en serviceFramework PHP complet, avec son ORM de première génération — ORM PHP v1,datamodel. Écrit à une époque où il fallait tout construire, il a porté des applications marchandes réelles.Déployé chez — Opium Racing : site marchand de réservation de roulage moto sur circuits, en 8 langues, pour une agence opérant en Europe de l’Est.Code —fad-framework-phpFrameworks PHP — le détail
Tiny Framework — framework/CMS PHP simpleHistorique, en serviceL’inverse du précédent : le strict nécessaire pour bâtir un site vite, avec l’ORM PHP v2,db_object. Une version améliorée en a été développée pour MatNat.Déployé chez — MatNat, et plusieurs sites vitrines.Code —framework-tiny-phpFrameworks PHP — le détail
worm — ORM PHP v3En coursLa génération actuelle. Le sujet qui m’occupe le plus : un typage fort dans la couche de données rend impossibles des classes entières d’erreurs, très en amont du code applicatif — et rend une reprise de données supportable dix ans plus tard.Code —wormORM PHP — le détail
Synchronisation GraphQL ↔ DoctrineEn coursFaire correspondre un schéma GraphQL distant et un modèle Doctrine local sans réécrire l’un pour l’autre. Développé dans le cadre d’un connecteur pour l’ERP Digiforma.Déployé chez — un organisme de formation — voir Organismes de formation.Code — pas encore publié.
Outillage d’auditEn productionMéthodologie, reconnaissance scriptée, référentiel de vulnérabilités par produit, gabarits de livrables et correctifs prêts à poser. Surtout : le retest avec différentiel, seule preuve qu’un audit a servi à quelque chose. La méthode est mutualisée, les données d’audit ne le sont jamais.Déployé chez — mes audits de sécurité et d’infrastructure.Code — non publié à ce jour.Outillage d’audit — le détail
Atlas — diagnostic systèmeEn coursObserver l’infrastructure, corréler les relevés avec la supervision, remonter de l’alerte à la cause. La supervision dit qu’il y a un problème ; elle ne dit pas lequel, et c’est ce travail d’enquête qu’Atlas outille. Découpé de sorte que « demander un diagnostic » ne puisse pas devenir « exécuter n’importe quoi ».Où il tourne — dans ma propre infrastructure ; il travaille sur les infrastructures que j’administre.Code — non publié à ce jour.Atlas — le détail
Karl — gestion de projet assistée par IAEn coursNoyau de gestion de projet assisté par intelligence artificielle : tickets, états, journaux et rapports tenus par des agents, avec Redmine comme référentiel. L’enjeu n’est pas de faire écrire du code à une machine, mais de garder une trace vérifiable de ce qu’elle a fait.Déployé chez — mon propre atelier, sur mes projets clients.Code —karl-ai-project-managerKarl — le détail
AtomBox — plateforme d’hébergement de messagerieEn coursLe cœur d’une plateforme d’hébergement de messagerie : le webmail d’entreprise, et l’administration des domaines, boîtes, alias et filtres qui va avec. La pile Postfix/Dovecot existe depuis longtemps ; ce qui manque, c’est tout ce qui permet au client de s’en servir sans passer par son prestataire.Code —AtomBoxAtomBox — le détail
crypt-dbEn coursBase de données chiffrée partagée, avec une clé maîtresse par dossier. Le même principe que le coffre-fort de mots de passe, appliqué à des données structurées.Code —crypt-db
Plateforme de cours en ligneEn coursPensée d’abord pour les mathématiques dans le supérieur. Le sujet est plus difficile qu’il n’en a l’air : écrire des mathématiques sur le web demande de traiter le contenu comme une structure et non comme une image — d’où MathML.Code — pas encore publié.Plateforme de cours — le détail
Également en cours, sans dépôt public à ce jour
- ERP
L’inventaire complet des dépôts
Les cartes ci-dessus racontent les gros morceaux. La liste ci-dessous est exhaustive : elle est reconstruite chaque jour depuis GitHub, sans intervention de ma part.
44 dépôts publics, maintenus depuis 2012. Les 19 détaillés plus haut ne sont pas répétés ici ; voici les autres.
- Mathieu MoulinCompte nominatif — modules, outils et frameworks
- iProspectiveOrganisation — produits de l'entreprise
Écosystème Dolibarr 25
Suite de modules métier pour l'ERP Dolibarr : CRM, projets, stocks, expéditions, comptabilité, paiements, GED.
- dolibarr-module-mmiworkflow
Workflow optimisations for Dolibarr
- dolibarr-module-mmiyounited
Younited Pay module for Dolibarr
- dolibarr-module-mmistats
Statistics for Dolibarr
- dolibarr-module-mmiproject
Dolibarr Module to manage projects and time
- dolibarr-module-mmiproduct
Product extended options module for Dolibarr
- dolibarr-module-mmipayments
Payments management on propal and orders module for Dolibarr
- dolibarr-module-mmidocuments
Documents and PDF display options module for Dolibarr
- dolibarr-module-mmicommon
- dolibarr-module-mbietransactions
Payment module for etransactions UP2Pay credit agricole for Dolibarr
- dolibarr-module-mmiwildx
Wildx Telephony PBX synchronisation module for Dolibarr
- dolibarr-module-mmicrm
CRM extended options module for Dolibarr
- dolibarr-module-mmiged
Dolibarr Module MMIGED
- dolibarr-module-mmibrevo
Dolibarr Module MMIBrevo
- dolibarr-module-mmiatelier
Dolibarr Module MMIAtelier
- dolibarr-module-mmisav
- dolibarr-module-mmivateec
- dolibarr-module-mmifilters
- dolibarr-module-mmicompta
- dolibarr-module-mmisecurity
Sécurisation de l'accès par adresse IP pour certains utilisateurs
- dolibarr-module-mmiredmine
Redmine tasks and time tracking synchronisation module for Dolibarr
- dolibarr-module-mmientrepots
- dolibarr-module-mmiavisverifies
- dolibarr-module-mmifournisseurprice
- dolibarr-module-mmiproductdluo
Products DDM/DLUO and DLC extended options module for Dolibarr
- dolibarr-module-mmishipping
Shipping extended options module for Dolibarr
Mis à jour le 8 septembre 2026.
Les structures chez qui tout cela tourne sont sur Clients et employeurs ; le détail technique sur Compétences techniques.
