> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-docs-1917.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Enregistrer et comparer le code

> Activez l’enregistrement du code, comparez le code entre les runs W&B avec le comparateur de code et capturez l’historique de session Jupyter.

Par défaut, W\&B n’enregistre que le hachage du dernier commit Git. Vous pouvez activer d’autres fonctionnalités liées au code pour comparer dynamiquement le code entre vos expériences dans l’UI.

À partir de la version 0.8.28 de `wandb`, W\&B peut enregistrer le code de votre fichier d’entraînement principal dans lequel vous appelez `wandb.init()`.

<div id="save-library-code">
  ## Enregistrer le code de la bibliothèque
</div>

Lorsque vous activez l’enregistrement du code, W\&B enregistre le code du fichier à l’origine de l’appel à `wandb.init()`. Pour enregistrer du code de bibliothèque supplémentaire, vous avez trois options :

<div id="call-wandbrunlog_code-after-calling-wandbinit">
  ### Appelez `wandb.Run.log_code(".")` après avoir appelé `wandb.init()`
</div>

```python theme={null}
import wandb

with wandb.init() as run:
  run.log_code(".")
```

<div id="pass-a-settings-object-to-wandbinit-with-code_dir-set">
  ### Transmettez un objet de configuration à `wandb.init()` avec `code_dir` défini
</div>

```python theme={null}
import wandb

wandb.init(settings=wandb.Settings(code_dir="."))
```

Cela inclut tous les fichiers source Python du répertoire actuel et de tous ses sous-répertoires dans un [artifact](/fr/models/ref/python/experiments/artifact). Pour mieux contrôler les types et emplacements des fichiers source enregistrés, voir la [documentation de référence](/fr/models/ref/python/experiments/run#log_code).

<div id="set-code-saving-in-the-ui">
  ### Configurer l’enregistrement du code dans l’interface utilisateur
</div>

En plus de configurer l’enregistrement du code par programmation, vous pouvez définir les valeurs par défaut dans l’interface utilisateur au niveau d’une équipe ou de l’organisation. Les contrôles des équipes et de l’organisation sont documentés dans [Configurer les paramètres de confidentialité](/fr/platform/hosting/privacy-settings).

<div id="team">
  #### Équipe
</div>

> Par défaut, W\&B désactive l’enregistrement du code pour toutes les équipes. Avant de pouvoir l’activer pour une équipe, un administrateur de l’organisation doit d’abord l’activer pour l’organisation. Voir la section [Organisation](#organization).

Les administrateurs d’équipe ouvrent la page **Settings** de l’équipe, accèdent à la section **Privacy** et configurent **Enable code saving by default** pour les runs de l’équipe. Cette option n’est disponible que si un administrateur de l’organisation n’a pas appliqué de restrictions sur l’enregistrement du code à l’échelle de toute l’organisation. Pour les étapes de navigation, voir [Configurer les paramètres de confidentialité d’une équipe](/fr/platform/hosting/privacy-settings#configure-privacy-settings-for-a-team).

<div id="organization">
  #### Organisation
</div>

Les administrateurs de l’organisation ouvrent les **Settings** de l’organisation, accèdent à la section **Privacy** et peuvent activer **Enforce default code saving restrictions** afin que l’enregistrement du code reste désactivé par défaut pour chaque équipe. Tant que ce paramètre est activé, les administrateurs d’équipe ne peuvent pas activer **Enable code saving by default** pour une équipe. Pour la liste complète des contrôles au niveau de l’organisation, voir [Enforce privacy settings for all teams](/fr/platform/hosting/privacy-settings#enforce-privacy-settings-for-all-teams).

<div id="code-comparer">
  ## comparateur de code
</div>

Comparez le code utilisé dans différents runs W\&B :

1. Cliquez sur le bouton **Add panels** dans le coin supérieur droit de la page.
2. Ouvrez le menu déroulant **TEXT AND CODE** et sélectionnez **Code**.

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541-docs-1917/CB9tJSsSFnrt6bwh/images/app_ui/code_comparer.png?fit=max&auto=format&n=CB9tJSsSFnrt6bwh&q=85&s=275c43fc0301d61e709b67544f158b1a" alt="Panneau comparateur de code" width="887" height="337" data-path="images/app_ui/code_comparer.png" />
</Frame>

<div id="jupyter-session-history">
  ## Historique de session Jupyter
</div>

W\&B enregistre l’historique du code exécuté dans votre session de notebook Jupyter. Lorsque vous appelez **wandb.init()** dans Jupyter, W\&B ajoute un hook pour enregistrer automatiquement un notebook Jupyter contenant l’historique du code exécuté dans votre session en cours.

1. Accédez à l’espace de travail du projet qui contient votre code.
2. Sélectionnez l’onglet **Artifacts** dans la barre latérale du projet.
3. Développez l’artifact **code**.
4. Sélectionnez l’onglet **Files**.

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541-docs-1917/CB9tJSsSFnrt6bwh/images/app_ui/jupyter_session_history.gif?s=70dc29b6a9d310283f54a756b07c2236" alt="Historique de session Jupyter" width="3868" height="2574" data-path="images/app_ui/jupyter_session_history.gif" />
</Frame>

Cela affiche les cellules exécutées pendant votre session, ainsi que toutes les sorties générées par des appels à la méthode d’affichage d’iPython. Vous pouvez ainsi voir exactement quel code a été exécuté dans Jupyter pour une run donnée. Lorsque c’est possible, W\&B enregistre également la version la plus récente du notebook, que vous trouverez aussi dans le répertoire `code`.

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541-docs-1917/CB9tJSsSFnrt6bwh/images/app_ui/jupyter_session_history_display.png?fit=max&auto=format&n=CB9tJSsSFnrt6bwh&q=85&s=8177d936672eb2172cbbb2d8e3b62351" alt="Sortie de session Jupyter" width="3826" height="1840" data-path="images/app_ui/jupyter_session_history_display.png" />
</Frame>
