Le langage n°1 pour débuter, créer des jeux, automatiser des trucs et construire de l'IA.
Tout ce qu'il faut pour devenir dangereux avec un clavier.
Python est le langage le plus populaire au monde (source : TIOBE, Stack Overflow). Et pour une bonne raison :
La syntaxe ressemble presque à de l'anglais. Pas de ; partout, pas d'accolades — juste de l'indentation propre.
TensorFlow, PyTorch, pandas, NumPy… Toute l'intelligence artificielle moderne tourne sur Python.
Django, Flask, FastAPI — des millions de sites et services backend sont construits en Python.
Pygame pour les jeux 2D, scripts pour automatiser tes tâches répétitives, bots Discord…
Fun fact : Python est utilisé par la NASA, Google, Instagram, Spotify et Discord. Des entreprises qui recrutent à fond des devs Python.
Avant de coder, il te faut les bons outils. Rien de compliqué :
Va sur python.org et télécharge la dernière version (3.12+). Sur l'installeur Windows, coche "Add Python to PATH" — c'est crucial.
# Vérifie que Python est installé : $ python --version Python 3.12.4 # Ou sur certains systèmes : $ python3 --version Python 3.12.4
Télécharge Visual Studio Code et installe l'extension Python de Microsoft. Tu auras l'autocomplétion, le débogage, et un terminal intégré.
pip est installé automatiquement avec Python. C'est comme un app store pour les librairies Python.
# Installer un paquet : $ pip install requests # Voir les paquets installés : $ pip list # Mettre à jour pip : $ pip install --upgrade pip
Astuce : Tu peux aussi utiliser IDLE, l'éditeur fourni avec Python. C'est basique mais parfait pour tester des trucs rapidement. Lance-le depuis le menu Démarrer.
En Python, pas besoin de déclarer le type — le langage le devine tout seul :
Les f-strings sont la façon moderne (et stylée) d'insérer des variables dans du texte :
Attention : input() renvoie toujours une chaîne de caractères (str). Pour un nombre, il faut convertir avec int() ou float().
Le saviez-tu ? Le bloc else après un while ou for s'exécute seulement si la boucle n'a pas été interrompue par break. C'est une feature unique de Python.
Une fonction, c'est un bloc de code réutilisable. Tu l'écris une fois, tu l'appelles autant de fois que tu veux.
Docstrings : La chaîne entre """triple guillemets""" juste après def est une docstring. Elle décrit ce que fait la fonction. C'est une bonne habitude à prendre dès maintenant — ton futur toi te remerciera.
Pattern utile : Compter des occurrences avec un dict :
compteur[mot] = compteur.get(mot, 0) + 1
Ou mieux : utilise from collections import Counter.
La POO, c'est organiser ton code comme un jeu vidéo : des objets avec des propriétés et des actions. Au lieu d'avoir des variables partout, tu les regroupes dans des classes.
self, c'est quoi ? C'est une référence à l'objet lui-même. Quand tu écris self.hp, tu dis "le HP de cet objet-ci". C'est comme this en JavaScript, mais explicite.
On combine tout ce qu'on a appris pour créer un jeu de combat au tour par tour avec inventaire. Copie ce code et lance-le !
import random
class Combattant:
def __init__(self, nom, hp, attaque):
self.nom = nom
self.hp = hp
self.hp_max = hp
self.attaque = attaque
self.potions = 2
def est_vivant(self):
return self.hp > 0
def frapper(self, cible):
degats = random.randint(self.attaque - 3, self.attaque + 5)
degats = max(1, degats)
cible.hp -= degats
print(f"⚔️ {self.nom} frappe {cible.nom} → -{degats} HP")
def boire_potion(self):
if self.potions > 0:
soin = random.randint(15, 30)
self.hp = min(self.hp + soin, self.hp_max)
self.potions -= 1
print(f"🧪 {self.nom} boit une potion → +{soin} HP ({self.potions} restantes)")
else:
print("❌ Plus de potions !")
def statut(self):
barre = "█" * (self.hp * 20 // self.hp_max)
vide = "░" * (20 - len(barre))
print(f" {self.nom}: [{barre}{vide}] {self.hp}/{self.hp_max} HP")
# --- Création ---
print("🎮 === MINI RPG TERMINAL === 🎮\n")
nom = input("Ton nom de guerrier : ")
hero = Combattant(nom, hp=100, attaque=15)
monstres = [
Combattant("Goblin", hp=40, attaque=8),
Combattant("Squelette", hp=60, attaque=12),
Combattant("Dragon", hp=120, attaque=20),
]
for monstre in monstres:
print(f"\n🐉 Un {monstre.nom} apparaît !")
while hero.est_vivant() and monstre.est_vivant():
print("\n--- Statut ---")
hero.statut()
monstre.statut()
print(f"\n[1] ⚔️ Attaquer [2] 🧪 Potion ({hero.potions})")
choix = input("→ ")
if choix == "1":
hero.frapper(monstre)
elif choix == "2":
hero.boire_potion()
else:
print("❓ Choix invalide, tu perds ton tour !")
if monstre.est_vivant():
monstre.frapper(hero)
if not hero.est_vivant():
print("\n💀 Game Over...")
break
else:
print(f"\n🏆 {monstre.nom} vaincu !")
hero.potions += 1
hero.hp = min(hero.hp + 20, hero.hp_max)
print(f"💊 +1 potion, +20 HP → {hero.hp}/{hero.hp_max} HP")
if hero.est_vivant():
print(f"\n🎉 VICTOIRE ! {hero.nom} a terrassé tous les monstres !")
Pour aller plus loin : Ajoute un système de magie (mana + sorts), un magasin entre les combats, ou des types d'armes avec des dégâts différents. C'est TON jeu, modifie-le !
On va récupérer la météo d'une ville en temps réel avec l'API gratuite OpenWeatherMap. Tu vas apprendre à faire des requêtes HTTP et parser du JSON — des skills essentiels pour un dev.
1. Crée un compte gratuit sur openweathermap.org
2. Récupère ta clé API (onglet "API keys")
3. Installe la librairie requests :
$ pip install requests
import requests
API_KEY = "ta_cle_api_ici" # ← Remplace !
BASE_URL = "https://api.openweathermap.org/data/2.5/weather"
def meteo(ville):
"""Récupère la météo d'une ville."""
params = {
"q": ville,
"appid": API_KEY,
"units": "metric", # Celsius
"lang": "fr" # Description en français
}
reponse = requests.get(BASE_URL, params=params)
if reponse.status_code != 200:
print(f"❌ Erreur : ville '{ville}' introuvable")
return
data = reponse.json()
# Extraire les infos utiles
nom = data["name"]
temp = data["main"]["temp"]
ressenti = data["main"]["feels_like"]
description = data["weather"][0]["description"]
humidite = data["main"]["humidity"]
vent = data["wind"]["speed"]
print(f"\n🌍 Météo à {nom}")
print(f"🌡️ Température : {temp}°C (ressenti {ressenti}°C)")
print(f"☁️ Conditions : {description}")
print(f"💧 Humidité : {humidite}%")
print(f"💨 Vent : {vent} m/s")
# Lancer
ville = input("🏙️ Ville : ")
meteo(ville)
Important : Ne partage jamais ta clé API publiquement (sur GitHub par exemple). En vrai projet, on la met dans un fichier .env et on utilise python-dotenv pour la charger.
L'API renvoie un gros objet JSON. Voici la structure simplifiée :
Crée un bot qui répond à des commandes sur ton serveur Discord. C'est le projet le plus cool pour impressionner tes potes.
1. Va sur Discord Developer Portal
2. Crée une application → Bot → copie le Token
3. Invite le bot sur ton serveur (OAuth2 → URL Generator → scope: bot, permissions: Send Messages)
4. Installe discord.py :
$ pip install discord.py
import discord
from discord.ext import commands
import random
# Crée le bot avec un préfixe de commande
intents = discord.Intents.default()
intents.message_content = True
bot = commands.Bot(command_prefix="!", intents=intents)
@bot.event
async def on_ready():
"""Quand le bot se connecte."""
print(f"✅ Connecté en tant que {bot.user}")
@bot.command()
async def ping(ctx):
"""Répond pong avec la latence."""
latence = round(bot.latency * 1000)
await ctx.send(f"🏓 Pong ! Latence : {latence}ms")
@bot.command()
async def roll(ctx, faces: int = 6):
"""Lance un dé."""
resultat = random.randint(1, faces)
await ctx.send(f"🎲 Tu as lancé un d{faces} → **{resultat}**")
@bot.command()
async def say(ctx, *, message):
"""Le bot répète ton message."""
await ctx.message.delete()
await ctx.send(message)
@bot.command()
async def meteo_fake(ctx, ville: str = "Paris"):
"""Météo bidon (pour s'entraîner)."""
temp = random.randint(-5, 35)
conditions = random.choice(["☀️ Soleil", "🌧️ Pluie", "⛈️ Orage", "❄️ Neige", "🌤️ Nuageux"])
await ctx.send(f"🌍 **Météo à {ville}**\n🌡️ {temp}°C — {conditions}")
# Lance le bot (remplace TON_TOKEN)
bot.run("TON_TOKEN_ICI")
Sécurité : Ton token Discord est comme un mot de passe. Ne le mets JAMAIS dans du code partagé. Utilise une variable d'environnement : import os; bot.run(os.getenv("DISCORD_TOKEN"))
Combine tes projets ! Ajoute la vraie API météo (projet précédent) à ton bot Discord. Quand quelqu'un tape !meteo Paris, le bot appelle l'API et renvoie la vraie météo. Un vrai projet full-stack !
Tu maîtrises les bases et tu as 3 projets qui tournent. Voici les prochaines étapes pour monter en level :
Crée de vrais jeux avec des graphismes : sprites, collisions, sons, niveaux. pip install pygame et c'est parti. Commence par un Space Invaders ou un Flappy Bird.
Construis ton propre site avec un backend Python. API REST, pages dynamiques, base de données. pip install flask — en 10 lignes t'as un serveur web.
Analyse des données comme un pro. Charge des fichiers CSV, fais des graphiques, trouve des tendances. C'est ce que font les data scientists chez Netflix ou Spotify.
DataEntraîne un modèle à reconnaître des images, prédire des prix, ou jouer à un jeu. scikit-learn pour débuter, puis PyTorch pour le deep learning. C'est le futur.
Le secret pour progresser : Code tous les jours, même 20 minutes. Construis des trucs qui t'intéressent. Lis du code d'autres devs sur GitHub. Et quand tu bloques — Google, Stack Overflow, et ChatGPT sont tes meilleurs amis.