Tutoriel pratique

Anonymiser une transcription
avec Presidio

Traitement 100% local, conforme RGPD, open source - avec l'IA comme co-pilote pour vous guider à chaque étape.

20 minutes Débutant Microsoft Presidio

Détection auto

Noms, emails, téléphones, adresses détectés automatiquement

100% local

Aucune donnee ne quitte votre machine

IA co-pilote

Des prompts prêts à l'emploi pour vous débloquer

Conforme RGPD

Données personnelles supprimées avant envoi a l'IA

Pourquoi anonymiser avant d'utiliser l'IA ?

Vous venez d'enregistrer une réunion, un entretien ou une note vocale. Vous avez retranscrit cet enregistrement et vous disposez maintenant d'un fichier texte. Vous souhaitez l'analyser avec un outil d'IA générative (ChatGPT, Claude, Gemini...) pour en extraire un compte-rendu, des actions, ou une synthèse.

Le problème

Votre transcription contient très probablement des données personnelles : noms de personnes, numéros de téléphone, adresses e-mail, noms d'entreprises... Envoyer ces données brutes à un service d'IA cloud pose un risque au regard du RGPD.

La solution

Anonymiser automatiquement les données personnelles avant d'envoyer le texte a l'IA. L'outil que nous allons utiliser, Microsoft Presidio, est open source et fonctionne entièrement en local sur votre machine. Aucune donnée ne quitte votre ordinateur pendant le processus d'anonymisation.

Ce que vous allez apprendre

  • Installer l'outil d'anonymisation Presidio (en 2 commandes)
  • Détecter automatiquement les données personnelles dans une transcription
  • Remplacer ces données par des balises anonymes (<PERSON>, <PHONE_NUMBER>)
  • Obtenir un texte prêt à être analysé par une IA en toute sécurité
  • Utiliser l'IA générative comme co-pilote pour vous aider en cas de difficulté

Prérequis

  • Python 3.9 ou supérieur installé sur votre machine (gratuit, python.org)
  • Un fichier texte (.txt) contenant votre transcription
  • Aucune connaissance en programmation requise (copier-coller suffit !)
  • Un accès à une IA générative (Claude, ChatGPT, Gemini...) pour vous aider si besoin
💡

Votre IA est votre meilleure alliée pour ce tutoriel

Meme si tout est expliqué pas à pas, il est possible que vous rencontriez une erreur. Le bon réflexe : utiliser une IA generative comme assistant technique. Tout au long de ce tutoriel, vous verrez des encadres violets qui vous proposent des prompts prets a copier-coller dans votre IA préférée pour vous débloquer instantanément.

🎯

Principe clé

Vous n'avez pas besoin de comprendre le code pour l'utiliser. Et si une erreur survient, vous n'avez pas besoin de la comprendre non plus : il suffit de la copier-coller dans une IA qui vous expliquera quoi faire. C'est exactement la meme démarche qu'un développeur professionnel utilise au quotidien !

1

