Comment ça fonctionne
GitScrum Studio étend votre éditeur de code avec des panneaux de gestion de projet qui se comportent comme des onglets natifs de l'éditeur. Ce guide explique l'architecture, le modèle de navigation et le flux de données entre l'extension et GitScrum.
Structure de l'extension
GitScrum Studio ajoute trois points d'intégration à votre éditeur :
1. Barre d'activité → Icône GitScrum → Arborescence latérale
2. Zone de l'éditeur → Panneaux webview (onglets)
3. Barre d'état → Minuteur persistantCes trois éléments fonctionnent ensemble. La barre latérale est votre hub de navigation. Les panneaux sont votre espace de travail. Le minuteur suit le temps indépendamment des deux.
L'arborescence latérale
Un clic sur l'icône GitScrum dans la barre d'activité ouvre une arborescence latérale. Elle organise vos données dans une hiérarchie claire :
Nom du workspace
└─ Nom du projet
├─ Plan
│ ├─ Sprints
│ ├─ User Stories
│ └─ Team Standup
├─ Build
│ └─ Board
├─ Knowledge
│ ├─ Wiki
│ ├─ Discussions
│ └─ Documents
└─ Time TrackingNiveau workspace
Les nœuds de premier niveau représentent vos workspaces GitScrum (organisations). Chaque workspace contient les projets auxquels vous avez accès en fonction de votre rôle.
Niveau projet
Le développement d'un workspace révèle ses projets. Cliquer sur un projet le définit comme actif — cela détermine quelles données tous les panneaux affichent.
Groupes de fonctionnalités
Chaque projet organise ses fonctionnalités en trois groupes logiques :
| Groupe | Fonctionnalités | Objectif |
|---|---|---|
| Plan | Sprints, User Stories, Team Standup | Planification et suivi des itérations de travail |
| Build | Board | Exécution des tâches avec vues Kanban et liste |
| Knowledge | Wiki, Discussions, Documents | Documentation et communication d'équipe |
Time Tracking se situe au niveau racine du projet car il couvre toutes les autres fonctionnalités.
Panneaux webview
Un clic sur un élément de la barre latérale ouvre un panneau webview dans la zone de l'éditeur. Ces panneaux :
- S'affichent comme des onglets de l'éditeur — déplacez-les, divisez-les, épinglez-les ou fermez-les comme n'importe quel onglet de fichier
- Affichent des interfaces riches — tableaux Kanban, graphiques, formulaires et tableaux de données
- Communiquent de manière bidirectionnelle — les actions dans le panneau déclenchent des appels API ; les données de l'API mettent à jour le panneau
- Se rafraîchissent automatiquement — à l'intervalle configuré (par défaut : 5 minutes)
Cycle de vie des panneaux
- Clic sur un élément de la barre latérale → le panneau s'ouvre (ou se met au premier plan s'il est déjà ouvert)
- Le panneau charge les données depuis l'API GitScrum
- L'utilisateur interagit → les actions envoient des messages à l'extension
- L'extension traite → appelle l'API, met à jour le panneau avec les résultats
- Rafraîchissement automatique → rechargement périodique des données en arrière-plan
Réutilisation des panneaux
Les panneaux sont identifiés par workspace et projet. Ouvrir le Board pour le même projet deux fois met au premier plan le panneau existant au lieu d'en créer un doublon. Ouvrir le Board pour un projet différent crée un nouveau panneau.
Le minuteur de la barre d'état
Une icône d'horloge se trouve dans la barre d'état en bas de votre éditeur. Elle est toujours visible, quel que soit le panneau ou le fichier actif.
États du minuteur
| État | Affichage | Comportement | |
|---|---|---|---|
| Inactif | 🕐 00:00:00 | Aucun minuteur en cours. Cliquez pour démarrer. | |
| Actif | `🕐 00:45:32 | PROJ-123` | Minuteur en cours. Affiche le temps écoulé et le code de la tâche. Fond jaune. |
Persistance du minuteur
Le minuteur enregistre son état dans le stockage global de l'éditeur toutes les 60 secondes. Cela signifie :
- Fermer l'éditeur → le minuteur continue lorsque vous le rouvrez
- Redémarrer votre ordinateur → le minuteur reprend depuis le dernier état enregistré
- Synchronisation serveur → au démarrage, l'extension vérifie le serveur pour un minuteur actif et se synchronise
Menu QuickPick
Un clic sur le minuteur de la barre d'état ouvre un menu QuickPick avec des options contextuelles :
Quand inactif :
- ▶ Start Timer — ouvre un sélecteur de tâches
- 📜 View Time Entries — ouvre le panneau Suivi du temps
- 📊 Open Time Tracking Panel — ouvre les analyses
Quand actif :
- ⏹ Stop Timer — enregistre l'entrée de temps avec un commentaire optionnel
- 🔄 Switch Task — arrête le minuteur actuel, en démarre un nouveau
- 🗑 Discard Timer — annule sans enregistrer
- 📜 View Time Entries
- 📊 Open Time Tracking Panel
Flux de données
Toutes les données transitent via l'API REST GitScrum. L'extension est un client — elle lit et écrit des données via des requêtes HTTP authentifiées.
Panneau éditeur → Backend extension → API GitScrum → Base de données
↑ ↓
└── Réponse ─────┘Authentification
L'extension stocke votre jeton d'authentification en utilisant l'API SecretStorage de l'éditeur. Chaque requête API inclut ce jeton. Lorsque le jeton expire ou que vous vous déconnectez, la barre latérale affiche les options de connexion.
Communication API
Chaque panneau dispose d'une classe de service dédiée qui gère ses appels API :
| Service | Panneaux desservis |
|---|---|
| BoardService | Tableau Kanban |
| SprintService | Sprints |
| TaskDetailService | Tiroir de tâche (utilisé dans Board, Sprints, User Stories, Time Tracking) |
| TimeTrackingService | Minuteur de la barre d'état, Panneau Suivi du temps |
| WikiService | Wiki |
| DiscussionService | Discussions |
Rafraîchissement automatique
Les panneaux se rafraîchissent automatiquement à intervalles réguliers. Cliquez sur le bouton d'actualisation dans l'en-tête de n'importe quel panneau pour une mise à jour immédiate.
Le tiroir de tâche
Le tiroir de tâche est un composant partagé qui apparaît dans plusieurs panneaux — Board, Sprints, User Stories et Time Tracking. Lorsque vous cliquez sur une tâche dans l'un de ces panneaux, le tiroir s'ouvre comme un panneau latéral avec toutes les capacités d'édition :
| Fonctionnalité | Ce que vous pouvez faire |
|---|---|
| Titre et description | Édition en ligne avec support Markdown |
| Flux de travail | Changer le statut, créer de nouveaux flux de travail |
| Type | Assigner un type de tâche, créer de nouveaux types |
| Responsables | Assigner et retirer des membres de l'équipe |
| Étiquettes | Attacher des étiquettes, créer de nouvelles étiquettes |
| Dates | Définir la date de début et la date d'échéance |
| Effort | Définir l'estimation d'effort (échelle de Fibonacci : 1, 2, 3, 5, 8, 13) |
| Checklists | Créer des checklists, ajouter des éléments, cocher/décocher |
| Commentaires | Lire et publier des commentaires |
| Drapeaux | Basculer les états brouillon, archivé et bloqueur |
| Assignation au tableau | Assigner la tâche à un ou plusieurs tableaux |
Le tiroir offre une expérience d'édition cohérente quel que soit le panneau depuis lequel vous avez ouvert la tâche.
Accès basé sur les rôles
L'extension respecte votre rôle dans le workspace GitScrum. Ce que vous voyez et pouvez faire dépend de vos permissions :
| Rôle | Niveau d'accès |
|---|---|
| Agency Owner | Accès complet à toutes les fonctionnalités, paramètres du projet et données de l'équipe |
| Manager | Accès complet aux fonctionnalités du projet, rapports et gestion d'équipe |
| Developer | Gestion des tâches, suivi du temps, outils de collaboration et base de connaissances |
| Client | Accès en lecture seule aux données du projet assigné |
Certaines actions — comme l'ouverture des paramètres du projet depuis la barre latérale — ne sont disponibles que pour les Agency Owners. Si une fonctionnalité apparaît désactivée, vérifiez votre rôle dans l'application web GitScrum.
Palette de commandes
Toutes les fonctionnalités sont accessibles depuis la palette de commandes (Ctrl+Shift+P / Cmd+Shift+P). Tapez GitScrum: pour voir toutes les commandes :
| Commande | Action |
|---|---|
GitScrum: Sign In | Ouvrir les options d'authentification |
GitScrum: Sign Out | Effacer les identifiants et se déconnecter |
GitScrum: Open Board | Ouvrir le panneau du tableau Kanban |
GitScrum: Open Sprints | Ouvrir le panneau des sprints |
GitScrum: Open User Stories | Ouvrir le panneau des user stories |
GitScrum: Open Wiki | Ouvrir le panneau du wiki |
GitScrum: Open Discussions | Ouvrir le panneau des discussions |
GitScrum: Open Documents | Ouvrir le panneau des documents |
GitScrum: Open Team Standup | Ouvrir le panneau du standup |
GitScrum: Start Timer | Démarrer le suivi du temps |
GitScrum: Stop Timer | Arrêter le minuteur actif |
GitScrum: Open Time Tracking | Ouvrir le panneau de suivi du temps |
GitScrum: Refresh | Forcer le rafraîchissement de toutes les données |
GitScrum: Create Project | Créer un nouveau projet |
Vous pouvez assigner des raccourcis clavier personnalisés à chacune de ces commandes via l'éditeur de raccourcis clavier (Ctrl+K Ctrl+S / Cmd+K Cmd+S).
Documentation associée
- Démarrage rapide — Installez et configurez en 2 minutes
- Premiers pas — Installation complète avec toutes les options d'authentification
- Tableau Kanban — Exploration approfondie des fonctionnalités du tableau
- Suivi du temps — Flux de travail du minuteur et analyses