Déploiement et personnalisation de l'environnement Menthor
Menthor représente une infrastructure logicielle open source dédiée à la formation technique, permettant aux développeurs d'améliorer leurs compétences par la pratique tout en explorant des modèles d'affaires technologiques. Cette documentation détaille le processus de mise en place technique sur un poste de travail dédié.
Pré-requis Système
Afin d'assurer la compatibilité avec le stack technologique utilisé, vérifiez la présence des outils suivants :
- Gestionnaire de versions Git
- Runtimes Node.js (version minimale v14)
- Gestionnaire de paquets pnpm (v6 ou supérieur)
Procédure d'initialisation
Récupération du code source
Ouvrez votre terminal de commande et exécutez la séquence suivante pour cloner le référentiel distant. L'option de profondeur limitée optimise le temps de téléchargement :
# Clonage optimisé du projet
git clone --depth 1 https://gitcode.com/gh_mirrors/me/menthor
# Navigation vers le répertoire racine
cd menthor
Gestion des dépendances
Avant toute compilation, il est impératif de résoudre les bibliothèques tierces requises. Utilisez le gestionnaire de paquets natif du projet :
activation de l'environnement package manager
corepack prepare pnpm@latest --activate
installation des modules externes
pnpm install --reporter=compact
Lancement du serveur local
Une fois les dépendances intégrées, initiez le processus de développement hot-reload :
# Exécution du service web en mode interactif
export MODE_APP=dev
pnpm run dev
Le point d'accès sera disponible à l'adresse http://localhost:3000.
Architecture de personnalisation
La structure du projet permet une modifictaion flexible de l'interface et des comportements métiers via plusieurs emplacements clés :
| Composant | Chemin d'accès relatif | Fonctionnalité |
|---|---|---|
| Configuration Core | apps/app/nuxt.config.ts |
Paramètres globaux de Nuxt |
| Routage | apps/app/pages/ |
Définition des vues utilisateurs |
| UI Framework | packages/ui/src/ |
Styles et composants visuels |
| Variables de Thème | packages/tailwind-config/tailwind.config.ts |
Palette chromatique et espacement |
Systèmes pédagogiques intégrés
Modules de cours
Le contenu pédagogique est structuré dans le backend API et rendu via des composants organisationnels situés dans components/organisms/. Les endpoints de données se trouvent sous server/api/.
Moteur de reconnaissance
Un système de gamification attribue des insignes numériques lors de la validation de défis techniques. La logique métier réside dans stores/api/submissions.ts, tandis que les assets graphiques sont stockés publiquement dans public/app/achievements/.
Dépannage courant
Échec de résolution des paquets
En cas d'incohérence du cache local, nettoyez le stockage intermédiaire avant de réinstaller :
pnpm store prune --force
pnpm install
Incompatibilité du runtime
Vérifiez que la version de l'exécuteur JavaScript respecte les contraintes minimales :
node --version
# Résultat attendu : v14.x.x ou supérieur
Références documentaires
Pour approfondir l'usage de l'outil, consultez les dossiers suivants :
- Fichier de lecture principal :
README.md - Documentation créateurs de contenu :
apps/www/content/1.creators/ - Guide apprenants :
apps/www/content/2.alunos/