Files
Maison/phpAduc/ArchiveGDrive.md
2026-02-10 12:12:11 +01:00

9.9 KiB

Guide d'archivage Google Drive - Gestion des départs

Ce guide détaille la procédure complète pour archiver les données Google Drive d'une personne quittant l'organisation.

1. Préparation de l'archivage

Prérequis administrateur :

  • Droits administrateur sur Google Workspace
  • Accès au compte de la personne qui part
  • Espace de stockage suffisant pour l'archive
  • Outils de sauvegarde installés

Inventaire des données :

  1. Mon Drive : Documents personnels de l'utilisateur
  2. Partagé avec moi : Fichiers partagés par d'autres utilisateurs
  3. Drives partagés : Drives d'équipe dont l'utilisateur est membre
  4. Photos Google : Si activé sur le compte professionnel

2. Méthodes de sauvegarde

Méthode 1 : Google Takeout (Recommandée)

Étapes pour l'administrateur :

  1. Accéder à Google Admin Console :

    • Se connecter à admin.google.com
    • Naviguer vers Utilisateurs → Sélectionner l'utilisateur
  2. Initier Google Takeout :

    • Dans le profil utilisateur, cliquer sur Plus d'actions
    • Sélectionner Exporter les données
    • Ou aller directement sur takeout.google.com
  3. Configuration de l'export :

    Services à exporter :
    ✓ Drive et Documents
    ✓ Photos (si applicable)
    ✓ Agenda (si nécessaire)
    ✓ Contacts (si nécessaire)
    
    Format de fichier :
    - Documents : .docx, .xlsx, .pptx (ou formats Google)
    - Méthode de livraison : Téléchargement ou Google Drive
    - Taille des archives : 2 GB, 4 GB, 10 GB ou 50 GB
    - Format d'archive : .zip ou .tgz
    
  4. Lancement de l'export :

    • Cliquer sur Créer l'export
    • Attendre la notification de fin de traitement
    • Télécharger les archives générées

Méthode 2 : Google Drive Desktop

Installation et configuration :

# Installation sur Linux (via Snap)
sudo snap install google-drive-desktop

# Ou téléchargement depuis le site Google
wget https://dl.google.com/drive-file-stream/GoogleDriveSetup.exe

Synchronisation complète :

  1. Installer Google Drive Desktop sur un poste administrateur

  2. Se connecter avec le compte de l'utilisateur

  3. Configurer la synchronisation :

    • Sélectionner "Mettre en miroir les fichiers"
    • Choisir "Synchroniser tout"
    • Attendre la synchronisation complète
  4. Copier les données locales :

    # Créer l'archive locale
    cp -r "/home/user/Google Drive" "/archives/gdrive_[nom_utilisateur]_$(date +%Y%m%d)"
    

Méthode 3 : API Google Drive (Avancée)

Script Python pour archivage automatisé :

#!/usr/bin/env python3
import os
import io
from googleapiclient.discovery import build
from googleapiclient.http import MediaIoBaseDownload
from google.oauth2.service_account import Credentials

def backup_gdrive(user_email, backup_path):
    """
    Sauvegarde complète du Google Drive d'un utilisateur
    """
    # Configuration des credentials
    credentials = Credentials.from_service_account_file(
        'service-account-key.json',
        scopes=['https://www.googleapis.com/auth/drive.readonly']
    )
    
    # Délégation pour l'utilisateur
    delegated_credentials = credentials.with_subject(user_email)
    service = build('drive', 'v3', credentials=delegated_credentials)
    
    # Lister tous les fichiers
    results = service.files().list(
        q="trashed=false",
        pageSize=1000,
        fields="nextPageToken, files(id, name, mimeType, parents)"
    ).execute()
    
    items = results.get('files', [])
    
    # Créer la structure de backup
    os.makedirs(backup_path, exist_ok=True)
    
    for item in items:
        download_file(service, item, backup_path)

def download_file(service, file_item, backup_path):
    """
    Télécharge un fichier spécifique
    """
    file_id = file_item['id']
    file_name = file_item['name']
    mime_type = file_item['mimeType']
    
    # Gestion des différents types de fichiers
    if 'google-apps' in mime_type:
        # Export des documents Google
        export_formats = {
            'application/vnd.google-apps.document': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
            'application/vnd.google-apps.spreadsheet': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
            'application/vnd.google-apps.presentation': 'application/vnd.openxmlformats-officedocument.presentationml.presentation'
        }
        
        if mime_type in export_formats:
            request = service.files().export_media(
                fileId=file_id,
                mimeType=export_formats[mime_type]
            )
        else:
            return  # Type non supporté
    else:
        # Fichiers normaux
        request = service.files().get_media(fileId=file_id)
    
    # Téléchargement
    file_path = os.path.join(backup_path, file_name)
    fh = io.FileIO(file_path, 'wb')
    downloader = MediaIoBaseDownload(fh, request)
    
    done = False
    while done is False:
        status, done = downloader.next_chunk()

3. Gestion des permissions et partages

