Une application web intelligente pour extraire et résumer vos documents avec l'IA
Fonctionnalités • Installation • Utilisation • Technologies
- 📄 Upload de documents : Support des formats PDF, DOCX et TXT
- 📊 Statistiques détaillées : Nombre de mots, caractères, phrases, temps de lecture
- ✂️ Résumé personnalisable : Choisissez le nombre de mots et le style
- 🤖 IA intégrée : Utilise OpenAI GPT-4o-mini pour des résumés de qualité
- 🌐 Traduction : Traduisez vos résumés en plusieurs langues
- 📋 Export facile : Copiez ou téléchargez votre résumé
- 👤 Comptes utilisateurs : Historique et statistiques personnalisés
- 🌙 Mode sombre/clair : Interface adaptative
git clone https://github.com/votre-username/nectar.git
cd nectarpython -m venv venv
# Windows
venv\Scripts\activate
# Mac/Linux
source venv/bin/activatepip install -r requirements.txtCopiez le fichier .env.example vers .env et remplissez vos clés :
cp .env.example .envModifiez le fichier .env avec vos propres clés :
# Flask
FLASK_SECRET_KEY=votre-cle-secrete-unique
# OpenAI API
OPENAI_API_KEY=sk-votre-cle-openai
# Firebase Configuration
FIREBASE_PROJECT_ID=votre-project-id
FIREBASE_PRIVATE_KEY_ID=votre-private-key-id
FIREBASE_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n"
FIREBASE_CLIENT_EMAIL=votre-service-account@projet.iam.gserviceaccount.com
FIREBASE_CLIENT_ID=votre-client-id
FIREBASE_CERT_URL=https://www.googleapis.com/robot/v1/metadata/x509/votre-service-account
⚠️ Important : Ne commitez JAMAIS le fichier.envsur GitHub !
python app.pyL'application sera accessible à : http://localhost:5000
- Uploadez un document (glisser-déposer ou clic)
- Cliquez sur "Extraire le texte"
- Consultez les statistiques du document
- Ajustez le nombre de mots souhaité pour le résumé
- Cliquez sur "Générer le résumé"
- Copiez ou téléchargez le résumé
📦 AI-Document-Summarizer
├── 📄 app.py # Application Flask principale
├── 📄 document_processor.py # Extraction de texte
├── 📄 summarizer.py # Génération de résumés
├── 📁 templates/
│ └── 📄 index.html # Interface utilisateur
├── 📁 static/
│ ├── 📄 style.css # Styles CSS
│ └── 📄 script.js # JavaScript frontend
├── 📄 requirements.txt # Dépendances Python
└── 📄 README.md # Documentation
- Backend : Python, Flask
- Frontend : HTML5, CSS3, JavaScript
- Extraction PDF : PyPDF2, pdfplumber
- Extraction DOCX : python-docx
- IA : OpenAI GPT-3.5 (optionnel)
| Endpoint | Méthode | Description |
|---|---|---|
/ |
GET | Page d'accueil |
/upload |
POST | Upload et extraction de texte |
/summarize |
POST | Génération du résumé |
L'interface propose :
- Zone de drag & drop moderne
- Statistiques visuelles
- Slider pour ajuster le résumé
- Design sombre et élégant
Dans app.py :
app.config['MAX_CONTENT_LENGTH'] = 16 * 1024 * 1024 # 16MBDans app.py :
app.config['ALLOWED_EXTENSIONS'] = {'pdf', 'docx', 'txt', 'rtf'}L'application essaie automatiquement plusieurs encodages (UTF-8, Latin-1, CP1252).
Certains PDF scannés (images) ne peuvent pas être extraits. Utilisez un outil OCR au préalable.
La méthode extractive sélectionne les phrases importantes mais ne reformule pas. Pour de meilleurs résultats, configurez une clé API OpenAI.
MIT License - Libre d'utilisation et de modification.
Fait avec ❤️ pour simplifier vos résumés de documents !
