> ## Documentation Index
> Fetch the complete documentation index at: https://support.labex.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Interface WebIDE LabEx VM

> Le WebIDE LabEx fournit un environnement de développement moderne, semblable à VS Code, pour les tâches de codage. Construit sur Ubuntu 22.04, il offre une interface familière pour écrire, compiler et exécuter du code dans plusieurs langages de programmation.

## Aperçu de WebIDE

<img src="https://mintcdn.com/huhuhang/q4ekfuwM7mDVAiiH/images/webide.png?fit=max&auto=format&n=q4ekfuwM7mDVAiiH&q=85&s=da64f20fc4317410e337993b75c16904" alt="Aperçu de WebIDE" width="960" height="640" data-path="images/webide.png" />

L'environnement WebIDE est particulièrement utile pour :

1. Écrire et déboguer du code dans divers langages de programmation (Java, JavaScript, Python, etc.)
2. Projets de développement Web avec des capacités d'aperçu en direct, voir [Créez votre première page HTML dans WebIDE
   ](https://labex.io/tutorials/html-create-your-first-html-page-in-webide-451041)
3. Gestion des fichiers et des répertoires de projet via une interface intuitive
4. Opérations de terminal intégrées pour les tâches en ligne de commande

## Disposition de l'environnement

L'interface WebIDE se compose de plusieurs composants clés :

1. Barre latérale gauche :
   * Explorateur de fichiers pour la navigation dans le projet
   * Fonction de recherche
   * Contrôle de source pour les opérations Git
   * Panneau des extensions
2. Zone de l'éditeur : Espace de travail de codage principal
3. Panneau inférieur : Terminal, problèmes et sortie
4. Barre d'état : Accès rapide aux paramètres et à l'aperçu en direct
5. Barre de menu supérieure : Fichier, Modifier, Afficher et autres options

## Accès au terminal

Vous pouvez ouvrir le terminal de deux manières :

1. Cliquez sur l'icône <i className="fa-regular fa-circle-xmark" /> dans le coin inférieur gauche et passez à l'onglet Terminal ;
   <img src="https://mintcdn.com/huhuhang/q4ekfuwM7mDVAiiH/images/screenshot-20241022-fOGlaC78@2x.png?fit=max&auto=format&n=q4ekfuwM7mDVAiiH&q=85&s=d39064241ec13475b8a5f07b9b5b6c0e" alt="Accès au terminal" width="1860" height="806" data-path="images/screenshot-20241022-fOGlaC78@2x.png" />
2. Utilisez le menu supérieur : Terminal > Nouveau terminal
   <img src="https://mintcdn.com/huhuhang/q4ekfuwM7mDVAiiH/images/screenshot-20241022-wyYSNaTb@2x.png?fit=max&auto=format&n=q4ekfuwM7mDVAiiH&q=85&s=891ad0b51501dc8941fe3c726f853a92" alt="Accès au terminal" width="1204" height="584" data-path="images/screenshot-20241022-wyYSNaTb@2x.png" />

## Aperçu HTML

Pour prévisualiser votre fichier HTML :

1. Dans le WebIDE, cliquez sur le bouton "Go Live" dans le coin inférieur droit.
   <img src="https://mintcdn.com/huhuhang/lbTGZZG7azHYkwfT/images/461shots_so.png?fit=max&auto=format&n=lbTGZZG7azHYkwfT&q=85&s=d5a94c83ffb5faa003192de94eaed9c8" alt="Bouton Go Live dans WebIDE" width="1920" height="1080" data-path="images/461shots_so.png" />
2. Un nouvel onglet de navigateur s'ouvrira avec votre page HTML rendue.
   <img src="https://mintcdn.com/huhuhang/lbTGZZG7azHYkwfT/images/429shots_so.png?fit=max&auto=format&n=lbTGZZG7azHYkwfT&q=85&s=e49e551fb117a34bfb487062a3310348" alt="Page HTML rendue dans l'onglet du navigateur" width="1920" height="1080" data-path="images/429shots_so.png" />
3. Ou, vous pouvez cliquer sur l'onglet "Web 8080" pour ouvrir l'aperçu.
   <img src="https://mintcdn.com/huhuhang/lbTGZZG7azHYkwfT/images/236shots_so.png?fit=max&auto=format&n=lbTGZZG7azHYkwfT&q=85&s=86e55e8dcc899fedd7bd3d130ce392b3" alt="Aperçu de l'onglet Web 8080 de WebIDE" width="1920" height="1080" data-path="images/236shots_so.png" />
4. Si votre projet se trouve dans un sous-répertoire, vous pouvez y accéder en cliquant sur le nom du sous-répertoire dans l'explorateur, puis il prévisualisera automatiquement le fichier `index.html` dans ce répertoire.
   <img src="https://mintcdn.com/huhuhang/lbTGZZG7azHYkwfT/images/20250110-11-19-17-1N4fwHBz.png?fit=max&auto=format&n=lbTGZZG7azHYkwfT&q=85&s=ef3a2f7bbd795218b50d9b95086b1ed4" alt="Aperçu du sous-répertoire WebIDE" width="425" height="169" data-path="images/20250110-11-19-17-1N4fwHBz.png" />
5. Si votre projet contient plusieurs fichiers HTML, y compris `index.html`, vous pouvez ajouter le nom du fichier à l'URL pour le prévisualiser directement. Par exemple, `https://xxx.labex.io/another-file.html`.
   <img src="https://mintcdn.com/huhuhang/lbTGZZG7azHYkwfT/images/20250113-09-42-31-4EbLwccE.png?fit=max&auto=format&n=lbTGZZG7azHYkwfT&q=85&s=07166edb93053840f14d3f73923e2d0e" alt="Aperçu de plusieurs fichiers HTML WebIDE" width="851" height="311" data-path="images/20250113-09-42-31-4EbLwccE.png" />
6. Vous pouvez ouvrir l'aperçu dans un nouvel onglet en cliquant sur le bouton "Ouvrir dans un nouvel onglet". Il ouvrira l'aperçu dans un nouvel onglet de navigateur.
   <img src="https://mintcdn.com/huhuhang/lbTGZZG7azHYkwfT/images/20250113-09-48-45-BnqYObPj.png?fit=max&auto=format&n=lbTGZZG7azHYkwfT&q=85&s=7ba9545421a5bd671ec47a8989342134" alt="WebIDE Ouvrir dans un nouvel onglet" width="872" height="191" data-path="images/20250113-09-48-45-BnqYObPj.png" />

"Go Live" va automatiquement :

* Démarrer un serveur web
* Fournir des mises à jour en temps réel au fur et à mesure que vous modifiez votre code

> Conseils : LabEx VM héberge l'aperçu sur le port 8080. Vous pouvez partager le lien d'aperçu avec d'autres personnes pour présenter votre travail. Une fois votre lab vm arrêté, le lien d'aperçu ne fonctionnera plus.

## Scénarios d'utilisation

<AccordionGroup>
  <Accordion title="Exemple de développement Java" icon="coffee">
    <Card title="Votre premier lab Java" icon="flask-conical" href="https://labex.io/labs/java-your-first-java-lab-411751">
      Il s'agit d'un exemple de lab Java qui montre comment écrire, compiler et
      exécuter un programme Java simple à l'aide du WebIDE LabEx.
    </Card>

    Travailler avec des projets Java dans WebIDE :

    <img src="https://mintcdn.com/huhuhang/lbTGZZG7azHYkwfT/images/20241016-13-50-50-DprQuVyZ.png?fit=max&auto=format&n=lbTGZZG7azHYkwfT&q=85&s=188bffef44632334239fd25e7710a872" alt="Développement Java" width="1203" height="696" data-path="images/20241016-13-50-50-DprQuVyZ.png" />

    1. Créez un nouveau fichier Java via l'explorateur
    2. Écrivez votre code Java avec la mise en évidence de la syntaxe
    3. Compiler et exécuter dans le terminal :

    ```bash theme={null}
    javac MyClass.java
    java MyClass
    ```

    4. Afficher les erreurs et les avertissements de compilation en temps réel
  </Accordion>

  <Accordion title="Exemple de développement Web" icon="globe">
    <Card title="Votre premier lab HTML" icon="flask-conical" href="https://labex.io/labs/html-your-first-html-lab-92740">
      Il s'agit d'un exemple de lab HTML qui montre comment créer une page web
      simple à l'aide du WebIDE LabEx.
    </Card>

    Pour les tâches de développement frontend :

    <img src="https://mintcdn.com/huhuhang/lbTGZZG7azHYkwfT/images/20240725-14-54-07-RbKQNn37@2x.png?fit=max&auto=format&n=lbTGZZG7azHYkwfT&q=85&s=d86a1ee42ec3fc28320706c8e2af29ad" alt="Bouton Go Live" width="2402" height="2020" data-path="images/20240725-14-54-07-RbKQNn37@2x.png" />

    1. Créez des fichiers HTML, CSS et JavaScript
    2. Cliquez sur le bouton "Go Live" dans le coin inférieur droit
    3. Accédez à votre page web via :
       * Onglet Web 8080 en haut de la VM LabEx
       * Créez de nouveaux onglets d'aperçu de port à l'aide du bouton +

    Remarque : Votre projet est automatiquement déployé sur une URL publique sur le serveur LabEx, ce qui le rend accessible via les onglets Web.
  </Accordion>

  <Accordion title="Exemple de développement Python" icon="code">
    <Card title="Créer un processeur d'étiquettes de nom d'astronaute" icon="flask-conical" href="https://labex.io/labs/python-create-an-astronaut-name-tag-processor-393083">
      Il s'agit d'un exemple de défi Python qui montre comment traiter les noms
      d'astronautes à l'aide du WebIDE LabEx.
    </Card>

    Pour la programmation Python :

    <img src="https://mintcdn.com/huhuhang/lbTGZZG7azHYkwfT/images/20241008-16-18-06-HuMxDYQy.png?fit=max&auto=format&n=lbTGZZG7azHYkwfT&q=85&s=d88a4be0db03de93afc0ea7c2a0962bc" alt="Développement Python" width="946" height="641" data-path="images/20241008-16-18-06-HuMxDYQy.png" />

    1. Créez un fichier Python dans l'explorateur
    2. Écrivez votre code Python avec :
       * Mise en évidence de la syntaxe
       * Achèvement du code
       * Détection d'erreurs
    3. Exécutez votre script dans le terminal :

    ```bash theme={null}
    python3 script.py
    ```

    4. Utilisez le débogueur intégré pour une exécution pas à pas
  </Accordion>
</AccordionGroup>

## Questions fréquemment posées

<AccordionGroup>
  <Accordion title="Comment puis-je accéder à mon application web ?" icon="globe">
    LabEx VM déploie automatiquement vos projets web :

    <img src="https://mintcdn.com/huhuhang/q4ekfuwM7mDVAiiH/images/screenshot-20241022-Sgt0GGyu@2x.png?fit=max&auto=format&n=q4ekfuwM7mDVAiiH&q=85&s=79d82dcc58719cf5b4b19530b488fcbe" alt="Aperçu Web" width="1287" height="379" data-path="images/screenshot-20241022-Sgt0GGyu@2x.png" />

    1. Port par défaut 8080 :
       * Cliquez sur l'onglet "Web 8080" en haut de la VM LabEx
       * Votre application sera accessible via une URL publique

    2. Ports personnalisés :
       * Cliquez sur le bouton + pour créer de nouveaux onglets d'aperçu de port
       * Chaque port obtient sa propre URL publique
       * Utile pour exécuter plusieurs services (par exemple, frontend et backend)

    Remarque : Contrairement au développement local, vous n'accédez pas directement à localhost car LabEx s'exécute dans le cloud.
  </Accordion>

  <Accordion title="Quels sont les raccourcis clavier essentiels ?" icon="keyboard">
    Raccourcis courants dans le WebIDE :

    * **Opérations sur les fichiers**
      * Nouveau fichier : Ctrl+N
      * Enregistrer : Ctrl+S
      * Rechercher : Ctrl+F
      * Remplacer : Ctrl+H

    * **Contrôles du panneau**
      * Basculer la barre latérale : Ctrl+B
      * Basculer le terminal : Ctrl+\`
      * Palette de commandes : Ctrl+Maj+P

    * **Fonctionnalités de l'éditeur**
      * Multi-curseur : Alt+Clic
      * Sélectionner toutes les occurrences : Ctrl+Maj+L
      * Formater le document : Maj+Alt+F
  </Accordion>

  <Accordion title="Puis-je installer des outils ou des packages supplémentaires ?" icon="wrench">
    Oui, vous pouvez installer des outils supplémentaires à l'aide du gestionnaire de paquets Ubuntu :

    ```bash theme={null}
    sudo apt update
    sudo apt install package-name
    ```

    Pour les gestionnaires de paquets spécifiques à un langage :

    * Node.js/npm :

    ```bash theme={null}
    npm install package-name
    ```

    * Python/pip :

    ```bash theme={null}
    pip install package-name
    ```

    N'oubliez pas que les installations sont temporaires et seront réinitialisées à la fin de votre session.
  </Accordion>

  <Accordion title="Comment puis-je gérer les téléchargements et les téléversements de fichiers ?" icon="upload">
    Le WebIDE offre plusieurs façons de gérer les fichiers :

    1. **Téléverser des fichiers :**

       * Faites glisser et déposez des fichiers dans l'explorateur
       * Utilisez le téléversement/téléchargement après un clic droit dans l'explorateur

           <img src="https://mintcdn.com/huhuhang/q4ekfuwM7mDVAiiH/images/screenshot-20241022-j7Pl3YZQ@2x.png?fit=max&auto=format&n=q4ekfuwM7mDVAiiH&q=85&s=ab2b59536671cb0184c1f57d3a981fec" alt="Téléverser des fichiers" width="1412" height="1250" data-path="images/screenshot-20241022-j7Pl3YZQ@2x.png" />

    2. **Télécharger des fichiers :**
       * Cliquez avec le bouton droit sur le fichier dans l'explorateur
       * Sélectionnez "Télécharger"

    3. **Copier/Coller :**
       * Le contenu textuel peut être copié directement entre votre machine locale et le WebIDE
       * Les fichiers binaires doivent utiliser les fonctionnalités de téléversement/téléchargement

    N'oubliez pas que tous les fichiers sont temporaires et seront perdus à la fin de votre session.
  </Accordion>
</AccordionGroup>
