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.

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

6modules24sujets
  1. 01Environnements et installations reproductibles4 sujets
    • 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
  2. 02Arborescence de projet et pyproject.toml4 sujets
    • 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
    • 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
    • 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é
    • 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
    • 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.