# Code

> Demandez à Dvina d’écrire du code dans un projet sur votre ordinateur, vérifiez chaque modification, puis créez un commit et ouvrez la pull request depuis le chat.

Dvina écrit du code dans votre projet, sur votre ordinateur, en tenant compte des notes, des discussions et des raisons derrière vos choix. Décrivez ce que vous voulez, vérifiez ses modifications et livrez le résultat, dans la même app que vous utilisez pour tout le reste.

## Avant de commencer

Code fait partie de l’app de bureau Dvina, sur Mac, Windows et Linux. Vous n’avez rien d’autre à installer. Dvina doit être installé sur au moins un ordinateur ; tous les autres appareils peuvent lancer le travail et en suivre l’avancement.

Pour obtenir l’app de bureau, consultez [Télécharger et installer Dvina](/docs/use-dvina/get-started/install).

## Ouvrir un projet

Un projet est un dossier sur votre ordinateur : un dépôt de code ou un simple dossier.

1. Dans l’app de bureau, ouvrez le Dock et sélectionnez la ligne des projets (**Projets**).
2. Sélectionnez **Ouvrir…** pour choisir un dossier ou un dépôt de code, ou **Nouveau projet…** pour créer un dossier sur cet ordinateur.

Lorsque vous créez un projet, activez **Créer un dépôt Git** pour conserver un historique de chaque modification et pouvoir annuler celles de Dvina.

Le chat travaille dans le projet que vous choisissez. Pour un projet de code, le Dock affiche aussi sa branche.

## Décrire le travail à réaliser

Décrivez ce que vous voulez, par exemple « Fais en sorte que l’export CSV utilise les bonnes dates ». Dvina exécute ce travail sous forme de tâche sur votre ordinateur. Vous pouvez continuer à discuter ou lancer d’autres tâches. Plusieurs tâches peuvent travailler sur un même dépôt et décider entre elles laquelle crée son commit en premier.

Avant d’écrire, Dvina lit le projet et son contexte : il recherche dans vos anciens chats et vos fichiers pour tenir compte des raisons derrière vos choix. Il suit aussi les instructions du fichier AGENTS.md ou CLAUDE.md de votre projet.

## Vérifier les modifications

La réponse de chaque tâche s’affiche avec ses modifications, dans une carte portant le nom de la tâche et la mention **Prêt à vérifier**.

- **Voir les modifications :** Sélectionnez **Modifications** pour voir les modifications de chaque fichier dans le panneau latéral. **Fichiers** vous permet de parcourir le projet.
- **Annuler un échange :** Sous une réponse qui a modifié des fichiers, sélectionnez la ligne indiquant le nombre de fichiers modifiés, puis **Annuler les modifications**, et confirmez avec **Annuler les modifications de cet échange ?**. Les fichiers retrouvent leur état d’avant cet échange, et les modifications effectuées depuis sont conservées.

## Créer un commit et ouvrir une pull request

1. Dans la carte de la tâche, sélectionnez **Créer un commit**.
2. **Créer un commit des modifications** affiche les fichiers qui seront inclus dans le commit sur votre branche, avec un **Titre** et un **Message** suggérés. Sélectionnez **Créer un commit**. Rien n’est envoyé au dépôt distant.
3. Pour ouvrir une pull request, sélectionnez **Pousser et créer une PR**. Dvina pousse d’abord la branche actuelle, puis ouvre la pull request. Les fichiers non commités ne sont pas inclus.

La pull request utilise votre propre connexion Git. Dvina l’ouvre sur GitHub ou GitLab ; pour tout autre hébergeur, la page de création d’une pull request s’ouvre dans votre navigateur. Une fois l’opération terminée, sélectionnez **Voir la PR**.

## Autorisations

Les compilations et les tests s’exécutent directement. La suppression de fichiers, l’envoi de modifications, les changements dans une base de données, les déploiements et toute opération impliquant des secrets attendent votre accord. La carte indique pourquoi, par exemple **Exécuter cette commande ?** avec **Supprime des fichiers** ou **Modifie une base de données**, et vous choisissez **Autoriser** ou **Refuser**. Votre administrateur peut définir les opérations qui demandent toujours votre accord.

> [!IMPORTANT]
> Aucune modification n’est envoyée sans votre accord. Votre projet est un dossier sur votre ordinateur et, avec Git, chaque modification effectuée par Dvina peut être annulée.

## Tester sur un simulateur ou un émulateur

Dans l’application de bureau, Dvina peut tester votre application sur cet ordinateur comme le feront vos utilisateurs : dans un navigateur, dans le simulateur iOS sur un Mac ou dans l’émulateur Android sur un Mac, Windows ou Linux.

1. Ouvrez le Dock et choisissez la ligne **Appareil**.
2. Sous **Cet appareil**, choisissez **Navigateur**, **Simulateur iOS** ou **Émulateur Android**.

La vue s’ouvre dans le panneau latéral. Un simulateur éteint démarre lorsque vous l’ouvrez. Pour en utiliser un autre, choisissez **Choisir un appareil** en haut de la vue ; chaque appareil affiche son système et son état : **En cours d’exécution** ou **Éteint**.

