Collaborer avec d'autres développeurs

Apps Script fournit des fonctionnalités qui vous aident, vous et les autres développeurs, à créer et gérer des scripts, des modules complémentaires et des applications Web.

Principes de base de la collaboration

Pour collaborer sur un projet, vous et vos collaborateurs devez tous disposer d'un accès éditeur au fichier de projet Apps Script (et à son conteneur, s'il s'agit d'un script lié). Ainsi, tous les membres de votre équipe peuvent voir et modifier le code Apps Script. Les éditeurs peuvent également créer de nouvelles versions de code, publier des modules complémentaires et déployer des scripts en tant qu'applications Web ou en tant qu'exécutables pour l'API Apps Script.

Vous pouvez aider votre équipe en planifiant à l'avance la manière dont vous allez gérer la modification, l'examen, la gestion des versions et (le cas échéant) le déploiement et la publication de votre projet, de votre module complémentaire ou de votre application Web. Les projets autonomes sont généralement les plus faciles à mettre en commun, car ils apparaissent directement dans Google Drive. Il s'agit du type de projet recommandé pour le développement de modules complémentaires et d'applications Web.

Un problème courant de collaboration se produit lorsqu'un propriétaire de projet de script quitte l'équipe sans transférer la propriété du projet à un autre membre de l'équipe. Vous ne pourrez alors peut-être plus gérer ni mettre à jour le projet. Placer votre projet de script dans un Drive partagé permet d'éviter ce problème, car les fichiers d'un Drive partagé n'ont pas de propriétaires spécifiques.

Collaborer avec l'outil de ligne de commande clasp

clasp vous permet de synchroniser des projets entre script.google.com et votre système de fichiers local. Cela vous permet de simplifier et d'automatiser le développement de votre code si vous et vos collaborateurs utilisez un logiciel de gestion du contrôle des sources tel que git.

Pour en savoir plus, consultez la section Interface de ligne de commande à l'aide du guide clasp.

Collaborer avec des Drive partagés

Les Drive partagés (anciennement "Drive d'équipe") sont des espaces partagés dans Google Drive où les groupes d'utilisateurs Drive peuvent collaborer plus efficacement. Les fichiers placés dans un Drive partagé appartiennent au groupe dans son ensemble, et non à des individus. Cela signifie que lorsqu'un collaborateur quitte le groupe, il ne conserve pas la propriété et le contrôle des fichiers.

Les Drive partagés vous permettent également de déplacer des fichiers entre des domaines. Un Drive partagé dans un domaine peut avoir des collaborateurs d'un autre domaine qui peuvent déplacer des fichiers de ce domaine vers le Drive partagé. Cela peut être très utile pour les développeurs Apps Script, car cela permet à une équipe de développer des modules complémentaires, des applications Web ou d'autres codes pour des clients dans différents domaines.

Lorsque vous utilisez des Drive partagés pour collaborer sur des projets Apps Script, gardez à l'esprit les points suivants:

  1. Les collaborateurs disposant d'un accès éditeur à un Drive partagé peuvent y créer ou y déplacer des fichiers. En tant qu'éditeurs de script, ils peuvent afficher et modifier des projets de script, exécuter du code de script, créer des versions de script et publier des modules complémentaires.
  2. Pour déployer des scripts en tant qu'applications Web ou exécutables pour l'API Apps Script, le compte qui crée le déploiement doit appartenir au même domaine que le disque partagé sur lequel se trouve le script.
  3. Les Drive partagés vous permettent de partager des fichiers spécifiques du Drive partagé avec des personnes extérieures au groupe, et de modifier leurs autorisations de modification et de consultation de ces fichiers comme pour tout autre fichier Drive. Toutefois, si un utilisateur fait partie de l'équipe à laquelle appartient le Drive partagé, vous ne pouvez pas limiter son accès à certains fichiers. Par exemple, si un utilisateur dispose d'un accès en modification à un Drive partagé, vous ne pouvez pas le modifier pour lui accorder un accès en lecture seule à un fichier spécifique de ce Drive partagé.
  4. Les collaborateurs disposant d'un accès complet à un Drive partagé peuvent également supprimer des fichiers et des projets Apps Script, et déplacer des fichiers hors du Drive partagé.
  5. Tous les scripts liés au conteneur utilisent les mêmes listes d'accès au lecteur et à l'éditeur définies pour le fichier de conteneur. Par exemple, si vous disposez d'un accès en modification à une feuille de calcul Google, vous disposez également d'un accès en modification à tout code de projet Apps Script qui y est associé. Placer un tel fichier de conteneur dans un Drive partagé accorde aux collaborateurs du Drive partagé les mêmes droits d'accès au code de script que pour le conteneur lui-même.
  6. Lorsqu'un projet de script se trouve dans un Drive partagé, l'accès à son projet Cloud Platform (GCP) peut être limité. Pour en savoir plus, consultez la section du guide Projets GCP et Drive partagés.
  7. Les applications Web déployées sur un domaine cessent de fonctionner si leur propriété change pour passer à un Drive partagé ou à un compte d'un autre domaine. Pour corriger ce problème, déplacez le script vers son domaine d'origine.
  8. De même, les projets de script déployés en tant qu'exécutable d'API Apps Script cessent de fonctionner lorsqu'ils sont appelés par l'API s'ils sont déplacés via un Drive partagé d'un domaine à un autre. Pour résoudre ce problème, replacez le script dans son domaine d'origine.

