Le pair programming repose souvent sur des outils de visioconférence qui figent les écrans partagés dans des grilles rigides ou des tuiles à flux unique [S2, S4]. Cela crée des frictions lorsque les développeurs doivent garder le code de leur partenaire visible tout en conservant leur propre espace de travail [2].
Petal est un outil de collaboration open source conçu pour résoudre ce problème en traitant le contenu partagé comme des éléments natifs du bureau [S1, S4]. Développé par les anciens fondateurs de CoScreen, le projet vise à offrir une alternative permanente, portée par la communauté, aux outils propriétaires qui sont souvent abandonnés après une acquisition [S4, S7].
Comment le partage de fenêtres natives fonctionne
Contrairement au partage d’écran traditionnel, Petal n’utilise pas de grille de réunion [S1, S2]. Lorsqu’un utilisateur partage une fenêtre, celle‑ci apparaît sur le bureau de chaque participant comme une vraie fenêtre native sans bordure [S2, S4].
Ces fenêtres sont indépendantes, ce qui signifie que les utilisateurs peuvent les déplacer, les redimensionner et les empiler librement [2]. Cela permet à un développeur d’ancrer l’éditeur partagé d’un coéquipier directement à côté de son IDE local pendant que l’appel se poursuit [2].
Pour le permettre, Petal utilise des flux H.264 encodés matériellement pour chaque fenêtre partagée [2]. Cette architecture permet à plusieurs utilisateurs de partager plusieurs fenêtres simultanément sans les contraintes d’un écran partagé unique [S1, S2].
Contrôles interactifs et collaboration
Petal se concentre sur la réduction de la sensation de “jeu solo” du travail à distance grâce à une interaction haute résolution et à faible latence [S1, S3]. Chaque participant voit des curseurs étiquetés pour tous les utilisateurs au‑dessus des fenêtres partagées [S1, S4].
Au‑delà de la simple visualisation, l’outil comprend plusieurs mécanismes interactifs :
- Contrôle à distance : les utilisateurs peuvent céder le contrôle d’une fenêtre partagée, permettant aux coéquipiers de taper, faire défiler et cliquer comme si la fenêtre était la leur [S1, S2].
- Télépointeurs et dessin : les utilisateurs peuvent esquisser directement sur une fenêtre partagée, les traits s’estompant automatiquement après dix secondes [2].
- Salles persistantes : les équipes peuvent créer des salles nommées, comme “eng-sync”, permettant aux membres de rejoindre en un clic plutôt que d’échanger des liens de réunion [S1, S4].
Le contrôle à distance nécessite les autorisations d’Accessibilité sur la machine hôte [2]. Par défaut, le système demande le consentement de l’hôte chaque fois qu’un contrôle est requis, bien que cela puisse être ajusté dans les paramètres [2].
Déploiement et contrôle des données
Parce que Petal est open source, les équipes peuvent choisir comment gérer leur trafic média et leur infrastructure [S1, S4]. L’outil est construit sur l’infrastructure vidéo LiveKit [S1, S3].
Les utilisateurs disposent de trois options principales de déploiement :
- Petal Cloud : une option zéro configuration utilisant l’infrastructure LiveKit hébergée [1].
- Auto‑hébergé : les équipes peuvent pointer l’application vers leur propre serveur LiveKit à l’aide d’un seul fichier docker‑compose, garantissant que le trafic reste dans leur propre réseau [S1, S4].
- Fork et compilation : les développeurs peuvent forker le dépôt GitHub pour personnaliser l’application ou apporter leur propre stack [1].
Support actuel des plateformes et état
Petal est actuellement en phase pré‑1.0, avec des niveaux de stabilité variables selon les systèmes d’exploitation [2]. Le client macOS est le plus abouti, étant signé et notarié pour macOS 13 (Ventura) ou ultérieur [2].
Le support Windows est disponible mais considéré comme précoce et en cours de développement actif [2]. Le programme d’installation Windows n’est actuellement pas signé, ce qui peut déclencher des avertissements SmartScreen [2]. Le support Linux est prévu pour de futures versions [S1, S4].
Si vous recherchez une méthode peu contraignante pour faire du pair programming, vous pouvez explorer le code source ou télécharger le client sur petal.live [S1, S4].
Sources
- Petal — Open Source Pair Programming
- Show HN: Petal, open-source CoScreen/ScreenHero finally free
- Show HN: Petal, open-source CoScreen/ScreenHero finally free | Hacker News
- GitHub - kiruna-labs/petal: Petal: low-latency, multi-window …
- Show HN: Petal, open-source CoScreen/ScreenHero finally free
- GitHub - shreyagarwal72/petal
- Petal - EpicSaaS
- We’re back. Meet Petal, an open source collaboration app … - LinkedIn