Installer Python (si ce n'est pas déjà fait)

Avant d'installer Presidio, il faut que Python soit present sur votre machine. Ouvrez un terminal et tapez :

Terminal
python --version

Si vous voyez un numéro de version (ex. Python 3.11.5), c'est bon, passez a l'étape 2 ! Sinon :

🤖 Prompt IA - Installer Python
Je suis sur [Windows 11 / Mac / Linux]. Je n'ai jamais installé Python. Peux-tu me guider pas à pas pour installer Python 3 sur ma machine ? Je suis débutant, explique-moi comme si je n'avais jamais ouvert un terminal.
💡

Astuce - Sur Windows, l'IA vous recommandera probablement d'installer Python depuis le Microsoft Store ou depuis python.org, en cochant la case "Add Python to PATH". Ce detail est crucial et l'IA le sait !

2

Installer Presidio et le modèle de langue

Ouvrez un terminal et tapez les commandes suivantes, une par une :

Installation des bibliothèques Python

Terminal
pip install presidio-analyzer presidio-anonymizer

Téléchargement du modèle de langue française

Terminal
python -m spacy download fr_core_news_lg
📚

Pourquoi ce modèle ? - spaCy est une bibliothèque de traitement du langage naturel. Le modele fr_core_news_lg est entraîné sur des textes français et sait reconnaître les noms de personnes, les lieux et les organisations. Il fonctionne entièrement hors ligne, sur votre machine.

Pour l'anglais, utilisez en_core_web_lg a la place.

🤖 Prompt IA - En cas d'erreur
J'essaie d'installer Presidio avec la commande pip install presidio-analyzer presidio-anonymizer mais j'obtiens l'erreur suivante : [COLLEZ L'ERREUR ICI]. Je suis sur [Windows/Mac/Linux] avec Python [VERSION]. Comment résoudre ce problème ?
3

Préparer votre transcription

Enregistrez votre transcription dans un fichier texte simple. Par exemple, créez un fichier appelé transcription.txt contenant :

transcription.txt
Bonjour, ici Marie Dupont du service RH.
J'ai eu un appel avec Jean-Pierre Martin ce matin.
Son numero est le 06 12 34 56 78 et son mail est
jp.martin@entreprise.fr.
Il habite au 15 rue de la Paix a Lyon.
Nous devons planifier une reunion avec l'equipe Sodexo
la semaine prochaine.
📋

Bonne pratique - Placez le fichier transcription.txt dans un dossier dédié (par exemple : C:\Anonymisation sur Windows ou ~/anonymisation sur Mac). Vous travaillerez depuis ce dossier.

🤖 Prompt IA - Créer le fichier
Comment creer un fichier texte nommé transcription.txt dans un nouveau dossier sur [Windows/Mac] ? Je suis débutant en informatique.
4

Créer le script d'anonymisation

Dans le même dossier que votre transcription, créez un fichier appelé anonymiser.py et copiez-collez le code suivant :

Python - anonymiser.py
# anonymiser.py
# Script d'anonymisation locale avec Microsoft Presidio

from presidio_analyzer import AnalyzerEngine
from presidio_analyzer.nlp_engine import NlpEngineProvider
from presidio_anonymizer import AnonymizerEngine

# --- Configuration pour le français ---
configuration = {
    "nlp_engine_name": "spacy",
    "models": [{"lang_code": "fr",
               "model_name": "fr_core_news_lg"}]
}

provider = NlpEngineProvider(
    nlp_configuration=configuration
)
nlp_engine = provider.create_engine()

# Création des moteurs d'analyse et d'anonymisation
analyzer = AnalyzerEngine(
    nlp_engine=nlp_engine,
    supported_languages=["fr"]
)
anonymizer = AnonymizerEngine()

# --- Lecture du fichier ---
with open("transcription.txt", "r",
         encoding="utf-8") as f:
    texte = f.read()

# --- Détection des données personnelles ---
resultats = analyzer.analyze(
    text=texte,
    language="fr"
)

# Affichage de ce qui a été détecté
print("\n=== Données personnelles détectées ===")
for r in resultats:
    print(f"  {r.entity_type:20s} | "
          f"« {texte[r.start:r.end]} »")

# --- Anonymisation ---
resultat_anonymise = anonymizer.anonymize(
    text=texte,
    analyzer_results=resultats
)

# Sauvegarde du résultat
with open("transcription_anonymisee.txt", "w",
         encoding="utf-8") as f:
    f.write(resultat_anonymise.text)

print("\n=== Texte anonymisé ===")
print(resultat_anonymise.text)
print("\n✔ Fichier sauvegardé : transcription_anonymisee.txt")
🔎

Que fait ce script ?

1) Il charge un moteur d'analyse configuré pour le français. 2) Il lit votre fichier transcription.txt. 3) Il détecte automatiquement les noms, téléphones, e-mails, adresses et autres donnees personnelles. 4) Il remplace chaque donnee par une balise générique. 5) Il sauvegarde le résultat dans un nouveau fichier.

🤖 Prompt IA - Comprendre le code
Peux-tu m'expliquer ligne par ligne ce que fait ce script Python ? Je suis débutant et je veux comprendre comment fonctionne l'anonymisation avec Presidio. [COLLEZ LE SCRIPT ICI]
5

Exécuter le script

Dans votre terminal, naviguez vers le dossier contenant vos fichiers et lancez le script :

Terminal
# Windows
cd C:\Anonymisation

# Mac / Linux
cd ~/anonymisation

# Lancer le script
python anonymiser.py

Résultat attendu

Sortie terminal
=== Données personnelles détectées ===
  PERSON               | « Marie Dupont »
  PERSON               | « Jean-Pierre Martin »
  PHONE_NUMBER         | « 06 12 34 56 78 »
  EMAIL_ADDRESS        | « jp.martin@entreprise.fr »
  LOCATION             | « 15 rue de la Paix a Lyon »
  ORGANIZATION         | « Sodexo »

=== Texte anonymisé ===
Bonjour, ici <PERSON> du service RH.
J'ai eu un appel avec <PERSON> ce matin.
Son numero est le <PHONE_NUMBER> et son
mail est <EMAIL_ADDRESS>.
Il habite au <LOCATION>.
Nous devons planifier une reunion avec
l'equipe <ORGANIZATION> la semaine prochaine.

✔ Fichier sauvegardé : transcription_anonymisee.txt
🤖 Prompt IA - Le script plante ?
J'ai lance le script anonymiser.py et j'obtiens cette erreur : [COLLEZ L'ERREUR COMPLETE ICI]. Mon fichier transcription.txt est dans le même dossier. Je suis sur [Windows/Mac/Linux]. Que dois-je faire ?
💡

Règle d'or - Copiez TOUJOURS l'intégralité du message d'erreur. Plus vous donnez de contexte a l'IA, plus sa réponse sera précise et actionnable.

6

Utiliser le texte anonymisé avec votre IA

Ouvrez le fichier transcription_anonymisee.txt généré par le script. Vous pouvez maintenant copier-coller ce texte dans l'outil d'IA de votre choix en toute sécurité.

🤖 Exemple de prompt a utiliser
Voici la transcription anonymisée d'une réunion.
Les données personnelles ont été remplacées par des balises (<PERSON>, <LOCATION>, etc.).
Merci de produire :
1. Un compte-rendu structure
2. La liste des actions decidees
3. Les points en suspens

[Collez ici le contenu de transcription_anonymisee.txt]
🔒

Sécurité confirmée - L'IA recevra des balises génériques (<PERSON>, <PHONE_NUMBER>...) a la place des vraies donnees personnelles. Elle pourra tout de meme comprendre la structure de la conversation et produire une synthese utile, mais sans jamais acceder aux informations identifiantes.

Référence : types de données détectées

Presidio détecte automatiquement de nombreux types de données personnelles. Voici les plus courants dans une transcription :

Balise Ce que c'est Exemple
<PERSON>Nom de personneMarie Dupont
<PHONE_NUMBER>Numéro de téléphone06 12 34 56 78
<EMAIL_ADDRESS>Adresse e-mailjean@mail.fr
<LOCATION>Adresse / lieu15 rue de la Paix
<ORGANIZATION>Nom d'entrepriseSodexo
<DATE_TIME>Date ou heure15 mars 2025
<IBAN_CODE>Numéro IBANFR76 3000 6000...
<CREDIT_CARD>Carte bancaire4111 1111 1111...
<IP_ADDRESS>Adresse IP192.168.1.1

Se faire aider par l'IA : le réflexe a adopter

L'IA générative n'est pas seulement utile pour analyser vos transcriptions : c'est aussi un formidable assistant technique pour installer, configurer et déboguer des outils comme Presidio.

Les 3 règles d'or pour prompter efficacement

  1. Donnez du contexte. Précisez toujours votre système d'exploitation, votre version de Python, et ce que vous essayez de faire. Plus l'IA a de contexte, plus sa réponse est pertinente.
  2. Copiez-collez les erreurs en entier. Ne résumez jamais un message d'erreur. Sélectionnez tout le texte en rouge ou la "traceback" complete et collez-la telle quelle. C'est dans les details que se cache la solution.
  3. Itérez avec l'IA. Si la première réponse ne règle pas le problème, dites-le ! Précisez ce que vous avez essayé, ce qui a change, et recollez le nouveau message d'erreur.

Prompts prêts à l'emploi

Déboguer une erreur du script

🤖 Prompt a copier
Je lance un script Python d'anonymisation de texte avec Microsoft Presidio. Voici le script complet : [COLLEZ LE SCRIPT]. Quand je l'exécute, j'obtiens cette erreur : [COLLEZ L'ERREUR]. Mon systeme : [Windows/Mac/Linux], Python [VERSION]. Comment corriger ?

Adapter le script à un besoin spécifique

🤖 Prompt a copier
J'utilise ce script Presidio pour anonymiser des transcriptions en français : [COLLEZ LE SCRIPT]. J'aimerais le modifier pour [DECRIVEZ VOTRE BESOIN, ex. : "traiter tous les fichiers .txt d'un dossier automatiquement" / "remplacer les noms par des pseudonymes au lieu de <PERSON>" / "ajouter la detection des numeros de sécurité sociale francais"]. Peux-tu modifier le script en conséquence ?

Comprendre un concept technique

🤖 Prompt a copier
Explique-moi simplement ce qu'est [NER / spaCy / un modèle NLP / l'anonymisation vs. la pseudonymisation / le RGPD appliqué aux transcriptions]. Je suis [manager / RH / assistant(e) / formateur] et je n'ai pas de formation technique.

