Skip to content

Latest commit

 

History

History
315 lines (242 loc) · 8.64 KB

File metadata and controls

315 lines (242 loc) · 8.64 KB

🐍👵 START HERE - Bienvenue chez PythonTaMère! 💥

"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! 🚀


⚡ Setup ULTRA RAPIDE (Plus rapide que ta mère qui lance une savate!)

1️⃣ Installe les Deps (même pas 30 secondes!)

pip install -r requirements.txt

💨 VRRROOOOOM! C'est rapide comme l'éclair! ⚡

2️⃣ Init la DB avec du Contenu qui CLAQUE! 🔥

python -m backend.init_db

Tu 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! 🎊

3️⃣ Lance les Serveurs (C'est parti mon kiki!)

Terminal 1 - Backend API (le cerveau qui calcule 🧠)

python -m backend.main

Tu 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

🌐 Ouvre ton Nav' et GO!

SI TU VOIS LE LOGO 🐍👵 = T'ES UN CHAMPION! 🏆


🎯 Tes Premières Missions de Warrior!

Mission 1: Deviens un Utilisateur Admin 👑

  1. Clique sur le bouton "GO!" en haut à droite
  2. Entre ton email (n'importe lequel, on s'en fout!)
  3. En mode dev, un token magique apparaît
  4. Clique sur "Se connecter!"
  5. 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! 🔐

Mission 2: Crée ton Premier Compte Admin (Option Hardcore)

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!')
"

Mission 3: Code ton Premier Exercice! 💻

  1. Va dans "Leçons" 🔥
  2. Choisis une leçon (commence par "Hello Python!")
  3. Clique sur un exercice
  4. TAPE DU CODE COMME UN WARRIOR! ⌨️
  5. Appuie sur "RUN" pour tester
  6. Appuie sur "GO!" pour valider

Si t'as tout bon = 🎉 GG BRO! T'es sur la bonne voie!


🚨 Problèmes? Ta Mère a la Solution!

🔴 Erreur "Module not found"?

# Retourne à la racine du projet et:
pip install -r requirements.txt

Explication: T'as oublié d'installer les packages, rookie mistake! 😅

🔴 Port déjà utilisé?

Backend (port 8000):

# Windows
netstat -ano | findstr :8000
taskkill /PID <le_numero> /F

# Linux/Mac
lsof -ti:8000 | xargs kill -9

Frontend (port 8080):

# Change juste le port mon gars!
python -m http.server 3000 --directory frontend

🔴 CORS Error dans la console?

Relax! Le backend est déjà configuré pour accepter toutes les origines en dev. Si ça marche pas:

  1. Check que le backend tourne sur http://localhost:8000
  2. Vérifie dans backend/main.py que allow_origins=["*"]
  3. Refresh ton navigateur (CTRL+F5 pour forcer)

🔴 La page est blanche?

# Assure-toi d'être dans le bon dossier!
cd "O:\Python project"
python -m http.server 8080 --directory frontend

Pro-tip: Le --directory frontend c'est IMPORTANT sinon il cherche au mauvais endroit!


🎮 Les Raccourcis de Warrior

Scripts Automatiques (Pour les Flemmards - Respect! 😎)

Windows:

.\start.bat

Linux/Mac:

chmod +x start.sh
./start.sh

Ces scripts lancent TOUT EN MÊME TEMPS! Backend + Frontend = EASY MODE! 🎯


📂 Architecture (Pour Comprendre où tu Mets les Pieds)

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)

🔥 Les Commandes qui DÉCHIRENT

Backend

# 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

Frontend

# Serveur simple sur port 8080
python -m http.server 8080 --directory frontend

# Ou sur un autre port
python -m http.server 3000 --directory frontend

Docker (Mode Pro! 🐳)

# Build et lance TOUT
docker-compose up --build

# En mode détaché (arrière-plan)
docker-compose up -d

# Arrêter tout
docker-compose down

💡 Tips de Warrior Pro

1. 🎨 Customise ton Style!

Tous les styles sont dans frontend/css/. Modifie-les pour faire TA version de PythonTaMère!

2. 📝 Crée tes Propres Leçons!

Va dans la section Admin (après connexion) et crée du contenu qui CLAQUE! 🔥

3. 🌍 Change de Langue!

Utilise le sélecteur 🇫🇷/🇬🇧 en haut à droite. Les traductions sont dans frontend/js/i18n.js

4. 🐛 Debug Mode!

Ouvre la console navigateur (F12) pour voir ce qui se passe sous le capot!

5. 🚀 Hot Reload!

Le backend a le hot-reload activé! Modifie le code Python et ça reload auto! 💨


🎓 Prochaines Étapes

  1. ✅ Tu as lancé l'app? GG! 🎉
  2. 📖 Lis le QUICKSTART.md pour comprendre les bases
  3. 🏗️ Check STRUCTURE.md pour l'architecture complète
  4. 📚 Plonge dans TUTORIAL.md pour devenir un master
  5. 🎨 Regarde VISUAL_GUIDE.md pour une vue graphique

🆘 Besoin d'Aide?

Ressources Utiles

Check List de Debugging

  • ✅ 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?

🏆 T'es Prêt Warrior!

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! 🚀