139 lines
7.8 KiB
Markdown
139 lines
7.8 KiB
Markdown
# ⚔ Minuteur Dragodinde — Dofus 3
|
|
|
|
Outil de gestion d'élevage de Dragodindes pour Dofus 3.
|
|
Application desktop Windows construite avec Electron.
|
|
|
|
🔗 **Repo** : https://gitea.mickael-pol.fr/mickael/dd-timer
|
|
|
|
## Fonctionnalités
|
|
|
|
- 🐦 Gestion de **6 enclos indépendants** avec jusqu'à 10 Dragodindes chacun
|
|
- ⏱ **Timer en temps réel** avec calcul automatique par tier de jauge (1→4)
|
|
- 📊 **Dashboard** vue d'ensemble multi-enclos
|
|
- 🔔 **Notifications natives Windows** même application en arrière-plan
|
|
- 🔊 **4 sons d'alarme** au choix (Arpège, Pulsation, Fanfare, Cloche)
|
|
- 🐉 **Jauges** : Baffeur, Caresseur, Foudroyeur, Abreuvoir, Dragofesse, Mangeoire (XP)
|
|
- 🖱 **Drag & drop** des enclos et des Dragodindes pour les réordonner
|
|
- ⬆ **Mise à jour automatique** via Gitea Releases
|
|
- 📱 **Notifications mobiles** via ntfy (serveur self-hosted)
|
|
- 💾 Sauvegarde automatique locale
|
|
|
|
## Installation (utilisateurs)
|
|
|
|
1. Télécharger `Minuteur Dragodinde Setup x.x.x.exe` depuis la section [Releases](https://gitea.mickael-pol.fr/mickael/dd-timer/releases)
|
|
2. **Clic droit → Propriétés → cocher "Débloquer" → OK** (important, une seule fois)
|
|
3. Double-cliquer pour lancer l'installation
|
|
4. L'app apparaît dans le menu Démarrer et sur le Bureau
|
|
|
|
> **Si Windows affiche "Application inconnue"** : cliquer **"Informations complémentaires" → "Exécuter quand même"**
|
|
|
|
## Build (développeurs)
|
|
|
|
### Prérequis
|
|
- [Node.js LTS](https://nodejs.org)
|
|
|
|
### Compiler
|
|
|
|
```bash
|
|
# Double-cliquer sur build.bat (admin auto)
|
|
# ou manuellement :
|
|
npm install
|
|
npm run build
|
|
```
|
|
|
|
L'installeur est généré dans `dist/`.
|
|
|
|
## Publier une nouvelle version
|
|
|
|
```bash
|
|
# 1. Modifier la version dans package.json ("version": "1.x.x")
|
|
# 2. Committer et tagger
|
|
git add .
|
|
git commit -m "v1.x.x - description"
|
|
git tag v1.x.x
|
|
git push && git push --tags
|
|
|
|
# 3. Sur Gitea : Releases → Nouvelle release → tag v1.x.x → attacher Setup.exe
|
|
```
|
|
|
|
## Structure
|
|
|
|
```
|
|
dd-timer/
|
|
├── src/index.html # Interface (HTML/CSS/JS)
|
|
├── main.js # Processus principal Electron + auto-update
|
|
├── preload.js # Bridge Electron ↔ renderer
|
|
├── icon.png # Icône (256x256)
|
|
├── package.json # Config et dépendances
|
|
└── build.bat # Script de build Windows (admin auto)
|
|
```
|
|
|
|
## Changelog
|
|
|
|
### v1.1.5
|
|
- ✨ **Onglet Accouplement** — selection des 2 parents, deduction automatique du bebe, saisie du nombre de couples et bebes obtenus pour alimenter les statistiques globales
|
|
- ✨ **Sidebar navigation** — menu hamburger avec panneau lateral overlay (Dashboard, Enclos, Accouplement, Reappro, Inventaire, Workflows, Parametres)
|
|
- ✨ **Onglet Parametres** — son d'alarme, notifications PC et mobile regroupes dans une vue dediee accessible via la sidebar
|
|
- ✨ **Reappro ♂/♀** — chaque etape de l'arbre affiche les genres necessaires (♂/♀) avec toggle d'inversion par croisement
|
|
- 🎨 Statistiques globales integrees au Dashboard (bebes, couples, taux de reussite, races obtenues)
|
|
- 🎨 Onglets horizontaux simplifies — seuls Dashboard et Enclos restent, le reste est dans la sidebar
|
|
- 🔧 Retrait du systeme de bebes des enclos — les accouplements se font desormais via l'onglet dedie
|
|
- 🔧 Migration automatique des donnees bebes existantes vers les statistiques archivees
|
|
- 🗑 Suppression de l'onglet Statistiques (donnees conservees dans le Dashboard)
|
|
|
|
### v1.1.4
|
|
- ✨ **Cible serenite par DD** — champ cible avec ETA en temps reel (calcul automatique baffeur/caresseur necessaire)
|
|
- ✨ **Cible niveau par DD** — champ cible avec ETA en temps reel (modele XP lineaire base sur le tier de la mangeoire)
|
|
- ✨ **Inventaire ♂/♀** — saisie du nombre de males et femelles par race dans l'inventaire
|
|
- ✨ **Contraintes de genre** — le calcul d'inventaire respecte la regle ♂+♀ obligatoire (plus de croisement ♂+♂ ou ♀+♀)
|
|
- ✨ **Bouton "Reinitialiser l'inventaire"** — remet a zero tous les stocks de DD (avec confirmation native)
|
|
- ✨ **Affichage du sexe des parents** — les resultats de croisement indiquent quel parent est ♂ et lequel est ♀
|
|
- 🎨 Serenite et XP reintegrees dans la barre de pills (comme endurance, amour, etc.)
|
|
- 🎨 Lignes dediees cible + ETA pour serenite et niveau sous les pills
|
|
- 🎨 Badges compacts pour les noms de jauges longs (baffeur, caresseur, mangeoire) sur les cartes DD
|
|
- 🎨 Zone de clic elargie sur les inputs ♂/♀ de l'inventaire
|
|
- 🎨 Padding et espacement corriges sur les cartes inventaire
|
|
- 🔧 Correction timer XP incorrect — affichait ~23h au lieu du temps reel
|
|
- 🔧 Correction defocus input reproducteur — l'input perdait le focus car oninput declenchait un rebuild DOM
|
|
- 🔧 Correction bebes produits — les bebes issus de croisements sont maintenant neutres (sexe inconnu) au lieu d'etre assignes ♂/♀ arbitrairement
|
|
- ⚡ Cache DOM `gel()` — les ~500+ appels getElementById par tick passent par un cache Map
|
|
- ⚡ Verification de mise a jour uniquement au demarrage (suppression du check toutes les heures)
|
|
|
|
### v1.1.3
|
|
- ✨ **Reinitialisation des statistiques** — bouton dans l'onglet Statistiques pour remettre a zero tous les bebes, historiques et stats archivees (avec confirmation)
|
|
- ✨ **Inputs intelligents** — les champs numeriques se vident au clic pour saisir facilement, et restaurent la valeur precedente si rien n'est change
|
|
- 🔧 Correction "vider l'enclos" / "nouvelle fournee" / "supprimer enclos" — remplacement de confirm() par un dialogue natif Electron pour corriger le bug qui rendait tous les inputs inutilisables
|
|
- 🔧 Correction du bug "enclos vide" — apres avoir vide un enclos ou lance une nouvelle fournee, une dragodinde est automatiquement ajoutee et les inputs restent editables
|
|
- 🔧 Correction "nouvelle fournee" — ne vide plus l'historique de session des bebes, seul "vider l'enclos" le fait
|
|
- 🔧 Correction des statistiques globales — supprimer un enclos conserve desormais ses stats dans les statistiques globales (archivage automatique)
|
|
- 🔧 Correction du bouton "Quitter" — utilisation de process.exit() pour forcer l'arret complet du processus
|
|
|
|
### v1.1.2
|
|
- 💾 **Sauvegarde persistante** — les donnees sont maintenant sauvegardees dans un fichier JSON, plus de perte de statistiques apres une mise a jour
|
|
- ❌ **Dialogue de fermeture** — cliquer sur la croix propose de minimiser en arriere-plan ou de quitter completement
|
|
|
|
### v1.1.1
|
|
- 🔧 Correction de la mise a jour automatique — l'app se relance maintenant toute seule apres installation
|
|
- 🔧 Correction de l'affichage du titre des notifications ntfy (encodage base64 supprime)
|
|
|
|
### v1.1.0
|
|
- 📱 **Notifications mobiles (ntfy)** — Alerte sur telephone quand un enclos est pret, via serveur ntfy self-hosted
|
|
- Modale de configuration avec QR code pour installer l'app ntfy (Play Store / App Store)
|
|
- QR code d'abonnement automatique via page de redirection (ntfy-redirect)
|
|
- Bouton de test des notifications
|
|
- Envoi via le processus principal Electron (pas de CORS)
|
|
- 🐣 **Systeme de bebes** — Ajout de bebes dragodindes issus de la reproduction dans chaque enclos
|
|
- Modale de selection par generation et race avec images
|
|
- Historique des bebes par enclos
|
|
- 📊 **Onglet Statistiques** — Vue globale de l'elevage avec KPIs, repartition par race, et progression par enclos
|
|
- 🖱 **Drag & drop** des onglets d'enclos pour les reordonner
|
|
- 🐉 **Images des dragodindes** par race avec couleurs par generation
|
|
- 📝 **Sous-onglets par enclos** (Elevage / Historique bebes)
|
|
- 🔧 **Mode DEV** — Donnees isolees et badge DEV visible quand lance avec `npm start`
|
|
- ⬆ **Mise a jour automatique** via Gitea Releases avec banniere de progression dans l'interface
|
|
- 🔧 Correction de l'identifiant applicatif (`fr.mickael-pol.minuteur-dragodinde`)
|
|
- 🔧 Masquage des spinners natifs sur les champs numeriques
|
|
|
|
### v1.0.0
|
|
- Version initiale
|