4D Training & Consultancy

Développement logiciel

Python en production : packaging et dépendances

Tout ce qui sépare un code fonctionnel d'un artefact déployable. Les participants configurent pyproject.toml, construisent des wheels, verrouillent les dépendances avec pip-tools, uv ou Poetry, publient sur un index privé, conteneurisent en builds Docker multi-étapes et auditent la chaîne d'approvisionnement logicielle.

3 joursPrésentiel interne, en ligne ou sur mesureÉquipes corporate et groupes professionnelsNiveau: Intermédiaire à avancé

Aperçu

Un apprentissage pratique pour le transfert en situation de travail.

Le scénario est connu : une compilation réussie en mars échoue en septembre parce qu'une dépendance transitive non figée a publié une version mineure, et plus personne ne sait reconstituer l'environnement qui fonctionnait. Cette formation comble cet écart. Les participants migrent un projet vers une arborescence src avec métadonnées déclarées, produisent un fichier de verrouillage avec empreintes, publient une wheel sur un index privé et l'encapsulent dans une image installant toujours les mêmes versions. Le risque lié aux dépendances est traité comme un sujet opérationnel.

Prérequis

Expérience pratique du développement Python et familiarité de base avec Git et la ligne de commande. Aucune connaissance préalable du packaging ou de Docker n'est requise.

Objectifs

  • Déclarer correctement métadonnées et dépendances dans pyproject.toml selon la PEP 621.
  • Produire des fichiers de verrouillage à empreintes reconstruisant l'environnement à l'identique.
  • Construire distributions source et wheels, puis les publier sur un index privé.
  • Conteneuriser une application Python avec builds multi-étapes et exécution non root.
  • Auditer les dépendances avec pip-audit, générer un SBOM et vérifier les licences.
  • Définir une politique de release et de rollback couvrant versions, tags et livraisons défectueuses.

Public cible

  • Développeurs Python préparant des bibliothèques internes à une diffusion élargie
  • Ingénieurs DevOps et plateforme standardisant les pipelines de build Python
  • Responsables de release en charge du versionnage et de la promotion d'artefacts
  • Équipes sécurité et conformité évaluant le risque des paquets tiers
  • Équipes data déployant modèles et pipelines au-delà d'un poste unique
  • Architectes regroupant plusieurs projets Python sur un standard de build unique

Programme

Une structure claire pour le parcours d'apprentissage.

Programme

Les points du programme sont regroupés dans un seul bloc au lieu de créer un module par ligne.

Module 1 : Environnements et installations reproductibles

Environnements virtuels, versions d'interpréteur et isolation de l'état projet

pip, uv et Poetry comparés sur la résolution et la vitesse d'installation

Fichiers de verrouillage, empreintes et reconstruction d'un environnement ancien

Diagnostiquer les conflits de dépendances et les échecs de résolution

Module 2 : Arborescence de projet et pyproject.toml

Arborescence src, découverte de paquets et chemins d'import prévisibles

Métadonnées PEP 621 : nom, version, requires-python et spécificateurs de dépendances

Choisir un backend de build parmi hatchling, setuptools et Poetry

Groupes de dépendances optionnels pour tests, documentation et développement

Module 3 : Construction et distribution des paquets

Distributions source, wheels et contraintes de build spécifiques aux plateformes

Points d'entrée et scripts console installés comme outils en ligne de commande

Schémas de version, changelogs et politique de dépréciation fiable pour les utilisateurs

Publier sur PyPI et sur un index privé tel qu'Artifactory ou devpi

Module 4 : Conteneurisation des applications Python

Choix de l'image de base, cache de couches et structure de build multi-étapes

Installer les dépendances dans une image sans casser la reproductibilité

Utilisateurs non root, réduction de la taille d'image et temps de démarrage

Configuration d'exécution, injection de secrets et endpoints de santé

Module 5 : Chaîne d'approvisionnement et risque des dépendances

Auditer les paquets installés avec pip-audit et les bulletins de vulnérabilité

Générer un SBOM et suivre la profondeur des dépendances transitives

Obligations de licence et circuit d'approbation des nouveaux paquets tiers

Politique de mise à jour : plages figées, bots de renouvellement et montées contrôlées

Module 6 : Pipeline de release et exploitation

Jobs CI qui construisent, testent et publient un artefact sur tag

Promouvoir un artefact identique en test, préproduction et production

Rollback, releases retirées et gestion d'une version défectueuse déjà déployée

Configuration d'exécution, destinations des logs et préparation au déploiement

Supports fournis

  • Manuel de formation, exemples de code commentés et notes de référence
  • Environnement de laboratoire et dépôts de démarrage
  • Exercices, check-lists et modèles de code réutilisables
  • Certificat de participation 4D
  • Accompagnement technique après la formation

Options de formation

Les programmes peuvent être organisés en entreprise, en ligne ou dans un format hybride selon le calendrier, la localisation et les objectifs de vos équipes. Lorsqu'un certificat ou un examen externe est inclus, les règles et frais de certification restent soumis aux politiques de l'organisme certificateur, tandis que 4D assure la formation et l'accompagnement à la préparation.

Pourquoi choisir 4D

4D empaquette l'un de vos projets internes existants pendant l'atelier : les participants voient résoudre leurs propres conflits de dépendances, et non ceux d'un dépôt d'exemple. Le résultat est tangible : un pyproject.toml opérationnel, un fichier de verrouillage à empreintes, une image de conteneur et une politique de mise à jour validée conjointement.

Contacter 4D

Planifiez le bon parcours de formation ou de conseil pour votre équipe.

Partagez quelques détails et 4D orientera votre demande vers la formation, le conseil, l’évaluation, Phoenix ou un programme sur mesure.