Portrait d’Adeline Meistertzheim

ADELINE MEISTERTZHEIM

DEVELOPPEUSE WEB FULLSTACK

Toutes les réalisations
Projets Personneljuin 2026

Analyseur de documents — un outil Python pour analyser automatiquement des textes et PDF

Analyseur de documents est une application desktop développée en Python permettant d’analyser automatiquement des fichiers .txt et .pdf. L’outil extrait différentes informations utiles comme le nombre de mots, les phrases trop longues, les mots les plus fréquents ou encore les termes techniques présents dans le document. Ce projet m’a permis de découvrir Python à travers un cas concret, utile et évolutif.

Python
Aperçu de Analyseur de documents — un outil Python pour analyser automatiquement des textes et PDF

Contexte du projet

Dans le cadre de mon apprentissage de Python, je souhaitais créer un projet à la fois simple à démarrer, utile dans mon quotidien et suffisamment évolutif pour me permettre de progresser étape par étape. L’idée est venue de mes besoins personnels : lors de la rédaction de rapports, de lettres de motivation ou de documents techniques, il peut être utile d’avoir un outil capable d’analyser rapidement la structure d’un texte. Par exemple, repérer les phrases trop longues, identifier les mots récurrents ou vérifier la présence de certains termes techniques. J’ai donc choisi de développer un analyseur de documents, sous forme d’application graphique, capable de lire des fichiers texte et PDF.

Besoin et objectif

L’objectif principal était de créer une application permettant d’analyser automatiquement un document afin d’obtenir un rapport synthétique sur son contenu. Le projet devait permettre de :
  • lire un fichier .txt ou .pdf
  • extraire le texte du document
  • calculer des statistiques simples
  • détecter les phrases trop longues
  • identifier les mots les plus fréquents
  • rechercher des termes techniques personnalisés
  • exporter le résultat de l’analyse
  • proposer une interface graphique moderne et simple à utiliser
Ce projet avait aussi un objectif pédagogique : apprendre les bases de Python en construisant un outil concret plutôt qu’en réalisant uniquement des exercices isolés.

Fonctionnalités principales

Lecture de fichiers texte et PDF

L’application permet d’analyser deux formats de fichiers :
  • les fichiers .txt
  • les fichiers .pdf
Pour les fichiers PDF, l’application utilise une librairie spécialisée afin d’extraire le texte des pages.

Statistiques générales

L’outil calcule plusieurs informations sur le document :
  • nombre de caractères
  • nombre de mots
  • nombre de phrases
  • nombre moyen de mots par phrase
  • nombre de phrases longues détectées
  • nombre de termes techniques recherchés
  • nombre de termes techniques trouvés
Ces informations donnent une première vision globale du document.

Détection des mots les plus fréquents

L’application analyse le texte et affiche les mots les plus utilisés dans le document. Afin d’obtenir un résultat plus pertinent, certains mots courants sont ignorés, comme :
le, la, les, un, une, de, des, et, dans, pour...
Cela permet de mettre davantage en valeur les mots réellement importants du document.

Détection des phrases longues

L’outil permet de détecter les phrases qui dépassent un certain nombre de mots. Le seuil est personnalisable directement depuis l’interface. Par exemple, l’utilisateur peut choisir de considérer qu’une phrase est trop longue à partir de :
25 mots
35 mots
50 mots
Cette fonctionnalité est particulièrement utile pour améliorer la lisibilité d’un rapport ou d’une lettre de motivation.

Recherche de termes techniques personnalisés

Au départ, les termes techniques étaient définis directement dans le code. J’ai ensuite fait évoluer l’application pour permettre à l’utilisateur de saisir sa propre liste de termes avant l’analyse. Par exemple :
API
Docker
React Native
base de données
authentification
endpoint
JSON
L’application recherche ensuite ces termes dans le document et affiche ceux qui ont été détectés. Cette fonctionnalité rend l’outil plus flexible, car la liste peut être adaptée selon le type de document analysé.

Interface graphique avec onglets

L’application dispose d’une interface graphique organisée en plusieurs onglets :
Statistiques
Mots fréquents
Phrases longues
Termes techniques
Cette organisation rend les résultats plus lisibles et évite d’afficher toutes les informations dans une seule grande zone de texte.

