LA Scholar


Environnement d'apprentissage de la programmation

1 - Introduction

LAScholar (LAS) 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

LAS est un outil consitué :

  • d’une IHM étudiant qui va permetttre de saisir les réponses à un exercice de programmation et de soumettre ces réponses pour vérifier leur fonctionnement
  • d’un serveur d’application regroupant plusieurs servicse et accessible par des API REST. Ces services délivrent des exercices et évaleuent les réponses qui leur sont envoyées

1.2 - Architecture technique

LAS est un environnement regroupant plusieurs composants logiciels

NomFonctionSystème / Technologie
LAS-IHMIHM étudiant pour accéder aux exercices et pour soumettre des réponsesJS - React
LAS-ExerciceAPI permettant d’envoyer des exercices aux étudiants et de récupérer leurs réponsesNodeJS - Express
LAS-StratégieAPI permettant de définir les stratégies d’envoie des exercices aux étudiantsNodeJS - Express
LAS-EvaluationAPI permettant compiler les réponses des étudiants et de vérifier leurs réponsesGO - Docker
LAS-ResultatAPI permettant de tracer les réponses des étudiantsNodeJS - Express

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

2 - Usage

LAS peut etre utilisé nativement ou depuis Moodle. La figure suivante montre un usage étudiant depuis Moodle

3 - Installation

3.1 - Installation pour les développements

3.2 - Installation en production

L’installation de LAS en production se fait à partir d’un dépôt spécifique LAS-Install. Le déploiement se fait sur un environnement linux

3.2.1 - Installation de LAS-IHM

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/las

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: LAS Outils 

Suggestions de lecture :