Une application web interactive en français pour explorer, analyser et enseigner les concepts scientifiques à partir d'articles de recherche PDF. Conçue pour chercheurs et experts.
PDF Explorer est une plateforme complète d'analyse scientifique qui combine extraction automatique de contenu, analyse méthodologique, visualisation de données et outils pédagogiques interactifs. L'application permet aux chercheurs d'explorer en profondeur la littérature scientifique avec des fonctionnalités avancées d'analyse et d'organisation.
- Détection automatique des citations dans le texte
- Extraction complète de la section bibliographie
- Export BibTeX, RIS, JSON pour gestionnaires de références
- Statistiques de citations (sources les plus citées, types de citations)
- Formatage selon différents styles (APA, IEEE, Chicago)
- Identification des formules et équations
- Support LaTeX (inline et display)
- Extraction des variables et opérateurs
- Conversion automatique en LaTeX
- Statistiques sur les équations (types, fréquence, complexité)
- Détection automatique du type d'approche (quantitative, qualitative, mixte)
- Identification des méthodes statistiques utilisées
- Analyse du design expérimental (randomisé, contrôlé, en aveugle)
- Extraction des protocoles et étapes méthodologiques
- Score de rigueur méthodologique (0-100)
- Informations sur l'échantillon et critères d'inclusion/exclusion
- Évaluation de la validité (interne, externe, fiabilité)
- Comparaison pairwise ou multiple
- Analyse de similarité de contenu
- Identification des auteurs et mots-clés communs
- Détection de clusters thématiques
- Matrice de similarité visuelle
- Phrases et sections communes
- Recommandations basées sur la similarité de contenu
- Recommandations par historique de lecture
- Recherche par thématique/mots-clés
- Recommandations par auteurs
- Identification des sujets tendances
- Réseau de collaborations entre auteurs
- Tags personnalisés avec couleurs
- Catégories scientifiques prédéfinies :
- Domaine (Informatique, Physique, Biologie, etc.)
- Type (Article, Revue, Thèse, etc.)
- Méthodologie (Expérimentale, Théorique, etc.)
- Statut de lecture
- Auto-suggestion de tags basée sur le contenu
- Recherche par tags (ET/OU logique)
- Statistiques d'utilisation
- Création de collections thématiques personnalisées
- Système de favoris avec priorités (1-5)
- Notes personnelles par document
- Couleurs et icônes personnalisables
- Export de collections complètes
- Statistiques par collection
- Suivi automatique du temps de lecture
- Progression de lecture par page
- Documents récemment consultés
- Statistiques de lecture (temps total, documents lus, sessions)
- Graphiques de lecture par période (jour, semaine, mois)
- Reprise automatique à la dernière page lue
- Extraction automatique des concepts clés avec fréquence
- Génération de quiz adaptatifs avec explications
- Fiches de synthèse structurées
- Visualisations statistiques (distribution, graphiques)
- Timeline de recherche par année
- 10 types d'applications pédagogiques générées automatiquement à partir du contenu scientifique
- Visualisations de données interactives : Explorer les résultats expérimentaux avec zoom, filtres, comparaisons
- Simulations scientifiques : Manipuler les paramètres (croissance, distributions, processus dynamiques)
- Diagrammes de concepts : Cartes mentales, flux méthodologiques, réseaux de relations
- Exercices pratiques : 3 niveaux (beginner/intermediate/advanced) avec feedback immédiat
- Calculateurs scientifiques : Taille d'échantillon, puissance, intervalles de confiance, taille d'effet
- Timelines de recherche : Contextualisation historique des découvertes
- Explorateurs de graphiques : Analyse approfondie des figures (mesures, annotations, extraction de données)
- Comparateurs : Tableaux de données côte-à-côte avec calculs automatiques
- Intégration avec l'analyse méthodologique pour adapter la complexité
- Conçu pour chercheurs experts avec nuances scientifiques
- Voir GUIDE_APPLICATIONS_INTERACTIVES.md pour plus de détails
- Markdown : Format texte structuré avec sections
- LaTeX : Document compilable pour publications
- JSON : Export structuré complet avec métadonnées
- HTML : Fiches de synthèse imprimables
- Export des annotations avec contexte
- Export de bibliographie (BibTeX, RIS)
- Indexation complète avec Whoosh
- Recherche dans titres, textes, sections, abstracts
- Snippets avec surlignage
- Suggestions de recherche
- Filtres avancés
- Scores de pertinence
- Affichage des figures extraites
- Tableaux interactifs
- Navigation par sections
- Annotations visuelles
- Aperçu multi-documents
backend/app/
├── api/
│ ├── documents.py # Gestion des documents
│ ├── search.py # Recherche full-text
│ ├── annotations.py # Annotations
│ ├── interactive.py # Modules pédagogiques
│ ├── advanced.py # 🆕 Analyse avancée
│ ├── organization.py # 🆕 Tags, collections, historique
│ └── learning.py # 🆕 Applications interactives
├── services/
│ ├── pdf_processor.py # Extraction PDF
│ ├── search_indexer.py # Indexation Whoosh
│ ├── annotation_manager.py # Gestion annotations
│ ├── bibliography_extractor.py # 🆕 Extraction biblio
│ ├── equation_detector.py # 🆕 Détection équations
│ ├── methodology_analyzer.py # 🆕 Analyse méthodologie
│ ├── document_comparator.py # 🆕 Comparaison
│ ├── recommender.py # 🆕 Recommandations
│ ├── exporter.py # 🆕 Export multi-formats
│ ├── tags_manager.py # 🆕 Gestion tags
│ ├── collections_manager.py # 🆕 Collections/favoris
│ ├── reading_history.py # 🆕 Historique lecture
│ └── interactive_generator.py # 🆕 Générateur d'applications interactives
└── models/
├── document.py
└── annotation.py
frontend/src/
├── pages/
│ ├── Home.jsx # Page d'accueil
│ ├── DocumentList.jsx # Liste documents
│ ├── DocumentViewer.jsx # Visualisation document
│ ├── Search.jsx # Recherche
│ ├── Interactive.jsx # Modules interactifs
│ └── Advanced.jsx # 🆕 Analyse avancée
├── components/
│ ├── Layout.jsx
│ └── AnnotationPanel.jsx
└── services/
└── api.js # Service API complet
data/
├── pdfs/ # PDFs originaux
├── extracted/ # Figures et images extraites
├── index/ # Index de recherche Whoosh
├── annotations/ # Annotations (JSON)
├── tags/ # 🆕 Tags et catégories
├── collections/ # 🆕 Collections et favoris
└── history/ # 🆕 Historique de lecture
- Python 3.9+
- Node.js 16+
- pip et npm
Le plus robuste avec fallbacks automatiques et gestion d'erreurs complète
python3 start.pyFonctionnalités :
- ✅ Détection automatique des ports disponibles (fallback si occupés)
- ✅ Vérification des prérequis (Python, Node.js, npm)
- ✅ Configuration automatique (venv, dépendances)
- ✅ Gestion d'erreurs robuste avec messages clairs
- ✅ Multi-plateforme (Linux, macOS, Windows)
- ✅ Arrêt propre avec Ctrl+C
Voir DEMARRAGE_RAPIDE.md pour le guide complet
Linux/Mac :
./start.shWindows :
start.batBackend :
cd backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000Frontend :
cd frontend
npm install
npm run devdocker-compose up --buildSi vous rencontrez des difficultés, consultez :
- DEMARRAGE_RAPIDE.md - Guide détaillé avec résolution de problèmes
- Section "Résolution de Problèmes" ci-dessous
- Essayez
python3 start.pyqui gère automatiquement la plupart des problèmes
- Lancer l'application : http://localhost:5173
- Ajouter des PDFs : Placer vos PDFs dans
data/pdfs/ - Indexer : Cliquer sur "Indexer les documents"
- Explorer : Naviguer dans les documents indexés
1. Ouvrir un document
2. Aller dans "Modules interactifs" → Puis "Analyse Avancée"
3. Consulter l'onglet "Méthodologie"
4. Voir le score de rigueur et les détails méthodologiques
1. Sélectionner plusieurs documents
2. API: POST /api/advanced/compare avec IDs
3. Visualiser la matrice de similarité
4. Identifier les clusters thématiques
1. Ouvrir un document
2. Aller dans "Analyse Avancée" → "Bibliographie"
3. Consulter les citations et références
4. Exporter en BibTeX ou RIS
1. Ouvrir un document
2. Ajouter des tags personnalisés
3. Utiliser les suggestions automatiques
4. Rechercher par tags
1. Créer une collection thématique
2. Ajouter des documents à la collection
3. Organiser par thème de recherche
4. Exporter la collection
- Indexer tous les articles d'un domaine
- Utiliser les tags pour catégoriser
- Comparer les méthodologies
- Identifier les tendances avec les recommandations
- Évaluer la rigueur scientifique (score)
- Comparer les approches expérimentales
- Extraire les protocoles
- Identifier les méthodes statistiques
- Extraire toutes les références
- Exporter en BibTeX pour LaTeX
- Analyser le réseau de citations
- Identifier les sources clés
- Comparer avec la littérature existante
- Extraire les équations et formules
- Exporter en format LaTeX
- Identifier les gaps méthodologiques
- Créer des quiz à partir du contenu
- Générer des fiches de synthèse
- Visualiser les concepts clés
- Annoter pour les étudiants
- Générer des applications interactives pour illustrer les concepts complexes
- Créer des simulations pour explorer les paramètres méthodologiques
- Utiliser des calculateurs pour vérifier les analyses statistiques
- Voir GUIDE_APPLICATIONS_INTERACTIVES.md
L'API complète est documentée avec Swagger UI : http://localhost:8000/docs
GET /{document_id}/bibliography- Extraction bibliographieGET /{document_id}/equations- Détection équationsGET /{document_id}/methodology- Analyse méthodologiePOST /compare- Comparaison de documentsGET /{document_id}/recommendations- RecommandationsGET /recommendations/trending-topics- Sujets tendancesGET /{document_id}/export- Export multi-formats
POST /tags/{document_id}- Ajouter tagGET /tags/search- Rechercher par tagsPOST /collections- Créer collectionPOST /favorites/{document_id}- Ajouter aux favorisPOST /history/{document_id}- Enregistrer lectureGET /history/statistics- Statistiques de lecture
GET /{document_id}/interactions- Toutes les applications pour un documentGET /{document_id}/interactions/visualizations- Visualisations de donnéesGET /{document_id}/interactions/simulations- Simulations scientifiquesGET /{document_id}/interactions/diagrams- Diagrammes de conceptsGET /{document_id}/interactions/exercises- Exercices pratiquesGET /{document_id}/interactions/calculators- Calculateurs scientifiquesGET /{document_id}/interactions/timeline- Timeline de rechercheGET /{document_id}/interactions/graph-explorers- Explorateurs de graphiquesGET /{document_id}/interactions/comparisons- Comparateurs de donnéesGET /types- Types d'interactions disponiblesPOST /{document_id}/interactions/custom- Créer interaction personnalisée
- FastAPI - Framework web moderne
- Python 3.9+ - Langage principal
- PyPDF2 & pdfplumber - Extraction PDF
- Whoosh - Indexation full-text
- Pillow - Traitement d'images
- React 18 - Framework UI
- Vite - Build tool rapide
- TailwindCSS - Styling
- Recharts - Visualisations
- Lucide React - Icônes
- Extraction PDF : ~2-5 secondes par document
- Indexation : ~100 documents/minute
- Recherche : < 100ms pour 1000 documents
- Score de rigueur : Basé sur 6 critères méthodologiques
- Similarité : Algorithme Jaccard + SequenceMatcher
Toutes les données sont stockées localement :
- Aucune connexion externe requise
- PDFs restent sur votre machine
- Annotations privées
- Historique local uniquement
Les contributions sont bienvenues ! Domaines prioritaires :
- Amélioration de l'extraction d'équations
- Support OCR pour PDFs scannés
- Intégration gestionnaires de références (Zotero, Mendeley)
- Export PowerPoint pour présentations
- Visualisation de réseaux de citations
# Vérifier les dépendances
pip install -r requirements.txt --upgrade
# Vérifier les permissions
chmod 755 data/pdfs/- Vérifier que le PDF contient du texte (pas une image scannée)
- Les équations doivent être en format texte ou LaTeX
- Normal si la méthodologie n'est pas claire dans le texte
- Le score évalue : section méthodologie, design, méthodes statistiques, échantillon, validité
- Démarrage Rapide ⭐ - Guide de démarrage avec résolution de problèmes
- Guide d'utilisation complet
- Liste des fonctionnalités v2.0
- Guide des Applications Interactives 🆕
- Système d'Applications Interactives - Résumé technique
- API Documentation
Si vous utilisez PDF Explorer dans vos travaux de recherche, veuillez citer :
@software{pdf_explorer_2024,
title = {PDF Explorer: Plateforme d'Analyse Scientifique Avancée},
author = {PDF Explorer Contributors},
year = {2024},
version = {2.0},
url = {https://github.com/votre-repo/pdf-explorer}
}- Issues : GitHub Issues
- Documentation : Wiki
- API Docs : http://localhost:8000/docs
- OCR pour PDFs scannés (Tesseract)
- Extraction de datasets et protocoles
- Intégration Zotero/Mendeley
- Analyse de reproductibilité
- Export PowerPoint
- Support multilingue (EN, ES, DE)
- Mode collaboratif
- API publique avec authentification
MIT License - Voir LICENSE
PDF Explorer v2.0 - Développé pour les chercheurs, par des chercheurs 🔬📚