Python Débutant

Les Fondamentaux de Python pour le Web : De Zéro à Héros

Découvrez comment Python devient la langue de prédilection pour créer des sites web modernes. Ce cours vous guide à travers les concepts essentiels sans aucune connaissance préalable requise.

Preparetoi.academy 30 min

1. Qu'est-ce que Python et pourquoi pour le Web ?

Définition : Python est un langage de programmation interprété, lisible et polyvalent créé en 1991. Pour le web, il permet de créer la logique côté serveur (backend) qui traite les données et gère les bases de données. C'est le cerveau invisible derrière les sites web que vous visitez.

Analogie simple : Imaginez un restaurant. Le client (votre navigateur) commande un plat (vous demandez une page web). Le serveur (Python) reçoit la commande, va chercher les ingrédients à la cuisine (base de données), prépare le plat selon la recette (code Python), et vous le sert (envoie la page HTML). Python est le chef cuisinier qui orchestre tout cela.

Tableau comparatif - Langages Web populaires :

Langage Facilité Vitesse Popularité Web Courbe d'apprentissage
Python ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐⭐ Très douce
JavaScript ⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ Douce
PHP ⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐ Moyenne
Java ⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐ Très raide

Astuce pratique : Installez Python depuis python.org et vérifiez l'installation en tapant python --version dans votre terminal. Vous verrez immédiatement si tout fonctionne. C'est comme vérifier que votre four fonctionne avant de cuisiner !

⚠️ Attention importante : Ne confondez pas Python 2 (obsolète depuis 2020) et Python 3 (actuel). Toujours choisir Python 3.8 ou supérieur pour débuter. Les anciens tutoriels Python 2 contiennent des syntaxes incompatibles.

2. Les Variables et Types de Données : Stocker l'Information

Définition : Une variable est un conteneur nommé qui stocke une valeur (nombre, texte, vrai/faux). Les types de données décrivent ce que contient la variable : entiers (int), nombres décimaux (float), texte (str), booléens (bool).

Analogie simple : Les variables sont comme des boîtes étiquetées dans un entrepôt. Chaque boîte a un nom (la variable) et contient quelque chose (la valeur). Si vous écrivez age = 25, c'est comme étiqueter une boîte "age" et y mettre le nombre 25. Vous pouvez ouvrir cette boîte plus tard et utiliser son contenu.

Tableau des types de données fondamentaux :

Type Exemple Utilisation Exemple concret
int 42 Nombres entiers Âge, nombre de produits
float 3.14 Nombres décimaux Prix, coordonnées GPS
str "Hello" Texte Noms, messages, emails
bool True/False Vrai ou faux Utilisateur connecté?
list [1, 2, 3] Collections ordonnées Liste de produits
dict {"nom": "Jean"} Paires clé-valeur Données utilisateur

Astuce pratique : Utilisez des noms de variables explicites : user_age au lieu de ua, product_price au lieu de pp. Votre code sera compréhensible même des mois plus tard. C'est comme étiqueter clairement vos boîtes plutôt que de les numéroter.

⚠️ Attention importante : Les variables Python sont sensibles à la casse. Age, age et AGE sont trois variables différentes ! De plus, les noms de variables ne peuvent pas commencer par un nombre : 2age est invalide, mais age2 fonctionne.

3. Les Structures de Contrôle : Prendre des Décisions

Définition : Les structures de contrôle sont des mécanismes qui permettent à votre code de prendre des décisions et de répéter des actions. Les trois principales sont : les conditions (if/else), les boucles (for/while) et les fonctions.

Analogie simple : Imaginez un feu tricolore. Vous devez DÉCIDER : si le feu est rouge (condition), vous attendez ; si le feu est vert, vous avancez. C'est une structure if/else. Maintenant, imaginez que vous devez franchir plusieurs feux : vous RÉPÉTEZ la même logique avec chaque feu. C'est une boucle. Enfin, imaginez que vous avez écrit les instructions "je dois franchir un feu" sur un papier (une fonction) que vous réutilisez chaque fois.

Tableau des structures de contrôle :

Structure Syntaxe Utilisation Cas d'usage web
if/else if condition: ... else: ... Décisions simples Vérifier si l'utilisateur est admin
elif if ... elif ... else ... Plusieurs conditions Appliquer des tarifs selon le pays
for for x in collection: ... Répéter sur une collection Afficher tous les produits
while while condition: ... Répéter tant que vrai Attendre la connexion utilisateur
def def fonction(): ... Créer du code réutilisable Valider un email

