LA VirtualLabs


Environnement pour des TP à distance

1 - Introduction

LAVirtualLabs (LAVL) est un environnement dédié à l’apprentissage de la programmation en semi-autonomie. Cet outil permet de proposer des exercices de programmation à un apprenant qui pourra soumettre ses réponses et obtenir la correction automatiquement en temps réel

1.1 - Principes généraux

LAVL est un outil consitué :

  • d’une IHM étudiant qui va permetttre d
  • d’un serveur d’application regroupant plusieurs services

1.2 - Architecture technique

LAVL est un environnement regroupant plusieurs composants logiciels

NomFonctionSystème / Technologie
LAVL-IHMIHM étudiantJS - React
LAVL-APIAPIJ2EE

La figure suivante récapitule les fonctions des différents services :

2 - Usage

3 - Installation

3.1 - Installation pour les développements

3.2 - Installation en production

L’installation de l’IHM étudiante se fait depuis un script SHELL

  1. Cloner le dépot LAS-Install
git clone https://manouchian.univ-smb.fr/las/api/LAS-Install.git
  1. Créez le fichier d’environnement et éditez le
cd LAS-Install
cp config-las/exemple-las-ihm.env ./.env.las-ihm
vi .env.las-ihm

CONF_APACHE_DEF="001"							    # prefix du fic. VirtualHost d'Apache : 001 | 002 | 003 | ...
NOMSERVEUR_DEF="lascholar"							# nom DNS du VirtualHost d'Apache : lascholar | ...
NOMDOMAIN_DEF="learninglab.eu"                      # domaine DNS du VirtualHost d'Apache : learninglab.eu | ...
EMAIL_NAME_DEF="postmaster@learninglab.eu"	        # email admin du serveur pour le VirtualHost d'Apache


# --- compte utilisateur pour LAS-IHM ---- 
USER_INSTALL_DEF=true
USER_LOGIN_DEF="las-ihm"
USER_PASSWD_DEF="**********"    # définir le mot de passe
USER_GROUP_DEF="las-ihm"

# --- définition des clefs ssh public pouvant se connecter au compte ---
USER_SSH_CLEF_DEF=""
USER_SSH_PORT_DEF=22    # port d'accès SSH au serveur (par défaut 22)

# --- compte gitlab gérant le projet LAS-IHM ---
GITLAB_INSTALL_DEF=true
GITLAB_MACHINE_DEF="manouchian.univ-smb.fr"   # serveur GitLab
GITLAB_PATH_DEF="/las/"                       # path serveur GitLab
GITLAB_DEPOT_DEF="las-ihm"                    # depot serveur GitLab

GITLAB_LOGIN_DEF="******"       # définir le login d'acces au serveur GitLab
GITLAB_PASSWD_DEF="******"      # définir le mot de passe du login d'acces

# --- base de données ---
BD_INSTALL_DEF=false


# --- nodeJS ---
NODEJS_INSTALL_DEF=true			# activation de l'installation de nodeJS
NODEJS_VERSION_DEF="24"			# derniere version stable de NodeJS
NODEJS_LANCEUR_DEF="SYSTEMD"    # configurattion du lancement de NODE
NODEJS_PORT_DEF=3000            # port de lancement de nodeJs en production

# --- apache2 et php ---
APACHE_INSTALL_DEF=true    # apache utilisé comme proxy
PHP_INSTALL_DEF=false

# --- certificat SSL ---
HTTPS_ENABLED_DEF=true
SSL_CERT_TYPE_DEF="LetsEncrypt"

# ----------------------------------------------- 
# --- [2] surcharge des variables spécifiques ---
# ----------------------------------------------- 


VITE_PUBLIC_API_URL=http://localhost:3000   # URL de base de l'API LAS)

VITE_PUBLIC_REDIRECT_URI=http://localhost:3005/     # URI de redirection après authentification OAuth 
                                                    #(doit être enregistrée côté fournisseur OAuth)

# URL de découverte OpenID Connect du fournisseur d'authentification (LAconnect)
VITE_PUBLIC_OAUTH_URL='https://laconnect.learninglab.eu/.well-known/openid-configuration'

# Environnement d'exécution : development | production | test
NODE_ENV='development'

# Niveau de verbosité des logs applicatifs : debug | info | warn | error
VITE_PUBLIC_LOG_LEVEL='debug'
  1. Lancez le script d’installation
cd LAS-Install
chmod +x la-install-las-ihm.sh 
sudo ./la-install-las-ihm.sh

Installation avec docker

4 - Documentation

voir https://manouchian.univ-smb.fr/lavl

5 - Contributeurs

Ce projet est développé et maintenu par :

Il a été développé avec plusieurs contributions étudiantes, dans le cadre de stages, dont (par ordre alphabétique) :

Tags: LAVL Outils 

Suggestions de lecture :