app.popUpMenu ne fonctionne pas depuis un menu item dans Acrobat 2026.
Remplacement par app.alert Oui/Non/Annuler pour le module Livret.
Tous les cExec passent doc=undefined, getDocActif() recupere
app.activeDocs[0] automatiquement.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
app.execDialog et app.popUpMenuEx ne fonctionnent pas depuis un
menu item dans Acrobat 2026. Chaque module est maintenant un item
direct dans le sous-menu Imposition Pro.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
app.execDialog plante silencieusement dans Acrobat 2026.
Remplacement par app.popUpMenuEx (menu contextuel).
Correction aussi de cExec: this -> event.target pour le doc actif.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Net.HTTP.request() ne fonctionne pas dans Acrobat 2026.
verifierEtBloquerSiInvalide() retourne true directement
le temps de valider les modules d'imposition.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Le dossier user (AppData) ne fonctionne plus dans Acrobat 2025/2026.
Les scripts sont maintenant copies dans le dossier app
(Program Files\Adobe\Acrobat DC\Acrobat\Javascripts) avec elevation
admin automatique. Copie aussi dans AppData pour compatibilite.
Menu simplifie a 6 choix.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Place un script minimal (app.alert) dans le dossier JavaScripts,
lance Acrobat, et demande a l'utilisateur si le message apparait.
Nettoie le fichier test ensuite. Guide vers les reglages si echec.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Permet de verifier dans la console JS (Ctrl+J) si le script
se charge bien au demarrage d'Acrobat.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
app.beginPriv/endPriv ne fonctionne pas au top-level d'un
folder-level script (pas de contexte d'evenement). L'exception
etait avalee silencieusement, empechant la creation des menus.
Appel direct de addSubMenu/addMenuItem, autorise au chargement.
Fichiers modifies: Core, Licence, UI, MiseAJour.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Ouvre automatiquement le dossier dans l'Explorateur Windows pour
verification visuelle que les fichiers sont bien copies.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
L'encodage UTF-8 avec BOM causait "U n'est pas reconnu" et les
tirets cadratins cassaient le parsing CMD. Tout est maintenant en
ASCII pur. Suppression des parentheses problematiques dans les echo
a l'interieur de blocs if/for.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Telecharge la derniere version depuis Gitea, compare avec fc /b,
et se relance si une nouvelle version est detectee. Timeout 5s,
skip silencieux si pas de connexion. Flag __noupdate__ anti-boucle.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Le ) de "(pas seulement Reader)" fermait le bloc if prematurement,
causant "est etait inattendu" sur Acrobat absent.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Wrapper cmd /k pour garder la fenetre ouverte en cas de crash
- pause avant exit dans le menu Quitter
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Nouveau choix 3 "Verifier l'installation" (diagnostic 5 etapes)
- Export rapport dans diagnostic.log avec ouverture Notepad
- Verification post-install automatique apres deploiement
- Menu renumerote (6 choix)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Reprend le branding du projet desktop impose : CopyDev, Jules Dubois,
contact@copydev.fr, www.copydev.fr, copyright (c) 2026. Ajoute le logo
CopyDev (resources/logo.png, non affichable dans la boite A propos actuelle
car app.alert() est texte seul) et renomme l'installeur.
Module 8 : verifie/installe les mises a jour directement depuis le menu
Acrobat (compare version.txt sur Gitea a CDImp.VERSION, retelecharge les
.js si plus recent). Tous les items de menu sont desormais regroupes dans
un sous-menu "Edition > Imposition Pro" (Ouvrir le panneau, Gerer la
licence, Verifier les mises a jour, A propos) plutot que disperses
directement dans le menu Edition.
Suite d'imposition professionnelle en Folder-Level Scripts JS (7 modules +
verification de licence Vision), avec un plugin natif hybride optionnel
(WinINet + Registre) pour deplacer la verification de licence en code
compile. Installeur install.bat sur le meme modele que celui du projet
desktop (git portable, detection automatique des dossiers Acrobat).
Retire le menu et bouton Editer le contenu du menu Annotations
et de la barre d'outils. Sera reimplemente plus tard avec un
vrai mode edition interactif.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Logo PDF avec coin plie, barre cyan, COPYDEV IMPOSING TOOL
- Badge PDF rouge, lignes de texte fictives
- 3 tailles : 512x512, 256x256, 64x64
- Utilise dans splash, barre titre, A propos, menu contextuel
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
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>
- 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>
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>
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>