Aller à l'article
Aniq-UI

LearnioLancer Learnio en local

Lancer Learnio en local

Lancez votre pack sur votre ordinateur, avec Docker.

Pour le pack Full Stack

Avant de commencer : installez et ouvrez Docker Desktop, ou Docker Engine avec Compose.

Voir la configuration requise
  1. Téléchargez votre template

    Ouvrez Mes templates et téléchargez le ZIP de Learnio correspondant à votre pack.

    Résultat attendu: Un fichier au nom du type learnio-lms-main-….zip apparaît dans vos téléchargements.

  2. Décompressez et ouvrez le dossier

    Extrayez le ZIP et ouvrez un terminal dans le dossier learnio-lms. Sous Windows, extrayez-le dans l'Explorateur de fichiers, puis ouvrez un terminal dans le dossier.

    Terminal
    unzip learnio-lms-*.zip
    cd learnio-lms

    Résultat attendu: Le dossier contient admin-dashboard, back-end, frontend et docker-compose.yml.

    Un problème ?
  3. Démarrez les applications

    Construisez et démarrez l'API, le site étudiant et le tableau de bord admin. Le premier démarrage construit trois images et remplit la base de données avec les données de démonstration, ce qui prend quelques minutes ; les démarrages suivants ne prennent que quelques secondes.

    Terminaldans learnio-lms
    docker compose up --build

    Un port est déjà utilisé ?

    Si le démarrage s'arrête sur ports are not available ... address already in use, un autre programme utilise 3030, 3031 ou 8000. Arrêtez-le, ou créez un fichier nommé .env dans le dossier learnio-lms avec le port voulu, par exemple ADMIN_PORT=3041 (SITE_PORT pour le site étudiant, API_PORT pour l'API). Relancez docker compose up --build et ouvrez l'application sur son nouveau port.

    Un port est déjà utilisé

    Résultat attendu: Les trois services restent actifs et le journal cesse de défiler. Laissez ce terminal ouvert.

    Un problème ?
  4. Ouvrez le site étudiant

    Ouvrez localhost:3030Local et connectez-vous en tant qu'étudiant de démonstration : demo@learnio.com avec le mot de passe Demo@123.

    Résultat attendu: Le catalogue s'affiche, et la connexion ouvre le tableau de bord de l'apprenant.

    Un problème ?
  5. Connectez-vous au tableau de bord admin

    Ouvrez localhost:3031Local. Le super admin est admin@learnio.com avec le mot de passe Admin@123. Changez-le après votre première connexion.

    Résultat attendu: Le tableau de bord admin s'ouvre sur sa vue d'ensemble.

    Un problème ?

Faites le tour

Voici à quoi ressemblent les données de démonstration une fois que tout tourne : le site étudiant avec son catalogue, ouvert sur un cours.

CompteE-mailMot de passe
Super adminadmin@learnio.comAdmin@123
Formateuremily-davis@learnio.comTeach@123
Étudiantdemo@learnio.comDemo@123

Onze autres comptes du personnel existent sous *@learnio.com avec le mot de passe admin123, chacun avec un rôle différent, pour que vous puissiez voir les permissions de l'intérieur. Ce sont uniquement des comptes de démonstration locaux.

Arrêter et redémarrer

Appuyez sur Ctrl+C dans le terminal pour arrêter les applications, ou exécutez cette commande depuis le dossier learnio-lms. Vos données sont conservées dans le volume learnio-data.

Terminaldans learnio-lms
docker compose down

Redémarrez avec la même commande qu'à l'étape 3. Sans --build, elle réutilise les images déjà construites.

Terminaldans learnio-lms
docker compose up

Conserver vos données

docker compose down -v supprime aussi le volume de la base de données. Le démarrage suivant recrée une copie neuve des données de démonstration, et tout ce que vous avez créé est perdu.

Lancer le site étudiant