Interface modernisée

Après une première version en Tkinter classique, j’ai amélioré l’apparence de l’application avec CustomTkinter. Cela m’a permis d’ajouter :
  • une interface plus moderne
  • un mode sombre
  • des boutons plus propres
  • des cadres arrondis
  • une meilleure organisation visuelle
  • un bouton permettant de changer le thème

Export du rapport d’analyse

L’utilisateur peut exporter le résultat de l’analyse dans un fichier .txt. Cela permet de conserver une trace de l’analyse ou de comparer plusieurs versions d’un même document.

Défis rencontrés

Installation des dépendances

La première difficulté a été liée à l’installation des paquets Python sous Windows. La commande pip n’était pas reconnue dans le terminal Git Bash. J’ai donc appris à utiliser :
py -m pip install nom_du_paquet
Cela m’a permis d’installer correctement les dépendances comme pymupdf et customtkinter.

Extraction du texte depuis un PDF

Lire un fichier texte est assez simple, mais lire un PDF est plus complexe. Le texte extrait ne correspond pas toujours exactement à ce que l’on voit visuellement dans le document. Par exemple, il peut y avoir des problèmes avec :
  • les sauts de ligne
  • les en-têtes
  • les pieds de page
  • les listes à puces
  • l’ordre du texte
  • les éléments de mise en page
Cette difficulté m’a permis de comprendre qu’un PDF n’est pas simplement un fichier texte, mais un document avec une structure visuelle.

Détection des phrases longues

La détection des phrases longues semble simple au départ, mais elle dépend beaucoup de la manière dont les phrases sont découpées. Il faut prendre en compte les signes de ponctuation comme :
.
!
?
Mais certains cas peuvent être plus complexes, par exemple les abréviations, les titres ou les listes.

Personnalisation des termes techniques

Au départ, les termes techniques étaient codés en dur dans le programme. Cette solution fonctionnait, mais elle n’était pas flexible. J’ai donc modifié l’application pour que l’utilisateur puisse saisir lui-même les termes à rechercher. Cela m’a permis de mieux comprendre comment transmettre des données depuis l’interface vers la logique métier.

Génération d’un exécutable

J’ai également découvert que transformer un projet Python en application exécutable demande quelques précautions. Avec PyInstaller, il faut notamment faire attention :
  • aux dépendances
  • aux fichiers externes
  • au mode console ou fenêtre
  • aux différences entre Windows et Linux

Ce que j’ai appris

Ce projet m’a permis de découvrir plusieurs notions importantes en Python.

Lecture et manipulation de fichiers

J’ai appris à lire différents types de fichiers, notamment les fichiers texte et PDF. J’ai également appris à gérer les chemins de fichiers avec pathlib.

Traitement de texte

J’ai travaillé sur :
  • le découpage d’un texte en mots
  • le découpage d’un texte en phrases
  • l’utilisation d’expressions régulières
  • le comptage des occurrences
  • le filtrage des mots courants

Organisation du code

Le projet m’a permis de mieux structurer une application Python en séparant les responsabilités :
analyseur.py      logique d’analyse
lecteur_pdf.py    lecture des fichiers PDF
exporteur.py      export du rapport
interface.py      interface graphique
main.py           point d’entrée de l’application
Cette organisation rend le projet plus lisible et plus facile à faire évoluer.

Interface graphique

J’ai appris à créer une interface desktop avec Tkinter, puis à l’améliorer avec CustomTkinter. J’ai découvert comment créer :
  • des boutons
  • des champs de saisie
  • des zones de texte
  • des onglets
  • des fenêtres de sélection de fichier
  • des messages d’erreur et de confirmation

Gestion des erreurs

J’ai aussi ajouté des vérifications pour éviter certains problèmes :
  • aucun fichier sélectionné
  • format non supporté
  • seuil de phrase longue invalide
  • export demandé avant l’analyse

Avis visiteurs

Chargement des avis...

Un besoin similaire pour votre activité ?

Discutons de votre projet
Analyseur de documents — un outil Python pour analyser automatiquement des textes et PDF | Adeline Meistertzheim