dd-timer/README.md

6.7 KiB

⚔ 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
  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

Compiler

# 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

# 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.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