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.

Serverless AWS Lambda en pratique : le code et les commandes qui comptent vraiment

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.

tl;dr
  • Creer un compte AWS
  • Decouvrir le Serverless
  • Fonctions Lambda en profondeur
  • API Gateway
  • DynamoDB
~$ cat ./parcours.md # Serverless AWS Lambda — 11 chapitres
01
Créer un compte AWS
→ Créer un compte AWS Free Tier→ Configurer IAM et la sécurité+ 1 autres leçons
02
Découvrir le Serverless
→ C'est quoi le Serverless ?→ Panorama des services AWS Serverless+ 1 autres leçons
03
Fonctions Lambda en profondeur
→ Anatomie d'une fonction Lambda→ Runtimes, handlers et contexte d'exécution+ 1 autres leçons
04
API Gateway
→ C'est quoi API Gateway ?→ Créer une API REST avec API Gateway+ 1 autres leçons
05
DynamoDB
→ C'est quoi DynamoDB et le modèle NoSQL ?→ Créer une table et opérations CRUD avec boto3+ 1 autres leçons
06
CRUD complet Lambda API Gateway DynamoDB
→ Architecture du projet CRUD complet→ Fonctions Lambda – Create et Read+ 1 autres leçons
07
S3 et événements Lambda
→ C'est quoi Amazon S3 ?→ Déclencher Lambda depuis S3+ 1 autres leçons
08
SAM Serverless Application Model
→ Pourquoi SAM et l'Infrastructure as Code ?→ Template SAM et déploiement+ 2 autres leçons
🏁
Projet final (+ 3 chapitres en chemin)
→ Tu repars avec un projet concret et démontrable

Guide complet du projet final

NOTEÀ propos de ce guide — Ce document vous accompagne étape par étape dans la réalisation de votre projet final. Suivez chaque phase dans l’ordre pour maximiser vos chances de réussite. Consultez le document « Projet final – Application Full Stack Serverless » pour les exigences et le barème.

Vue d’ensemble des phases

Phase 1

Phase 2

Phase 3

Phase 4

Phase 5

Phase 6

Phase 1 – Planification

TIPConseil — Ne commencez jamais à coder avant d’avoir terminé la planification. Un bon plan vous fera gagner des heures de débogage.

1.1 – Choisir votre sujet

1.2 – Définir vos tables DynamoDB

Dessinez un schéma de vos tables avec les attributs :

output
Table 1 : Produits
─────────────────────────────────────
| productId (PK) | nom | categorie | prix | quantite | seuil_alerte |
─────────────────────────────────────

Table 2 : Mouvements
─────────────────────────────────────
| mouvementId (PK) | productId | type (entree/sortie) | quantite | date |
─────────────────────────────────────
NOTEQuestions à vous poser
• 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éthodeEndpointDescriptionBody
GET/produitsLister tous les produits
GET/produits/{id}Obtenir un produit
POST/produitsCréer un produit{"nom", "categorie", "prix", "quantite"}
PUT/produits/{id}Modifier un produit{"nom", "prix", ...}
DELETE/produits/{id}Supprimer un produit
GET/mouvementsLister les mouvements
POST/mouvementsEnregistrer un mouvement{"productId", "type", "quantite"}

1.4 – Dessiner l’architecture

output
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

bash
sam init --runtime python3.12 --name mon-projet-serverless --app-template hello-world

Ou créez manuellement la structure :

output
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.js

2.2 – Écrire le template.yaml

Installer AWS CLI et configurer les identifiants

NOTEObjectif — Installer l’interface en ligne de commande AWS (CLI), la configurer avec vos clés d’accès et vérifier la connexion à votre compte.

Objectifs pédagogiques

TIPÀ l'issue de ce module — Vous serez capable de maîtriser ces compétences essentielles.
  • 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 :

bash
# 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

bash
# 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 :

bash
brew install awscli

Linux (Ubuntu/Debian)

bash
# 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 :

bash
aws --version
NOTERésultat attendu
bash
aws-cli/2.15.x Python/3.11.x Windows/10 exe/AMD64
Le numéro de version peut varier, l’important est que la commande fonctionne.

SAM CLI – Build, Deploy, Test

NOTEObjectif — Installer le SAM CLI, créer un projet avec 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

TIPÀ l'issue de ce module — Vous serez capable de maîtriser ces compétences essentielles.
  • 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

bash
# 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

bash
# Vérifier la version
sam --version

Résultat attendu :

output
SAM CLI, version 1.120.0

Étape 2 – Créer un projet avec sam init

bash
# Créer un nouveau projet SAM
sam init

Le CLI vous guidera à travers les choix :

output
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é

output
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 unitaires
va-plus-loin

Cet 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 Code

FAQ

Combien de temps pour apprendre Serverless AWS Lambda ?
Avec une progression structurée (12 chapitres, 41 leçons courtes et pratiques), on atteint un niveau opérationnel en quelques semaines à raison de 30 à 60 minutes par jour. L'important est de pratiquer chaque notion immédiatement.
Faut-il des prérequis ?
Des bases en informatique suffisent. Si tu sais utiliser un terminal et lire du code simple, tu es prêt.
Par où commencer concrètement ?
Reproduis les commandes de cet article, puis suis le cours complet Serverless AWS Lambda : il enchaîne les 41 leçons dans l'ordre, avec exercices et projet final.

📬 Tu veux recevoir ce type de guide chaque semaine ? Abonne-toi gratuitement — code réel, zéro blabla.