Vérifier la qualité de l'anonymisation

🤖 Prompt a copier
Voici un texte qui a ete anonymisé automatiquement avec Microsoft Presidio. Peux-tu le relire et me dire si tu repères des données personnelles qui auraient échappé à l'anonymisation (noms, lieux, numeros, etc.) ? [COLLEZ LE TEXTE ANONYMISE]

Regle de sécurité - N'envoyez JAMAIS votre transcription brute (non anonymisée) a une IA pour lui demander de l'anonymiser. L'IA verrait alors toutes les données personnelles, ce qui est exactement ce que nous cherchons a éviter ! Presidio tourne en local sur votre machine, c'est justement la tout son intérêt.

Aller plus loin

Personnaliser le remplacement

Par défaut, Presidio remplace les données par le nom du type d'entité (ex. <PERSON>). Vous pouvez personnaliser ce comportement. Voici un exemple pour masquer les numéros de téléphone avec des etoiles :

Python
from presidio_anonymizer.entities import OperatorConfig

operators = {
    "DEFAULT": OperatorConfig("replace",
        {"new_value": "[ANONYMISE]"}),
    "PHONE_NUMBER": OperatorConfig("mask",
        {
            "type": "mask",
            "masking_char": "*",
            "chars_to_mask": 8,
            "from_end": True,
        }),
}

