Générer des mots de passe forts dans Google Sheets : Un guide simple avec Google Apps Script

La sécurité des données est une préoccupation majeure à l’ère numérique. L’utilisation de mots de passe forts et uniques est l’une des premières lignes de défense contre les accès non autorisés. Dans cet article, nous allons explorer comment automatiser la génération de mots de passe robustes directement dans vos feuilles de calcul Google Sheets à l’aide de Google Apps Script.

Pourquoi Google Apps Script ?

Google Apps Script est un puissant langage de script basé sur JavaScript qui vous permet d’ajouter des fonctionnalités personnalisées à vos applications Google, y compris Google Sheets. Il offre une intégration transparente avec l’écosystème Google et vous permet d’automatiser des tâches répétitives, ce qui vous fait gagner du temps et réduit les risques d’erreurs.

Quelques mots sur pourquoi ce développement ?

L’origine du besoin

En tant que développeur, je me suis souvent retrouvé confronté à la nécessité de créer des mots de passe pour une multitude de comptes utilisateurs dans un environnement de travail collaboratif. Que ce soit pour des projets internes, des comptes clients ou même des outils de gestion, la création manuelle de ces mots de passe s’avérait non seulement chronophage, mais aussi source de potentielles erreurs humaines.

La solution : automatiser pour sécuriser

L’idée de ce script est née d’un besoin d’automatisation. Plutôt que de créer chaque mot de passe individuellement, j’ai voulu mettre en place un système qui génère des mots de passe directement dans une feuille de calcul Google Sheets, un outil déjà largement utilisé dans de nombreuses organisations. L’objectif était simple : créer un script qui non seulement génère des mots de passe sécurisés, mais qui le fait aussi en garantissant que chaque mot de passe contient à la fois des chiffres et des lettres, pour renforcer la sécurité.

Facilité d’utilisation

Un autre aspect crucial était la facilité d’utilisation. Le script que j’ai développé ajoute un menu personnalisé dans Google Sheets, permettant à l’utilisateur de générer des mots de passe d’un simple clic. Une fois le traitement terminé, un message d’alerte informe l’utilisateur que tout est en ordre, offrant ainsi une expérience fluide et intuitive.

En somme, ce script est une réponse directe à un besoin réel de sécurité, d’efficacité, et de simplicité dans la gestion quotidienne des mots de passe. Il s’agit d’une solution accessible, que j’ai voulu partager pour faciliter le travail de ceux qui, comme moi, doivent jongler avec de multiples comptes et utilisateurs au quotidien.

Le code expliqué

function onOpen() {
  const ui = SpreadsheetApp.getUi();
  ui.createMenu('Mots de Passe')
    .addItem('Générer les mots de passe', 'genererMotsDePasse')
    .addToUi();
}

function genererMotsDePasse() {
  const feuille = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const derniereLigne = feuille.getLastRow();

  // Récupérer toutes les données de la colonne A 
  const valeursColonneA = feuille.getRange(2, 1, derniereLigne - 1, 1).getValues().flat(); // .flat() pour aplatir le tableau 2D en 1D

  // Générer les mots de passe en une seule opération
  const motsDePasse = valeursColonneA.map(valeur => {
    if (valeur) { // Vérifier si la cellule n'est pas vide
      return genererMotDePasse(8); 
    } else {
      return ""; // Garder la cellule vide si la colonne A est vide
    }
  });

  // Écrire tous les mots de passe en une seule opération 
  feuille.getRange(2, 2, motsDePasse.length, 1).setValues(motsDePasse.map(mdp => [mdp])); 

  const ui = SpreadsheetApp.getUi();
  ui.alert('Traitement terminé ! Les mots de passe ont été générés.'); 
}

function genererMotDePasse(longueur) {
  const caracteres = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()_-+={}[]|;:,.<>?"; 

  let motDePasse = "";
  for (let i = 0; i < longueur; i++) {
    const indexAleatoire = Math.floor(Math.random() * caracteres.length);
    motDePasse += caracteres.charAt(indexAleatoire);
  }

  return motDePasse;
}

Explications du code

  • onOpen() : Cette fonction crée un menu personnalisé dans votre feuille de calcul lorsque vous l’ouvrez, vous donnant un accès facile à la fonctionnalité de génération de mots de passe.
  • genererMotsDePasse() : C’est le cœur du script. Il récupère les données de votre feuille de calcul, génère des mots de passe pour les cellules vides de la colonne B, et les insère dans la feuille.
  • genererMotDePasse(longueur) : Cette fonction génère un mot de passe aléatoire de la longueur spécifiée en utilisant une combinaison de lettres majuscules et minuscules, de chiffres et de caractères spéciaux.

Instructions d’implémentation

  1. Copie le code ci-dessus.
  2. Ouvre ton Google Sheet.
  3. Va dans « Extensions » -> « Apps Script« .
  4. Colle le code dans l’éditeur Apps Script.
  5. Enregistre le projet.
  6. Ferme l’éditeur Apps Script.
  7. Dans ton Google Sheet, tu devrais maintenant avoir un menu « Mots de Passe » avec l’option « Générer les mots de passe ».

Conseils pour des mots de passe encore plus forts

  • Augmentez la longueur des mots de passe générés pour une sécurité accrue.
  • Envisagez d’utiliser un gestionnaire de mots de passe pour stocker et gérer vos mots de passe de manière sécurisée.
  • Ne réutilisez jamais les mots de passe sur différents sites ou services.

La génération automatisée de mots de passe dans Google Sheets à l’aide de Google Apps Script est un moyen simple mais efficace d’améliorer la sécurité de vos données. En suivant les étapes décrites dans cet article, vous pouvez facilement créer et gérer des mots de passe forts pour tous vos comptes.

N’oubliez pas : Un mot de passe fort est votre première ligne de défense contre les cyberattaques. Prenez le temps de créer et de gérer vos mots de passe de manière responsable.