🇬🇧 English version

Aperçu

Élément Valeur
Durée 20 minutes
Niveau Débutant
Prérequis Aucun

Objectifs d’apprentissage

À la fin de ce lab, vous serez capable de :

  • Installer les outils nécessaires pour provisionner et invoquer un agent hébergé Foundry
  • Cloner le dépôt foundry-hosted-agents et configurer un environnement virtuel Python
  • Vous connecter à Azure et choisir un abonnement approuvé pour vos ressources d’atelier isolées
  • Exécuter les suites de tests du dépôt comme vérification de bon fonctionnement

Exercices

Avant le Lab 02, faites approuver le VNet, les sous-réseaux délégués, la zone DNS privée, les plages sans chevauchement et les permissions réseau limitées. Cosmos, si retenu, exige un point privé et une machine de test reliée au réseau ; un poste public ne peut pas tester son plan de données. Foundry reste public et authentifié. Consultez Réseau Cosmos privé. Si les politiques exigent aussi Foundry, le registre ou MCP privés, arrêtez : ce profil ne les couvre pas.

Exercice 0.1 : Installer les outils requis

  1. Python 3.13https://www.python.org/downloads/

    python --version
    
  2. Azure Developer CLI (azd)https://learn.microsoft.com/azure/developer/azure-developer-cli/install-azd

    azd version
    
  3. Azure CLI (az)https://learn.microsoft.com/cli/azure/install-azure-cli

    az version
    
  4. Visual Studio Codehttps://code.visualstudio.com/

Les commandes utilisent PowerShell 7.3 ou plus récent. Les scripts d’appel, de RBAC et d’évaluation nécessitent aussi Git Bash, jq et curl. Sous Windows, installez Git for Windows et jq par le canal logiciel approuvé (par exemple winget install --id Git.Git --exact et winget install --id jqlang.jq --exact). Redémarrez le terminal après l’installation. Ne modifiez pas les politiques d’exécution ou de réseau de votre organisation pour installer une dépendance.

À chaque nouvelle session PowerShell, activez Python comme indiqué ci-dessous et vérifiez les outils. Le System32/bash.exe de Windows lance WSL, pas Git Bash. Adaptez le chemin de Git si votre organisation l’installe ailleurs.

$env:PATH = "C:\Program Files\Git\bin;$env:LOCALAPPDATA\Microsoft\WinGet\Links;$env:PATH"
$env:MSYS_NO_PATHCONV = '1'
Get-Command git, bash, jq, curl.exe, az, azd
bash -lc 'command -v az azd jq curl && jq --version'

MSYS_NO_PATHCONV empêche Git Bash de transformer les ID de ressources Azure en chemins Windows. Gardez la même session pour les Labs 02-08 ; ses variables identifient vos ressources jetables. Si vous perdez la session, récupérez les valeurs de votre environnement, jamais les noms des captures historiques.

Exercice 0.2 : Installer l’extension azd Foundry

Les agents hébergés Foundry sont provisionnés via une extension azd :

azd ext install microsoft.foundry

Exercice 0.3 : Cloner le dépôt et configurer Python

git clone https://github.com/devopsabcs-engineering/foundry-hosted-agents.git
cd foundry-hosted-agents
python -m venv .venv
./.venv/Scripts/Activate.ps1
python -m pip install -r src/threat-assessment-agent/requirements.txt -r src/threat-assessment-agent/requirements-dev.txt

Exercice 0.4 : Se connecter à Azure

azd auth login
az login

Utilisez un abonnement où vous êtes autorisé à créer des ressources facturables et à attribuer des rôles limités aux ressources. Ne réutilisez pas le groupe de ressources du formateur ou d’un client existant. Connectez-vous avec votre propre identité approuvée ; les scénarios utilisent des données synthétiques, pas des données d’employés ou de clients. Confirmez l’abonnement et le locataire avant de continuer :

az account show --query "{name:name, id:id, tenantId:tenantId}" -o table

Exercice 0.5 : Exécuter les suites de tests existantes

Avant de toucher à toute infrastructure, confirmez que les tests du dépôt passent dans votre environnement — c’est exactement la même commande que le pipeline CI exécute.

python -m pytest eval/deterministic-tests/ -v
python -m pytest src/threat-assessment-agent/tests/ -v

Résultat attendu : les deux commandes se terminent sans test échoué. Le nombre de tests évolue avec l’atelier ; ne le comparez pas à une ancienne capture ou à un rapport de publication. Certains tests facultatifs sont ignorés par défaut. Utilisez python -m pytest -rs avec les mêmes chemins pour voir pourquoi. Si une suite échoue, revérifiez l’exercice 0.3 avant de continuer.

[!TIP] Ces deux suites de tests ne touchent pas du tout à Azure — elles s’exécutent entièrement sur des fixtures locales et une machine à états LangGraph compilée. C’est un moyen rapide de confirmer que votre environnement Python est correct avant le Lab 02.

Vérification des connaissances

  • Quelle est la différence entre az et azd, et pourquoi cet atelier a-t-il besoin des deux ?
  • Quelles sont les deux suites de tests que vous venez d’exécuter, et que valide chacune ?

Prochaine étape

Passez au Lab 01 : Plongée dans l’architecture.


v1.0.3

This site uses Just the Docs, a documentation theme for Jekyll.