Produit & fonctionnalités

Vaks PM · Périmètre fonctionnel & fonctionnalités · Juin 2026

Objet de ce guide. Ce document décrit ce que fait Vaks PM : son périmètre fonctionnel complet, fonctionnalité par fonctionnalité, ainsi que les intégrations entreprise et les contrôles de gouvernance disponibles pour un administrateur. Chaque capacité est expliquée sur le plan conceptuel (à quoi elle sert et, au niveau opérateur, comment elle fonctionne) sans descendre jusqu'au code. Le lecteur visé est un administrateur système ou un évaluateur qui découvre le produit. Pour installer une instance, consulter le guide de déploiement Docker Swarm ou de déploiement Kubernetes ; pour la conception sous-jacente, consulter Architecture.

Vue d'ensemble

Vaks PM est une application web multi-utilisateurs de gestion de projet (PM, Project Management) conçue pour les organisations de 200 utilisateurs ou plus et bâtie pour fonctionner entièrement sur une infrastructure que l'organisation contrôle (on-premise : hébergée sur ses propres serveurs plutôt que sur un service en ligne exploité par un éditeur). Elle couvre tout le cycle de vie d'un portefeuille de projets : planification, exécution (tableaux Kanban et planification Gantt), suivi du temps et de la charge, collaboration, gestion des compétences, finance et reporting. Chaque capacité est exposée à travers une seule API REST (interface de programmation d'application de type Representational State Transfer) que le front web consomme lui-même, de sorte que toute fonction du produit peut aussi être pilotée depuis un script.

Principes directeurs

On-premise d'abord

Aucune dépendance obligatoire à un service en ligne externe. Les seules connexions sortantes optionnelles sont un relais de messagerie et un fournisseur d'identité d'entreprise.

API-first

L'application web utilise la même API REST publique que les intégrations tierces. Rien de ce que fait l'interface n'est indisponible pour une intégration.

Authentification modulaire

Les comptes locaux et le contrôle d'accès basé sur les rôles fonctionnent dès l'installation ; l'authentification unique, le provisionnement automatisé et SAML peuvent être ajoutés plus tard sans réécriture.

RBAC côté serveur

Chaque permission est appliquée sur le serveur, sur chaque route REST et chaque événement temps réel, jamais uniquement dans le navigateur.

Glossaire

Acronymes employés tout au long de ce guide, définis ici une fois pour référence.

TermeSignification
PMProject Management (gestion de projet) : la discipline de planification et de conduite des projets ; aussi l'abréviation du produit lui-même.
RBACRole-Based Access Control (contrôle d'accès basé sur les rôles) : les permissions sont accordées via des rôles attribués aux utilisateurs plutôt qu'aux individus directement.
SSOSingle Sign-On (authentification unique) : les utilisateurs s'authentifient une fois auprès du fournisseur d'identité d'entreprise et accèdent à l'application sans mot de passe distinct.
OIDCOpenID Connect : un protocole moderne d'authentification fédérée bâti sur OAuth 2.0, et la méthode SSO recommandée.
SAMLSecurity Assertion Markup Language : un protocole de fédération d'identité plus ancien basé sur XML, proposé en alternative à OIDC.
SCIMSystem for Cross-domain Identity Management : un protocole standard (RFC 7644) permettant à un fournisseur d'identité de créer, mettre à jour et désactiver automatiquement des comptes dans une application aval.
SMTPSimple Mail Transfer Protocol : le protocole utilisé pour envoyer des courriels, ici pour les notifications.
APIApplication Programming Interface (interface de programmation d'application) : l'interface programmatique (ici une API REST sur HTTP) par laquelle un logiciel appelle le produit.
PATPersonal Access Token (jeton d'accès personnel) : une clé longue générée par un utilisateur et employée par un client à la place d'une connexion interactive.
MCPModel Context Protocol : un protocole standard par lequel un assistant IA (intelligence artificielle) appelle les outils et les données d'une application via un serveur dédié.
RGPDRèglement général sur la protection des données : la réglementation européenne de protection des données régissant les données personnelles (droit à l'effacement, droit à la portabilité).
CSVComma-Separated Values : un format de fichier tabulaire en texte brut, utilisé pour les imports et les exports.
HMACHash-based Message Authentication Code : une signature cryptographique prouvant qu'un message provient de l'expéditeur attendu et n'a pas été altéré.
SIEMSecurity Information and Event Management : une plateforme centrale qui collecte et analyse les journaux de sécurité (par exemple Splunk, Microsoft Sentinel, QRadar).
TOTP / MFATime-based One-Time Password / Multi-Factor Authentication : un code temporaire issu d'une application mobile utilisé comme second facteur de connexion en plus du mot de passe.
IdPIdentity Provider (fournisseur d'identité) : le système qui authentifie les utilisateurs, par exemple Microsoft Entra ID.
JWTJSON Web Token : un jeton de session signé émis après la connexion.
CPMCritical Path Method (méthode du chemin critique) : une technique de planification qui trouve la plus longue chaîne de tâches dépendantes (le chemin qui détermine la date de fin au plus tôt du projet).
S3Simple Storage Service : une interface de stockage objet, devenue un standard de fait de l'industrie. Vaks PM stocke les fichiers dans un magasin compatible S3 auto-hébergé.

Tâches & Kanban

Les tâches sont l'unité de travail centrale. Elles s'organisent sur des tableaux Kanban (tableaux de cartes disposées en colonnes par statut, par exemple À faire, En cours, Terminé) et dans des listes de tâches à plat. Une tâche porte un titre et une description, une date de début et une date d'échéance, une estimation (en heures ou en jours), une priorité, une compétence requise optionnelle, des assignés, des étiquettes colorées et un indicateur de jalon optionnel.

Tableaux Kanban

Colonnes par statut avec glisser-déposer fluide. Les cartes se réordonnent à l'aide d'une valeur de position fractionnaire, de sorte qu'insérer une carte ne nécessite jamais de renuméroter le reste de la colonne.

Listes de tâches & structure

Tâches datées avec estimations, priorités, jalons, et regroupement en sous-tâches pour les travaux plus importants.

Détail de tâche

La surface de travail d'une tâche unique : assignation, compétence requise, estimation, saisie du temps, commentaires et pièces jointes, le tout au même endroit.

Comment ça fonctionne au niveau opérateur : les tableaux et les étiquettes sont rattachés à un projet. Déplacer une carte émet un seul mouvement positionné sur le serveur, qui diffuse le changement en temps réel à toutes les personnes consultant le projet (voir Collaboration). Les étiquettes sont des balises colorées réutilisables sur l'ensemble des tâches du projet.

Tableau Kanban d'un projet, avec colonnes par statut et cartes de tâches
Tableau Kanban. Colonnes par statut (À faire, En cours, En attente, En revue…) avec cartes glissables, étiquettes colorées, échéances, assignés et compteurs de commentaires.

Personnalisation livré

Un modèle de données figé oblige tôt ou tard à contourner l'outil (un statut « En revue technique » simulé par une étiquette, un champ métier casé dans la description). Vaks PM laisse une organisation étendre son vocabulaire de tâches et de projets sans toucher au code : des champs personnalisés pour capturer une donnée métier propre, et des statuts personnalisés pour affiner une phase sans en changer le moteur.

Champs personnalisés

Un champ personnalisé est une donnée additionnelle définie par l'organisation et attachée aux tâches ou aux projets — par exemple un numéro de bon de commande, une criticité métier, ou une équipe cliente. Chaque définition porte un type (texte, nombre, date, liste déroulante ou case à cocher) et peut être restreinte à certains projets plutôt qu'appliquée à toute l'organisation ; sans restriction, elle s'applique partout. Les champs sont toujours optionnels : aucun champ personnalisé ne peut aujourd'hui bloquer la création d'une tâche ou d'un projet.

TypeUsage typique
TexteUne valeur libre courte (référence, code interne).
NombreUne quantité ou un montant hors finance (par exemple un score).
DateUne date métier distincte des dates de début/échéance de la tâche.
Liste déroulanteUn choix parmi des options définies à l'avance par l'administrateur.
Case à cocherUn indicateur binaire (oui/non).

Le catalogue de champs se gère sous espace admin → Personnalisation → Champs personnalisés, derrière une politique d'écriture configurable (par défaut réservée aux administrateurs). Une fois définis, les champs apparaissent sur le détail de la tâche ou dans la fiche projet, aux côtés des champs natifs.

Le type et l'entité (tâche ou projet) d'un champ sont fixés à la création et ne peuvent plus changer ensuite ; seuls son nom, ses options et sa restriction de projet restent modifiables. Le filtrage et le tri par champ personnalisé ne sont pas encore disponibles.

Statuts personnalisés (sous-statuts)

Les cinq phases d'une tâche (À faire, En cours, En attente, En revue, Terminé) restent le moteur du produit — reporting, automatisations, auto-planification et cycle de vie des agents IA s'appuient tous dessus sans exception. Un sous-statut ajoute une granularité à l'intérieur d'une phase, sans jamais la remplacer : par exemple Revue technique et Revue client comme deux sous-statuts de la phase En revue.

Un sous-statut est rattaché à une phase précise et, comme les champs personnalisés, peut être restreint à certains projets. Sur le tableau Kanban, les sous-statuts actifs d'une colonne apparaissent comme des compartiments à l'intérieur de la colonne de leur phase ; déposer une carte dans un compartiment fixe le statut et le sous-statut en un seul geste. Depuis le détail de tâche, le sélecteur de sous-statut ne propose que ceux de la phase courante — changer de phase se fait toujours par le statut.

Un sous-statut peut désigner des destinataires à notifier à l'entrée (des utilisateurs, des équipes, ou les deux) : dès qu'une tâche y entre, ils reçoivent un courriel et, si configuré, une carte Teams, avec un délai de grâce d'une heure par tâche pour éviter le bruit sur des allers-retours rapides.

Un sous-statut n'existe que dans sa phase. Si une tâche change de statut par un autre chemin que le sélecteur normal (par exemple le cycle d'un agent IA, voir Agents IA), un sous-statut qui ne correspond plus à la nouvelle phase est simplement ignoré à l'affichage plutôt que de provoquer une incohérence visible. Les sous-statuts ne pilotent pas encore le Gantt, la charge ni les rapports — ils opèrent au niveau de l'exécution, pas du pilotage.

Planification & Gantt

La vue Gantt est un diagramme de planification qui dessine chaque tâche comme une barre temporelle le long d'un axe de dates, avec les dépendances entre tâches représentées par des flèches. Elle prend en charge les quatre types de dépendance standard et calcule le chemin critique du projet.

DépendanceSignification
Finish-to-Start (FS)Le successeur ne peut pas démarrer tant que son prédécesseur n'est pas terminé (le lien le plus courant).
Start-to-Start (SS)Le successeur ne peut pas démarrer tant que son prédécesseur n'a pas démarré.
Finish-to-Finish (FF)Le successeur ne peut pas se terminer tant que son prédécesseur n'est pas terminé.
Start-to-Finish (SF)Le successeur ne peut pas se terminer tant que son prédécesseur n'a pas démarré.

Chaque lien peut porter un décalage (lag) en jours, et les jalons marquent des points de contrôle de durée nulle. Le moteur de planification exécute un calcul complet de méthode du chemin critique (CPM) : une passe avant pour trouver le début au plus tôt de chaque tâche, puis une passe arrière pour trouver son début au plus tard. Cela produit le mou total par tâche (de combien elle peut glisser sans retarder le projet) et signale comme critiques les tâches sans aucun mou. Les liens peuvent être créés et supprimés directement sur la frise, et une vérification côté serveur rejette tout lien qui créerait un cycle.

Vue Timeline / Gantt : barres de tâches sur un axe de dates, groupes, dépendances et chemin critique
Planification Gantt. Barres de tâches le long d'un axe de dates, regroupées par lot, avec jalons, flèches de dépendance, week-ends et jours fériés grisés, ligne « aujourd'hui » et surlignage du chemin critique.

Temps & reporting

Le suivi du temps enregistre la durée réelle du travail par rapport à l'estimation, et le reporting transforme ces enregistrements en information exploitable.

Saisies de temps

Heures estimées et réelles par tâche. Les heures supplémentaires sont déclarées explicitement par la personne, saisies comme une sous-portion d'une entrée et jamais dérivées automatiquement, de sorte que chacun maîtrise combien d'heures supplémentaires il déclare et sur quelle tâche.

Timesheet hebdomadaire personnelle

Une grille strictement personnelle de tâches par jour affichant la capacité journalière, les allocations planifiées, le temps réel, les heures supplémentaires, et les absences / jours fériés. Chacun ne voit que la sienne, et la fenêtre est plafonnée à quelques semaines.

Reporting

Indicateurs clés de performance du projet, un graphique burndown, le respect des échéances, et une répartition du temps par projet, utilisateur ou étiquette.

Exports. Chaque rapport peut être exporté en CSV (tabulaire en texte brut), en XLSX (un classeur Excel multi-feuilles stylé avec en-tête figé, zébrures et filtre automatique), ou en PDF mis en forme (un document imprimable et brandé avec cartes de KPI, tables paginées et graphiques rendus côté serveur : une courbe burndown, un donut d'échéances et des barres horizontales). Le rendu PDF est entièrement côté serveur, sans navigateur headless.

La timesheet personnelle ignore tout identifiant utilisateur qui lui est transmis : elle renvoie toujours les données propres de la personne connectée. La capacité journalière tombe à zéro lors des absences de la personne et les jours fériés (voir Charge).
Page Reports : cartes de KPI, graphique burndown et répartitions en donut
Reporting. KPIs du projet (tâches, avancement, reste à faire, retards, ponctualité, temps passé), courbe burndown réel vs idéal, et répartitions par équipe ; export CSV / XLSX / PDF.
Timesheet hebdomadaire personnelle : grille tâches par jour éditable
Timesheet hebdomadaire personnelle. Grille tâches × jours strictement personnelle : capacité, temps planifié et réel, heures supplémentaires et absences / jours fériés, avec ajout de tâches à la semaine.

Charge & planification

La gestion de la charge répond à la question « qui en fait trop, qui a de la marge » en comparant la capacité de chaque personne au travail qui lui est assigné, jour par jour. Elle repose sur trois concepts :

La vue charge est une grille personnes par jours qui agrège la capacité face aux heures allouées et applique un code couleur à chaque cellule (libre / ok / avertissement / surchargé). Une allocation peut être glissée sur une autre personne pour la réassigner.

Vue Charge : grille personnes par jours, capacité vs heures allouées, chips d'allocation
Charge & planification. Grille personnes × jours affichant les heures allouées sur la capacité journalière (ex. 8/8h), avec chips d'allocation déplaçables, code couleur de charge, sélecteur de semaine, exports et bouton d'auto-planification.

Jours fériés par pays

Le produit fournit un catalogue de jours fériés indexé par code pays ISO (par exemple FR, US). Une organisation définit un pays par défaut, avec des surcharges optionnelles par utilisateur. Un jour férié, la capacité journalière est nulle, et l'interface affiche des avertissements lorsqu'une date de début ou d'échéance de tâche tombe l'un d'eux.

Auto-planification

L'auto-planification dérive les allocations automatiquement pour tout le périmètre d'un projet, afin qu'un manager n'ait pas à placer chaque engagement à la main. Elle combine quatre mécanismes :

MécanismeCe qu'il fait
Ordre topologiqueLes tâches sont ordonnancées en respectant leurs dépendances : un prérequis est toujours placé avant son successeur. C'est une contrainte dure.
Score de priorité pondéréDans l'ordre autorisé, les tâches sont priorisées par un score normalisé et pondéré (priorité métier, position sur le chemin critique, nombre de dépendants, urgence de l'échéance, correspondance de compétence).
Lissage par le mouLe mou réel issu du calcul CPM pilote le lissage : les tâches disposant de beaucoup de mou cèdent la capacité précoce aux tâches tendues et critiques dans le temps.
Affectation assistéeOptionnellement, le planificateur choisit aussi qui réalise chaque tâche non assignée, en notant les candidats sur la correspondance de compétence requise et la capacité réellement libre, puis en couvrant le travail avec le moins de personnes possible.

L'auto-planification est idempotente (la relancer sur le même périmètre produit le même plan), elle gèle le passé (elle ne touche jamais aux allocations déjà commencées), et elle offre un aperçu avant application pour que le plan puisse être revu et ajusté. Les heures restantes d'une tâche sont réparties entre ses assignés au prorata de la capacité libre de chacun, et non divisées à parts égales.

Répartir une tâche entre plusieurs personnes (auto-split)

À l'échelle d'une seule tâche plutôt que de tout un projet, l'auto-split étale automatiquement les heures restantes d'une tâche en allocations sur sa fenêtre de dates, sans avoir à les poser une par une. Sur une tâche à un seul assigné, ces heures sont simplement étalées sur cette personne. Sur une tâche à plusieurs assignés, le chef de projet choisit en plus comment les répartir entre eux, selon une stratégie :

StratégieRépartition
ProportionnelleLa part de chacun est proportionnelle à sa capacité réellement libre sur la fenêtre — la personne la plus disponible reçoit la plus grosse part.
ÉgaleLe total est divisé à parts égales entre les assignés, quelle que soit leur disponibilité respective.
GloutonneSature d'abord les personnes les plus disponibles, pour mobiliser le moins de monde possible plutôt que de disperser le travail.

Chaque personne est remplie à sa propre capacité journalière (avec un plafond optionnel). Si même une répartition sur la totalité des assignés ne suffit pas à tenir l'échéance de la tâche, l'outil le signale et estime le nombre de personnes supplémentaires qu'il faudrait mobiliser plutôt que de produire un plan silencieusement intenable.

Collaboration

Documents de projet livré

Au-delà des pièces jointes accrochées à une tâche ou à un commentaire, chaque projet dispose d'un espace documentaire propre : un endroit pour ranger les livrables, comptes-rendus, transcripts ou toute pièce qui documente le projet dans son ensemble plutôt qu'une tâche précise. Les fichiers vivent dans des dossiers librement créés par les membres du projet — pas de catégories imposées par le produit — et sont stockés dans le même magasin objet S3 auto-hébergé que les pièces jointes.

Gouvernance volontairement ouverte : tout membre ayant accès au projet peut créer des dossiers, y déposer des fichiers et en supprimer, sans permission dédiée au-delà de l'accès au projet lui-même. Supprimer un dossier ne supprime jamais son contenu : les fichiers et sous-dossiers qu'il contenait remontent au dossier parent.

Contexte lisible par les agents IA

Un document peut être marqué comme contexte IA. Les documents ainsi marqués sont exposés, en lecture seule, dans le contexte de travail qu'un agent consulte avant de traiter une tâche (voir Agents IA) — un agent peut lire le contenu texte d'un document de contexte (jusqu'à 64 Ko) au même titre que le brief du projet et les critères d'acceptation de sa tâche, sans qu'aucun fichier ne soit copié ailleurs. C'est un mécanisme distinct et complémentaire du contexte SharePoint pour les agents : celui-ci lit les documents propres à Vaks PM, l'autre lit ceux de l'équipe Microsoft Teams provisionnée pour le projet.

L'espace documentaire est une vue de navigation à part entière (accessible depuis le fil d'Ariane du projet), pas un onglet secondaire. Hors périmètre actuel : glisser-déposer de fichiers, versioning, extraction de texte des PDF, et quotas de stockage.

Clients & équipes

Clients & contacts

Gestion complète des sociétés clientes et de leurs contacts, rattachables aux projets, derrière des scopes de permission dédiés.

Équipes

Groupes de personnes avec un ou plusieurs leads, les compétences couvertes par l'équipe, et l'affectation aux projets.

Import CSV d'utilisateurs

Création en masse d'utilisateurs depuis un fichier CSV.

Accès projet au niveau de l'équipe. Affecter une équipe à un projet accorde à chaque membre de cette équipe un niveau d'accès hérité sur le projet (Contributeur par défaut) via une seule entrée d'accès d'équipe, en plus des membres ajoutés directement. Cela maintient l'appartenance au projet en phase avec la structure d'équipes de l'organisation.

Sponsors & annonces livré

Un projet a souvent des parties prenantes qui ont besoin d'être tenues informées sans être assignées à une tâche ni gérer le projet au quotidien : un sponsor côté client, un comité de pilotage. Vaks PM leur réserve un statut et un canal de communication dédiés, distincts des rôles RBAC habituels.

Le tag sponsor

N'importe quel membre d'un projet peut être marqué sponsor. C'est une étiquette d'audience, pas un rôle : elle n'accorde aucun droit supplémentaire et est orthogonale à la permission de la personne sur le projet (le même schéma que le tag « lead » d'une équipe). Un chef de projet bascule le tag depuis l'onglet accès de la fiche projet.

Annoncer un changement

Une annonce est un message ponctuel adressé à une audience du projet — par exemple prévenir les sponsors d'un changement de périmètre. Le contenu (titre et corps) est libre, mais il voyage dans une enveloppe fixée par le serveur : un sujet de courriel préformaté, une ligne d'attribution automatique (« Envoyé par X », ou « … via l'assistant IA » si le message est passé par le connecteur IA), le corps échappé pour empêcher toute mise en forme trompeuse, et aucune URL cliquable. Il n'y a qu'un seul bouton d'action possible, celui que le serveur ajoute — jamais un lien fourni par l'auteur.

L'audience n'est jamais une liste d'adresses saisie à la main : elle est résolue côté serveur par rôle sur le projet (chef de projet, membres, suiveurs, sponsors), ce qui écarte tout risque d'envoyer une communication interne à une adresse externe par erreur de frappe. L'auteur est automatiquement exclu de sa propre annonce. Un délai de deux minutes s'applique par auteur et par projet pour empêcher une rafale accidentelle.

Canal humain, y compris via l'assistant IA — jamais un agent en propre nom. Une annonce peut être envoyée par un utilisateur depuis l'app, ou par cet utilisateur via son assistant IA (le connecteur MCP expose un outil dédié qui remplit cette même enveloppe). Un agent IA autonome ne peut en revanche jamais être l'auteur d'une annonce — la fonctionnalité est réservée à la communication humaine, assistée ou non.

Le fil sponsor

Au-delà des annonces ponctuelles, un projet peut notifier ses sponsors automatiquement sur une poignée d'événements choisis, indépendamment des règles d'automatisations générales :

ÉvénementDéfautContenu
Jalon atteintOnUn jalon du projet passe à Terminé.
Statut du projet modifiéOnLe projet change de statut (par exemple passe En pause ou Clôturé).
Jalon à risqueOffLes sponsors sont ajoutés aux destinataires de la règle d'automatisation « Jalon à risque » du moment où elle se déclenche.
Palier de budgetOffUn palier de budget est franchi — présenté de façon qualitative (« le projet a franchi un seuil de budget »), jamais avec un montant : les chiffres restent réservés aux détenteurs de la permission finance.

Le fil sponsor se règle depuis l'onglet accès de la fiche projet et emprunte le même chokepoint que toutes les autres alertes : période de calme, heures de silence et interrupteur d'arrêt s'appliquent normalement.

Compétences

La capacité de gestion des compétences enregistre quelles compétences possèdent les personnes, ce que les projets requièrent, et ce que les équipes couvrent, alimentant les décisions de staffing et de charge. Elle s'articule autour d'un catalogue de compétences par organisation.

Catalogue & packs

Le catalogue est peuplé à partir de packs modulaires, des ensembles curatés regroupés par technologie ou par domaine (par exemple AWS, Azure, GCP, backend, frontend, mobile, data/IA, devops, sécurité, méthodologie, gestion de projet, RH, marketing). Un administrateur applique les packs pertinents pour l'organisation. Les packs peuvent être resynchronisés ou retirés, et appliquer un pack ne ressuscite jamais une compétence qu'un administrateur a supprimée, sauf forçage explicite. Des packs personnalisés peuvent aussi être enregistrés via l'API, rattachés à l'organisation, sans redéploiement.

Niveaux, exigences & couverture

Demandes de compétence & analyse d'écart

Finance

La capacité finance transforme le temps saisi et les coûts en suivi de budget et de marge, projet par projet et à l'échelle du portefeuille.

Finance projet : cartes budget/coût/marge, consommation du budget et Earned Value (EVM)
Finance projet. Cartes budget, coût à date, prévision (EAC), valeur facturable et CA prévisionnel avec marge ; barre de consommation du budget (dépensé / engagé / marge) et bloc Earned Value (CPI, SPI, valeur acquise, courbe PV vs AC).
Un taux par défaut par utilisateur est défini par le lead d'équipe concerné (ou un administrateur) et n'est visible que par eux. Les chiffres finance sont protégés par les permissions finance et, pour les jetons API/IA, par une barrière finance dédiée, fermée par défaut (voir Connecteur IA).

Tickets externes

Les tickets externes permettent de saisir du temps sur des éléments de travail qui vivent dans un autre outil, un système de ticketing comme Jira ou ServiceNow, sans quitter Vaks PM. Ils sont délibérément réservés à la timesheet : on peut saisir du temps sur un ticket externe, mais il n'apparaît jamais sur les tableaux, dans le Gantt, dans la charge ou dans les rapports, et il ne peut pas porter d'allocations, de dépendances ou de sous-tâches manuelles.

Comment ça fonctionne : les tickets d'un outil donné sont regroupés dans des projets conteneurs masqués (un par outil, optionnellement par client), de sorte qu'ils n'encombrent jamais la liste réelle des projets. Un ticket stocké est identifié par un triplet générique : sa source (l'outil), sa clé (l'identifiant lisible du ticket, comme INC0010023) et une URL optionnelle de retour vers la source. Le même ticket est enregistré une seule fois (de façon idempotente) puis apparaît comme une ligne sur laquelle l'utilisateur peut saisir des heures. Pour récupérer les tickets depuis un système en service, voir Connecteurs externes.

Authentification unique (SSO) OIDC SAML

Le SSO permet aux utilisateurs de se connecter avec leur identité d'entreprise existante au lieu d'un mot de passe détenu par Vaks PM. Le fournisseur d'identité réalise l'authentification, y compris toute politique de multi-facteur et d'accès conditionnel qu'il applique, et renvoie une assertion signée que l'application reconnaît. Deux protocoles sont pris en charge : OIDC (la méthode recommandée, utilisée avec Microsoft Entra ID) et SAML 2.0 (pour les environnements standardisés sur SAML).

Admin : configuration Single sign-on (Entra ID OIDC) et provisionnement SCIM
Admin › Intégrations › Single sign-on. Fournisseur Microsoft Entra ID (OIDC) activé avec son Redirect URI, boutons Tester / Modifier, ajout de fournisseur, et le bloc Provisionnement SCIM 2.0 (URL du tenant, mappages d'attributs, jeton secret) — voir aussi SCIM.

Ce qu'il fournit

État initial & activation

Une instance neuve fonctionne sur des comptes locaux ; le SSO est configuré ensuite sous espace admin → Authentification unique. Pour OIDC avec Microsoft Entra ID, la marche à suivre est :

  1. Enregistrer une application dans Entra et noter son URI de redirection (l'adresse vers laquelle Entra renvoie l'utilisateur après authentification).
  2. Créer un secret client dans Entra et le copier (affiché une seule fois) — ou, en alternative, enregistrer un certificat pour s'authentifier sans secret partagé (voir l'encadré ci-dessous).
  3. Configurer les claims, les permissions API et les groupes (ou rôles applicatifs) qui piloteront le mappage des rôles.
  4. Créer le fournisseur dans Vaks PM avec l'URL de découverte Entra, l'identifiant client et le secret client (ou le certificat) ; définir les règles de mappage des rôles et le comportement JIT.
  5. Tester la connexion, puis activer le fournisseur.
Authentification par certificat, sans secret partagé. Pour Entra, un secret client peut être remplacé par un certificat (private_key_jwt) : l'application signe elle-même une preuve d'identité de courte durée avec sa clé privée, et Entra ne détient que le certificat public correspondant — rien de secret ne transite sur le réseau. C'est la même bascule Authentification : Client secret / Certificat disponible pour le provisionnement Teams et les annuaires d'agents Entra. Procédure détaillée dans le guide SSO OIDC.
Toujours configurer et tester un administrateur local de secours (break-glass) avant d'imposer le SSO. Si le seul chemin d'entrée est le fournisseur d'identité et qu'il devient indisponible ou mal configuré, l'organisation serait sinon verrouillée. Une clé de chiffrement MFA doit également être présente dans la configuration de l'instance avant d'activer le MFA ou le SSO, car elle protège les secrets à deux facteurs au repos.

Provisionnement automatisé (SCIM) RFC 7644

Le SCIM permet au fournisseur d'identité de maintenir automatiquement les comptes Vaks PM synchronisés, afin que les administrateurs ne créent ni ne désactivent les utilisateurs à la main. L'annuaire pousse les changements vers un endpoint Vaks PM chaque fois qu'un utilisateur arrive, change ou part. Il est généralement couplé à OIDC pour que l'authentification et le cycle de vie soient tous deux pilotés par l'annuaire.

Activation : l'espace admin génère un jeton secret SCIM et l'URL SCIM du tenant ; dans l'annuaire, une configuration de provisionnement utilise cette URL et ce jeton, avec les utilisateurs et groupes concernés affectés. Un agent de provisionnement sur site est pris en charge pour les instances qui ne sont pas joignables publiquement.

Le périmètre compte. Seuls les utilisateurs et groupes explicitement affectés dans l'annuaire sont provisionnés. Une équipe nouvellement créée peut apparaître vide jusqu'à ce que l'annuaire pousse ses membres au cycle suivant. C'est un comportement attendu, pas un défaut.

Notifications par courriel livré

Vaks PM envoie des notifications par courriel brandées lorsque des événements pertinents surviennent. L'envoi est asynchrone : les messages sont mis en file et envoyés par le worker de fond, de sorte qu'un relais de messagerie lent ne bloque jamais l'application.

Admin : configuration des notifications par courriel
Admin › Notifications & Email. Interrupteur d'arrêt, connexion SMTP, branding, préférences par événement, délai avant échéance, heure de digest et heures de silence — avec envoi d'un courriel de test.

Événements couverts

Configuration

ParamètreDescription
Interrupteur d'arrêtUn seul bouton pour suspendre instantanément tout courriel sortant.
Connexion SMTPHôte, port, chiffrement et mode d'authentification. Le mot de passe SMTP est stocké comme un secret protégé, pas dans la base de données. Un relais anonyme (sans identifiants) est pris en charge.
BrandingLogo, couleur d'accent, l'adresse From et un Reply-To optionnel, appliqués à chaque modèle.
Préférences par événementActiver ou désactiver chaque type d'événement indépendamment.
Délai avant échéanceCombien de jours avant l'échéance un rappel est envoyé.
Heure de digest & heures de silenceQuand les digests partent, et une fenêtre durant laquelle aucun courriel n'est envoyé.
LocalisationChaque message est localisé dans la langue du destinataire.

Une action Envoyer un courriel de test et une action Aperçu du modèle valident la configuration sans attendre un événement réel, et un journal de livraison enregistre chaque message et son résultat. Les notifications sont optionnelles : sans relais SMTP configuré, l'application fonctionne normalement, et seules les notifications sortantes sont indisponibles.

Automatisations livré

Les automatisations sont des règles de surveillance livrées avec le produit : elles observent en continu les tâches, le planning, la charge, la timesheet, le budget, les compétences et les agents IA, et alertent les bonnes personnes quand une situation dérive. Il n'y a pas de constructeur de règles à la Zapier : l'administrateur ne compose rien, il active ou désactive des règles prêtes à l'emploi et en règle les seuils. Le but est explicite — pas de canevas vide à remplir, mais un jeu de garde-fous qui fonctionne dès la première journée.

La très grande majorité des règles sont de la notification pure : elles ne changent aucun statut, ne réassignent aucune tâche, ne suppriment rien. Ce qu'elles produisent, c'est un signal adressé à quelqu'un qui peut agir. Une poignée de règles explicitement identifiées — détaillées dans Actions automatiques plus bas — font exception et écrivent réellement, mais toujours de façon étroite, réversible et tracée : jamais de suppression, jamais de réassignation de personne.

Comment une règle se déclenche

Trois cadences coexistent, et chaque règle appartient à l'une d'elles :

Trois règles ne suivent aucune horloge : elles réagissent à l'événement, dans la seconde qui suit l'action qui les concerne (création d'une tâche, saisie d'un congé, application d'un auto-plan).

Ce qui protège de l'inondation d'alertes

Une règle qui répète la même alerte tous les jours cesse d'être lue. Quatre mécanismes s'y opposent :

MécanismeEffet
Période de calmeUne alerte donnée n'est pas répétée pour la même entité avant un délai propre à la règle : 24 heures pour les règles horaires et événementielles, 7 à 8 jours pour la plupart des règles quotidiennes et hebdomadaires, 30 jours pour les paliers de budget. Un palier de budget déjà signalé ne resonne pas tant qu'un palier supérieur n'est pas franchi.
Heures de silenceLes automatisations respectent la fenêtre de silence configurée dans les notifications. Une alerte tombant dans cette fenêtre est reportée, pas perdue. Conséquence à connaître : si l'heure d'exécution quotidienne tombe elle-même dans les heures de silence, les règles quotidiennes ne produisent rien.
Plafond par tickAu maximum 50 alertes par règle et par organisation à chaque passage. Un débordement (par exemple à la première activation sur un historique chargé) est étalé sur les passages suivants plutôt que déversé d'un coup.
Interrupteur d'arrêtUn seul bouton suspend toutes les automatisations de l'organisation, sans toucher aux notifications ni aux webhooks métier.

Catalogue des règles

Les règles dont le défaut est Off ne sont pas moins fiables : elles sont simplement plus sensibles au contexte (ce qui est du bruit chez un client est un signal chez un autre), et méritent donc un choix explicite.

Hygiène des tâches quotidien

RègleDéclencheurDestinataireRéglagesDéfaut
Tâche en pause dormanteUne tâche En pause n'a pas bougé depuis N jours.Chefs de projetN (5 j)On
Tâche en retardL'échéance est dépassée et la tâche n'est pas terminée. Un délai de grâce évite d'alerter le jour même.Assignés + chefs de projetJours de grâce (0)On
Tâche en cours inactiveUne tâche En cours n'a reçu ni mise à jour ni temps saisi depuis N jours.Assignés, à défaut chefs de projetN (7 j)On
Tâche non assignée qui traîneUne tâche À faire reste sans assigné plus de N jours après sa création.Chefs de projetN (3 j)On

Échéances & planning

RègleCadenceDéclencheurDestinataireRéglagesDéfaut
Jalon à risquequotidienUn jalon non terminé arrive à moins de N jours alors qu'au moins un de ses prédécesseurs n'est pas fini.Chefs de projetN (7 j)On
Plan qui débordeà l'événementUn auto-plan vient d'être appliqué et produit au moins un dépassement d'échéance. Un simple aperçu ne déclenche rien.Chefs de projetOff
Projet inactifquotidienUn projet actif n'a vu aucune activité — ni tâche, ni temps, ni commentaire — depuis N jours.Chefs de projetN (14 j)Off
Fin de projet prochequotidienLa date de fin d'un projet actif arrive dans moins de N jours alors que des tâches restent ouvertes.Chefs de projetN (7 j)On

Charge & capacité

RègleCadenceDéclencheurDestinataireRéglagesDéfaut
SurchargequotidienSur les 7 jours à venir, la charge allouée d'une personne atteint X % de sa capacité disponible.Leads de la personne, à défaut administrateursX (100 %)On
Sous-chargequotidienSur les N prochaines semaines, une personne est allouée à moins de X % de sa capacité — un signal de staffing.Leads, à défaut administrateursX (50 %), N (2 sem.)Off
Congé en conflità l'événementUn congé saisi chevauche des allocations déjà planifiées. Une alerte par projet touché.Chefs des projets concernésOn

Timesheet hebdomadaire

Ces trois règles partagent le même rendez-vous hebdomadaire (le jour et l'heure réglés pour le rappel de timesheet) et portent sur la semaine ISO écoulée.

RègleDéclencheurDestinataireRéglagesDéfaut
Rappel de timesheetLe temps saisi sur la semaine écoulée couvre moins de X % de la capacité disponible.La personne elle-mêmeX (80 %), jour (vendredi), heure (16 h)On
Pic d'heures supplémentairesLes heures supplémentaires déclarées sur la semaine dépassent N heures.Leads, à défaut administrateursN (5 h)Off
Taux d'occupation faibleLa part du temps saisi sur des projets facturables passe sous X %. Le taux se mesure par personne : la facturabilité étant un attribut du projet, un ratio par projet vaudrait toujours 100 % ou 0 %.Leads, à défaut administrateursX (60 %)Off

Finance quotidien

RègleDéclencheurDestinataireRéglagesDéfaut
Palier de budgetLe coût réel d'un projet franchit un palier du budget. Chaque palier n'alerte qu'une fois : passer 80 % puis 120 % produit deux alertes distinctes, pas un rappel du 80 %.Chefs de projet, à défaut administrateursPaliers (80 %, 100 % ; jusqu'à 5)On
Dérive du prévisionnelLe coût prévisionnel à terminaison dépasse le budget alors que le réel n'a pas encore atteint 100 % — l'alerte arrive donc avant le dépassement, pas après. Silencieuse si le palier 100 % a déjà parlé.Chefs de projet, à défaut administrateursOn

Compétences à l'événement

RègleDéclencheurDestinataireRéglagesDéfaut
Compétence manquante à la créationUne tâche est créée avec une compétence requise que personne du vivier du projet — membres directs et membres des équipes affectées — ne couvre au niveau demandé. Les compétences expirées ne comptent pas.Chefs de projetOn

Agents IA horaire

RègleDéclencheurDestinataireRéglagesDéfaut
Budget d'agentLe coût des exécutions atteint X % d'une enveloppe. Quatre périmètres sont surveillés séparément : agent × jour, agent × mois, budget agents d'un projet, budget agents d'une tâche. L'alerte précède volontairement le blocage dur qui, lui, refuse la prise de tâche à 100 %.Périmètres agent : propriétaire de l'agent, à défaut administrateurs IA. Périmètres projet/tâche : chefs de projet.X (80 %)On
Livrable en attente de revueUn livrable attend une revue depuis plus de N heures et n'a pas été remplacé par une version plus récente.Chefs de projetN (24 h)On

Actions automatiques (mutations)

Toutes les règles précédentes se contentent d'alerter. Trois règles, et elles seules, agissent sur une tâche à la place d'un humain — toujours de façon étroite et réversible, jamais en supprimant ni en réassignant une personne :

RègleDéclencheurEffetGarde-fouDéfaut
Priorité relevéeLa règle « Tâche en retard » se déclenche pour une tâche.La priorité de la tâche monte d'un cran.Adossée au même temps de calme que l'alerte elle-même ; ne dégrade jamais une tâche déjà Haute ou Urgente.Off
Tâche parente auto-avancéeToutes les sous-tâches d'une tâche parente passent à Terminé.La tâche parente avance à son tour (mode notifier ou avancer, au choix).Une seule mutation par événement, quel que soit le nombre de sous-tâches qui se terminent ensemble — pas de cascade.Off
Demande de compétence automatiqueLa règle « Compétence manquante à la création » se déclenche.Une demande de compétence est ouverte pour le lead de l'équipe couvrant ce besoin.Le demandeur est une identité système dédiée, jamais un humain ; sans équipe couvrant le skill, la règle renonce plutôt que de créer une demande orpheline.Off

Une action automatique passe toujours par le même service métier qu'une action humaine équivalente (elle ne touche jamais la base directement), porte un acteur système distinct d'un humain et d'un agent IA, et est enregistrée dans le journal d'audit sous une action dédiée. Ces trois règles sont désactivées par défaut : une organisation les active explicitement une fois qu'elle a validé le comportement des règles de notification équivalentes.

Tâches récurrentes

Une tâche récurrente se répète selon une fréquence choisie (par exemple chaque semaine, ou le premier jour ouvré du mois) : à chaque échéance, une nouvelle occurrence est créée automatiquement à partir du même gabarit, sans qu'un chef de projet n'ait à la recréer à la main. La configuration se fait depuis le détail d'une tâche — fréquence et jour de la semaine ou du mois — et ne s'applique ni aux sous-tâches ni aux tickets externes.

Le matérialiseur d'occurrences est idempotent même avec plusieurs réplicas de l'application tournant en parallèle : il verrouille chaque échéance avant de créer la tâche correspondante, de sorte qu'une même occurrence ne peut jamais être générée deux fois. Supprimer le gabarit de récurrence désactive les occurrences futures et le signale, sans toucher aux tâches déjà créées.

Suivre une tâche ou un projet

Le destinataire naturel d'une alerte est celui que la règle désigne — l'assigné, le chef de projet, le lead. Cela laisse de côté quelqu'un qui a besoin de savoir sans être responsable : un sponsor, un architecte, un lead technique consulté sur un sujet précis.

Le bouton Suivre, sur une tâche ou un projet, répond à ce besoin. Un suiveur est un abonné passif : il reçoit toutes les alertes d'automatisation portant sur ce qu'il suit, ainsi que les changements de statut et les nouveaux commentaires — sans être assigné, sans droits supplémentaires, et sans rien devoir à personne. Le suivi s'arrête d'un clic, et la page de compte liste ce que l'on suit.

Limite connue. Un suiveur hérite des préférences de notification de l'organisation. Si les notifications de changement de statut sont désactivées, ou si le destinataire est en mode digest, le suiveur ne recevra pas les changements de statut en temps réel — le digest, lui, ne liste que les tâches assignées. Le suivi est donc pleinement effectif en mode notification immédiate.

Où sortent les alertes

Chaque alerte emprunte trois canaux, indépendants les uns des autres :

Ces canaux ne se remplacent pas : couper les courriels ne coupe ni les cartes Teams ni la trace d'audit.

Administration

Tout se règle dans Admin › Automatisations, organisé en cartes par famille (hygiène des tâches, échéances, charge, timesheet, budget, projets, agents). Chaque règle y expose son interrupteur et ses seuils ; les valeurs hors bornes sont refusées à la saisie plutôt qu'appliquées silencieusement. Les réglages globaux — interrupteur d'arrêt, heure d'exécution quotidienne, jour et heure du rendez-vous hebdomadaire — vivent en tête de section.

Une action Exécuter maintenant lance une évaluation immédiate sans attendre l'heure prévue et renvoie le décompte de ce qui a été envoyé, mis en attente, différé ou plafonné. Elle ignore les horloges mais respecte l'interrupteur d'arrêt et les périodes de calme — c'est donc un outil de vérification honnête, pas un moyen de forcer un renvoi. Le réglage des automatisations demande le droit d'administration de l'organisation ; les alertes des agents IA sont visibles par le propriétaire de l'agent et les administrateurs IA.

Webhooks livré

Un webhook est un appel HTTP sortant que Vaks PM effectue vers une URL au choix de l'administrateur lorsqu'un événement survient. C'est le mécanisme pour pousser les changements vers un autre système (un outil de ticketing, un canal de discussion, une plateforme d'automatisation) en quasi temps réel.

Admin : gestion des webhooks
Admin › Intégrations › Webhooks. Liste des endpoints, abonnement aux événements, format raw / teams, rotation du secret, envoi de test et journal de livraison avec rejeu.

Événements & formats

Un webhook s'abonne aux événements qu'il souhaite, parmi :

Trois événements système supplémentaires existent en dehors de ce mécanisme de souscription par projet/équipe : une alerte d'audit (voir Journal d'audit), un échec de sauvegarde, et une alerte d'automatisation (voir Automatisations) — ces trois-là s'abonnent au niveau organisation. Le format de payload est soit raw (l'événement JSON natif) soit teams (une Adaptive Card Microsoft Teams / Power Automate), de sorte qu'un canal puisse recevoir directement des cartes lisibles.

Sécurité & signature

Périmètres

Un webhook peut couvrir toute l'organisation, ou être rattaché à un seul projet ou à une seule équipe. Avec une politique en libre-service, un chef de projet ou un lead d'équipe peut gérer les webhooks de son propre projet sans droits d'admin complets. L'interface d'administration liste les endpoints, les crée et les édite, tourne les secrets, envoie un événement de test, et affiche un journal de livraison avec le payload, les en-têtes et la réponse de chaque tentative ainsi qu'un rejeu manuel.

Clés API livré

Les clés API accordent un accès programmatique à l'API REST publique (la même API que celle utilisée par l'app web, sous /api/v1). Elles permettent aux scripts, intégrations et systèmes partenaires d'appeler Vaks PM sans session de navigateur. Il en existe deux types :

Jeton d'accès personnel (PAT)Clé d'organisation
Préfixevaks_pat_…vaks_org_…
Agit commeL'utilisateur qui l'a créé. Les droits effectifs sont le rôle de l'utilisateur intersecté avec les scopes du jeton, et ne peuvent jamais dépasser ceux de l'utilisateur, même pour un administrateur.Une identité de service avec tous les scopes ; les actions sont attribuées à l'administrateur qui l'a créée.
ScopesUn sous-ensemble choisi du vocabulaire de permissions.Tous les scopes (niveau service).
Géré dansOptions de compte → Mes jetons API.Espace admin → Clés API organisation.
Admin : clés API d'organisation
Admin › Intégrations › Clés API organisation. Création de clés de service scopées, préfixe affichable, date d'expiration (obligatoire, ≤ 2 ans) et révocation ; le secret n'est montré qu'une seule fois.

Modèle de sécurité

Noter le secret immédiatement. Comme seul son hash est stocké, un secret de jeton perdu ne peut pas être récupéré, et une nouvelle clé doit être émise.

Connecteurs externes configuration admin disponible

Un connecteur externe relie Vaks PM à un système de ticketing tiers, par exemple ServiceNow ou Jira, afin que les personnes puissent enregistrer du temps sur des tickets qui vivent dans cet autre outil, depuis leur timesheet hebdomadaire (voir Tickets externes). Un connecteur est un pont en lecture seule : Vaks PM récupère une liste de tickets et les référence, et ne modifie jamais rien dans le système source.

Les connecteurs se configurent sous espace admin → Intégrations → Connecteurs externes. Chaque connecteur s'authentifie avec un compte de service dédié dont les identifiants sont chiffrés au repos (AES-256-GCM) et ne sont plus jamais affichés une fois enregistrés. La conception est agnostique du fournisseur : le même flux de timesheet, la même idempotence et les mêmes projets conteneurs s'appliquent à tout outil, et chaque fournisseur déclare ses propres champs de configuration.

Admin : connecteurs externes de ticketing
Admin › Intégrations › External connectors. Connecteurs de ticketing tiers (ServiceNow, Jira…) en lecture seule, avec compte de service chiffré au repos, champs de configuration par fournisseur et action de test.

Fournisseur exemple : ServiceNow

Le connecteur ServiceNow lit les tickets via la ServiceNow Table API en utilisant un compte de service (authentification Basic), avec des recherches restreintes à l'utilisateur courant. Ses champs de configuration sont l'URL de l'instance, le nom d'utilisateur et le mot de passe du compte de service, les tables de tickets à exposer (incident, sc_task, change_task, problem, ou la table de base task), et un filtre de base optionnel (une requête encodée ServiceNow ajoutée à chaque recherche pour restreindre les résultats, par exemple active=true). Une action Test effectue un appel authentifié léger et signale le succès, un échec d'authentification, ou une instance injoignable.

La cible sortante est contrôlée par l'admin. L'URL de l'instance provient de la configuration du connecteur, pas des utilisateurs finaux. Les requêtes vers des adresses internes/privées sont bloquées (anti-SSRF) et HTTPS est requis. La création, la mise à jour et la suppression d'un connecteur sont enregistrées dans le journal d'audit.

Collaboration spaces Premium

Lorsqu'un projet devient actif, Vaks PM peut créer automatiquement un espace de collaboration via l'un de trois fournisseurs en self-service — Microsoft Teams, Slack ou Google Chat — configurés indépendamment, chacun dans sa propre carte admin. Le provisionnement est idempotent : ré-activer un projet ne crée jamais un second espace. Un outil externe qui gère son propre espace peut aussi déclarer le lien en retour, via une clé d'API à périmètre étroit, sans avoir besoin de configurer l'un de ces fournisseurs.

Microsoft Teams est le plus riche des trois : un nom construit à partir d'un modèle, un ensemble configurable de canaux, et (seul des trois) l'archivage à la clôture — quand le projet se clôture l'équipe est archivée (lecture seule, réversible), et désarchivée à la ré-activation. Slack et Google Chat créent leur espace et invitent les membres de la même façon, mais ne sont aujourd'hui pas archivés automatiquement à la clôture. C'est une fonctionnalité premium (droit de licence teams-provisioning, partagé par les trois fournisseurs), entièrement optionnelle par organisation.

Étapes d'activation (Microsoft Teams)

  1. Enregistrer une application Entra dédiée à Vaks PM (mono-tenant convient ; pas d'URI de redirection, car cela utilise le flux client-credentials). Créer un secret client (ou un certificat, en alternative sans secret — voir SSO) et noter le tenant ID et le client ID.
  2. Accorder les permissions d'application Graph. L'ensemble au moindre privilège est Team.Create, TeamMember.ReadWrite.All, Channel.Create, TeamSettings.ReadWrite.All et (recommandé) User.Read.All ; puis faire cliquer un Administrateur global sur Accorder le consentement administrateur.
  3. Configurer dans Vaks PM sous espace admin → Intégrations → Collaboration spaces, sur la carte Microsoft Teams : les tenant/client IDs et le secret, le motif de nom d'équipe, les canaux, la visibilité, le périmètre de composition (équipes affectées, membres du projet, ou les deux), et s'il faut archiver à la clôture.
  4. Tester la connexion, s'assurer que le projet cible a au moins un membre lié à Entra, puis passer un projet en actif ou utiliser Provisionner maintenant.

Slack et Google Chat sont plus simples : un bot token (Slack) ou un compte de service impersonnant un utilisateur Workspace (Google Chat) suffisent — pas d'exigence de membre lié à l'annuaire, puisqu'aucun des deux n'a besoin d'un propriétaire comme une équipe Teams.

Seuls les utilisateurs liés à l'annuaire peuvent être ajoutés à une équipe Teams. Un membre est ajouté à l'équipe Teams uniquement si son compte Vaks PM porte un object ID Entra, défini automatiquement lors de son provisionnement via SSO / SCIM. Comme une équipe créée par une application doit avoir un propriétaire, au moins un membre du projet doit être lié à Entra, sinon la création échoue avec un message clair. Le secret client est chiffré au repos et n'est jamais renvoyé par l'API ; le trafic Graph se produit uniquement dans le worker de fond. Vaks PM ne crée jamais d'utilisateurs dans l'annuaire ; il ne fait qu'ajouter des utilisateurs existants comme membres.

Connecteur IA (MCP) Premium livré

Le connecteur IA expose un serveur Model Context Protocol (MCP) : tout assistant IA compatible (par exemple Claude, ChatGPT ou Microsoft Copilot Studio) peut s'y connecter pour lire et, si autorisé, agir sur les projets de l'organisation, au nom de l'utilisateur connecté et strictement dans le cadre de ses permissions. Le produit n'héberge aucune IA en propre ; l'intelligence vit dans le client, et Vaks PM fournit les données et les actions. Il n'y a aucune clé IA à gérer.

Frontière de sécurité. L'IA ne peut faire que ce que les outils exposés autorisent (elle n'appelle jamais l'API librement), et chaque appel est borné par le RBAC de l'utilisateur, de sorte qu'elle ne voit ni ne fait jamais plus que ce que la personne pourrait faire elle-même dans l'app. Les actions réalisées via un agent IA sont distinguées dans le journal d'audit.
Admin : configuration du connecteur IA (MCP)
Admin › Intégrations › AI connector (MCP). Activation du serveur MCP et ses trois bascules indépendantes (activer le connecteur, autoriser les écritures IA, exposer la finance à l'IA), plus les clients OAuth pré-enregistrés.

Connexion déléguée

Un utilisateur ajoute l'URL du serveur MCP de l'organisation (https://<organization>/mcp) dans son client IA. Le client détecte l'authentification automatiquement et ouvre une page de connexion dans le navigateur, où l'utilisateur se connecte avec son compte habituel (local ou SSO), puis approuve un écran de consentement résumant ce que l'IA pourra faire. L'authentification utilise OAuth 2.1 avec PKCE (Proof Key for Code Exchange), fédérée vers l'identité existante. Le jeton d'accès émis est à durée de vie courte et rafraîchi automatiquement. Les clients qui ne peuvent pas s'auto-enregistrer (par exemple Copilot Studio) utilisent un client OAuth pré-enregistré créé dans l'espace admin.

Activation par l'admin : trois bascules indépendantes

BasculeEffet
Activer le connecteur IAInterrupteur principal. Sans lui, aucun jeton n'est émis ; la licence de l'organisation doit aussi accorder le droit mcp.
Autoriser les actions d'écriture de l'IADésactivé par défaut = lecture seule. Activé = l'IA peut aussi créer et modifier (projets, tâches, affectations, temps…), toujours dans le cadre des droits propres de chaque utilisateur.
Exposer la finance à l'IADésactivé par défaut = la finance n'est jamais renvoyée aux jetons IA/API, même pour un utilisateur disposant de droits finance. Activé = lisible par les utilisateurs détenant des permissions finance.

L'écran de consentement reflète ces bascules. Le connecteur est désactivé par défaut et optionnel par organisation ; les bascules sont indépendantes et réversibles. Les écritures finance requièrent les trois conditions réunies (écritures activées, finance exposée, et l'utilisateur détenant la permission finance). Les utilisateurs de l'app web ne sont jamais affectés par la bascule finance ; elle s'applique uniquement aux jetons.

Agents IA livré

Un agent IA (agent d'intelligence artificielle : un travailleur logiciel automatisé piloté par un grand modèle de langage) est traité comme un acteur de première classe dans Vaks PM, au même titre que les utilisateurs humains. Un agent peut se voir confier du travail, réclamer des tâches, produire des livrables et déclarer son coût — mais il est gouverné bien plus strictement qu'une personne. Cette section explique ce qu'est un agent, comment l'intégration fonctionne de bout en bout, et comment un administrateur provisionne, gouverne et gère les agents. Elle s'appuie sur le connecteur IA (MCP) (le transport qu'un agent utilise pour atteindre le produit) et sur le modèle RBAC.

Quatre principes encadrent toute la fonctionnalité. (1) Propriété humaine : chaque agent a un propriétaire humain nommé qui en reste responsable ; un agent dont le propriétaire est désactivé ne peut plus agir. (2) Jamais un siège : les agents ne consomment aucun siège de licence et sont exclus des effectifs, des feuilles de temps, de la planification de charge et des suggestions d'affectation. (3) Moindre privilège : un agent ne peut jamais faire plus que ses capacités ne l'autorisent, et ne touche jamais aux actions finance, client, administration ou saisie de temps. (4) Toujours traçable : chaque action d'un agent est enregistrée dans le journal d'audit comme réalisée par un acteur de type agent, avec son propriétaire et une justification en langage naturel.

Identités & provisioning

Un agent est une identité dédiée (ce n'est pas un identifiant partagé ni un compte humain). Il porte un nom d'affichage, un e-mail interne synthétique de la forme agent-<nom>@agents.invalid, un propriétaire obligatoire, un niveau de confiance, un ensemble de capacités (voir plus bas) et un profil optionnel de modèle/coût. Les agents sont créés de trois manières :

Manuel (admin)

Un administrateur crée l'agent directement sous espace admin → Utilisateurs & Identité → Agents, définit son propriétaire et ses capacités, et génère son jeton d'accès.

Synchronisation d'annuaire

Un connecteur importe des identités d'agents depuis un annuaire d'agents externe (Microsoft Entra Agent ID d'abord) sous Intégrations → Annuaires d'agents, avec un test de connexion et un Synchroniser maintenant manuel. Les secrets sont chiffrés au repos.

Enregistrement entrant

Une plateforme sans connecteur peut auto-enregistrer un agent en appelant POST /agents avec une clé API d'organisation. L'agent arrive en lecture seule, à l'état brouillon, sans jeton, et reste inerte tant qu'un humain ne l'a pas activé.

Chaque agent s'authentifie avec son propre PAT (Personal Access Token, jeton d'accès personnel), distinct de tout jeton utilisateur, avec une expiration obligatoire (90 jours par défaut, 2 ans maximum) et affiché une seule fois à la création. Le provisioning exige toujours un propriétaire : un connecteur d'annuaire qui ne peut pas en fournir un retombe sur un propriétaire par défaut configuré. Les agents sont uniquement suspendus, jamais supprimés silencieusement.

Obtenir un jeton sans secret à distribuer Premium

Émettre un PAT manuellement reste la voie par défaut et fonctionne toujours ; elle devient lourde au-delà de quelques dizaines d'agents, chacun avec un secret à distribuer et à faire tourner. Deux mécanismes s'y ajoutent pour éliminer ce fardeau, sous la licence agent-federation :

MécanismePour quel agentPrincipe
Fédération d'identité (RFC 8693, échange de jeton)Un agent qui tourne sur une plateforme dotée de sa propre identité : un pod Kubernetes (jeton de ServiceAccount), un service principal Entra (jeton de charge de travail), un job GitHub Actions (jeton OIDC).L'agent présente le jeton que sa plateforme lui a délivré ; Vaks PM le vérifie contre un émetteur de confiance déclaré à l'avance (clés publiques collées ou JWKS, audience obligatoire, liste blanche d'algorithmes) et l'échange contre un PAT Vaks PM de courte durée. Aucun secret n'est jamais distribué ni tourné.
Auto-service headlessUn agent sans tissu d'identité autour de lui — une machine, un script, un environnement d'exécution générique.Un humain émet une fois un identifiant machine rotatif ; l'agent l'échange ensuite lui-même, indéfiniment, contre des jetons de travail courts qui se renouvellent automatiquement. Le vol d'un identifiant déjà consommé (rejeu) est détecté et révoque toute la chaîne.

Dans les deux cas, un jeton obtenu n'accorde jamais de droits par lui-même : les portes habituelles s'appliquent toujours (propriétaire humain actif, agent non suspendu, capacités déclarées). Le détail des deux mécanismes, plateforme par plateforme, vit dans le guide Authentification des agents.

Ce qu'un agent peut faire — capacités & permissions

Les droits effectifs d'un agent sont l'intersection de trois limites : les permissions RBAC de son rôle, les portées (scopes) de son jeton, et ses capacités déclarées. Une permission doit apparaître dans les trois pour que l'agent puisse l'utiliser. Les capacités sont, par construction, incapables d'accorder les actions les plus sensibles — un agent ne peut jamais obtenir de permissions finance, gestion client, administration ou saisie de temps. De plus, un jeton d'agent n'agit que sur la surface d'API publique : il est rejeté sur l'application d'administration privée, même si le compte sous-jacent est privilégié. Le résultat net est qu'un agent opère dans un sous-ensemble strict de ce qu'un contributeur humain prudent pourrait faire.

Comment travaillent les agents — tirer, réclamer, livrer, réviser

Les agents suivent un modèle en « pull » (tirer) plutôt qu'en poussée. Un agent se connecte au serveur MCP de l'organisation avec son PAT, puis traite une tâche selon un cycle de vie appliqué côté serveur :

ÉtapeCe qui se passe
RéclamerL'agent demande la prochaine tâche éligible et la réclame de façon atomique — deux agents ne peuvent jamais détenir la même tâche. La réclamation est refusée si un budget ou une policy (voir plus bas) l'interdit.
TravaillerL'agent lit un contexte de travail consolidé (le brief du projet, les garde-fous, les critères d'acceptation de la tâche, et un journal vivant des résultats déjà approuvés) et effectue le travail.
LivrerL'agent soumet un ou plusieurs livrables — un lien, un fichier téléversé, ou du contenu Markdown stocké dans le magasin d'objets — chacun avec une justification en langage naturel.
RéviserUn réviseur humain (jamais l'auteur du livrable) approuve ou demande des changements. Une demande de changements renvoie la tâche ; l'agent peut resoumettre une nouvelle version qui remplace la précédente.
ClôturerÀ l'approbation, la tâche progresse et, si le projet l'a choisi, se clôture automatiquement. Les critères d'acceptation sont cochés et une entrée est ajoutée au journal vivant.

Les statuts de tâche concernés sont À faire → Réclamée → En cours → En revue → Approuvée → Terminée, plus Changements demandés. Le journal vivant est alimenté uniquement par les livrables approuvés, de sorte qu'une production non révisée ne peut jamais contaminer le contexte futur d'un agent.

Gouvernance — activation, policies, budgets & vérification

Les agents sont désactivés par défaut et contraints à plusieurs niveaux indépendants :

Vérification des livrables & preuve d'intégration continue

Quand un agent annonce « c'est fait, mes tests passent », rien n'oblige à le croire sur parole. Vaks PM classe chaque livrable selon la force de la preuve qui le soutient, sur une échelle allant de la simple déclaration de l'agent à la revue humaine :

MéthodeCe qu'elle vaut
Auto-attestationL'agent déclare lui-même que son travail est bon. La plus faible : rien ne la corrobore.
Sortie d'outilL'agent joint les journaux et le code de sortie de ce qu'il a exécuté. Plus solide, mais c'est toujours lui qui rapporte.
Validation par un agentUn autre agent, jamais l'auteur, contre-vérifie le livrable et rend son verdict.
Preuve d'intégration continue signéeLa chaîne d'intégration continue (CI) du client atteste elle-même du résultat, avec une signature que l'agent ne peut pas fabriquer.
Revue humaineLa plus forte, et le recours universel : une personne tranche.

La méthode exigée pour un livrable donné n'est pas choisie par l'agent : elle est dérivée de l'enjeu de la tâche croisé avec le niveau de confiance de l'agent. Une tâche à faible enjeu confiée à un agent éprouvé se contente d'une auto-attestation ; une tâche critique exige une revue humaine quel que soit l'agent. Si le terrain ne permet pas de produire la méthode requise — un dépôt sans CI, par exemple — l'exigence retombe sur la revue humaine. Il n'y a jamais de blocage sans issue.

La preuve d'intégration continue, concrètement

C'est le seul niveau de preuve mécanique qu'un agent ne peut pas fabriquer, et il repose sur un principe simple : Vaks PM ne se connecte jamais à votre chaîne d'intégration continue. Il n'a aucun accès sortant, ne détient aucun identifiant chez votre hébergeur de code, et n'interroge rien. C'est votre CI qui pousse son résultat vers Vaks PM, et la seule chose que le serveur fait activement est de vérifier une signature calculée avec un secret partagé convenu à l'avance.

Le rapprochement entre un résultat de CI et une tâche se fait par le SHA du commit — l'empreinte unique d'un enregistrement dans le dépôt de code. Votre CI ne connaît ni vos projets ni vos tâches : elle dit seulement « le commit abc123 a fini, verdict succès ». De son côté, l'agent, qui sait sur quelle tâche il travaille, déclare le SHA du commit qu'il a produit en soumettant son livrable. Vaks PM apparie les deux. Les deux flux arrivent dans n'importe quel ordre — la CI signe souvent avant que l'agent n'ait fini de rédiger son livrable — c'est pourquoi les résultats reçus sont conservés 24 heures en attente d'appariement.

Le verdict de la CI l'emporte toujours sur la déclaration de l'agent. Pour cette méthode, le statut annoncé par l'agent est purement et simplement ignoré : Vaks PM le dérive du résultat signé. Un agent qui déclarerait un échec alors que la CI dit succès (ou l'inverse) est écrasé par la preuve. Un agent qui invente un SHA jamais testé n'obtient aucune correspondance : son livrable reste en attente de preuve et n'avance pas.

Un connecteur de CI se configure sous Intégrations → Vérification CI, à raison d'un par organisation et par outil. Le secret partagé y est saisi une fois et chiffré au repos ; l'interface ne le réaffiche jamais. Deux formats sont pris en charge :

GitHub Actions

Vaks PM parle nativement le format des webhooks GitHub. Côté dépôt, il suffit d'ajouter un webhook pointant vers l'adresse indiquée par le connecteur, d'y coller le secret partagé, et de s'abonner aux exécutions de workflow. Aucun développement.

CI générique

Pour GitLab CI, Jenkins, Azure DevOps ou une chaîne maison, Vaks PM définit un contrat minimal : le SHA du commit et le verdict, signés dans un en-tête. Une étape en fin de pipeline suffit à le poster.

Chaque résultat reçu est consigné dans le journal d'audit, tout comme les rejets : une signature invalide est traitée comme une tentative de falsification, pas comme une erreur bénigne. Le connecteur affiche le diagnostic du dernier événement reçu, ce qui permet de vérifier un branchement sans fouiller les journaux.

Un seul secret couvre tous les projets, et c'est voulu. Le secret n'autorise rien d'autre que le dépôt d'un verdict sur un commit : aucune lecture, aucune écriture sur les tâches, aucune élévation de privilège. Le pire qu'un secret divulgué permette est d'injecter de faux verdicts — ce qui suppose d'avoir déjà compromis la chaîne d'intégration continue elle-même, auquel cas les vrais tests peuvent de toute façon être truqués. Une granularité par projet ajouterait de la configuration pour un gain nul.

Observation seule ou application stricte

La porte de vérification tourne par défaut en observation seule : elle mesure la force de la preuve fournie face à ce qui était exigé, journalise l'écart, mais ne bloque ni n'approuve rien de sa propre autorité. C'est délibéré — cela permet de collecter des données de calibration réelles avant de serrer. Un projet peut ensuite basculer en application stricte, où une preuve insuffisante escalade au lieu de passer. Le réglage se fait par projet, dans l'onglet IA de ses paramètres, et un projet qui ne tranche pas hérite du défaut de l'organisation : on peut ainsi serrer sur un projet outillé tout en restant en observation partout ailleurs.

Un livrable en attente de preuve n'expire pas de lui-même. Si un agent soumet un livrable en annonçant une preuve d'intégration continue et que le résultat signé n'arrive jamais — CI en panne, webhook mal branché, secret erroné — le livrable reste en attente indéfiniment. Il n'est pas perdu et reste visible dans la file de revue, où un humain peut trancher à tout moment ; mais aucune bascule automatique ne le relance. Surveillez le diagnostic du connecteur après tout changement de configuration.

Coût & facturation

Un agent n'a pas de feuille de temps ; sa consommation se mesure en usage du modèle, pas en heures. Après avoir travaillé, un agent déclare le coût réel de chaque exécution (le nombre de jetons — tokens — d'entrée et de sortie, un token étant l'unité dans laquelle les modèles de langage comptent le texte). Le coût interne est dérivé de taux configurables par 1000 tokens d'entrée et de sortie, et le montant facturé à un client, le cas échéant, d'un taux de vente distinct par 1000 tokens. Ces chiffres alimentent la vue de résultat (profit & perte) du projet, les rapports projet et portefeuille, et les exports CSV, tableur et PDF, de sorte que le coût et le revenu des agents apparaissent aux côtés du travail humain.

Gérer les agents — espaces admin & le rôle « Administrateur IA »

Trois espaces d'administration couvrent le quotidien : Agents (identités, propriétaires, confiance, capacités et jetons, sous Utilisateurs & Identité), Annuaires d'agents (connecteurs externes, sous Intégrations), et Policies agents (règles de gouvernance et backpressure, sous Utilisateurs & Identité). Par défaut, ces espaces exigent des droits d'administrateur complets.

Pour les organisations qui veulent déléguer la gestion des agents sans distribuer l'administration complète, un octroi « Administrateur IA » est disponible. Ce n'est pas un rôle distinct — l'utilisateur conserve son rôle d'organisation existant — mais un octroi orthogonal et cumulable qui ajoute la seule permission « gérer les agents » par-dessus le rôle que la personne détient déjà (par exemple un chef d'équipe ou un simple membre). Un administrateur l'active sur le profil d'un utilisateur (sous Utilisateurs & Identité → Utilisateurs). Un utilisateur qui ne détient que cet octroi atteint l'espace d'administration en mode restreint : les trois espaces d'agents ci-dessus sont visibles et utilisables, et rien d'autre — pas de réglages, pas de gestion des membres, pas de journal d'audit.

L'octroi est réservé aux administrateurs. L'octroi « Administrateur IA » ne peut être accordé que par une personne disposant des droits de gestion des membres, et son attribution comme son retrait sont consignés dans le journal d'audit en tant qu'événements privilégiés. Retirer l'octroi retire immédiatement la permission de gestion des agents, dès la requête suivante de l'utilisateur.

État initial & activation

À partir d'une installation vierge, activer les agents de bout en bout comporte les étapes suivantes :

  1. Créer une identité d'agent et lui affecter un propriétaire humain (Utilisateurs & Identité → Agents), ou connecter un annuaire d'agents pour en importer une.
  2. Définir ses capacités au minimum requis par le travail, et générer son jeton d'accès (le noter — il n'est affiché qu'une fois).
  3. Ouvrir un projet aux agents et lui donner un brief ; définir éventuellement des budgets de projet et de tâche.
  4. Configurer les policies (exiger une revue, backpressure) selon l'appétence au risque de l'organisation.
  5. Donner à l'agent l'accès via le connecteur IA. Comme les agents agissent par MCP, le connecteur doit être activé et la licence de l'organisation doit accorder le droit mcp ; les actions d'écriture des agents requièrent en plus la bascule d'écriture du connecteur. Voir connecteur IA (MCP).
En résumé : un agent IA est un acteur à propriété humaine, sans siège, à moindre privilège, qui tire et réclame du travail, produit des livrables soumis à une revue humaine, est borné par des policies et des budgets en euros, déclare son propre coût, et reste entièrement traçable dans le journal d'audit — avec un octroi optionnel « Administrateur IA » pour déléguer sa gestion sans droits d'administration complets.

Journal d'audit & SIEM livré

Le journal d'audit enregistre qui a fait quoi, quand et d'où : une piste en ajout seul (append-only) pour la revue de sécurité, la conformité et la réponse aux incidents. Il peut être lu dans l'espace admin, exporté, transmis à un SIEM, archivé et vérifié contre l'altération.

Admin : journal d'audit avec filtres, entrées et exports
Admin › Sécurité & Conformité › Journal d'audit. Trace en ajout seul (connexions réussies/échouées, MFA, changements de rôle…), filtres par action / sévérité / résultat / acteur / dates, vérification d'intégrité et exports JSON Lines / CEF.

Modèle de capture

Lecture, export & transmission

Rétention, archive & intégrité

En résumé : le journal d'audit est en ajout seul, caviardé, à preuve d'altération, conservé pour une période configurable, archivable en stockage froid, et transmissible à un SIEM à la fois par pull (API) et par push (syslog).

RGPD : anonymisation & portabilité

Vaks PM prend en charge le droit à l'effacement du RGPD (Article 17) et le droit à la portabilité (Article 20). Un administrateur peut anonymiser les données personnelles d'un utilisateur, d'un client ou d'un contact, et tout utilisateur peut exporter une copie de ses propres données.

Pseudonymiser, jamais supprimer

L'anonymisation ne supprime jamais un enregistrement. Elle écrase les champs qui identifient une personne avec une valeur neutre dérivée de l'identifiant interne (par exemple nom → Anonymised user <id>, email → anon-<id>@anonymized.invalid). C'est irréversible : le nom et l'email d'origine n'existent ensuite nulle part. Les enregistrements et leurs liens sont conservés pour que les saisies de temps, la finance et la piste d'audit s'additionnent toujours, mais plus rien ne pointe vers une personne identifiable. C'est l'approche reconnue lorsqu'une suppression complète romprait des obligations légales ou comptables.

EnregistrementBlanchiConservé
Utilisateurnom, email, identifiant externe/employé, secret MFA, mot de passe, pays, langueid, saisies de temps, allocations, historique financier (plus liés à une personne)
Journal d'auditlibellés lisibles d'acteur/ressource & données personnelles dans les détails de changementles événements eux-mêmes (requis pour la conformité)
Sessionsadresse IP, appareil (user-agent)Rien
Courriels envoyés / payloads de webhookoccurrences de l'adresse & du nom du destinatairemétadonnées de livraison
Contact (personne)nom, email, téléphone, intitulé, noteslien vers le compte client
Client (société)email, téléphone, adresse, notesnom du compte (identité commerciale)

L'anonymisation est idempotente (la relancer ne fait rien) et le dernier administrateur global restant ne peut pas être anonymisé. Chaque anonymisation et chaque export sont eux-mêmes enregistrés dans le journal d'audit, par id uniquement. L'export de données pour la portabilité est une copie JSON (profil, saisies de temps, allocations, commentaires, compétences, métadonnées des pièces jointes) téléchargée par l'utilisateur depuis ses paramètres de sécurité, ou par un administrateur au nom d'un utilisateur ; les secrets ne sont jamais inclus.

Les sauvegardes froides contiennent encore les données jusqu'à leur rotation. L'anonymisation s'applique au système en service ; les dumps de base de données et l'archive froide d'audit ne perdent les données personnelles que lorsque leur rotation de rétention les expire.

Licence & sièges

Vaks PM utilise un modèle de sièges explicite. Un siège est un utilisateur licencié ; le nombre d'utilisateurs licenciés est le nombre de sièges, et l'espace admin affiche les sièges utilisés par rapport au droit.

Les capacités premium (par exemple le connecteur IA et le provisionnement Microsoft Teams) sont en outre conditionnées par des droits de licence nommés, indépendants du nombre de sièges, de sorte qu'une fonctionnalité n'est disponible que lorsque le droit est présent et que sa bascule admin est activée.

RBAC & permissions

L'accès est régi par un contrôle d'accès basé sur les rôles appliqué sur le serveur, pour chaque route REST et chaque événement temps réel, jamais uniquement dans le navigateur. Il existe neuf rôles système, rattachés soit à toute l'organisation (ORG) soit à un seul projet (PROJECT).

RôlePérimètreRôle dans l'app
ORG_ADMINORGAdministration complète de l'organisation (utilisateurs, paramètres, intégrations, branding).
PORTFOLIO_MANAGERORGGère le portefeuille de projets, les clients et les équipes.
GLOBAL_REPORT_VIEWERORGAccès en lecture aux rapports transversaux.
TEAM_MANAGERORGGère les équipes et leurs membres.
ORG_MEMBERORGCollaborateur de base au sein de l'organisation.
PROJECT_MANAGERPROJECTConduit un projet (tâches, planification, équipe, demandes de compétence).
CONTRIBUTORPROJECTTravaille sur les tâches d'un projet.
VIEWERPROJECTLecture seule sur un projet.
GUESTPROJECTAccès restreint / invité.

Les permissions elles-mêmes sont des scopes nommés que portent les rôles (et les clés API). Les scopes les plus pertinents pour un administrateur :

ScopeAccorde
org:manageAdministration de l'organisation : fournisseurs d'identité, clés API, notifications, webhooks, paramètres d'audit.
scim:provisionL'endpoint de provisionnement SCIM (utilisé par l'agent de provisionnement de l'annuaire).
audit:readLire et exporter le journal d'audit via l'API publique (pour le pull SIEM).
report:viewConsulter les rapports. Un scope de niveau membre ; les listings à l'échelle de l'org se restreignent d'eux-mêmes aux projets accessibles.
time:logSaisir du temps, y compris sur des tickets externes.
client:view / client:manageLire ou gérer les clients et contacts.
member:manageGérer les utilisateurs, y compris l'anonymisation RGPD et l'export de données au nom d'un utilisateur.
webhooks.managePolicySi les chefs de projet / leads d'équipe peuvent auto-gérer les webhooks de leurs propres projets.

La sécurité des comptes inclut le hachage de mot de passe Argon2, une politique de mot de passe configurable, un verrouillage après des échecs répétés, le MFA basé sur TOTP, la rotation des jetons de rafraîchissement, et la capture de l'adresse IP et de l'identifiant de navigateur de chaque session. Pour les contrôles au niveau du déploiement (exposition réseau, TLS, secrets, chiffrement au repos), voir Sécurité.


Voir aussi : Accueil de la documentation · Architecture · Déploiement Docker Swarm · Déploiement Kubernetes · Sécurité · Exploitation · Session démo