Skip to content

Andrainarivo/PentestLearn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛡️ PentestLearn

Plateforme d'apprentissage interactive dédiée à tous ceux qui veulent se perfectionner sur un/plusieurs sujets d'études

Python Django MySQL Security

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.


Fonctionnalités

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.

Installation

1. Préparation de l'environnement

# 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-config

2. Installation des dépendances Python

pip install --upgrade pip
pip install -r requirements.txt

Configuration de la Base de Données (MySQL)

-- 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;

Initialisation du Système

Migration de la base de données**

cd src
python manage.py makemigrations
python manage.py makemigrations learning
python manage.py migrate

Création du Super-Utilisateur (Admin)

# Important : L'email doit être valide pour passer le système de vérification
python manage.py createsuperuser

Lancement du serveur

python 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>

About

Application d'apprentissage en Django

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors