← Tous les projets

[ Infrastructure · DevOps · Moodle · 2026 ]

ADLAcademyInfraLMS

Client
ADL Academy
Année
2026
Rôle
Fullstack Developer & Software Engineer — Infrastructure / DevOps
Durée
3 semaines
Voir le site live ↗
ADL Academy — Infra LMS

[ Aperçu ]

Déploiement et mise en production d'une plateforme de formation basée sur Moodle 5.2, avec une infrastructure de visioconférence Jitsi Meet intégrée — le tout consolidé sur un seul VPS Linux sécurisé, avec Nginx comme point d'entrée unique.

[ Le défi ]

Faire cohabiter un LMS exigeant (PHP-FPM, MariaDB, cron, moodledata) et un service temps réel gourmand en réseau (Jitsi Videobridge, UDP 10000) sur une seule machine, sans compromettre la sécurité, les performances ni la disponibilité des cours.

[ L'approche ]

Sécurisation du VPS Linux, déploiement de Moodle 5.2 (PHP 8.3 / PHP-FPM, MariaDB, Composer, cron Moodle, permissions et isolation de moodledata), configuration Nginx et des sous-domaines avec certificats Let's Encrypt. Jitsi Meet déployé via Docker (Videobridge + UDP 10000), routage Nginx entre adl.adlacademy.com (Moodle) et meet.adlacademy.com (Jitsi). Tests HTTP/HTTPS, vérification des API Moodle et sauvegardes automatisées base de données / code / moodledata avant mise en production.

Architecture — VPS unique

Étudiants & formateurs → HTTPS 443 / UDP 10000

VPS 01Moodle + Jitsi

LMS et visioconférence sur la même machine

  • Nginx — reverse proxy + SSL
  • Moodle 5.2 — PHP 8.3 / PHP-FPM
  • MariaDB — base de données
  • moodledata — stockage isolé
  • Docker — Jitsi Meet + Videobridge
  • Cron Moodle · Let's Encrypt

adl.adlacademy.com · meet.adlacademy.com

Fig. 01 — Un seul VPS Linux : Nginx en point d'entrée unique, Moodle et Jitsi isolés par sous-domaines.

01 · Contexte

ADL Academy avait besoin d'une plateforme de formation en ligne complète, opérationnelle rapidement et maîtrisée en coûts. Le choix a été fait de mutualiser LMS et classes virtuelles sur une seule machine, avec une architecture claire et documentée pour rester maintenable.

  • Budget infrastructure contenu : un seul VPS
  • Mise en production en 3 semaines
  • Autonomie de l'équipe après livraison

02 · Déploiement

Provisionnement du VPS, installation de la stack LAMP moderne (Nginx, PHP 8.3-FPM, MariaDB), installation de Moodle 5.2 via Composer, configuration du cron Moodle, puis déploiement de Jitsi Meet sous Docker avec le Videobridge exposé en UDP 10000. Nginx route chaque sous-domaine vers le bon service.

  • Nginx : vhosts séparés Moodle / Jitsi
  • Tuning PHP-FPM et OPcache
  • Sauvegardes automatisées : DB, code, moodledata

03 · Sécurité

Durcissement du serveur avant ouverture au public : pare-feu restreint aux ports utiles, accès SSH par clé, certificats Let's Encrypt avec renouvellement automatique, permissions strictes sur moodledata et isolation des conteneurs Docker.

  • SSL/TLS noté A+ · HSTS activé
  • moodledata hors racine web
  • Renouvellement certbot automatisé

[ Galerie ]

ADL Academy — Infra LMS — 101 / 01

[ Résultats ]

1

VPS, 2 services simultanés

A+

Note SSL/TLS

100%

Sauvegardes automatisées

0

Incident depuis la mise en production

[ Crédits ]

  • 01 · Infrastructure & DevOpsHassan Diarrassouba — Xel digital
  • 02 · Contenu pédagogiqueÉquipe ADL Academy

[ Stack technique ]

  • Linux
  • Nginx
  • PHP 8.3
  • PHP-FPM
  • MariaDB
  • Moodle 5.2
  • Docker
  • Jitsi Meet
  • Let's Encrypt
  • Composer
  • Cron
  • SSL/TLS

[ Témoignage client ]

Nos cours en ligne et nos classes virtuelles tournent sur la même infrastructure, sans coupure. L'installation a été carrée et documentée.

ÉAA

Équipe ADL Academy

Direction, ADL Academy

INSAAC — Infra Moodle

Projet suivant

INSAAC — Infra Moodle

Projet suivant · INSAAC — Infra MoodleProjet suivant · INSAAC — Infra MoodleProjet suivant · INSAAC — Infra MoodleProjet suivant · INSAAC — Infra MoodleProjet suivant · INSAAC — Infra MoodleProjet suivant · INSAAC — Infra MoodleProjet suivant · INSAAC — Infra MoodleProjet suivant · INSAAC — Infra MoodleProjet suivant · INSAAC — Infra MoodleProjet suivant · INSAAC — Infra MoodleProjet suivant · INSAAC — Infra MoodleProjet suivant · INSAAC — Infra MoodleProjet suivant · INSAAC — Infra MoodleProjet suivant · INSAAC — Infra MoodleProjet suivant · INSAAC — Infra MoodleProjet suivant · INSAAC — Infra Moodle