Ce pack contient uniquement le site étudiant. Il fonctionne sur ses données d'exemple intégrées jusqu'à ce que vous le connectiez à une API Learnio. L'API est un pack séparé et ne fait pas partie de ce téléchargement.

  1. Téléchargez votre template

    Ouvrez Mes templates et téléchargez le ZIP du site étudiant.

  2. Décompressez et ouvrez le dossier

    Terminal
    unzip frontend-*.zip
    cd frontend

    Résultat attendu: Le dossier contient un Dockerfile et un package.json.

  3. Construisez l'image

    Les valeurs NEXT_PUBLIC_* sont compilées dans le JavaScript chargé par le navigateur : ce sont donc des arguments de build. Omettez-les pour fonctionner sur les données d'exemple ; pour utiliser votre propre API, indiquez son adresse.

    Terminaldans frontend
    docker build -t learnio-site .

    Avec votre propre API :

    Terminaldans frontend
    docker build -t learnio-site --build-arg NEXT_PUBLIC_API_BASE_URL=https://api.your-domain.com/api --build-arg NEXT_PUBLIC_SITE_URL=https://your-domain.com .
  4. Démarrez l'application

    Si le port 3030 est occupé, changez le nombre à gauche de -p, par exemple -p 3041:3030, et ouvrez ce port à la place.

    Terminaldans frontend
    docker run -p 3030:3030 learnio-site

    Résultat attendu: localhost:3030Local ouvre le site. Sans API, une mention « Sample data » en bas de la page l'indique.

    Un problème ?

Lancer le tableau de bord admin

Ce pack est le tableau de bord admin seul. Sans API, il tourne sur un mock dans le navigateur : vous pouvez vous connecter et parcourir l'interface, mais la plupart des écrans restent vides tant qu'une API Learnio n'est pas branchée. L'API est un pack séparé et n'est pas dans ce téléchargement.

  1. Téléchargez votre template

    Ouvrez Mes templates et téléchargez le ZIP du tableau de bord admin.

  2. Décompressez et ouvrez le dossier

    Terminal
    unzip admin-dashboard-*.zip
    cd admin-dashboard

    Résultat attendu: Le dossier contient un Dockerfile et un package.json.

  3. Construisez l'image

    Sans arguments de build, le tableau de bord utilise son mock. Pour utiliser votre propre API, indiquez son adresse, son adresse WebSocket (le même serveur sans /api) et l'adresse du site étudiant.

    Terminaldans admin-dashboard
    docker build -t learnio-admin .

    Avec votre propre API :

    Terminaldans admin-dashboard
    docker build -t learnio-admin --build-arg NEXT_PUBLIC_API_BASE_URL=https://api.your-domain.com/api --build-arg NEXT_PUBLIC_WEBSOCKET_BASE_URL=https://api.your-domain.com --build-arg NEXT_PUBLIC_SITE_URL=https://your-domain.com .
  4. Démarrez-le et connectez-vous

    Si le port 3031 est occupé, changez le nombre à gauche de -p, par exemple -p 3041:3031, et ouvrez ce port à la place.

    Terminaldans admin-dashboard
    docker run -p 3031:3031 learnio-admin

    Résultat attendu: localhost:3031Local ouvre le formulaire de connexion, prérempli avec admin@learnio.com et Admin@123. Avec le mock, n'importe quel e-mail et mot de passe vous connectent en tant que super admin.

    Un problème ?

Lancer l'API

Ce pack contient uniquement l'API NestJS, sur un fichier SQLite conservé dans un volume Docker. Le site étudiant et le tableau de bord admin sont des packs séparés et ne font pas partie de ce téléchargement.

  1. Téléchargez votre template

    Ouvrez Mes templates et téléchargez le ZIP de l'API.

  2. Décompressez et créez le fichier d'environnement

    .env.example fonctionne tel quel pour une exécution locale.

    Terminal
    unzip back-end-*.zip
    cd back-end
    cp .env.example .env
  3. Construisez l'image

    Terminaldans back-end
    docker build -t learnio-api .
  4. Démarrez-la avec les données de démonstration

    Une base de données neuve reçoit des tables vides, sauf si vous demandez les données de démonstration. Le volume conserve la base de données d'une exécution à l'autre. Si le port 8000 est occupé, changez le nombre à gauche de -p, par exemple -p 8010:8000, et utilisez cette adresse : vos frontends doivent alors pointer vers http://localhost:8010/api.

    Terminaldans back-end
    docker run -p 8000:8000 -v learnio-data:/data -e SEED_DEMO_DATA=true --env-file .env learnio-api

    Résultat attendu: localhost:8000/api/healthLocal répond avec le statut ok.

    Un problème ?

Sans JWT_SECRET personnel, ou avec celui de l'exemple, le conteneur génère un secret et le conserve dans le volume.

Étapes suivantes

Bloqué sur une étape ?

Trouvez une solution avant de tout recommencer.

Dépannage

Préférences des Cookies

Nous utilisons des cookies pour améliorer votre expérience de navigation, analyser le trafic du site et personnaliser le contenu. En cliquant sur "Accepter Tout", vous consentez à notre utilisation des cookies pour l'analyse et la publicité personnalisée.