Commit Graph

33 Commits

Author SHA1 Message Date
Jules
cb76756ee1 V3.4.2 — Fix menu contextuel Windows
- Les sous-menus sont maintenant des entrees individuelles dans le menu
  contextuel (pas de SubCommands qui ne fonctionne pas)
- Chaque action a sa propre entree : CopyDev: Livret A4, Livret A3, etc.
- Le unregister nettoie toutes les entrees
- Suppression de l'ancienne entree CopyDevImpose vide

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 17:26:41 +01:00
Jules
04ead9b18f V3.4.1 — Integration Windows depuis le menu Aide
- Aide > Integrer a Windows : enregistre en 1 clic
  - Association fichier PDF (Ouvrir avec)
  - Menu contextuel (clic droit > CopyDev Impose)
  - Sous-menu : Ouvrir, Livret A4, Livret A3, 2x2, Delivretiser
- Aide > Retirer l'integration Windows : nettoie le registre

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 17:14:22 +01:00
Jules
e05f2e1fba V3.4.0 — Panneau fusion, macros CLI, bouton config client Vision
- Panneau de fusion PDF avec dialog dedié :
  - Liste des fichiers avec drag & drop pour reordonner
  - Boutons Ajouter/Retirer/Monter/Descendre
  - Pre-rempli avec le fichier courant
- Support --macro en ligne de commande
- register_windows.bat : ajout dynamique des macros au menu contextuel
- Vision : bouton "Configurer le client" dans le modal licence
  (ouvre le gros modal client avec SFTP, fonctions, tunnel, etc.)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 16:54:34 +01:00