resultat = anonymizer.anonymize(
    text=texte,
    analyzer_results=resultats,
    operators=operators
)

Avec cette configuration, un numero comme 06 12 34 56 78 deviendra 06 12 ********, et les autres données seront remplacées par [ANONYMISE].

🤖 Prompt IA - Personnaliser
J'utilise Presidio pour anonymiser des transcriptions. Je voudrais que les noms de personnes soient remplacés par des faux noms réalistes (pseudonymisation) plutot que par <PERSON>. Peux-tu modifier le script pour intégrer la bibliothèque Faker et générer des noms français aléatoires ?

Améliorer la détection pour le français

Le modèle français de spaCy est performant mais pas parfait. Pour améliorer la détection, vous pouvez ajouter une liste de noms connus (deny list) spécifiques à votre contexte :

Python
from presidio_analyzer import PatternRecognizer

# Noms connus dans votre équipe
noms_equipe = ["Dupont", "Martin",
               "Lefebvre", "Bernard"]

recognizer = PatternRecognizer(
    supported_entity="PERSON",
    supported_language="fr",
    deny_list=noms_equipe
)

analyzer.registry.add_recognizer(recognizer)

Vérifier manuellement le résultat - Aucun outil d'anonymisation n'est parfait a 100%. Prenez toujours le temps de relire le fichier anonymisé avant de le partager avec un service cloud. Recherchez en particulier les noms propres, les numeros et les adresses qui auraient pu echapper a la détection automatique.

Résumé du processus

📱
Étape 1 Enregistrer avec le dictaphone et transcrire l'audio en texte
💾
Étape 2 Sauvegarder la transcription dans transcription.txt
Étape 3 Exécuter anonymiser.py (traitement 100% local)
🔎
Étape 4 Vérifier transcription_anonymisee.txt
🤖
Étape 5 Copier-coller le texte anonymisé dans votre IA
🎓

À retenir - L'anonymisation est une étape indispensable de la chaîne de traitement IA responsable. Avec Presidio, cette etape prend quelques secondes, coûte zéro euro, et garantit que les données personnelles ne quittent jamais votre machine. Et avec l'IA comme co-pilote, l'installation et la personnalisation sont a la portée de tous, meme sans compétences techniques.

Documentation officielle Presidio →