Files
Vincent Bourdon 5a03f8a38d import initial
2026-06-10 10:21:18 +02:00

102 lines
2.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Logimage Generator
Génère des puzzles nonogrammes (logimages) au format PDF à partir d'images récupérées automatiquement via Pexels ou Unsplash.
## Prérequis
- Python 3.11+
- Une clé API [Pexels](https://www.pexels.com/api/) (gratuite) ou [Unsplash](https://unsplash.com/developers) — facultatif si tu utilises une image locale (`--local-image`)
## Installation
Crée un environnement virtuel (obligatoire sur Debian/Ubuntu) :
```bash
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
```
> À chaque nouvelle session de terminal, réactive l'environnement avec `source .venv/bin/activate` avant de lancer `logimage`.
## Configuration
Copie le fichier d'exemple et renseigne ta clé API :
```bash
cp .env.example .env
```
Édite `.env` :
```env
# Pexels (prioritaire) — https://www.pexels.com/api/
PEXELS_API_KEY=ta_clé_pexels
# Unsplash (fallback) — https://unsplash.com/developers
UNSPLASH_ACCESS_KEY=ta_clé_unsplash
```
Si les deux clés sont présentes, Pexels est utilisé en priorité. Une seule clé suffit.
## Utilisation
```bash
# Un puzzle sur un thème aléatoire (difficulté moyenne, 15×15)
logimage
# Thème personnalisé
logimage --theme "montagne"
# Difficulté
logimage --difficulty easy # 10×10
logimage --difficulty medium # 15×15 (défaut)
logimage --difficulty hard # 20×20
# Taille personnalisée
logimage --size 20x25
# Plusieurs puzzles dans un seul PDF
logimage --count 5
# Inclure les pages solution
logimage --solution
# Chemin de sortie
logimage --output mon_carnet.pdf
# Image locale (sans appel API)
logimage --local-image photo.jpg
# Combinaisons
logimage --theme "architecture" --count 3 --difficulty hard --solution --output archi.pdf
```
Le PDF est généré dans le répertoire courant (`puzzles.pdf` par défaut).
## Recommandations d'usage
- **Thèmes en anglais** : les APIs Pexels et Unsplash renvoient de meilleurs résultats avec des mots-clés en anglais (`forest`, `city`, `animals`…).
- **Difficulté** : commence par `easy` (10×10) pour vérifier le rendu avant de générer des grilles complexes.
- **Lot de puzzles** : `--count 5 --solution` génère un carnet complet avec les solutions en fin de PDF.
- **Résolution** : les images sont redimensionnées automatiquement selon la taille de grille choisie. Une grille plus grande donne un puzzle plus précis mais plus difficile à résoudre.
## Développement
```bash
# Installer les dépendances de dev (dans le venv activé)
pip install -e ".[dev]"
# Lancer les tests
pytest tests/ -v
# Tests d'intégration (nécessitent une clé API valide)
pytest tests/ -v -m integration
# Linter
ruff check src/ tests/
# Vérification des types
mypy src/
```