Éditeur de logiciel pour conciergeries · 2026

LGCD : un système d'exploitation pour les conciergeries marocaines

Comment nous avons construit, pour l'éditeur LGCD, le logiciel qui remplace les trois outils que les conciergeries marocaines juxtaposaient — annonces sur Airbnb et Booking, planning ménage sur WhatsApp, comptabilité sur tableur — par une plateforme SaaS multi-agences avec cinq applications installables, une API publique et la fiscalité marocaine intégrée.

En bref
LGCD est une plateforme SaaS de gestion de conciergerie et de location courte durée au Maroc, en production sur lgcd.ma. Elle réunit dans un seul système le calendrier synchronisé avec Airbnb, Booking.com, VRBO et Abritel, le planning des équipes de ménage et de maintenance, la facturation, la taxe de séjour marocaine, un site de réservation par agence et cinq applications installables. La plateforme compte 84 points d'entrée API, une vingtaine d'événements webhook et 89 suites de tests automatisés.
applications installables
5 Agence, ménage, maintenance, propriétaire, voyageur
points d'entrée API
84 REST versionnée, authentifiée par Sanctum
plateformes synchronisées
4 Airbnb, Booking.com, VRBO, Abritel — iCal bidirectionnel
suites de tests automatisées
89 Pour 63 entités métier et 110 migrations

Contexte

LGCD édite un logiciel de gestion destiné aux conciergeries marocaines. Notre client n’exploite donc pas lui-même de logements : il vend l’outil à celles qui le font. Comprendre le métier de ses utilisateurs était la condition d’entrée du projet.

Au Maroc, la location courte durée s’est structurée plus vite que ses outils. Une conciergerie qui gère trente à cent logements pour le compte de propriétaires se retrouve à piloter son activité avec trois systèmes qui ne se parlent pas : les annonces et leurs calendriers sur Airbnb et Booking.com, le planning des équipes de ménage dans des groupes WhatsApp, la facturation et les relevés propriétaires dans un tableur.

Aucun de ces outils n’est mauvais isolément. C’est leur juxtaposition qui coûte cher, et elle coûte surtout au moment précis où l’erreur devient publique.

Le problème

Le calendrier est le point de rupture. Une nuitée vendue deux fois, sur deux plateformes, en l’espace des quelques minutes qui séparent deux synchronisations manuelles, se solde par une annulation, une pénalité plateforme et un avis négatif durable. C’est le risque que les gérants citent en premier, et c’est celui qu’aucun tableur ne peut couvrir.

La fiscalité locale ne pardonne pas l’approximation. La taxe de séjour et la taxe de promotion touristique se calculent par ville, par type de bien et par nuitée, avec des barèmes que les communes révisent. Un calcul rétroactif faux n’est pas une erreur de tableur : c’est un redressement.

Le terrain n’utilise pas de logiciel de bureau. Les femmes de ménage, les agents de maintenance et une partie des gérants n’ont pas d’adresse e-mail professionnelle. Ils ont un téléphone et WhatsApp. Toute solution qui suppose un ordinateur, un identifiant et un mot de passe classique est abandonnée dans les deux semaines.

Les propriétaires réclament de la visibilité. Ils confient un bien et attendent un relevé mensuel clair : occupation, revenus, charges, interventions. Le produire à la main pour quarante propriétaires occupe une personne à temps partiel.

La solution

Un cloisonnement qui ne dépend pas de la vigilance du développeur

Chaque agence est isolée par un périmètre appliqué directement au niveau des requêtes, via un scope global Eloquent, doublé du remplissage automatique de l’identifiant d’agence à la création de tout enregistrement.

La distinction est importante. Filtrer par agence dans chaque requête fonctionne — jusqu’à la première requête où le développeur oublie le filtre. Sur une plateforme multi-clients, cet oubli-là est une fuite de données entre concurrents. En plaçant l’isolation dans le modèle plutôt que dans l’appel, on transforme une discipline en garantie.

Le calendrier comme source de vérité

La synchronisation iCal fonctionne dans les deux sens avec Airbnb, Booking.com, VRBO et Abritel. À chaque import, toute réservation entrante est confrontée aux réservations existantes du bien : un chevauchement est refusé, comptabilisé, et remonté à l’agence sous forme de notification demandant un arbitrage humain.

Le choix de refuser plutôt que d’écraser est délibéré. Une double réservation détectée et signalée se règle par un appel ; une double réservation acceptée silencieusement se découvre le jour de l’arrivée du voyageur.

Cinq applications, une par métier

Plutôt qu’une application unique dont chacun n’utiliserait qu’un dixième, la plateforme expose cinq applications installables : agence, ménage, maintenance, propriétaire, voyageur. Chacune ne montre que ce que son métier exige — l’agent de ménage voit ses tâches du jour et valide par photo, le propriétaire consulte ses relevés, le voyageur accède au logement et aux informations pratiques.

La connexion se fait par numéro WhatsApp, pas par e-mail. Ce n’est pas un raccourci technique : c’est l’identifiant que le terrain possède réellement.

