Documentation / Collaboration et intégrations
Live Share
Programmez en binôme sur le même projet, avec chiffrement de bout en bout, invitations à usage unique et permissions par invité. Vos secrets ne sont jamais partagés.
Live Share permet à une autre personne de modifier avec vous le projet que vous avez ouvert : vous écrivez tous les deux en même temps, voyez le curseur de l’autre, discutez et pouvez suivre ensemble une session de débogage. Aucun serveur cloud n’est nécessaire : la connexion relie directement les deux machines.
Ouvrez-le avec la commande Live Share : programmer en binôme (groupe Outils, depuis Rechercher une action, Ctrl+Shift+A). Il s’ouvre dans un onglet.
Démarrer une session
- Cliquez sur Partager ce projet.
- Saisissez Votre nom.
- Dans Partager sur, choisissez où écouter : Réseau local (avec votre adresse), Autre adresse (VPN)… ou Cette machine uniquement (tunnel SSH). Yuli n’écoute que sur cette interface, jamais sur toutes.
- Choisissez les options : Approuver chaque invité avant son entrée, Les invités peuvent modifier et Partager ma session de débogage.
- Cliquez sur Commencer le partage et envoyez l’invitation à votre collègue par un canal de confiance.
- Cliquez sur Rejoindre une session.
- Collez l’invitation envoyée par l’hôte.
- Vérifiez avec l’hôte que l’empreinte affichée par Yuli correspond à la sienne.
- Cliquez sur Rejoindre. Si l’hôte approuve chaque invité, attendez sa réponse (jusqu’à 120 secondes).
L’invitation a cette forme :
yuli-live://host:puerto/token#sha256Elle contient l’adresse, un token secret et l’empreinte SHA-256 du certificat de la session.
Sécurité
| Protection | Détail |
|---|---|
| Chiffrement | TLS 1.3 avec un certificat créé pour chaque session. Son empreinte SHA-256 voyage dans l’invitation et est épinglée : aucune autorité de certification n’est nécessaire. |
| Token | 128 bits issus du générateur aléatoire du système, à usage unique, comparé en temps constant. |
| Expiration | L’invitation expire au bout de 30 minutes par défaut. |
| Tentatives échouées | Jusqu’à 5 par adresse et par minute. |
| Participants | 12 au maximum par session. |
| Taille des documents | 4 Mo au maximum par fichier partagé. |
Approuver un invité
Si vous avez activé l’approbation, Yuli vous prévient : « {nom} souhaite rejoindre la session ». Vous choisissez :
| Option | Ce qui se passe |
|---|---|
| Accepter (lecture seule) | L’invité entre et voit le projet, sans le modifier. |
| Accepter avec modification | L’invité entre et peut modifier. |
| Refuser | L’invité n’entre pas. |
Permissions par invité
Pendant la session, dans la liste des participants, vous modifiez les permissions de chaque invité :
| Permission | Par défaut |
|---|---|
| Modifier | Selon la façon dont vous l’avez accepté. |
| Terminal | Désactivée. |
| Expulser | Retire l’invité de la session. |
La permission Terminal donne à l’invité un vrai terminal sur votre machine, avec votre compte. Ne l’activez qu’avec des personnes de toute confiance et désactivez-la dès qu’elles n’en ont plus besoin.
Les arrivées, les expulsions et les changements de permissions sont consignés dans le journal d’audit.
Ce qui est partagé
- Modification simultanée des fichiers du projet.
- Les curseurs de chaque participant et Suivre un autre participant.
- Un chat de session.
- Votre session de débogage, si vous la partagez : la ligne où elle est arrêtée, la pile et les variables. Les invités peuvent demander des pas.
Ce qui n’est jamais partagé
Les secrets, le coffre-fort d’identifiants, le dossier .git/ et tout ce qui se trouve hors du projet (y compris par des liens symboliques). Les fichiers ignorés par .gitignore ne le sont que si l’hôte les partage. Un fichier contenant un identifiant détecté parvient aux invités expurgé et en lecture seule.