Serverless AWS Lambda en pratique : le code et les commandes qui comptent vraiment
Serverless AWS Lambda : l'essentiel en un article — vrai code, schémas et étapes concrètes, extraits d'un cours de 41 leçons.
Pas de théorie interminable ici : on ouvre le terminal et on pratique. Voici l'essentiel de Serverless AWS Lambda, extrait directement d'un cours complet de 41 leçons — avec du vrai code que tu peux copier-coller maintenant.
- Creer un compte AWS
- Decouvrir le Serverless
- Fonctions Lambda en profondeur
- API Gateway
- DynamoDB
Guide complet du projet final
Vue d’ensemble des phases
Phase 1
Phase 2
Phase 3
Phase 4
Phase 5
Phase 6
Phase 1 – Planification
1.1 – Choisir votre sujet
1.2 – Définir vos tables DynamoDB
Dessinez un schéma de vos tables avec les attributs :
Table 1 : Produits ───────────────────────────────────── | productId (PK) | nom | categorie | prix | quantite | seuil_alerte | ───────────────────────────────────── Table 2 : Mouvements ───────────────────────────────────── | mouvementId (PK) | productId | type (entree/sortie) | quantite | date | ─────────────────────────────────────
• Quelle est la partition key de chaque table ?
• Ai-je besoin d’une sort key ?
• Comment les tables sont-elles reliées ? (clé étrangère logique)
• Ai-je besoin d’un GSI pour certaines requêtes ?
1.3 – Définir vos endpoints API
Listez tous vos endpoints dans un tableau :
| Méthode | Endpoint | Description | Body |
|---|---|---|---|
| GET | /produits | Lister tous les produits | – |
| GET | /produits/{id} | Obtenir un produit | – |
| POST | /produits | Créer un produit | {"nom", "categorie", "prix", "quantite"} |
| PUT | /produits/{id} | Modifier un produit | {"nom", "prix", ...} |
| DELETE | /produits/{id} | Supprimer un produit | – |
| GET | /mouvements | Lister les mouvements | – |
| POST | /mouvements | Enregistrer un mouvement | {"productId", "type", "quantite"} |
1.4 – Dessiner l’architecture
Utilisateur
│
▼
┌──────────┐ ┌───────────────┐ ┌──────────┐
│ S3 │ │ API Gateway │ │ DynamoDB │
│ Frontend │────▶│ REST API │────▶│ Tables │
│ HTML/JS │ │ /produits │ │ │
└──────────┘ │ /mouvements │ └──────────┘
└───────┬───────┘
│
┌────▼────┐
│ Lambda │
│ Python │
└─────────┘Phase 2 – Backend (SAM + Lambda)
2.1 – Initialiser le projet SAM
sam init --runtime python3.12 --name mon-projet-serverless --app-template hello-world
Ou créez manuellement la structure :
mon-projet-serverless/
├── template.yaml
├── src/
│ ├── handlers/
│ │ ├── __init__.py
│ │ ├── produits.py
│ │ └── mouvements.py
│ ├── utils/
│ │ ├── __init__.py
│ │ ├── response.py
│ │ └── validation.py
│ └── requirements.txt
└── frontend/
├── index.html
├── style.css
└── app.js2.2 – Écrire le template.yaml
Installer AWS CLI et configurer les identifiants
Objectifs pédagogiques
- Expliquer le rôle de l’AWS CLI
- Installer l’AWS CLI sur Windows, macOS et Linux
- Configurer vos identifiants avec
aws configure - Utiliser les profils nommés pour gérer plusieurs comptes
- Vérifier votre connexion avec
aws sts get-caller-identity - Comprendre où sont stockés les identifiants
- Exécuter vos premières commandes AWS
Qu’est-ce que l’AWS CLI ?
L’AWS CLI (Command Line Interface) est un outil unifié qui permet de gérer tous les services AWS depuis votre terminal. Au lieu de cliquer dans la console web, vous tapez des commandes.
Rapidité
Exécutez des opérations en une ligne au lieu de naviguer dans plusieurs écrans.
Automatisation
Intégrez les commandes dans des scripts Bash ou PowerShell pour automatiser vos tâches.
Reproductibilité
Partagez vos commandes avec votre équipe. Chaque action est documentée et versionnable.
Installation de l’AWS CLI v2
Windows
Téléchargez et exécutez l’installateur MSI :
# Télécharger l'installateur https://awscli.amazonaws.com/AWSCLIV2.msi # Ou via la ligne de commande (PowerShell) msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi
Suivez l’assistant d’installation, acceptez les valeurs par défaut et cliquez sur Install.
macOS
# Télécharger le package curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg" # Installer sudo installer -pkg AWSCLIV2.pkg -target /
Alternative avec Homebrew :
brew install awscli
Linux (Ubuntu/Debian)
# Télécharger l'archive curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" # Décompresser unzip awscliv2.zip # Installer sudo ./aws/install
Vérifier l’installation
Sur tous les systèmes, vérifiez que l’installation a réussi :
aws --version
aws-cli/2.15.x Python/3.11.x Windows/10 exe/AMD64
SAM CLI – Build, Deploy, Test
sam init, compiler avec sam build, tester localement avec sam local et déployer avec sam deploy. Maîtriser le workflow complet du développement serverless local.Objectifs pédagogiques
- Installer et configurer le SAM CLI
- Créer un nouveau projet serverless avec
sam init - Compiler un projet avec
sam build - Invoquer une fonction localement avec
sam local invoke - Démarrer un serveur API local avec
sam local start-api - Déployer le projet dans AWS avec
sam deploy - Comprendre le rôle de Docker dans le test local
Étape 1 – Installer SAM CLI
Prérequis
AWS CLI
Le CLI AWS doit être installé et configuré (aws configure).
Docker
Nécessaire pour sam local (simule l’environnement Lambda).
Python 3.9+
Ou le runtime de votre choix (Node.js, Java, Go, etc.).
Installation selon votre OS
# Windows (avec MSI installer) # Télécharger depuis : https://github.com/aws/aws-sam-cli/releases/latest # Ou via Chocolatey : choco install aws-sam-cli # macOS (avec Homebrew) brew install aws-sam-cli # Linux pip install aws-sam-cli
Vérifier l’installation
# Vérifier la version sam --version
Résultat attendu :
SAM CLI, version 1.120.0
Étape 2 – Créer un projet avec sam init
# Créer un nouveau projet SAM sam init
Le CLI vous guidera à travers les choix :
Which template source would you like to use? 1 - AWS Quick Start Templates 2 - Custom Template Location Choice: 1 Choose an AWS Quick Start application template 1 - Hello World Example 2 - Data processing 3 - Hello World Example with Powertools ... Template: 1 Use the most popular runtime and package type? (python3.12 and zip) y Would you like to enable X-Ray tracing on the function(s)? y Would you like to enable monitoring using CloudWatch Application Insights? y Would you like to set Structured Logging in JSON format on your Lambda functions? y Project name [sam-app]: mon-api-serverless
Structure du projet généré
mon-api-serverless/
└── README.md
└── __init__.py
└── events/
│ └── event.json # Événement de test
└── hello_world/
│ └── __init__.py
│ └── app.py # Code de la fonction Lambda
│ └── requirements.txt # Dépendances Python
└── template.yaml # Template SAM
└── samconfig.toml # Config de déploiement
└── tests/
└── __init__.py
└── unit/
└── test_handler.py # Tests unitairesCet article couvre les extraits les plus utiles — le cours complet Serverless AWS Lambda (12 chapitres, 41 leçons, exercices corrigés et projet final) t'emmène jusqu'au bout.
./acceder-au-cours-complet cours gratuit : Maîtriser Claude CodeFAQ
Combien de temps pour apprendre Serverless AWS Lambda ?
Faut-il des prérequis ?
Par où commencer concrètement ?
📬 Tu veux recevoir ce type de guide chaque semaine ? Abonne-toi gratuitement — code réel, zéro blabla.