Plateforme d'apprentissage interactive dédiée à tous ceux qui veulent se perfectionner sur un/plusieurs sujets d'études
Une application web conçue pour former les débutants dans tous differents domaines d'apprentissage .Il intègre nativement un système d'apprentissage classique (leçons/exercices) avec différents niveaux et des protocoles de sécurité de niveau industriel pour garantir une expérience d'apprentissage sécurisée.
L'application met l'accent sur la robustesse de l'authentification, la sécurité et la traçabilité :
- Two-Factor Authentication (2FA/TOTP): Support natif des applications d'authentification (Google Authenticator, Authy).
- Vérification d'Email: Processus d'inscription sécurisé avec validation obligatoire du compte par email avant accès au dashboard.
- Emergency Recovery: Protocole de récupération de compte en cas de perte du gestionnaire des TOTP (Recovery Codes).
- Vulnerability Tracking: Interface administrateur dédiée au monitoring et au reporting des failles identifiées sur la plateforme elle-même.
- UI/UX: Interface immersive conçue pour une expérience utilisateur de type "futurist" & "cyberpunk".
- MVT: Architecture de conception basique de Django.
# Cloner le dépôt
git clone https://github.com/Andrainarivo/PentestLearn.git
cd PentestLearn
# Créer et activer l'environnement virtuel
python -m venv .env
source .env/bin/activate
# Installer les dépendances système (Debian/Ubuntu)
sudo apt update && sudo apt install -y python3-dev default-libmysqlclient-dev build-essential pkg-configpip install --upgrade pip
pip install -r requirements.txt-- Configuration recommandée
CREATE DATABASE IF NOT EXISTS pentestlearn CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'admin_project'@'localhost' IDENTIFIED BY 'VotreMotDePasseSecurise';
GRANT ALL PRIVILEGES ON pentestlearn.* TO 'admin_project'@'localhost';
FLUSH PRIVILEGES;
EXIT;cd src
python manage.py makemigrations
python manage.py makemigrations learning
python manage.py migrate# Important : L'email doit être valide pour passer le système de vérification
python manage.py createsuperuserpython manage.py runserver
# ou
python manage.py runserver <adresse_ip>:<port>Accèder à l'application en naviguant vers l'url : http://127.0.0.1:8000 ou http://<adresse_ip>:<port>