Jules
5e368ef260 V3.3.1 — Impression directe via QPrinter
- Impression directe sans passer par un lecteur PDF externe
- Dialogue d'impression natif Windows (QPrintDialog)
- Choix imprimante, copies, pages, orientation
- Rendu haute resolution (DPI de l'imprimante)
- Centrage automatique sur la page
- Fonctionne sans Adobe/Edge/lecteur PDF installe

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 16:43:32 +01:00
Jules
2fcc92dbd9 V3.3.0 — Edition contenu, actions CLI, menu contextuel enrichi
- Edition de contenu PDF (Annotations > Editer le contenu) :
  - Onglet Texte : liste le texte detecte, masquer des lignes
  - Onglet Images : liste les images, remplacer ou masquer
- Actions en ligne de commande (--action booklet_a4|booklet_a3|nup_2x2|unbooklet)
- Menu contextuel Windows enrichi :
  - Ouvrir, Livret A4, Livret A3, 2x2 par feuille, Delivretiser
- Bouton Editer dans la barre d'outils droite

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 16:33:43 +01:00
Jules
202a4fc536 V3.2.0 — Macros, grille vignettes, progression fun, shuffle, sample doc
- Macros : enregistrer la derniere action sous un nom, rejouer, supprimer
  Menu Macros avec liste des macros enregistrees
- Grille adaptive dans le panneau de vignettes (s'adapte a la largeur)
- Barre de progression avec messages fun/rigolos
  (Pliage des pages en origami, Consultation des esprits de Gutenberg...)
- Separer paires/impaires en 2 fichiers
- Creer un document test numerote (Pages > Creer un document test)
- _last_action sauvegardee pour booklet, nup, step_repeat, trim_shift

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 16:22:48 +01:00
Jules
1d48e103e3 V3.1.0 — Selection multiple, impression, MAJ dans Aide, menu contextuel
- Selection multiple dans les vignettes (Ctrl+clic, Maj+clic)
- Rotation/suppression sur selection multiple
- Impression : os.startfile(print) avec fallback
- MAJ deplacee dans Aide > Rechercher une mise a jour (plus au demarrage)
- Support arguments CLI : ouvrir un PDF en argument, fusionner si plusieurs
- register_windows.bat : association fichier PDF + menu contextuel Windows
  - Clic droit > CopyDev Impose > Ouvrir / Livret A4 / Livret A3
- Presets manager (base pour macros)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 16:15:25 +01:00
Jules
673d76caa2 V3.0.0 — Rotation, Annuler/Refaire, Delivretiser, Trim&Shift, Inverser
- Rotation de pages : clic droit sur vignette → Pivoter +90/-90/180
  Aussi dans le menu Pages
- Ctrl+Z / Ctrl+Y : annuler et refaire (pile de 20 etats)
- Delivretiser : coupe les pages en 2 et remet dans l'ordre sequentiel
  (inverse de la creation de livret)
- Trim & Shift : decaler le contenu des pages
  - Decalage X/Y different pages paires/impaires
  - Compensation de creep progressive pour livrets epais
- Inverser l'ordre des pages (menu Pages)
- Fix impression : ouvre le PDF dans le lecteur par defaut
- Barre outils droite : ajout Delivretiser, Trim/Shift, Inverser

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 16:02:07 +01:00
Jules
cee86f5c03 V2.6.0 — Recadrage non-destructif + impression + licence dialog
- Recadrage non-destructif :
  - Garde le fichier original en memoire
  - Reouvrir Recadrer reaffiche la page entiere avec le cadre existant
  - Les marges sont pre-remplies avec le crop precedent
  - Annuler revient au fichier actuel
- Impression : os.startfile(path, "print") ouvre le dialogue d'impression
  Windows directement (au lieu d'ouvrir le navigateur)
- Dialogue de licence custom (logo, champ monospace, bouton cyan)
- Messages erreur/succes en dialogues custom colores

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 15:35:57 +01:00
Jules
c6d3ddcf9d V2.5.2 — Selection redimensionnable + fix crop + bouton Effacer
- Rectangle de selection redimensionnable par les 8 poignees (angles + cotes)
- Curseurs adaptes selon la poignee survolee
- Deplacement du rectangle entier en cliquant a l'interieur
- Zone sombre en dehors, cadre cyan, poignees blanches
- Bouton Effacer dans le dialogue recadrage
- Fix remontee des valeurs de selection dans les spinbox

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 14:59:06 +01:00
Jules
e94158aae8 V2.5.1 — Dialogue licence custom + fix recadrage + style
- Dialogue de licence custom (remplace QInputDialog moche)
  - Logo CopyDev, champ stylise, bouton Activer cyan
  - Messages erreur/succes en dialogues custom colores
- Fix recadrage : reference au dialogue preservee avant destruction
- Splash screen sans bordure carree
- Style coherent gris/cyan sur tous les dialogues

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 14:49:29 +01:00
Jules
d7a538aa8c V2.5.0 — Theme gris moderne + fix recadrage
- Theme gris clair moderne avec accents cyan (#00b4d8)
  - Fond #e8e8e8, menus #f2f2f2, boutons blancs, hover cyan
  - Viewer fond gris, vignettes fond blanc
  - Splash screen en theme clair
  - Scrollbars, menus, dialogues tous en gris/cyan
- Fix recadrage : dialogue garde une reference (plus de garbage collection)
- Popup recadrage compact (360px fixe) et non-modal
- A propos adapte au theme clair

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 14:40:31 +01:00
Jules
98049cd3cb V2.4.0 — Theme moderne Catppuccin + recadrage non-modal
- Theme sombre Catppuccin Mocha sur toute l'interface :
  - Menus, toolbars, dialogues, spinbox, combo, boutons
  - Scrollbars custom, bordures arrondies, hover states
  - Panneau vignettes repensé
  - Sections outils avec titre bleu
- Recadrage : dialogue non-modal (Qt.Tool) pour pouvoir
  interagir avec le viewer pendant la selection
- Fond viewer plus sombre (#11111b)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 14:30:17 +01:00
Jules
1f8f6bb89d V2.3.1 — Recadrage avec selection visuelle
- Bouton "Selectionner sur l'apercu" dans le dialogue Recadrer
- Tracer un rectangle a la souris directement sur le PDF
- Zone sombre en dehors de la selection, cadre bleu en pointilles
- Les marges se mettent a jour automatiquement depuis la selection
- Les marges saisies manuellement affichent le cadre sur l'apercu
- Synchronisation bidirectionnelle selection <-> valeurs
- Nettoyage auto du mode selection a la fermeture du dialogue

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 14:19:44 +01:00
Jules
e7a27018e5 V2.3.0 — Ajout texte/image + barre outils verticale
- Ajout de texte libre sur les pages (Annotations > Ajouter du texte)
  - Texte multi-ligne, police, taille, couleur au choix
  - Position X/Y en mm, appliquer a page courante/toutes/paires/impaires
- Ajout d'image sur les pages (Annotations > Ajouter une image)
  - PNG/JPG/BMP/GIF/TIFF, position, taille, ratio auto
  - Memes options d'application
- Barre d'outils verticale a droite avec toutes les fonctions :
  - IMPOSITION : Livret, N-Up, Repetition, Manuel, Joindre
  - PAGES : Recadrer, Pg blanche, Fusionner
  - ANNOTATIONS : Texte, Image, Numeros, Masquer
  - REPERES : Coupe +/-, Bleed +/-
- Toolbar horizontale : Ouvrir, Enregistrer, Imprimer, Zoom

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 13:50:55 +01:00
Jules
500309ed53 V2.2.0 — Recadrage + Impression
- Recadrage de pages (Pages > Recadrer) :
  - Mode marges : retirer X mm de chaque cote
  - Mode taille finale : definir la taille souhaitee (centrage auto)
  - Apercu en temps reel de la dimension finale
  - Appliquer a : page courante, toutes, paires, impaires, plage
  - Plage de pages personnalisee (ex: 1-3, 5, 8-10)
- Impression (Fichier > Imprimer / Ctrl+P) : ouvre le PDF dans le viewer par defaut

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 13:34:22 +01:00
Jules
c9212a30ea V2.1.0 — Formats personnalises + reperes de coupe
- Formats personnalises dans tous les menus deroulants de format :
  - "Personnalise..." : saisie libre largeur x hauteur en mm
  - "Ajouter un format..." : sauvegarder un format custom (persistant)
  - Formats custom affiches dans le dropdown avec separateur
- Reperes de coupe (Annotations > Reperes de coupe) :
  - Longueur, distance du bord, epaisseur configurables
  - Couleur : noir, gris, CMYK
  - Reperes de centrage optionnels
  - Appliquer a : toutes, paires, impaires, page courante
  - Enlever les reperes de coupe (menu)
- Step & Repeat : ajout des marges (haut, bas, gauche, droite)
- Tous les dialogues de format migres vers format_combo

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 08:00:55 +01:00
Jules
9cc256ff51 V2.0.0 — Refonte interface complete
- Nouveau layout : menus en haut, vignettes a gauche, viewer au centre
- Panneau vignettes redimensionnable (splitter)
  - Miniatures de chaque page
  - Drag & drop pour reordonner
  - Clic droit : supprimer page, inserer page blanche
  - Clic = naviguer vers la page
- Viewer PDF ameliore :
  - Ajustement auto a l'ouverture
  - Roulette = defiler les pages
  - Ctrl+roulette = zoom
- Drag & drop de fichier PDF sur la fenetre
- Barre de progression pendant les traitements
- Fusion de PDF (Fichier > Fusionner)
- Enlever les fonds perdus (Annotations > Enlever)
- Menus par categorie : Imposition, Pages, Annotations
- Toolbar : Ouvrir, Enregistrer, Zoom, info page
- Style sombre coherent CopyDev
- Suppression du numero de telephone dans A propos

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 07:49:44 +01:00
Jules
de3e83b57e Lancement instantane si cache licence valide
- Si cache licence non expire, lance l'app immediatement
- Verification en ligne en arriere-plan (thread)
- Timeout reseau reduit de 10s a 5s
- Plus d'attente au demarrage pour les licences deja activees

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 20:07:51 +01:00
Jules
c5236c1e54 Fix splash screen bloquant la saisie de licence
Le splash avec WindowStaysOnTopHint cachait la boite de dialogue
de saisie de licence. On cache le splash pendant la verification.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 19:57:58 +01:00
Jules
e650eb9c68 Branding CopyDev complet — splash screen, A propos, statusbar
- Splash screen au demarrage (fond sombre, logo CopyDev, nom, coordonnees)
- Statut dans le splash : licence, mise a jour, chargement
- A propos refait : design sombre pro, logo 150px, version, description,
  coordonnees completes (email, web, tel), copyright
- Barre de titre : "CopyDev Imposing Tool vX.X.X — www.copydev.fr"
- Barre de statut : mention "CopyDev — contact@copydev.fr" permanente

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 19:49:23 +01:00
Jules
83dc563135 Ajout updater auto + build_exe.bat + version.txt
- app/updater.py : verifie les mises a jour depuis Gitea, telecharge
  via git pull ou archive zip
- version.txt : version courante (1.0.0)
- build_exe.bat : script de compilation PyInstaller pour Windows
  avec tous les hidden-imports necessaires (reportlab fonts, pypdfium2)
- Au lancement, propose la mise a jour si nouvelle version disponible
- Apres mise a jour, redemarre automatiquement

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 19:08:43 +01:00
Jules
057b6c1d3c Protection multi-postes + reorganisation dashboard Vision
Imposing Tool :
- Genere un ID machine unique (hash hostname + MAC)
- Envoie machine_id + hostname NetBIOS au check de licence
- Bloque si nombre max de postes atteint

Vision (LXC 112) :
- Table license_devices (machine_id, hostname, first/last_seen)
- Colonne max_devices dans licenses (defaut 1)
- API : verifie le nombre de postes, enregistre chaque device
- API : endpoint devices (liste + suppression par poste)
- Dashboard : colonne "Postes" cliquable (X/max) avec modal
- Modal devices : liste des postes avec hostname, suppression
- Champ "Postes max" dans le modal licence
- Onglet 1 = Licences (copycaisse + imposing unifies)
- Onglet 2 = Clients (gestion clients)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 13:23:04 +01:00
Jules
bd309a07aa Systeme de licence via Vision — remplace le mot de passe
Cote Vision (LXC 112) :
- Table licenses (cle, client, produit, actif, timeout hors-ligne, expiration)
- API api/license.php (verification publique + CRUD admin)
- Onglet Licences dans le dashboard avec modal creation/edition

Cote Imposing Tool :
- Au lancement, verifie la licence en ligne via vision.copydev.fr
- Cache local (.license) pour le mode hors-ligne
- Timeout configurable dans Vision (defaut 72h)
- Passe le timeout → message "contactez CopyDev contact@copydev.fr"
- Premiere activation necessite une connexion internet
- Plus de mot de passe

Licence de test : COPYDEV-IMPOS-TEST-2026

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 12:23:54 +01:00
Jules
3fa58cc736 install.bat — menu Lancer, compilation .exe, raccourci Bureau
- Option 4 "Lancer l'application" dans le menu
- Compilation .exe PyInstaller en etape 8/8 de l'installation
- Raccourci Bureau pointe vers le .exe si compilation OK
- Proposé de lancer l'app en fin d'install/mise a jour

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 12:09:29 +01:00
Jules
7c6e2f26d9 install.bat — raccourcis recreés dans mise a jour et reparation
- Option 2 (mise a jour) recrée lanceurs + raccourcis Bureau/Menu Demarrer
- Option 3 (reparation) recrée aussi les raccourcis
- Affiche la commande de debug en fin de chaque operation

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 12:02:07 +01:00
Jules
c6195a9a39 Fix install.bat — supprime tous les && chainés qui crashent batch
Les && sur une ligne avec where/set/goto causent des erreurs de
syntaxe en batch Windows. Remplacé par des if/else classiques.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 11:49:39 +01:00
Jules
da7d395721 Refonte install.bat — plus de call/sous-routines, tout lineaire
- Supprime les call :LABEL qui faisaient crasher la console
- Tout en goto lineaire, plus stable en batch Windows
- Option 3 Reparer ajoutee
- Tests automatiques a chaque etape
- Messages [OK]/[ERREUR] visibles

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 11:47:21 +01:00
Jules
e116cf21a5 Refonte complete install.bat — debug, reparation, tests
- Chaque etape affiche [OK] ou [ERREUR] avec details
- Messages PowerShell visibles (plus de >/dev/null sur les telecharger)
- Option 3 "Reparer" : reinstalle Python/pip/deps sans toucher au code
- Test automatique apres install/update : verifie imports Python
- Affiche la commande pour lancer en ligne de commande (debug)
- Fallback py launcher (py --version) en plus de python
- Verification taille fichier telecharge

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 11:40:29 +01:00
Jules
785a7d183a Compilation .exe PyInstaller + fix chemins resources
- L'installation compile maintenant un vrai .exe autonome
- Les raccourcis Bureau/Menu Demarrer pointent vers le .exe
- Support PyInstaller pour les chemins resources (logo, icone)
- La mise a jour recompile aussi le .exe
- Fallback lanceur .vbs si compilation echoue

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 11:24:12 +01:00
Jules
5bd4a18660 Ajout logo CopyDev, icone et page A propos professionnelle
- Logo CopyDev 500x500 + icone 64x64
- Icone affichee dans la barre de titre et la taskbar
- Page A propos avec logo, version, description, coordonnees
  contact@copydev.fr, www.copydev.fr, copyright 2026

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 11:19:19 +01:00
Jules
b9f7b38f43 Ajout protection mot de passe et installeur Windows complet
- Mot de passe SHA-256 au lancement (3 tentatives, saisie masquee)
- install.bat : installeur/desinstalleur/mise a jour tout-en-un
  - Telecharge et installe Git portable si absent
  - Telecharge et installe Python 3.12 embarque si absent
  - Installe pip et les dependances automatiquement
  - Clone le depot Gitea
  - Cree raccourcis Bureau et Menu Demarrer
  - Mise a jour en 1 clic (git pull + pip upgrade)
  - Desinstallation complete avec confirmation

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 11:01:39 +01:00
Jules
e3dfd90933 Initial commit — Copydev Imposing Tool
Outil d'imposition PDF desktop (PyQt6) remplacant Quite Imposing Plus.
9 fonctions : livret, n-up, step & repeat, imposition manuelle,
jointure pages, pages blanches, numerotation, masquage, fonds perdus.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 10:54:02 +01:00