Initialisation depot
This commit is contained in:
165
phpAduc/ArchivageThunderbird.md
Normal file
165
phpAduc/ArchivageThunderbird.md
Normal file
@@ -0,0 +1,165 @@
|
||||
# Guide d'archivage Thunderbird - Gestion des départs
|
||||
|
||||
Ce guide détaille la procédure complète pour archiver les données email d'une personne quittant l'organisation.
|
||||
|
||||
## 1. Créer un compte IMAP dans Thunderbird
|
||||
|
||||
### Étapes de création :
|
||||
|
||||
1. **Ouvrir Thunderbird** et aller dans le menu :
|
||||
- **Fichier** → **Nouveau** → **Compte de courrier existant**
|
||||
- Ou cliquer sur **Configurer un compte** dans l'écran d'accueil
|
||||
|
||||
2. **Saisir les informations du compte** :
|
||||
- **Nom complet** : Nom de la personne
|
||||
- **Adresse électronique** : adresse@entreprise.com
|
||||
- **Mot de passe** : mot de passe du compte
|
||||
|
||||
3. **Configuration automatique** :
|
||||
- Thunderbird tentera de détecter automatiquement les paramètres
|
||||
- Si cela échoue, configurez manuellement :
|
||||
- **Serveur entrant** : IMAP
|
||||
- **Nom du serveur** : imap.votre-domaine.com
|
||||
- **Port** : 993 (SSL/TLS) ou 143 (STARTTLS)
|
||||
- **Sécurité** : SSL/TLS
|
||||
- **Authentification** : Mot de passe normal
|
||||
|
||||
4. **Finaliser** en cliquant sur **Terminé**
|
||||
|
||||
## 2. Sauvegarder les données
|
||||
|
||||
### Méthode 1 : Synchronisation complète
|
||||
|
||||
1. **Clic droit sur le compte** → **Paramètres**
|
||||
2. **Onglet "Synchronisation et stockage"**
|
||||
3. Cocher **"Conserver les messages de ce compte sur cet ordinateur"**
|
||||
4. Sélectionner **"Synchroniser tous les messages localement"**
|
||||
5. Attendre la synchronisation complète
|
||||
|
||||
### Méthode 2 : Export des dossiers
|
||||
|
||||
1. **Installer l'extension ImportExportTools NG** :
|
||||
- Aller dans **Outils** → **Modules complémentaires**
|
||||
- Rechercher "ImportExportTools NG"
|
||||
- Installer l'extension
|
||||
|
||||
2. **Exporter les dossiers** :
|
||||
- Clic droit sur chaque dossier important
|
||||
- **ImportExportTools NG** → **Exporter le dossier** → **En tant que fichier mbox**
|
||||
- Choisir l'emplacement de sauvegarde
|
||||
|
||||
### Méthode 3 : Sauvegarde du profil complet
|
||||
|
||||
1. **Fermer Thunderbird**
|
||||
2. **Localiser le dossier de profil** :
|
||||
```bash
|
||||
cd ~/.thunderbird
|
||||
ls -la
|
||||
```
|
||||
|
||||
3. **Copier le dossier de profil** :
|
||||
```bash
|
||||
# Créer une sauvegarde du profil
|
||||
cp -r ~/.thunderbird/xxxxxxxx.default-release ~/sauvegarde_thunderbird_[nom_personne]_$(date +%Y%m%d)
|
||||
```
|
||||
|
||||
## 3. Archivage recommandé
|
||||
|
||||
### Structure d'archivage :
|
||||
```
|
||||
Archives_[Nom_Personne]_[Date]/
|
||||
├── Emails_mbox/
|
||||
│ ├── Boite_reception.mbox
|
||||
│ ├── Envoyes.mbox
|
||||
│ ├── Brouillons.mbox
|
||||
│ └── Dossiers_personnalises/
|
||||
├── Contacts/
|
||||
│ └── carnet_adresses.vcf
|
||||
├── Calendrier/
|
||||
│ └── evenements.ics
|
||||
└── Configuration/
|
||||
└── parametres_compte.txt
|
||||
```
|
||||
|
||||
### Export des contacts :
|
||||
1. **Carnet d'adresses** → **Outils** → **Exporter**
|
||||
2. Choisir le format **vCard** ou **CSV**
|
||||
|
||||
### Export du calendrier (si Lightning est utilisé) :
|
||||
1. **Calendrier** → Clic droit sur le calendrier
|
||||
2. **Exporter le calendrier** → Format **iCS**
|
||||
|
||||
## 4. Supprimer le compte
|
||||
|
||||
### Suppression sécurisée :
|
||||
|
||||
1. **Vérifier que la sauvegarde est complète**
|
||||
2. **Paramètres du compte** :
|
||||
- Clic droit sur le compte → **Paramètres**
|
||||
- En bas à gauche : **Actions du compte** → **Supprimer le compte**
|
||||
|
||||
3. **Confirmation de suppression** :
|
||||
- Confirmer la suppression
|
||||
- Les données locales seront supprimées
|
||||
|
||||
### Nettoyage supplémentaire :
|
||||
```bash
|
||||
# Nettoyer les fichiers temporaires
|
||||
rm -rf ~/.thunderbird/*/ImapMail/[serveur_imap]
|
||||
```
|
||||
|
||||
## 5. Bonnes pratiques pour l'archivage
|
||||
|
||||
### Documentation à conserver :
|
||||
- **Liste des dossiers archivés**
|
||||
- **Date de l'archivage**
|
||||
- **Période couverte** par les emails
|
||||
- **Format des fichiers** d'export
|
||||
- **Mot de passe** de l'archive (si chiffrée)
|
||||
|
||||
### Chiffrement de l'archive :
|
||||
```bash
|
||||
# Créer une archive chiffrée
|
||||
tar czf - Archives_[Nom]_[Date]/ | gpg --cipher-algo AES256 --compress-algo 1 --symmetric -o archive_[nom]_[date].tar.gz.gpg
|
||||
```
|
||||
|
||||
### Vérification de l'intégrité :
|
||||
```bash
|
||||
# Créer une somme de contrôle
|
||||
sha256sum archive_* > checksums.txt
|
||||
```
|
||||
|
||||
## 6. Conservation légale
|
||||
|
||||
- **Durée de conservation** : Respecter la politique de l'entreprise
|
||||
- **Accès contrôlé** : Définir qui peut accéder aux archives
|
||||
- **Traçabilité** : Documenter les accès aux archives
|
||||
- **Destruction sécurisée** : Planifier la suppression définitive selon les réglementations
|
||||
|
||||
## 7. Check-list de départ
|
||||
|
||||
### Avant l'archivage :
|
||||
- [ ] Informer la personne de la procédure d'archivage
|
||||
- [ ] Vérifier les droits d'accès au compte email
|
||||
- [ ] Identifier les dossiers critiques à archiver
|
||||
- [ ] Préparer l'espace de stockage nécessaire
|
||||
|
||||
### Pendant l'archivage :
|
||||
- [ ] Synchroniser tous les dossiers IMAP
|
||||
- [ ] Exporter les contacts du carnet d'adresses
|
||||
- [ ] Exporter le calendrier si applicable
|
||||
- [ ] Vérifier l'intégrité des exports
|
||||
- [ ] Documenter la procédure effectuée
|
||||
|
||||
### Après l'archivage :
|
||||
- [ ] Tester la restauration d'un échantillon d'emails
|
||||
- [ ] Chiffrer l'archive si nécessaire
|
||||
- [ ] Stocker l'archive dans un lieu sécurisé
|
||||
- [ ] Supprimer le compte de Thunderbird
|
||||
- [ ] Documenter l'emplacement de l'archive
|
||||
|
||||
---
|
||||
|
||||
**Note importante** : Cette procédure garantit une archive complète et sécurisée des données email tout en respectant les bonnes pratiques de gestion des départs d'employés.
|
||||
|
||||
**Date de création** : 22 octobre 2025
|
||||
335
phpAduc/ArchiveGDrive.md
Normal file
335
phpAduc/ArchiveGDrive.md
Normal file
@@ -0,0 +1,335 @@
|
||||
# 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](https://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](https://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 :
|
||||
```bash
|
||||
# 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** :
|
||||
```bash
|
||||
# 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é :
|
||||
```python
|
||||
#!/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 → **Rapports** → **Drive**
|
||||
- Exporter la liste des fichiers partagés en externe
|
||||
|
||||
2. **Transférer la propriété** :
|
||||
```bash
|
||||
# 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é :
|
||||
```python
|
||||
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é :
|
||||
```bash
|
||||
# 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
|
||||
|
||||
```bash
|
||||
# Via Google Admin Console ou GAM
|
||||
gam delete user user@domain.com
|
||||
```
|
||||
|
||||
## 7. Conservation et accès
|
||||
|
||||
### Chiffrement de l'archive :
|
||||
```bash
|
||||
# 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 :
|
||||
```bash
|
||||
#!/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
|
||||
1181
phpAduc/LireMBox.md
Normal file
1181
phpAduc/LireMBox.md
Normal file
File diff suppressed because it is too large
Load Diff
299
phpAduc/SuppressionGoogle.md
Normal file
299
phpAduc/SuppressionGoogle.md
Normal file
@@ -0,0 +1,299 @@
|
||||
# Guide de suppression des comptes Google Workspace
|
||||
|
||||
Ce guide explique pourquoi les comptes supprimés restent visibles dans Google Admin Console et comment gérer leur suppression définitive.
|
||||
|
||||
## Pourquoi les comptes supprimés restent visibles
|
||||
|
||||
### 1. **Période de rétention de 20 jours**
|
||||
- Google conserve les comptes supprimés pendant **20 jours** par défaut
|
||||
- Pendant cette période, le compte apparaît avec le statut **"Suspendu"** ou **"Supprimé"**
|
||||
- Cela permet une restauration en cas d'erreur
|
||||
|
||||
### 2. **États intermédiaires du compte**
|
||||
```
|
||||
États possibles :
|
||||
- Actif → Suspendu → Supprimé → Supprimé définitivement
|
||||
```
|
||||
|
||||
### 3. **Données liées non supprimées**
|
||||
- **Google Drive** : Les fichiers restent pendant la période de rétention
|
||||
- **Gmail** : Les emails sont conservés temporairement
|
||||
- **Calendrier** : Les événements restent visibles
|
||||
- **Groupes** : L'appartenance peut persister
|
||||
|
||||
## Vérification de l'état du compte
|
||||
|
||||
### Dans Google Admin Console :
|
||||
1. **Aller dans Utilisateurs**
|
||||
2. **Filtrer par statut** :
|
||||
- Cliquer sur le filtre en haut
|
||||
- Sélectionner **"Suspendu"** ou **"Supprimé"**
|
||||
|
||||
### Statuts visibles :
|
||||
- 🟢 **Actif** : Compte fonctionnel
|
||||
- 🟡 **Suspendu** : Compte temporairement désactivé
|
||||
- 🔴 **Supprimé** : En cours de suppression (20 jours)
|
||||
- ⚫ **Définitivement supprimé** : Plus visible dans l'interface
|
||||
|
||||
## Actions possibles selon l'état
|
||||
|
||||
### Si le compte est "Suspendu" :
|
||||
```bash
|
||||
# Via GAM (Google Apps Manager)
|
||||
gam info user user@domain.com
|
||||
|
||||
# Réactiver
|
||||
gam update user user@domain.com suspended off
|
||||
|
||||
# Supprimer définitivement
|
||||
gam delete user user@domain.com
|
||||
```
|
||||
|
||||
### Si le compte est "Supprimé" :
|
||||
1. **Restaurer le compte** (si nécessaire) :
|
||||
- Admin Console → Utilisateurs → Filtre "Supprimé"
|
||||
- Sélectionner l'utilisateur → **Restaurer**
|
||||
|
||||
2. **Forcer la suppression définitive** :
|
||||
- Admin Console → Utilisateurs → Filtre "Supprimé"
|
||||
- Sélectionner l'utilisateur → **Supprimer définitivement**
|
||||
|
||||
## Suppression immédiate et définitive
|
||||
|
||||
### Méthode 1 : Interface Admin Console
|
||||
1. **Aller dans Admin Console** → **Utilisateurs**
|
||||
2. **Sélectionner l'utilisateur** concerné
|
||||
3. **Cliquer sur "Plus d'actions"** → **Supprimer l'utilisateur**
|
||||
4. **Cocher "Supprimer immédiatement"** (si disponible)
|
||||
5. **Confirmer la suppression définitive**
|
||||
|
||||
### Méthode 2 : Via GAM (recommandé)
|
||||
```bash
|
||||
# Installation de GAM si nécessaire
|
||||
curl -s https://raw.githubusercontent.com/taers232c/GAMADV-XTD3/master/src/gam-install.sh | bash
|
||||
|
||||
# Suppression immédiate et définitive
|
||||
gam delete user user@domain.com immediate
|
||||
|
||||
# Vérification que le compte n'existe plus
|
||||
gam info user user@domain.com
|
||||
```
|
||||
|
||||
## Nettoyage complet des traces
|
||||
|
||||
### Données à nettoyer manuellement :
|
||||
|
||||
#### 1. **Groupes Google** :
|
||||
```bash
|
||||
# Lister les groupes de l'utilisateur
|
||||
gam info user user@domain.com groups
|
||||
|
||||
# Retirer de tous les groupes
|
||||
gam update group group@domain.com remove member user@domain.com
|
||||
|
||||
# Automatiser le retrait de tous les groupes
|
||||
gam info user user@domain.com groups | grep -E '^\s+' | while read group; do
|
||||
gam update group "$group" remove member user@domain.com
|
||||
done
|
||||
```
|
||||
|
||||
#### 2. **Calendriers partagés** :
|
||||
```bash
|
||||
# Retirer des calendriers partagés
|
||||
gam calendar user@domain.com delete
|
||||
|
||||
# Lister les calendriers de l'utilisateur
|
||||
gam user user@domain.com print calendars
|
||||
```
|
||||
|
||||
#### 3. **Drive partagé** :
|
||||
- Transférer la propriété des fichiers avant suppression
|
||||
- Retirer l'accès aux drives d'équipe
|
||||
|
||||
```bash
|
||||
# Lister les fichiers dont l'utilisateur est propriétaire
|
||||
gam user user@domain.com print filelist fields id,name,owners
|
||||
|
||||
# Transférer la propriété vers un autre utilisateur
|
||||
gam user user@domain.com transfer drive newowner@domain.com
|
||||
```
|
||||
|
||||
#### 4. **Sites Google** :
|
||||
```bash
|
||||
# Lister les sites de l'utilisateur
|
||||
gam user user@domain.com print sites
|
||||
|
||||
# Transférer la propriété des sites
|
||||
gam user user@domain.com transfer sites newowner@domain.com
|
||||
```
|
||||
|
||||
## Bonnes pratiques pour éviter la confusion
|
||||
|
||||
### Procédure recommandée :
|
||||
1. **Suspendre d'abord** le compte (test)
|
||||
2. **Transférer les données** importantes
|
||||
3. **Supprimer définitivement** avec confirmation
|
||||
4. **Vérifier la suppression** après 24h
|
||||
|
||||
### Ordre des opérations :
|
||||
```
|
||||
1. Archiver les données (Drive, Gmail)
|
||||
2. Transférer la propriété des fichiers critiques
|
||||
3. Retirer des groupes et calendriers partagés
|
||||
4. Suspendre le compte temporairement
|
||||
5. Vérifier l'impact sur les services
|
||||
6. Supprimer définitivement
|
||||
7. Vérifier la suppression complète
|
||||
```
|
||||
|
||||
## Scripts d'automatisation
|
||||
|
||||
### Script de vérification de suppression :
|
||||
```bash
|
||||
#!/bin/bash
|
||||
# Vérifier qu'un utilisateur est bien supprimé
|
||||
|
||||
USER_EMAIL="$1"
|
||||
|
||||
if [ -z "$USER_EMAIL" ]; then
|
||||
echo "Usage: $0 user@domain.com"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Vérification de la suppression de $USER_EMAIL"
|
||||
echo "=============================================="
|
||||
|
||||
# Test via GAM
|
||||
echo "1. Vérification de l'existence du compte..."
|
||||
if gam info user "$USER_EMAIL" >/dev/null 2>&1; then
|
||||
echo "❌ ERREUR: Le compte $USER_EMAIL existe encore"
|
||||
echo "Détails du compte :"
|
||||
gam info user "$USER_EMAIL"
|
||||
else
|
||||
echo "✅ SUCCESS: Le compte $USER_EMAIL est bien supprimé"
|
||||
fi
|
||||
|
||||
# Vérifier les groupes
|
||||
echo ""
|
||||
echo "2. Vérification des groupes..."
|
||||
GROUPS=$(gam print group-members | grep "$USER_EMAIL" | wc -l)
|
||||
if [ "$GROUPS" -gt 0 ]; then
|
||||
echo "❌ ATTENTION: L'utilisateur appartient encore à $GROUPS groupe(s)"
|
||||
gam print group-members | grep "$USER_EMAIL"
|
||||
else
|
||||
echo "✅ Aucune appartenance à des groupes trouvée"
|
||||
fi
|
||||
|
||||
# Vérifier les calendriers
|
||||
echo ""
|
||||
echo "3. Vérification des calendriers..."
|
||||
if gam user "$USER_EMAIL" print calendars >/dev/null 2>&1; then
|
||||
echo "❌ ATTENTION: L'utilisateur a encore des calendriers"
|
||||
else
|
||||
echo "✅ Aucun calendrier trouvé"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "Vérification terminée."
|
||||
```
|
||||
|
||||
### Script de suppression complète :
|
||||
```bash
|
||||
#!/bin/bash
|
||||
# Script de suppression complète d'un utilisateur Google Workspace
|
||||
|
||||
USER_EMAIL="$1"
|
||||
TRANSFER_TO="$2"
|
||||
|
||||
if [ -z "$USER_EMAIL" ] || [ -z "$TRANSFER_TO" ]; then
|
||||
echo "Usage: $0 user@domain.com newowner@domain.com"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Suppression complète de $USER_EMAIL"
|
||||
echo "Transfert vers: $TRANSFER_TO"
|
||||
echo "=================================="
|
||||
|
||||
# 1. Transférer Drive
|
||||
echo "1. Transfert du Drive..."
|
||||
gam user "$USER_EMAIL" transfer drive "$TRANSFER_TO"
|
||||
|
||||
# 2. Retirer des groupes
|
||||
echo "2. Retrait des groupes..."
|
||||
gam info user "$USER_EMAIL" groups | grep -E '^\s+' | while read group; do
|
||||
echo " Retrait du groupe: $group"
|
||||
gam update group "$group" remove member "$USER_EMAIL"
|
||||
done
|
||||
|
||||
# 3. Supprimer les calendriers
|
||||
echo "3. Suppression des calendriers..."
|
||||
gam calendar "$USER_EMAIL" delete
|
||||
|
||||
# 4. Suppression définitive
|
||||
echo "4. Suppression définitive du compte..."
|
||||
gam delete user "$USER_EMAIL" immediate
|
||||
|
||||
# 5. Vérification
|
||||
echo "5. Vérification..."
|
||||
sleep 5
|
||||
if gam info user "$USER_EMAIL" >/dev/null 2>&1; then
|
||||
echo "❌ ERREUR: Le compte existe encore"
|
||||
else
|
||||
echo "✅ Compte supprimé avec succès"
|
||||
fi
|
||||
|
||||
echo "Suppression terminée."
|
||||
```
|
||||
|
||||
## Dépannage des problèmes courants
|
||||
|
||||
### Problème : Le compte ne se supprime pas
|
||||
**Solutions :**
|
||||
1. Vérifier les droits administrateur
|
||||
2. S'assurer qu'il n'y a pas de contraintes organisationnelles
|
||||
3. Utiliser GAM avec l'option `immediate`
|
||||
|
||||
### Problème : L'utilisateur apparaît encore dans les groupes
|
||||
**Solutions :**
|
||||
```bash
|
||||
# Forcer le retrait de tous les groupes
|
||||
gam print group-members | grep "user@domain.com" | awk '{print $1}' | while read group; do
|
||||
gam update group "$group" remove member "user@domain.com"
|
||||
done
|
||||
```
|
||||
|
||||
### Problème : Les fichiers Drive restent avec l'ancien propriétaire
|
||||
**Solutions :**
|
||||
```bash
|
||||
# Identifier les fichiers orphelins
|
||||
gam print filelist fields id,name,owners | grep "user@domain.com"
|
||||
|
||||
# Transférer manuellement si nécessaire
|
||||
gam user newowner@domain.com add drivefileacl FILEID user newowner@domain.com role owner
|
||||
```
|
||||
|
||||
## Check-list de suppression
|
||||
|
||||
### Avant la suppression :
|
||||
- [ ] Archivage des données critiques effectué
|
||||
- [ ] Transfert de propriété des fichiers Drive
|
||||
- [ ] Identification des groupes et calendriers partagés
|
||||
- [ ] Notification des collaborateurs concernés
|
||||
|
||||
### Pendant la suppression :
|
||||
- [ ] Retrait des groupes Google
|
||||
- [ ] Suppression des calendriers personnels
|
||||
- [ ] Transfert des sites Google (si applicable)
|
||||
- [ ] Suppression du compte avec option immédiate
|
||||
|
||||
### Après la suppression :
|
||||
- [ ] Vérification de la suppression complète
|
||||
- [ ] Contrôle de l'absence dans les groupes
|
||||
- [ ] Validation que les services continuent de fonctionner
|
||||
- [ ] Documentation de la procédure effectuée
|
||||
|
||||
---
|
||||
|
||||
**Note importante** : La visibilité persistante des comptes supprimés est un mécanisme de sécurité de Google. Pour une suppression immédiate et définitive, utiliser les outils GAM ou l'option de suppression définitive dans l'interface admin.
|
||||
|
||||
**Date de création** : 22 octobre 2025
|
||||
Reference in New Issue
Block a user