Une application web moderne pour générer des lettres de motivation personnalisées avec l'intelligence artificielle.
- Génération intelligente : Utilise OpenAI (via OpenRouter) pour créer des lettres de motivation personnalisées
- Templates personnalisables : Modifiez le template de base selon vos besoins
- Prompts configurables : Ajustez les instructions données à l'IA
- Sauvegarde locale : Stockage des lettres générées dans le navigateur (localStorage)
- Titres personnalisés : Ajoutez des titres descriptifs à vos générations
- Organisation par date : Historique groupé par "Aujourd'hui", "Hier", et dates antérieures
- Prévisualisation : Visualisez et éditez vos lettres sauvegardées
- Design responsive : Interface adaptée mobile et desktop
- Mode sombre/clair : Basculez entre les thèmes avec un toggle
- Navigation intuitive : Barre de navigation fixe avec icônes
- Animations fluides : Transitions et feedback visuels
- Génération PDF : Exportez vos lettres au format PDF
- Styling professionnel : Mise en forme GitHub Markdown
- Nommage intelligent : Fichiers nommés automatiquement
- Flask : Framework web Python
- Flask-SocketIO : Communication temps réel
- OpenAI API : Génération de contenu IA (via OpenRouter)
- WeasyPrint : Génération de PDF
- Markdown : Traitement du contenu
- HTML5/CSS3 : Structure et styling
- JavaScript ES6+ : Logique côté client
- Socket.IO : Communication bidirectionnelle
- Tailwind CSS : Framework CSS utilitaire
- CSS Variables : Système de thèmes dynamiques
- Python 3.8+
- Clé API OpenRouter
- Cloner le repository
git clone <repository-url>
cd lm
- Installer les dépendances
pip install -r requirements.txt
- Configuration des variables d'environnement
# Créer un fichier .env
echo "OPENROUTER_API_KEY=votre_clé_api_ici" > .env
- Lancer l'application
python app.py
- Accéder à l'application
Ouvrez votre navigateur à
http://localhost:5000
lm/
├── app.py # Serveur Flask principal
├── requirements.txt # Dépendances Python
├── README.md # Documentation
├── passenger_wsgi.py # Configuration WSGI
├── static/
│ ├── css/ # Styles CSS
│ ├── js/ # Scripts JavaScript
│ │ ├── index.js # Page principale
│ │ ├── history.js # Gestion historique
│ │ ├── preview.js # Prévisualisation
│ │ ├── settings.js # Paramètres
│ │ └── base.js # Scripts globaux
│ └── img/ # Images et assets
└── templates/
├── base.html # Template de base
├── index.html # Page principale
├── history.html # Page historique
├── preview.html # Page prévisualisation
├── settings.html # Page paramètres
└── navbar.html # Navigation
- Saisissez votre demande dans la zone de texte
- Cliquez sur "Générer"
- Attendez la génération par l'IA
- Visualisez le résultat
- Après génération, une popup s'affiche automatiquement
- Entrez un titre descriptif
- Cliquez sur "Enregistrer"
- Cliquez sur l'onglet "Historique"
- Parcourez vos lettres organisées par date
- Cliquez sur "Voir" pour prévisualiser
- Accédez aux "Paramètres" via l'icône ⚙️
- Modifiez le prompt ou le template
- Activez/désactivez le mode sombre
- Depuis la prévisualisation ou après génération
- Cliquez sur "Exporter en PDF"
- Le fichier se télécharge automatiquement
OPENROUTER_API_KEY
: Clé API pour OpenRouter (obligatoire)
- Template : Modifiez le template de lettre via l'interface
- Prompt : Ajustez les instructions données à l'IA
- Thème : Basculez entre mode clair et sombre
- Variables CSS dynamiques
- Support complet dark/light mode
- Persistence des préférences
- Historique stocké localement (pas de serveur requis)
- Structure JSON organisée
- Gestion des IDs uniques
- Design mobile-first
- Navigation adaptive
- Boutons optimisés pour le touch
- Configurez un serveur WSGI (Gunicorn, uWSGI)
- Utilisez un reverse proxy (Nginx)
- Configurez HTTPS pour la sécurité
Les contributions sont les bienvenues ! Pour contribuer :
- Fork le projet
- Créez une branche feature (
git checkout -b feature/AmazingFeature
) - Commitez vos changes (
git commit -m 'Add some AmazingFeature'
) - Push vers la branche (
git push origin feature/AmazingFeature
) - Ouvrez une Pull Request
Pour toute question ou problème :
- Ouvrez une issue sur GitHub
- Consultez la documentation
- Vérifiez les logs d'erreur dans la console
- ✅ Génération de lettres de motivation avec IA
- ✅ Système d'historique complet
- ✅ Interface responsive avec dark mode
- ✅ Export PDF professionnel
- ✅ Personnalisation des templates et prompts
Développé avec ❤️ pour simplifier la création de lettres de motivation professionnelles.