Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
138 changes: 106 additions & 32 deletions docs/langs/fr/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,6 @@

# SMUS CI/CD Pipeline CLI

← [Back to Main README](../../../README.md)


[![en](https://img.shields.io/badge/lang-en-brightgreen.svg?style=for-the-badge)](README.md)
[![pt](https://img.shields.io/badge/lang-pt-gray.svg)](docs/langs/pt/README.md)
[![fr](https://img.shields.io/badge/lang-fr-gray.svg)](docs/langs/fr/README.md)
Expand All @@ -19,33 +16,33 @@
[![zh](https://img.shields.io/badge/lang-zh-gray.svg)](docs/langs/zh/README.md)
[![he](https://img.shields.io/badge/lang-he-gray.svg)](docs/langs/he/README.md)

> **[Aperçu]** Amazon SageMaker Unified Studio CI/CD CLI est actuellement en version préliminaire et sujet à modification. Les commandes, les formats de configuration et les APIs peuvent évoluer selon les retours des clients. Nous recommandons d'évaluer cet outil dans des environnements hors production pendant la phase de prévisualisation. Pour les retours et signalements de bugs, veuillez ouvrir un ticket sur https://github.com/aws/CICD-for-SageMakerUnifiedStudio/issues
> **[Aperçu]** Amazon SageMaker Unified Studio CI/CD CLI est actuellement en version préliminaire et sujet à modifications. Les commandes, les formats de configuration et les APIs peuvent évoluer selon les retours des clients. Nous recommandons d'évaluer cet outil dans des environnements hors production pendant la phase de prévisualisation. Pour les retours et signalements de bugs, veuillez ouvrir une issue https://github.com/aws/CICD-for-SageMakerUnifiedStudio/issues

> **[Domaines IAM uniquement]** Ce CLI prend actuellement en charge uniquement les domaines SMUS utilisant l'authentification IAM. La prise en charge des domaines basés sur IAM Identity Center (IdC) sera bientôt disponible.

**Automatisez le déploiement d'applications de données à travers les environnements SageMaker Unified Studio**

"Deploy Airflow DAGs, Jupyter notebooks, and ML workflows from development to production with confidence. Built for data scientists, data engineers, ML engineers, and GenAI app developers working with DevOps teams." (Déployez les DAGs Airflow, les notebooks Jupyter et les workflows ML du développement à la production en toute confiance. Conçu pour les data scientists, les ingénieurs de données, les ingénieurs ML et les développeurs d'applications GenAI travaillant avec les équipes DevOps.)

"Works with your deployment strategy:" (Fonctionne avec votre stratégie de déploiement :) Whether you use git branches (branch-based), versioned artifacts (bundle-based), git tags (tag-based), or direct deployment - this CLI supports your workflow. Define your application once, deploy it your way. (Que vous utilisiez des branches git, des artefacts versionnés, des tags git ou un déploiement direct - ce CLI prend en charge votre workflow. Définissez votre application une fois, déployez-la à votre façon.)
"Works with your deployment strategy: Whether you use git branches (branch-based), versioned artifacts (bundle-based), git tags (tag-based), or direct deployment - this CLI supports your workflow. Define your application once, deploy it your way." (Fonctionne avec votre stratégie de déploiement : que vous utilisiez des branches git, des artefacts versionnés, des tags git ou un déploiement direct - ce CLI supporte votre workflow. Définissez votre application une fois, déployez-la à votre façon.)

---

## Pourquoi SMUS CI/CD CLI ?

✅ **AWS Abstraction Layer** - La CLI encapsule toute la complexité d'AWS analytics, ML et SMUS - les équipes DevOps n'appellent jamais directement les API AWS
✅ **Séparation des responsabilités** - Les équipes data définissent QUOI déployer (manifest.yaml), les équipes DevOps définissent COMMENT et QUAND (workflows CI/CD)
✅ **Generic CI/CD workflows - Same workflow works for Glue, SageMaker, Bedrock, QuickSight, or any AWS service combination** (Workflows CI/CD génériques - Le même workflow fonctionne pour Glue, SageMaker, Bedrock, QuickSight ou toute combinaison de services AWS)
✅ **Déploiement en toute confiance** - Tests et validation automatisés avant la production
✅ **Gestion multi-environnements** - Test → Prod avec configuration spécifique par environnement
✅ **Couche d'Abstraction AWS** - CLI encapsule toute la complexité AWS analytics, ML et SMUS - les équipes DevOps n'appellent jamais directement les API AWS
✅ **Séparation des Responsabilités** - Les équipes data définissent QUOI déployer (manifest.yaml), les équipes DevOps définissent COMMENT et QUAND (CI/CD workflows)
✅ **Workflows CI/CD Génériques** - "Same workflow works for Glue, SageMaker, Bedrock, QuickSight, or any AWS service combination" (Le même workflow fonctionne pour Glue, SageMaker, Bedrock, QuickSight ou toute combinaison de services AWS)
✅ **Déploiement en Confiance** - Tests et validations automatisés avant la production
✅ **Gestion Multi-Environnements** - Test → Prod avec configuration spécifique par environnement
✅ **Infrastructure as Code** - Manifests d'application versionnés et déploiements reproductibles
✅ **Workflows événementiels** - Déclenchement automatique des workflows via EventBridge lors du déploiement
✅ **Workflows Événementiels** - Déclenchement automatique des workflows via EventBridge lors du déploiement

---

## Démarrage Rapide

**Installation depuis les sources :**
**Installation depuis la source :**
```bash
git clone https://github.com/aws/CICD-for-SageMakerUnifiedStudio.git
cd CICD-for-SageMakerUnifiedStudio
Expand Down Expand Up @@ -73,27 +70,27 @@ aws-smus-cicd-cli test --manifest manifest.yaml --targets test

## À qui s'adresse cet outil ?

### 👨‍💻 Équipes Data (Data Scientists, Data Engineers, Développeurs d'Applications GenAI)
### 👨‍💻 Équipes Data (Data Scientists, Data Engineers, Développeurs GenAI)
**Votre focus :** Votre application - quoi déployer, où déployer et comment elle fonctionne
**Vous définissez :** Le manifest de l'application (`manifest.yaml`) avec votre code, workflows et configurations
**Vous n'avez pas besoin de connaître :** CI/CD pipelines, GitHub Actions, automatisation des déploiements
**Vous n'avez pas besoin de connaître :** CI/CD pipelines, GitHub Actions, automatisation du déploiement

→ **[Guide de Démarrage Rapide](docs/getting-started/quickstart.md)** - Déployez votre première application en 10 minutes
→ **[Guide de démarrage rapide](docs/getting-started/quickstart.md)** - Déployez votre première application en 10 minutes

**Inclut des exemples pour :**
- Data Engineering (Glue, Notebooks, Athena)
- ML Workflows (SageMaker, Notebooks)
- GenAI Applications (Bedrock, Notebooks)

### 🔧 Équipes DevOps
**Votre focus :** Les bonnes pratiques CI/CD, la sécurité, la conformité et l'automatisation des déploiements
**Vous définissez :** Des modèles de workflow qui imposent les tests, les approbations et les politiques de promotion
**Vous n'avez pas besoin de connaître :** Les détails spécifiques aux applications, les services AWS utilisés, les APIs DataZone, les structures de projet SMUS, ou la logique métier
**Votre focus :** Bonnes pratiques CI/CD, sécurité, conformité et automatisation du déploiement
**Vous définissez :** Des modèles de workflow qui imposent les tests, approbations et politiques de promotion
**Vous n'avez pas besoin de connaître :** Les détails spécifiques aux applications, les services AWS utilisés, les APIs DataZone, les structures de projet SMUS ou la logique métier

→ **[Guide Administrateur](docs/getting-started/admin-quickstart.md)** - Configurez l'infrastructure et les pipelines en 15 minutes
→ **[GitHub Workflow Templates](git-templates/)** - Modèles de workflow génériques et réutilisables pour le déploiement automatisé
→ **[Modèles de Workflow GitHub](git-templates/)** - Modèles de workflow génériques et réutilisables pour le déploiement automatisé

**The CLI is your abstraction layer: You just call `aws-smus-cicd-cli deploy` - the CLI handles all AWS service interactions (DataZone, Glue, Athena, SageMaker, MWAA, S3, IAM, etc.). Your workflows stay simple and generic.** (Le CLI est votre couche d'abstraction : Vous appelez simplement `aws-smus-cicd-cli deploy` - le CLI gère toutes les interactions avec les services AWS. Vos workflows restent simples et génériques.)
"The CLI is your abstraction layer: You just call `aws-smus-cicd-cli deploy` - the CLI handles all AWS service interactions (DataZone, Glue, Athena, SageMaker, MWAA, S3, IAM, etc.). Your workflows stay simple and generic." (Le CLI est votre couche d'abstraction : Vous appelez simplement `aws-smus-cicd-cli deploy` - le CLI gère toutes les interactions avec les services AWS. Vos workflows restent simples et génériques.)

---

Expand Down Expand Up @@ -153,14 +150,13 @@ S3 • Lambda • Step Functions • DynamoDB • RDS • SNS/SQS • Batch

## Concepts Fondamentaux

### Séparation des Préoccupations : Le Principe de Conception Clé

"The Problem: Traditional deployment approaches force DevOps teams to learn AWS analytics services (Glue, Athena, DataZone, SageMaker, MWAA, etc.) and understand SMUS project structures, or force data teams to become CI/CD experts." (Le problème : les approches traditionnelles de déploiement forcent les équipes DevOps à apprendre les services d'analyse AWS et à comprendre les structures de projet SMUS, ou forcent les équipes de données à devenir des experts en CI/CD.)
### Séparation des Responsabilités : Le Principe de Conception Clé

"The Solution: SMUS CI/CD CLI is the abstraction layer that encapsulates all AWS and SMUS complexity." (La solution : SMUS CI/CD CLI est la couche d'abstraction qui encapsule toute la complexité AWS et SMUS.)
**Le Problème :** Les approches traditionnelles de déploiement forcent les équipes DevOps à apprendre les services analytiques AWS (Glue, Athena, DataZone, SageMaker, MWAA, etc.) et à comprendre les structures de projet SMUS, ou forcent les équipes de données à devenir des experts en CI/CD.

**Exemple de workflow :**
**La Solution :** SMUS CI/CD CLI est la couche d'abstraction qui encapsule toute la complexité AWS et SMUS.

**Example workflow:**
```
1. DevOps Team 2. Data Team 3. SMUS CI/CD CLI (The Abstraction)
↓ ↓ ↓
Expand All @@ -186,7 +182,7 @@ service knowledge needed!
- L'orchestration des déploiements
- La surveillance et les alertes

"SMUS CI/CD CLI handles ALL AWS complexity:" (SMUS CI/CD CLI gère TOUTE la complexité AWS :)
**SMUS CI/CD CLI handles ALL AWS complexity:** (Gère toute la complexité AWS :)
- DataZone domain and project management
- AWS Glue, Athena, SageMaker, MWAA APIs
- S3 storage and artifact management
Expand All @@ -199,7 +195,7 @@ service knowledge needed!

**Les équipes de données se concentrent sur :**
- Le code applicatif et les workflows
- Le choix des services AWS à utiliser (Glue, Athena, SageMaker, etc.)
- Le choix des services AWS (Glue, Athena, SageMaker, etc.)
- Les configurations d'environnement
- La logique métier

Expand All @@ -209,7 +205,85 @@ service knowledge needed!
- Les équipes de données ne touchent jamais aux configurations CI/CD
- Les deux équipes travaillent indépendamment en utilisant leur expertise

[Continued in next part due to length...]
---

### Manifest d'Application
Un fichier YAML déclaratif (`manifest.yaml`) qui définit votre application de données :
- **Détails de l'application** - Nom, version, description
- **Contenu** - Code des dépôts git, données/modèles du stockage, tableaux de bord QuickSight
- **Workflows** - DAGs Airflow pour l'orchestration et l'automatisation
- **Stages** - Où déployer (environnements dev, test, prod)
- **Configuration** - Paramètres spécifiques à l'environnement, connexions et actions d'amorçage

**Créé et géré par les équipes de données.** Définit **quoi** déployer et **où**. Aucune connaissance CI/CD requise.

### Application
Votre charge de travail données/analytique à déployer :
- DAGs Airflow et scripts Python
- Notebooks Jupyter et fichiers de données
- Modèles ML et code d'entraînement
- Pipelines ETL et transformations
- Agents GenAI et serveurs MCP
- Configurations de modèles de base

### Stage
Un environnement de déploiement (dev, test, prod) mappé à un projet SageMaker Unified Studio :
- Configuration du domaine et de la région
- Nom et paramètres du projet
- Connexions aux ressources (S3, Airflow, Athena, Glue)
- Paramètres spécifiques à l'environnement
- Mapping de branches optionnel pour les déploiements basés sur git

### Mapping Stage-vers-Projet

Chaque stage d'application se déploie vers un projet SageMaker Unified Studio (SMUS) dédié. Un projet peut héberger une seule application ou plusieurs applications selon votre architecture et méthodologie CI/CD. Les projets de stage sont des entités indépendantes avec leur propre gouvernance :

- **Propriété & Accès :** Chaque projet de stage a ses propres propriétaires et contributeurs, qui peuvent différer du projet de développement. Les projets de production ont typiquement un accès plus restreint que les environnements de développement.
- **Multi-Domaine & Multi-Région :** Les projets de stage peuvent appartenir à différents domaines SMUS, comptes AWS et régions. Par exemple, votre stage dev peut se déployer vers un domaine de développement dans us-east-1, tandis que la prod se déploie vers un domaine de production dans eu-west-1.
- **Architecture Flexible :** Les organisations peuvent choisir entre des projets dédiés par application (isolation) ou des projets partagés hébergeant plusieurs applications (consolidation), selon les exigences de sécurité, conformité et opérationnelles.

Cette séparation permet une véritable isolation des environnements avec des contrôles d'accès, des limites de conformité et des exigences de résidence des données régionales indépendants.

### Workflow
Logique d'orchestration qui exécute votre application. Les workflows servent deux objectifs :

**1. Au déploiement :** Créer les ressources AWS requises pendant le déploiement
- Provisionner l'infrastructure (buckets S3, bases de données, rôles IAM)
- Configurer les connexions et permissions
- Mettre en place la surveillance et la journalisation

**2. À l'exécution :** Exécuter les pipelines de données et ML continus
- Exécution planifiée (quotidienne, horaire, etc.)
- Déclencheurs basés sur les événements (uploads S3, appels API)
- Traitement et transformations des données
- Entraînement et inférence des modèles

Les workflows sont définis comme des DAGs Airflow (Graphes Acycliques Dirigés) au format YAML. Supporte [MWAA (Managed Workflows for Apache Airflow)](https://aws.amazon.com/managed-workflows-for-apache-airflow/) et [Amazon MWAA Serverless](https://aws.amazon.com/blogs/big-data/introducing-amazon-mwaa-serverless/) ([Guide Utilisateur](https://docs.aws.amazon.com/mwaa/latest/mwaa-serverless-userguide/what-is-mwaa-serverless.html)).

### Automatisation CI/CD
Workflows GitHub Actions (ou autres systèmes CI/CD) qui automatisent le déploiement :
- **Créés et gérés par les équipes DevOps**
- Définit **comment** et **quand** déployer
- Exécute les tests et contrôles qualité
- Gère la promotion entre les cibles
- Applique les politiques de sécurité et conformité
- Exemple : `.github/workflows/deploy.yml`

**Point clé :** Les équipes DevOps créent des workflows génériques et réutilisables qui fonctionnent pour N'IMPORTE QUELLE application. Elles n'ont pas besoin de savoir si l'application utilise Glue, SageMaker ou Bedrock - le CLI gère toutes les interactions avec les services AWS. Le workflow appelle simplement `aws-smus-cicd-cli deploy` et le CLI fait le reste.

### Modes de Déploiement

**Basé sur les bundles (Artefact) :** Créer une archive versionnée → déployer l'archive vers les stages
- Bon pour : pistes d'audit, capacité de rollback, conformité
- Commande : `aws-smus-cicd-cli bundle` puis `aws-smus-cicd-cli deploy --manifest app.tar.gz`

**Direct (Basé sur Git) :** Déployer directement depuis les sources sans artefacts intermédiaires
- Bon pour : workflows plus simples, itération rapide, git comme source de vérité
- Commande : `aws-smus-cicd-cli deploy --manifest manifest.yaml --stage test`

Les deux modes fonctionnent avec n'importe quelle combinaison de sources de stockage et git.

---

## Exemples d'applications

Expand All @@ -222,7 +296,7 @@ Déployez des tableaux de bord BI interactifs avec des pipelines ETL Glue automa

**GitHub Workflow:** [analytic-dashboard-glue-quicksight.yml](https://github.com/aws/CICD-for-SageMakerUnifiedStudio/actions/workflows/analytic-dashboard-glue-quicksight.yml)

"What happens during deployment:" → (Ce qui se passe pendant le déploiement :) Le code de l'application est déployé sur S3, les jobs Glue et les workflows Airflow sont créés et exécutés, le tableau de bord/source de données/jeu de données QuickSight sont créés, et l'ingestion QuickSight est initiée pour actualiser le tableau de bord avec les dernières données.
"What happens during deployment:" → (Le code de l'application est déployé sur S3, les jobs Glue et les workflows Airflow sont créés et exécutés, le tableau de bord/source de données/jeu de données QuickSight sont créés, et l'ingestion QuickSight est initiée pour actualiser le tableau de bord avec les dernières données.)

[Reste du contenu technique inchangé]

Expand All @@ -233,11 +307,11 @@ Déployez des notebooks Jupyter avec orchestration d'exécution parallèle pour

**GitHub Workflow:** [analytic-data-notebooks.yml](https://github.com/aws/CICD-for-SageMakerUnifiedStudio/actions/workflows/analytic-data-notebooks.yml)

"What happens during deployment:" → (Ce qui se passe pendant le déploiement :) Les notebooks et les définitions de workflow sont téléchargés sur S3, le DAG Airflow est créé pour l'exécution parallèle des notebooks, la connexion MLflow est provisionnée pour le suivi des expériences, et les notebooks sont prêts à être exécutés à la demande ou selon un planning.
"What happens during deployment:" → (Les notebooks et les définitions de workflow sont téléchargés sur S3, le DAG Airflow est créé pour l'exécution parallèle des notebooks, la connexion MLflow est provisionnée pour le suivi des expériences, et les notebooks sont prêts à être exécutés à la demande ou selon un calendrier.)

[Reste du contenu technique inchangé]

[Continue la traduction en suivant le même modèle pour le reste du document]
[Continue la traduction en suivant le même modèle pour le reste du document, en gardant les éléments techniques inchangés]

## Documentation

Expand Down Expand Up @@ -288,7 +362,7 @@ git clone https://github.com/aws/CICD-for-SageMakerUnifiedStudio.git
cd CICD-for-SageMakerUnifiedStudio
pip install -e .

# ❌ Wrong - Do not use PyPI
# ❌ Incorrect - Do not use PyPI
pip install aws-smus-cicd-cli # May contain malicious code
```

Expand Down
Loading
Loading