# Prompt de développement – Color Picker mini-app

## Analyse du besoin
- Interface compacte avec roue chromatique, zone palette, volet latéral repliable "Theme CSS" affichant styles/typo.
- Actions attendues : sélectionner une couleur, afficher sa complémentaire, copier les codes HEX/RGB, afficher aperçu (pipette), streamer palettes CSS/typos stockées.
- Stockage : dossiers `themes/` et `palettes/` pour y déposer JSON/CSS réutilisables.
- Intégration : doit pouvoir être lancé depuis la barre mini-tools du dashboard et cohabiter avec d'autres mini-apps.

## Proposition d'architecture
1. Frontend web léger (HTML/CSS/JS) rendu via Tauri/Electron ou WebView GTK, pour un look moderne.
2. Backend minimal (Node.js ou Python) servant les fichiers statiques et exposant une API (ex. `GET /themes`, `GET /palettes`).
3. Composants clés :
   - Colonne droite : palette avec carte couleur + bouton copier + couleur complémentaire.
   - Centre : roue chromatique interactive + pipette et aperçu couleur sélectionnée.
   - Volet gauche repliable : aperçu "Theme CSS" (fond, typographies, boutons) chargé depuis `themes/`.
   - Barre inférieure : actions rapides (copier, exporter en CSS, ouvrir palette).
4. Données :
   - `palettes/*.json` (nom, description, code couleur, tags, langage associé).
   - `themes/*.css` (aperçu d'un thème complet plus métadonnées). 

## Choix techniques
- **Langage** : JavaScript/TypeScript + Svelte ou Vue pour agile; empaquetage via Tauri pour faible empreinte. Alternativement, Python + GTK si l’environnement cible préfère GTK.
- **UI** : `chroma.js` ou `tinycolor` pour la palette/roue et le calcul des complémentaires, Web APIs pour la pipette (canvas + input color).
- **Données** : JSON/YAML stockés dans `app/tools/color-picker/` et chargés dynamiquement côté front.
- **Lancement** : un script `scripts/color-picker.sh` ou un mini-wrapper Python qui ouvre la WebView / Tauri.

## Plan
1. Créer la structure `app/tools/color-picker/{src, themes, palettes, assets}`.
2. Initialiser un petit serveur `main.ts` ou `main.py` (selon stack) pour servir l’interface et exposer les APIs.
3. Développer l’UI (roue, volet thèmes, palettes, pipette) avec interactions décrites.
4. Charger dynamiquement `palettes/*.json` et `themes/*.css`, proposer un panneau pour ajouter/modifier.
5. Ajouter boutons “copier” qui placent HEX/RGB dans le presse-papier.
6. Documenter le lancement et l’intégration dans `config/equipements.yaml` via mini-tool.

## Tests
- Test manuel : lancer l’app (via Tauri ou un script) et valider roue réactive, volet dépliable, copie de couleur.
- Tests unitaires (JS) sur le parseur de palettes et les calculs de couleurs (complémentaire, contraste).

## TODO
1. Définir format palette/metadata.
2. Créer jeux de palettes (Monokai, Solarized, thèmes web populaires).
3. Implémenter pipette + copie automatique des codes.
4. Ajouter vue “Theme CSS” avec CSS/Font preview.
5. Préparer commande de lancement utilisable dans `minitools`.
6. Documenter la mini-app dans `README`.
