"Ta mère elle code en Python et elle déchire tout!" - Proverbe de warrior
Yo warrior! T'es prêt à EXPLOSER le game du Python ? Accroche-toi, ça va péter! 🚀
pip install -r requirements.txt💨 VRRROOOOOM! C'est rapide comme l'éclair! ⚡
python -m backend.init_dbTu vas voir apparaître:
✅ Tables créées!
✅ Base de données initialisée avec des données d'exemple!
💥 BOOOOOM! T'as maintenant 8 leçons et 15+ exercices qui attendent que TOI! 🎊
Terminal 1 - Backend API (le cerveau qui calcule 🧠)
python -m backend.mainTu devrais voir:
INFO: Uvicorn running on http://0.0.0.0:8000
✅ Backend is ON FIRE! 🔥
Terminal 2 - Frontend (la beauté qui tue 🎨)
python -m http.server 8080 --directory frontend- 🎮 Frontend: http://localhost:8080 ← C'EST ICI QUE ÇA SE PASSE!
- 📚 API Docs: http://localhost:8000/docs ← Pour les curieux
SI TU VOIS LE LOGO 🐍👵 = T'ES UN CHAMPION! 🏆
- Clique sur le bouton "GO!" en haut à droite
- Entre ton email (n'importe lequel, on s'en fout!)
- En mode dev, un token magique apparaît
- Clique sur "Se connecter!"
- BOOM! T'es connecté comme un boss! 😎
Pro-tip de ta mère: Crée-toi un compte admin pour accéder à la zone secrète! 🔐
python -c "
from backend.database import SessionLocal
from backend.models import User
db = SessionLocal()
admin = User(
email='boss@pythontamere.com',
username='LeBoss',
is_admin=True
)
db.add(admin)
db.commit()
print('👑 Admin créé! T\'es le roi maintenant!')
"- Va dans "Leçons" 🔥
- Choisis une leçon (commence par "Hello Python!")
- Clique sur un exercice
- TAPE DU CODE COMME UN WARRIOR! ⌨️
- Appuie sur "RUN" pour tester
- Appuie sur "GO!" pour valider
Si t'as tout bon = 🎉 GG BRO! T'es sur la bonne voie!
# Retourne à la racine du projet et:
pip install -r requirements.txtExplication: T'as oublié d'installer les packages, rookie mistake! 😅
Backend (port 8000):
# Windows
netstat -ano | findstr :8000
taskkill /PID <le_numero> /F
# Linux/Mac
lsof -ti:8000 | xargs kill -9Frontend (port 8080):
# Change juste le port mon gars!
python -m http.server 3000 --directory frontendRelax! Le backend est déjà configuré pour accepter toutes les origines en dev. Si ça marche pas:
- Check que le backend tourne sur http://localhost:8000
- Vérifie dans
backend/main.pyqueallow_origins=["*"] - Refresh ton navigateur (CTRL+F5 pour forcer)
# Assure-toi d'être dans le bon dossier!
cd "O:\Python project"
python -m http.server 8080 --directory frontendPro-tip: Le --directory frontend c'est IMPORTANT sinon il cherche au mauvais endroit!
Windows:
.\start.batLinux/Mac:
chmod +x start.sh
./start.shCes scripts lancent TOUT EN MÊME TEMPS! Backend + Frontend = EASY MODE! 🎯
PythonTaMère/
├── 🔥 backend/ # Le cerveau de l'opération
│ ├── main.py # Point d'entrée API
│ ├── models.py # Structure de la DB
│ ├── schemas.py # Validation des données
│ ├── auth.py # System d'auth magique
│ ├── database.py # Connection DB
│ ├── init_db.py # Script d'init
│ ├── add_lessons.py # Ajout de leçons
│ └── routes/ # Tous les endpoints
│ ├── auth_routes.py
│ ├── lessons_routes.py
│ ├── exercises_routes.py
│ └── submissions_routes.py
│
├── 💎 frontend/ # La beauté qui tue
│ ├── index.html # Page principale
│ ├── css/
│ │ ├── style.css # Style CRUNCHY PUNCHY
│ │ └── markdown-style.css # Style des leçons
│ └── js/
│ ├── app.js # Logique principale
│ ├── api.js # Appels API
│ ├── editor.js # Monaco Editor
│ ├── runner.js # Exécution Python (Pyodide)
│ ├── messages.js # Messages de warrior
│ └── i18n.js # Traductions FR/EN
│
├── 📚 Docs/ # Guides et tutos
│ ├── README.md # Vue d'ensemble
│ ├── START_HERE.md # TU ES ICI! 👈
│ ├── QUICKSTART.md # Démarrage rapide
│ ├── TUTORIAL.md # Tutorial complet
│ ├── STRUCTURE.md # Architecture détaillée
│ ├── PROJECT_SUMMARY.md # Résumé du projet
│ └── VISUAL_GUIDE.md # Guide visuel avec ASCII art
│
├── ⚙️ Config/ # Configuration
│ ├── requirements.txt # Dépendances Python
│ ├── docker-compose.yml # Docker setup
│ ├── Dockerfile.backend # Image Docker backend
│ ├── start.bat # Script Windows
│ └── start.sh # Script Linux/Mac
│
└── 🗄️ Data/
└── pylearn.db # Base SQLite (créée auto)
# Lancer l'API
python -m backend.main
# Init/Reset la DB
python -m backend.init_db
# Ajouter des leçons
python -m backend.add_lessons# Serveur simple sur port 8080
python -m http.server 8080 --directory frontend
# Ou sur un autre port
python -m http.server 3000 --directory frontend# Build et lance TOUT
docker-compose up --build
# En mode détaché (arrière-plan)
docker-compose up -d
# Arrêter tout
docker-compose downTous les styles sont dans frontend/css/. Modifie-les pour faire TA version de PythonTaMère!
Va dans la section Admin (après connexion) et crée du contenu qui CLAQUE! 🔥
Utilise le sélecteur 🇫🇷/🇬🇧 en haut à droite. Les traductions sont dans frontend/js/i18n.js
Ouvre la console navigateur (F12) pour voir ce qui se passe sous le capot!
Le backend a le hot-reload activé! Modifie le code Python et ça reload auto! 💨
- ✅ Tu as lancé l'app? GG! 🎉
- 📖 Lis le QUICKSTART.md pour comprendre les bases
- 🏗️ Check STRUCTURE.md pour l'architecture complète
- 📚 Plonge dans TUTORIAL.md pour devenir un master
- 🎨 Regarde VISUAL_GUIDE.md pour une vue graphique
- API Docs: http://localhost:8000/docs (Swagger interactif!)
- API Redoc: http://localhost:8000/redoc (Documentation alternative)
- Health Check: http://localhost:8000/health (Vérifie que l'API est up)
- ✅ Backend tourne sur port 8000?
- ✅ Frontend tourne sur port 8080?
- ✅ Pas d'erreur dans la console navigateur (F12)?
- ✅ Base de données initialisée?
- ✅ Tous les packages installés?
Félicitations! T'as setup PythonTaMère comme un BOSS! 💪
Maintenant, va EXPLOSER du code Python et devenir un warrior légendaire! 🐍👵
def devenir_warrior():
motivation = "∞"
skills = "Python Master"
style = "CRUNCHY PUNCHY"
return f"🔥 {skills} avec un style {style}! 💥"
print(devenir_warrior())
# Output: 🔥 Python Master avec un style CRUNCHY PUNCHY! 💥Made with 💖, 🐍, and 👵 by Abdel ATIA (le véto/pharmacien/dev de ouf!)
🚀 LET'S CODE LIKE WARRIORS! 🚀