- Comprendre les principes fondamentaux du framework Pyramid
- Savoir installer, configurer et utiliser Pyramid pour développer des applications web
- Maîtriser la gestion des routes, vues et modèles
- Créer une architecture modulaire et scalable
- Intégrer une base de données avec SQLAlchemy
- Construire une API REST avec Pyramid
- Gérer l'authentification, l'autorisation et la sécurité
- Déployer une application Pyramid en production
Module 1 : Introduction au framework Pyramid
- Présentation du framework et de son écosystème
- Comparaison avec Flask, Django et autres frameworks Python
- Installation de l'environnement (virtualenv, pip, outils recommandés)
- Création d'un premier projet Pyramid
Module 2 : Architecture et configuration d'un projet Pyramid
- Structure d'un projet Pyramid
- Fichiers de configuration (development.ini, production.ini)
- Gestion des paramètres via pserve
- Notions de configurator, settings et registry
Module 3 : Routage, vues et templates
- Définition et gestion des routes
- Création des vues et réponses HTTP
- Utilisation des templates (Jinja2, Chameleon)
- Gestion des formulaires et validation
Module 4 : Modèles et bases de données
- Introduction à SQLAlchemy
- Définition des modèles et mapping ORM
- Migrations de base de données (Alembic)
- Intégration des opérations CRUD dans Pyramid
Module 5 : Développement d'une API REST avec Pyramid
- Création de routes RESTful
- Sérialisation des données (JSON, marshmallow ou équivalent)
- Gestion des statuts HTTP et erreurs
- Tests unitaires et tests d'intégration
Module 6 : Authentification, autorisation et sécurité
- Introduction aux politiques d'authentification Pyramid
- Sessions, cookies et tokens
- Mise en place RBAC / ACL
- Bonnes pratiques de sécurité pour les applications web
Module 7 : Middleware, événements et extensibilité
- Gestion des événements Pyramid
- Hooks et injections personnalisées
- Utilisation et création de middleware
- Ajout d'extensions tierces
Module 8 : Déploiement et bonnes pratiques DevOps
- Préparation pour la production
- Déploiement avec gunicorn, nginx, systemd
- Conteneurisation avec Docker (optionnel)
- Optimisation des performances
- Surveillance et logs
Module 9 : Projet fil rouge
- Conception d'une application web complète
- Implémentation progressive de chaque module
- Bonnes pratiques de développement collaboratif
- Présentation et soutenance du projet
Attestation de formation
Non certifiante
Sans niveau spécifique