Collaborer avec un dossier partagé

Si vous ne pouvez pas collaborer avec un Drive partagé, vous pouvez utiliser un dossier partagé à la place. Lorsque vous créez ou déplacez un projet Apps Script vers un dossier Google Drive auquel d'autres personnes peuvent accéder, elles héritent du même accès au projet Apps Script que celui dont elles disposent pour le dossier. Exemple :

  • Si un utilisateur est autorisé à modifier le dossier, il peut modifier ou supprimer le projet Apps Script, puis exécuter le script.
  • Si un utilisateur ne dispose que d'un accès en lecture au dossier, il peut afficher le projet Apps Script et exécuter le script.

Collaborer grâce au partage de projets

Vous pouvez collaborer sur un projet en le partageant directement avec tous les collaborateurs. Vous pouvez partager directement des projets de script qui se trouvent dans des dossiers Google Drive standards ou dans des Drive partagés. Si vous utilisez cette méthode, nous vous recommandons de planifier soigneusement qui sera propriétaire et responsable du script au fil du temps.

Les projets autonomes s'affichent dans votre Google Drive sous forme de fichiers. Vous pouvez les partager comme n'importe quel autre fichier. Pour en savoir plus, consultez la section Partager des fichiers et des dossiers.

Les projets liés à des conteneurs ne sont pas visibles dans Google Drive. Pour partager un projet lié à un conteneur, partagez le fichier du conteneur parent. Par exemple, si vous avez un script lié à une feuille de calcul Google Sheets, vous pouvez en faire un éditeur en le désignant comme tel dans la feuille de calcul. Les projets liés à un conteneur héritent des paramètres d'accès du lecteur et de l'éditeur de leur fichier de conteneur.

Tous les scripts liés au conteneur utilisent la même liste d'accès au propriétaire, au lecteur et à l'éditeur définie pour le fichier de conteneur. Le propriétaire du conteneur devient propriétaire d'un nouveau projet de script, quel que soit son créateur.

Collaboration et ressources de projet

Les ressources sont des entités associées à votre projet, mais qui existent indépendamment de son code. Cette section explique comment la collaboration sur un projet affecte ses ressources, en particulier son projet Cloud Platform, ses déclencheurs, ses bibliothèques et ses propriétés utilisateur.

Collaboration et projets Google Cloud

Chaque projet Apps Script est associé à un projet Google Cloud. Les projets Google Cloud disposent de leur propre ensemble de propriétaires, d'éditeurs et d'autres rôles, qui peuvent être différents de l'ensemble des utilisateurs pouvant accéder au projet de script.

Si votre projet de script est destiné à être publié en tant que module complémentaire, il doit utiliser un projet Google Cloud standard. Lorsque vous collaborez sur une application qui utilise un projet Google Cloud standard, nous vous recommandons de configurer les propriétaires et les rôles Google Cloud pour vous assurer que tous vos collaborateurs disposent des niveaux d'accès appropriés. Cela permet d'éviter les situations où vous perdez l'accès aux paramètres Cloud du projet, car ses propriétaires ne font plus partie de votre organisation. Cela est particulièrement important pour les modules complémentaires.

Collaboration et déclencheurs

Lorsque vous collaborez sur un projet, les déclencheurs installables que vous créez ne sont pas partagés avec les personnes ayant accès à votre projet. Si vous devez configurer les déclencheurs de manière cohérente pour tous les collaborateurs, vous pouvez utiliser le service Script pour créer des déclencheurs de manière automatisée, au moment de l'exécution. Pour en savoir plus, consultez la section Gérer les déclencheurs de manière programmatique.

Collaboration et bibliothèques

Les bibliothèques incluses dans votre projet sont disponibles pour les collaborateurs. Toutefois, s'ils ne disposent pas au moins d'un accès en lecture à une bibliothèque incluse, ils ne peuvent pas l'utiliser. Dans ce cas, le script génère une erreur. Pour en savoir plus sur les bibliothèques, consultez la section Gérer les bibliothèques.

Collaboration et propriétés utilisateur

Les propriétés utilisateur sont propres à l'utilisateur qui les a créées. Cela signifie que les collaborateurs du projet ne peuvent pas voir ni accéder à vos propriétés utilisateur, et que vous ne pouvez pas voir ni accéder aux leurs. Utilisez des propriétés de script si vous souhaitez partager des propriétés spécifiques à un projet avec les collaborateurs. Pour en savoir plus, consultez le guide des propriétés.