Astuce pratique : Avant d'écrire du code avec des boucles, écrivez vos "cas" en pseudocode. Par exemple : "Pour chaque produit, affiche son nom et prix". Cela clarifie votre pensée avant la complexité du code réel.

⚠️ Attention importante : En Python, l'indentation (les espaces au début des lignes) EST OBLIGATOIRE et définit les blocs de code. C'est différent des autres langages. Quatre espaces = un niveau d'indentation. Un oubli d'indentation provoquera une erreur ! C'est une particularité de Python à respecter religieusement.

4. Les Bases de Données et Requêtes SQL : Persister les Données

Définition : Une base de données est un système organisé qui stocke et récupère des données de manière efficace. SQL (Structured Query Language) est le langage pour communiquer avec les bases de données. Pour le web, c'est l'endroit où vous sauvegardez les informations utilisateur, les produits, les commandes, etc.

Analogie simple : Une base de données est comme une bibliothèque géante. Les tables sont comme les rayons (une table "utilisateurs", une table "produits"). Les lignes sont les livres individuels (chaque utilisateur est une ligne). Les colonnes sont les propriétés (nom, email, âge). SQL est le catalogue de la bibliothèque : vous posez une question ("Trouvez tous les livres de science-fiction publiés après 2020") et le système les cherche pour vous.

Tableau - Opérations SQL fondamentales :

Opération Commande SQL Objectif Exemple
SELECT SELECT * FROM users Récupérer des données Voir tous les utilisateurs
INSERT INSERT INTO users VALUES (...) Ajouter des données Créer un nouvel utilisateur
UPDATE UPDATE users SET age=30 WHERE id=1 Modifier des données Changer l'âge d'un utilisateur
DELETE DELETE FROM users WHERE id=1 Supprimer des données Supprimer un compte utilisateur
WHERE SELECT * FROM users WHERE age > 18 Filtrer les résultats Trouver les adultes
JOIN SELECT * FROM users JOIN orders ON ... Combiner des tables Voir les commandes de chaque utilisateur

Astuce pratique : Commencez par visualiser votre base de données sur papier. Dessinez les tables et leurs colonnes. Connectez les relations avec des flèches. Cela facilite énormément la création réelle. Les professionnels utilisent des outils comme Lucidchart ou draw.io pour cela.

⚠️ Attention importante : JAMAIS faire confiance aux données entrantes ! Les utilisateurs pourraient injecter du code malveillant (injection SQL). Toujours utiliser des "requêtes paramétrées" ou un ORM (comme SQLAlchemy en Python) qui échappent automatiquement les caractères dangereux. C'est une question de sécurité cruciale.

5. Les Frameworks Web Python : Accélérer le Développement

Définition : Un framework web est un ensemble d'outils et de conventions qui facilite la création d'applications web. Au lieu de tout coder à zéro, un framework fournit une structure préexistante. Les frameworks Python les plus populaires sont Django (complet) et Flask (minimaliste).

Analogie simple : Créer un site web sans framework, c'est comme construire une maison à partir de zéro : vous devez extraire les minéraux, créer les briques, poser les fondations, construire les murs. Avec un framework, c'est comme acheter une maison modulaire : les murs, le toit, la plomberie existent déjà. Vous personnalisez juste l'intérieur selon vos besoins. C'est beaucoup plus rapide !

Tableau comparatif - Frameworks Python populaires :

Framework Taille Courbe apprentissage Forces Idéal pour
Django Grand Moyenne Tout-en-un, sécurité, ORM Grandes applications
Flask Petit Facile Flexible, léger, contrôle total Petits projets, API
FastAPI Moyen Facile Moderne, async, documentation auto API performantes
Pyramid Moyen Moyenne Scalable, flexible Projets évolutifs

Astuce pratique : Pour débuter, choisissez Flask. C'est comme apprendre les bases du pilotage sur une voiture manuelle simple plutôt que sur un SUV automatique haute technologie. Une fois maîtrisé, Django ou FastAPI seront plus faciles à appréhender. Commencez simple, évoluez progressivement.

⚠️ Attention importante : Les frameworks évoluent vite. Les tutoriels vieux de 5 ans peuvent être obsolètes. Vérifiez toujours la version du framework dans la documentation officielle et adaptez votre apprentissage. Utilisez pip (gestionnaire de paquets Python) pour installer : pip install flask ou pip install django. Gardez vos dépendances à jour régulièrement pour les correctifs de sécurité.