L’application voyageur existe en français, en anglais et en arabe. Elle lit la bande MRZ des passeports et des cartes d’identité directement depuis l’appareil photo pour pré-remplir la fiche de police, obligatoire au Maroc — une saisie fastidieuse et source d’erreurs devient une photo.

Une fiscalité figée au moment du calcul

Le calcul de la taxe de séjour et de la TPT s’appuie sur les barèmes par ville et par type de bien. Le résultat est enregistré sur la réservation sous forme d’instantané complet : taux appliqués, nombre de nuitées, personnes taxables, date de calcul.

Si une commune révise son barème six mois plus tard, les réservations passées conservent leur calcul d’origine. C’est cette immuabilité qui rend les déclarations défendables en cas de contrôle.

Une plateforme ouverte, pas une boîte noire

Une API REST de 84 points d’entrée, authentifiée par jetons, couvre les réservations, le calendrier, le ménage, la maintenance, la facturation, les documents d’identité et les rapports fiscaux.

Une vingtaine d’événements webhook — réservation créée, confirmée, annulée, paiement reçu, ménage terminé, conflit de calendrier détecté — permettent aux agences de brancher leurs propres outils. Chaque livraison est signée en HMAC-SHA256, porte un identifiant d’événement stable pour la déduplication côté consommateur, et conserve son contenu afin d’être rejouée sans avoir à provoquer de nouveau l’événement métier.

En cas d’échec, la reprise suit un espacement croissant — une minute, cinq, trente, deux heures, six heures — puis la livraison est marquée abandonnée et signalée dans le tableau de bord. Un webhook qui échoue en silence est pire qu’un webhook absent : l’agence croit son système synchronisé.

Chaque agence chez elle

Chaque agence dispose d’un site de réservation sur un sous-domaine, ou sur son propre nom de domaine via un simple CNAME, avec vérification de propriété avant activation. Les paiements passent par CMI, la passerelle bancaire marocaine, avec signature HMAC-SHA512.

Architecture

Décision Motif
Isolation par scope global Eloquent Rend la fuite inter-agences impossible par oubli, pas seulement improbable
Applications installables plutôt que natives Un seul code métier, aucune dépendance aux magasins d’applications, mise à jour immédiate
Connexion par numéro WhatsApp L’identifiant que le personnel de terrain possède réellement
Instantané fiscal sur la réservation Une révision de barème ne réécrit pas l’historique déclaré
Refus des chevauchements plutôt qu’écrasement Un conflit signalé se règle ; un conflit absorbé se découvre à l’arrivée
Reprise des webhooks à espacement croissant Absorbe une panne passagère du consommateur sans le saturer

Résultats

La première version est sortie en moins d’un mois. Ce qui suit — les cinq applications installables, l’API publique, les webhooks, le moteur fiscal — a été ajouté par incréments successifs, chacun mis en production sans interrompre le service.

Le logiciel est aujourd’hui commercialisé sur lgcd.ma auprès des conciergeries marocaines. Il couvre 63 entités métier, 110 migrations et 89 suites de tests automatisés.

Les chiffres présentés ici sont ceux de la plateforme elle-même — nombre d’applications, de points d’API, d’événements webhook, de plateformes synchronisées — et non des indicateurs commerciaux des agences clientes. Nous préférons publier ce qui est vérifiable.

Le motif initial du projet, le conflit de calendrier, est traité à la source : détecté à la synchronisation, refusé, et signalé avant que la réservation ne soit confirmée au voyageur.

Avant / après

Indicateur Avant Après
Calendriers à tenir Un par plateforme Un seul, synchronisé
Planning des équipes de ménage Groupes WhatsApp Application dédiée avec validation photo
Taxe de séjour et TPT Calcul manuel, ville par ville Barèmes appliqués automatiquement
Fiche de police Recopie manuelle du passeport Lecture de la bande MRZ
Site de réservation en propre Aucun Un par agence, sur son domaine

Le résultat final dépasse nos attentes : un site moderne, fluide, intuitif et parfaitement optimisé. Un grand merci pour votre réactivité, votre accompagnement sur-mesure et vos précieux conseils tout au long de cette collaboration.

L

LGCD

Logiciel de gestion pour conciergeries, Maroc

Autres études de cas

Tableau de bord MediCab : rendez-vous du jour, patients suivis, revenus du mois et prochains rendez-vous

Éditeur de logiciel pour cabinets médicaux · 2026

MediCab : rendre au médecin le temps que l'administratif lui prend

Comment nous avons construit, pour l'éditeur MediCab, un SaaS de gestion de cabinet médical où la consultation se dicte, l'ordonnance se vérifie toute...

usages de l'IA en production
4 usages de l'IA en production
entités métier
32 entités métier
régimes de couverture
3 régimes de couverture

Votre projet mérite mieux qu'un devis générique

Dites-nous ce que vous voulez obtenir. Nous vous répondons avec une analyse, une fourchette et les questions que personne d'autre ne vous aura posées.

Réponse sous 4 heures ouvrées · Aucun engagement · Vos données restent chez nous