Audit des partages :

  1. Identifier les fichiers partagés :

    • Dans Google Admin Console → RapportsDrive
    • Exporter la liste des fichiers partagés en externe
  2. Transférer la propriété :

    # Script pour transfert de propriété
    # Utiliser l'API Admin SDK pour automatiser
    
  3. Documenter les accès :

    • Liste des fichiers avec permissions externes
    • Collaborateurs internes à prévenir
    • Drives partagés à maintenir

Script de transfert de propriété :

def transfer_ownership(service, file_id, new_owner_email):
    """
    Transfère la propriété d'un fichier
    """
    permission = {
        'type': 'user',
        'role': 'owner',
        'emailAddress': new_owner_email
    }
    
    return service.permissions().create(
        fileId=file_id,
        body=permission,
        transferOwnership=True
    ).execute()

4. Structure d'archivage recommandée

Archive_GDrive_[Nom_Personne]_[Date]/
├── Mon_Drive/
│   ├── Documents/
│   ├── Presentations/
│   ├── Feuilles_calcul/
│   └── Autres_fichiers/
├── Drives_partages/
│   ├── [Nom_Drive_1]/
│   └── [Nom_Drive_2]/
├── Partages_recus/
│   └── fichiers_partages/
├── Metadata/
│   ├── permissions_report.csv
│   ├── file_inventory.json
│   └── sharing_audit.txt
└── Documentation/
    ├── procedure_archivage.md
    └── contacts_a_prevenir.txt

5. Vérification et validation

Contrôles d'intégrité :

# Vérifier le nombre de fichiers
find Archive_GDrive_* -type f | wc -l

# Calculer la taille totale
du -sh Archive_GDrive_*

# Créer des checksums
find Archive_GDrive_* -type f -exec sha256sum {} \; > checksums.txt

Tests de restauration :

  1. Échantillonnage : Tester 10% des fichiers archivés
  2. Ouverture : Vérifier que les documents s'ouvrent correctement
  3. Intégrité : Comparer les checksums

6. Suppression sécurisée du compte

Avant suppression :

  • Archivage complet validé
  • Transferts de propriété effectués
  • Collaborateurs prévenus
  • Documentation complète

Étapes de suppression :

  1. Suspendre le compte temporairement
  2. Vérifier qu'aucun accès critique n'est impacté
  3. Supprimer définitivement après validation
# Via Google Admin Console ou GAM
gam delete user user@domain.com

7. Conservation et accès

Chiffrement de l'archive :

# Créer une archive chiffrée
tar czf - Archive_GDrive_[Nom]_[Date]/ | \
gpg --cipher-algo AES256 --compress-algo 1 --symmetric \
-o archive_gdrive_[nom]_[date].tar.gz.gpg

Stockage sécurisé :

  • Stockage local chiffré
  • Sauvegarde cloud sécurisée
  • Accès contrôlé et tracé

Documentation d'accès :

Archive: archive_gdrive_jdupont_20251022.tar.gz.gpg
Mot de passe: [À définir selon politique entreprise]
Responsable: [Nom du responsable IT]
Date d'expiration: [Selon politique de rétention]
Contenu: 1247 fichiers, 15.2 GB
Période couverte: 2020-2025

8. Automatisation et scripts

Script complet d'archivage :

#!/bin/bash
# Script d'archivage automatisé Google Drive

USER_EMAIL="$1"
BACKUP_DIR="/archives/gdrive"
DATE=$(date +%Y%m%d)

if [ -z "$USER_EMAIL" ]; then
    echo "Usage: $0 user@domain.com"
    exit 1
fi

# Créer le répertoire d'archive
ARCHIVE_PATH="$BACKUP_DIR/Archive_GDrive_${USER_EMAIL}_${DATE}"
mkdir -p "$ARCHIVE_PATH"

# Lancer l'archivage Python
python3 gdrive_backup.py "$USER_EMAIL" "$ARCHIVE_PATH"

# Générer les checksums
find "$ARCHIVE_PATH" -type f -exec sha256sum {} \; > "$ARCHIVE_PATH/checksums.txt"

# Créer l'archive finale
tar czf "$ARCHIVE_PATH.tar.gz" -C "$BACKUP_DIR" "Archive_GDrive_${USER_EMAIL}_${DATE}"

echo "Archive créée: $ARCHIVE_PATH.tar.gz"

9. Check-list de départ

Avant l'archivage :

  • Inventaire complet des données Google Drive
  • Identification des fichiers critiques
  • Liste des collaborateurs à prévenir
  • Validation de l'espace de stockage disponible

Pendant l'archivage :

  • Export via Google Takeout lancé
  • Synchronisation Google Drive Desktop
  • Transfert des propriétés de fichiers critiques
  • Documentation des partages externes

Après l'archivage :

  • Validation de l'intégrité de l'archive
  • Test de restauration d'échantillons
  • Chiffrement de l'archive finale
  • Suppression sécurisée du compte
  • Documentation de l'emplacement d'archive

Note importante : Cette procédure garantit une sauvegarde complète et sécurisée des données Google Drive tout en respectant les bonnes pratiques de gestion des départs d'employés et la continuité des collaborations.

Date de création : 22 octobre 2025