Comment déployer votre propre système de gestion locative sans abonnement cloud
De nombreux professionnels de l'informatique finissent par posséder un appartement en location, un garage, voire plusieurs espaces commerciaux. Au début, tout est géré via Telegram avec vous-même ou dans Google Sheets. Mais quand vous avez plus d'un locataire, les problèmes commencent. Quelqu'un a retardé son paiement de trois jours, quelqu'un a besoin d'une facture, le contrat de quelqu'un expire, et le modèle d'accord de remise s'est perdu quelque part sur un ancien disque dur.
Les services SaaS propriétaires de gestion locative sont généralement soit surchargés de fonctionnalités pour les grandes agences immobilières, soit facturent un abonnement mensuel pour des choses basiques. Je suis récemment tombé sur un projet open-source intéressant qui résout exactement ce problème. Il s'agit de MicroRealEstate.
Ce que MicroRealEstate peut faire
En essence, c'est une application web prête à l'emploi pour les propriétaires qui doivent organiser leurs contrats, paiements et contacts avec les locataires. Le code est écrit en JavaScript et distribué sous la licence MIT permissive.
Le projet divise l'interface en deux parties principales : le tableau de bord du propriétaire et le portail du locataire. C'est pratique si vous souhaitez donner aux locataires accès à leur historique de paiements et à leurs documents sans transmettre manuellement chaque PDF via des messageries.
Voici les principales fonctionnalités intégrées au système :
- Base de données des propriétés et des locataires. Vous créez des fiches pour les appartements, chambres, bureaux, liez les locataires avec leurs coordonnées et informations de passeport.
- Modèles de contrats et d'accords. Le système inclut un éditeur de modèles intégré. Vous configurez le texte du contrat avec des variables une fois, et le système remplit automatiquement les données du locataire, les conditions et les montants des paiements.
- Suivi des paiements de loyer et des dettes. L'application surveille le calendrier des paiements, met en évidence les paiements en retard et enregistre les sommes reçues.
- Notifications groupées et personnalisées. Vous pouvez envoyer aux locataires des reçus, des rappels de paiement ou des annonces importantes par e-mail directement depuis l'interface.
- Collaboration. Si vous gérez des propriétés avec un partenaire ou un assistant embauché, vous pouvez ajouter plusieurs comptes avec un contrôle d'accès basé sur les rôles.
Interface et captures d'écran
L'interface semble épurée, sans surcharge visuelle inutile. Vous trouverez ci-dessous plusieurs captures d'écran issues de la documentation du projet.
| | | |
| :-----------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------: |
| Page des loyers | Envoyez des avis, reçus par e-mail | Payer un loyer |
|
| | |
| Page des locataires | Détails du locataire | |
| | | |
| Page des propriétés | Détails de la propriété | |
| | | |
| Page du propriétaire | Modèles de baux | Rédiger un contrat |
| | | |
| Membres | |
| | |
Comment déployer sur votre propre serveur
Les auteurs ont regroupé tous les services dans Docker Compose, donc le déploiement prend littéralement cinq minutes. Sous le capot, l'application utilise MongoDB.
Préparation de la configuration
Commencez par créer un répertoire de travail et télécharger les fichiers de base :
mkdir mre
cd mre
curl https://raw.githubusercontent.com/microrealestate/microrealestate/master/docker-compose.yml > docker-compose.yml
curl https://raw.githubusercontent.com/microrealestate/microrealestate/master/.env.domain > .env
Assurez-vous d'ouvrir le fichier .env et de définir vos propres clés secrètes, jetons et mots de passe à la fin du fichier. Si vous mettez à jour une installation existante, transférez les anciennes valeurs MONGO_URL et secrets afin de ne pas perdre l'accès à vos données.
Exécution sur une machine locale
Pour tester l'interface sur votre ordinateur, exécutez simplement une commande :
APP_PORT=8080 docker compose --profile local up
Après le démarrage, l'interface du propriétaire sera disponible à l'adresse http://localhost:8080/landlord, et l'interface du locataire à l'adresse http://localhost:8080/tenant.
Exécution sur un serveur avec domaine et HTTPS
Si vous configurez une instance sur un VPS et avez déjà configuré les enregistrements DNS de votre domaine pour qu'ils pointent vers votre IP, le système peut automatiquement émettre un certificat SSL via le proxy inverse intégré :
sudo APP_DOMAIN=app.example.com APP_PROTOCOL=https docker compose up
Le panneau de contrôle sera accessible en HTTPS à l'adresse https://app.example.com/landlord.
Sauvegarde
Comme toutes les données sont stockées dans MongoDB, les sauvegardes se font avec une seule commande utilisant l'image officielle :
docker compose run mongo /usr/bin/mongodump --uri=mongodb://mongo/mredb --gzip --archive=./backup/mredb-$(date +%F_%T).dump
Vous pouvez restaurer la base de données à partir d'un dump de la même manière :
docker compose run mongo /usr/bin/mongorestore --uri=mongodb://mongo/mredb --drop --gzip --archive=./backup/mredb-XXXX.dump
À qui s'adresse ce projet
MicroRealEstate ne remplacera probablement pas les systèmes ERP lourds des grandes entreprises de gestion avec des centaines de complexes résidentiels. Elles nécessitent des intégrations avec les systèmes SIG Habitat, la téléphonie et des caisses enregistreuses spécifiques.
Cependant, pour les propriétaires privés, les propriétaires de plusieurs appartements ou les petits espaces de coworking, c'est une excellente alternative auto-hébergée. Les données des propriétés et des locataires restent sur votre serveur personnel, l'interface est intuitive, et le démarrage de base via Docker élimine la configuration fastidieuse de l'environnement.
Projets similaires