Pour afficher ou masquer le navigateur, appuyez sur <kbd>⌘</kbd> <kbd>⇧</kbd> <kbd>B</kbd> sur un Mac ou sur <kbd>Ctrl</kbd> <kbd>Shift</kbd> <kbd>B</kbd> sous Windows et Linux. Lorsque Dvina travaille dans une vue que vous ne regardez pas, un point apparaît sur la ligne **Appareil**.

### Autoriser Dvina à utiliser un appareil

La première fois que Dvina utilise un simulateur ou un émulateur, il vous demande par exemple **Autoriser Dvina à utiliser iPhone 17 Pro ?**, car Dvina voit son écran. Ne vous connectez donc pas à vos comptes réels sur cet appareil. Choisissez **Autoriser** ou **Refuser**. L’appareil conserve votre réponse : la question ne vous sera pas reposée dans une autre conversation. Tant que vous n’avez pas donné votre accord, la vue propose **Autoriser Dvina à l’utiliser**.

Pendant que Dvina travaille, la vue indique **Dvina utilise cet appareil**, et la conversation affiche l’appareil en direct. Choisissez **Agrandir la vue** pour mieux le voir. Les envois, les paiements et les suppressions sur l’appareil attendent votre accord, à chaque fois.

Pour utiliser vous-même l’appareil, choisissez **Prendre le contrôle**. Vos gestes tactiles et vos frappes sont transmis à l’appareil. Vous pouvez appuyer sur **Accueil** et, sur Android, sur **Retour** et **Applications récentes**. Lorsque vous avez terminé, choisissez **Rendre le contrôle**, et Dvina reprend son travail.

### Configurer le simulateur iOS

Si le simulateur iOS n’est pas configuré, sa ligne ouvre une liste de vérification intitulée **Configurer le simulateur iOS**. Chaque étape se coche automatiquement une fois terminée, même si vous l’avez effectuée ailleurs.

1. **Installer Xcode :** Choisissez **Ouvrir l’App Store**. Xcode est gratuit et occupe environ 7 GB ; ouvrez-le une fois l’installation terminée.
2. **Sélectionner Xcode :** Choisissez **Copier la commande** et exécutez-la dans Terminal. Elle demande votre mot de passe : Dvina ne l’exécute donc jamais à votre place.
3. **Ajouter le simulateur iOS :** Dans Xcode, accédez à Réglages › Composants et téléchargez iOS, ou exécutez la commande dans Terminal.
4. **Créer un appareil :** Choisissez **Créer un iPhone**. Aucun téléchargement n’est effectué.

### Configurer l’émulateur Android

Si l’émulateur Android n’est pas configuré, sa ligne ouvre une liste de vérification intitulée **Configurer l’émulateur Android**.

1. **Installer Android Studio :** Choisissez **Télécharger Android Studio**. Il installe les éléments nécessaires au fonctionnement de l’émulateur ; ouvrez-le une fois l’installation terminée.
2. **Ajouter l’émulateur et les outils de plateforme :** Exécutez la commande dans un terminal, ou ajoutez-les dans Android Studio › SDK Manager.
3. **Activer l’accélération matérielle :** Sous Windows et Linux, exécutez vous-même la commande, car elle nécessite votre mot de passe ou l’intervention d’un administrateur. Ensuite, fermez votre session et reconnectez-vous sous Linux, ou redémarrez sous Windows. Sur un Mac, aucune action n’est nécessaire à cette étape.
4. **Ajouter une image système :** Exécutez la commande dans un terminal, ou ajoutez-en une dans Android Studio › SDK Manager. Le téléchargement est volumineux.
5. **Créer un émulateur :** Choisissez **Créer un émulateur**. Aucun téléchargement n’est effectué.

Si votre administrateur a désactivé les simulateurs, les lignes indiquent **Désactivé par votre administrateur**.

## Travailler où que vous soyez

Depuis votre téléphone ou le web, demandez dans votre conversation le travail à effectuer. Dvina s’en charge dans le projet sur votre ordinateur, puis les modifications attendent votre validation. Votre ordinateur doit être allumé et Dvina doit être ouvert.

## Quand l’utiliser

- Vous travaillez sur un véritable logiciel et souhaitez garder tout son historique à portée de main : les notes, les décisions et les fils de discussion du mois dernier.
- Vous souhaitez qu’une correction soit effectuée pendant que vous êtes loin de votre bureau.
- Vous souhaitez avancer sur plusieurs modifications à la fois, chacune prête à être vérifiée.

## Conseils

- **Consignez vos règles de travail.** Décrivez votre façon de travailler dans AGENTS.md ou CLAUDE.md, et Dvina la respecte.
- **Testez sur un téléphone.** Vous développez une app ? Dvina peut la tester dans un simulateur iPhone ou un émulateur Android, en parcourant l’app par des gestes tactiles comme le feront vos utilisateurs. Consultez [Tester sur un simulateur ou un émulateur](#test-on-a-simulator-or-emulator).
- **Vous ne développez pas ?** Pour créer des apps et des pages fonctionnelles, utilisez plutôt [Créer](/docs/use-dvina/features/create).

## Voir aussi

- [Projets](/docs/use-dvina/features/projects)
- [Tâches](/docs/use-dvina/features/tasks)
- [Utilisation de l’ordinateur](/docs/use-dvina/features/computer-use)
- [Installation](/docs/use-dvina/get-started/install)
