Gérer les membres
Guide complet pour inviter, gérer et supprimer des membres d’équipe dans les projets CodeCourier, y compris le flux d’invitation et les opérations en masse.
La page Membres est votre hub central pour gérer qui a accès à un projet. À partir d’ici, vous pouvez inviter de nouveaux membres d’équipe, examiner leurs rôles et leur statut, modifier les permissions et supprimer des membres au besoin. Seuls les utilisateurs ayant le rôle Owner ou Admin peuvent gérer l’adhésion au projet.
Consulter la liste des membres
Accédez à la page Membres depuis la barre latérale sous le groupe Insights. La page affiche un tableau avec tous les membres actuels et les invitations en attente, triés avec les propriétaires en premier, puis les admins, puis les membres, avec les invitations en attente regroupées en bas. Pour chaque membre, le tableau affiche :
- Nom - Le nom d’affichage du membre avec son avatar. Survolez pour voir des détails de profil supplémentaires et qui l’a invité.
- E-mail - L’adresse e-mail associée à son compte
- Rôle - Badge à code couleur affichant Owner (ambre), Admin (bleu) ou Member (gris)
- Statut - Soit « Accepted » (vert), soit « Pending » (orange avec icône d’horloge)
- Rejoint - La date à laquelle le membre a rejoint le projet (affiche « -- » pour les invitations en attente)
- Actions - Menu déroulant avec les options de gestion des rôles et de suppression (admin/propriétaire uniquement)
Inviter des membres d’équipe
Ouvrir la boîte de dialogue d’invitation
Cliquez sur le bouton Inviter un membre dans l’en-tête de la page. Cela ouvre une boîte de dialogue avec des champs pour l’e-mail de l’invité et l’attribution du rôle.
Saisir l’adresse e-mail
Tapez l’adresse e-mail de la personne que vous souhaitez inviter. L’e-mail doit appartenir à un compte utilisateur CodeCourier existant - le système recherche l’utilisateur par e-mail. Si aucun compte n’est trouvé, vous verrez une erreur « No user found with that email address ». La personne doit d’abord s’inscrire sur CodeCourier.
Sélectionner un rôle
Choisissez le rôle pour le nouveau membre :
- Admin - Peut gérer les membres, configurer les paramètres et effectuer toutes les opérations du projet
- Member - Peut utiliser toutes les fonctionnalités du projet mais ne peut pas gérer les membres ni les paramètres critiques
Notez que le rôle Owner ne peut pas être attribué lors de l’invitation. Seul le propriétaire actuel peut transférer la propriété via la gestion des rôles.
Envoyer l’invitation
Cliquez sur Envoyer l’invitation pour créer l’adhésion. Le système valide l’e-mail, vérifie que l’utilisateur n’est pas déjà membre et crée un enregistrement d’adhésion en attente. L’invité verra l’invitation dans son tableau de bord.
Erreurs d’invitation
- « No user found with that email address » - L’e-mail n’est pas enregistré dans CodeCourier
- « User is already a member or has a pending invitation » - Une adhésion existe déjà
Accepter et refuser des invitations
Lorsque vous êtes invité à un projet, l’invitation apparaît dans votre tableau de bord. Vous avez deux options :
Accepter
Accepter une invitation met à jour votre statut d’adhésion de « pending » à « accepted » et enregistre l’horodatage de l’acceptation. Vous obtenez immédiatement l’accès à toutes les ressources du projet selon le rôle qui vous a été attribué.
Refuser
Refuser une invitation supprime définitivement l’enregistrement d’adhésion. L’admin du projet peut vous réinviter plus tard si nécessaire. Le refus ne crée aucune notification pour l’équipe du projet.
Vous pouvez consulter toutes vos invitations en attente sur tous les projets à l’aide de la query listPendingInvitations, qui renvoie des détails d’invitation enrichis, y compris le nom du projet et le nom de la personne qui vous a invité.
Gérer les membres existants
Changer les rôles
Seuls les propriétaires du projet peuvent changer les rôles des membres. Depuis le menu d’actions du membre, sélectionnez Changer le rôle et choisissez le nouveau rôle. Les changements de rôle prennent effet immédiatement et sont reflétés en temps réel sur tous les clients connectés.
Protections des changements de rôle :
- Un propriétaire ne peut pas se rétrograder s’il est le seul propriétaire. Un autre propriétaire doit d’abord être assigné.
- Les admins ne peuvent pas se promouvoir propriétaires - seuls les propriétaires existants peuvent le faire.
- Les changements de rôle ne nécessitent pas de ré-authentification ; les nouvelles permissions s’appliquent immédiatement.
Supprimer des membres
Les propriétaires et les admins peuvent supprimer des membres du projet. Cliquez sur le menu d’actions du membre et sélectionnez Supprimer le membre. Une boîte de dialogue de confirmation apparaît avant l’exécution de la suppression.
Protections de suppression :
- Le dernier propriétaire restant ne peut pas être supprimé. Transférez d’abord la propriété.
- Les non-propriétaires ne peuvent pas supprimer les propriétaires - seuls d’autres propriétaires le peuvent.
- Supprimer un membre supprime définitivement son enregistrement d’adhésion et décrémente le compteur de membres du projet.
Annuler les invitations en attente
Si une invitation a été envoyée par erreur, les propriétaires et les admins peuvent l’annuler avant que l’invité ne l’accepte. Sélectionnez Annuler l’invitation dans le menu d’actions du membre en attente. Cela supprime définitivement l’enregistrement d’adhésion en attente.
Opérations en masse
Le tableau des membres prend en charge la sélection en masse via des cases à cocher. Sélectionnez plusieurs membres et utilisez la barre d’action en masse pour les supprimer tous en une fois. L’opération de suppression en masse gère à la fois les membres actifs et les invitations en attente - pour les membres en attente, elle annule l’invitation, pour les membres actifs, elle supprime leur adhésion.
Actions irréversibles
Prise en charge du menu contextuel
En plus du menu d’actions déroulant, le tableau des membres prend en charge les menus contextuels par clic droit sur chaque ligne. Un clic droit sur un membre affiche les mêmes options que le menu déroulant : Voir le profil, Changer le rôle et Supprimer le membre (ou Annuler l’invitation pour les membres en attente). Cela offre un workflow plus rapide pour les utilisateurs avancés gérant de grandes équipes.
Gestion programmatique des membres
Toutes les opérations de gestion des membres sont disponibles via des mutations Convex :
import { api } from "@/convex/_generated/api";
import { useMutation, useQuery } from "convex/react";
// List all members
const members = useQuery(api.projectMembers.listByProject, { projectId });
// Invite by email
const addMember = useMutation(api.projectMembers.addMemberByEmail);
await addMember({ projectId, email: "user@example.com", role: "member" });
// Accept invitation
const accept = useMutation(api.projectMembers.acceptInvitation);
await accept({ projectId });
// Change role (owner only)
const updateRole = useMutation(api.projectMembers.updateRole);
await updateRole({ projectId, userId, role: "admin" });
// Remove member
const remove = useMutation(api.projectMembers.removeMember);
await remove({ projectId, userId });