Impression Mitsubishi K60 + cadres + interface admin distante
- Intégration selphy_print (backend CUPS dyesub Mitsubishi CP-K60DW-S) - Formats impression : 15x20, 10x15, 10x15 2-strips avec cadre et orientation portrait/paysage - Cadres d'impression par format (strip/10x15/15x20) : upload, sélection, aperçu live - Cadres démo générés : pellicule noir/vintage/couleurs + bordures classique/doré/rose gold - Écran de choix de cadre avant capture (clic direct, aperçu grand format) - Filtres réduits à 3 (Couleur, N&B, Sépia) et appliqués sur tous les strips - Port 80 via authbind, route /admin avec redirection auto depuis poste distant - Autologin LightDM corrigé (pam-autologin-service) - Bouton évacuer bourrage papier dans admin - Fix : _gp_lock manquant dans Camera.__init__ Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -60,6 +60,18 @@
|
||||
<button class="btn-retour" onclick="allerA('accueil')">Retour</button>
|
||||
</section>
|
||||
|
||||
<!-- Choix de cadre avant capture -->
|
||||
<section id="ecran-cadre-choix" class="ecran">
|
||||
<h2>Choisissez un cadre</h2>
|
||||
<div id="grille-cadres-choix" class="grille-cadres-choix">
|
||||
<div class="cadre-choix-item cadre-choix-aucun" onclick="lancerSansCadre()">
|
||||
<div class="cadre-choix-vide"></div>
|
||||
<span>Sans cadre</span>
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn-retour" onclick="allerA('mode')">Retour</button>
|
||||
</section>
|
||||
|
||||
<!-- Compte a rebours + Capture -->
|
||||
<section id="ecran-capture" class="ecran">
|
||||
<div id="preview-live" class="preview-live">
|
||||
@@ -83,6 +95,7 @@
|
||||
<section id="ecran-preview" class="ecran">
|
||||
<div class="preview-photo-container">
|
||||
<img id="photo-resultat" src="" alt="Photo">
|
||||
<img id="cadre-overlay-preview" class="cadre-overlay cache" src="" alt="">
|
||||
</div>
|
||||
<div id="barre-filtres" class="barre-filtres">
|
||||
</div>
|
||||
@@ -358,11 +371,29 @@
|
||||
<select id="admin-imprimante"><option value="">Detection...</option></select>
|
||||
<button class="btn-secondaire btn-petit" onclick="rafraichirImprimantes()">Rafraichir</button>
|
||||
</div>
|
||||
<div class="champ">
|
||||
<label>Format papier</label>
|
||||
<select id="admin-format-papier">
|
||||
<option value="15x20">15×20 cm</option>
|
||||
<option value="10x15">10×15 cm</option>
|
||||
<option value="10x15-2up">10×15 cm — 2 strips</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="champ">
|
||||
<label>Orientation photo</label>
|
||||
<div class="radio-group">
|
||||
<label><input type="radio" name="admin-orientation" value="portrait"> Portrait</label>
|
||||
<label><input type="radio" name="admin-orientation" value="paysage"> Paysage</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="champ">
|
||||
<label>Nombre max d'exemplaires</label>
|
||||
<input type="number" id="admin-copies-max" min="1" max="20" value="5">
|
||||
</div>
|
||||
<button class="btn-action" onclick="sauvegarderMateriel()">Sauvegarder</button>
|
||||
<div class="champ" style="margin-top:1rem">
|
||||
<button class="btn-danger" onclick="evacuerBourrage()">⚠ Évacuer bourrage papier</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Panneau Compteur -->
|
||||
@@ -435,8 +466,39 @@
|
||||
|
||||
<!-- Panneau Personnalisation (Cadres + Fonds + Animations) -->
|
||||
<div class="admin-panneau" id="panneau-personnalisation">
|
||||
<h3>Cadres / Overlays</h3>
|
||||
<p class="aide">Cochez les cadres a proposer aux utilisateurs.</p>
|
||||
|
||||
<h3>Cadres d'impression</h3>
|
||||
<p class="aide">Selectionnez un cadre PNG par format. Le cadre est applique sur chaque impression. Laissez vide pour imprimer sans cadre.</p>
|
||||
|
||||
<div class="cadres-formats">
|
||||
<div class="cadres-format-bloc" id="cadres-bloc-strip">
|
||||
<h4>Strip (5×15 cm)</h4>
|
||||
<div class="cadres-liste" id="cadres-liste-strip"></div>
|
||||
<div class="champ cadres-upload">
|
||||
<input type="file" id="input-cadre-strip" accept=".png" class="input-fichier">
|
||||
<button class="btn-secondaire btn-petit" onclick="uploaderCadreFormat('strip')">Importer</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cadres-format-bloc" id="cadres-bloc-10x15">
|
||||
<h4>10×15 cm</h4>
|
||||
<div class="cadres-liste" id="cadres-liste-10x15"></div>
|
||||
<div class="champ cadres-upload">
|
||||
<input type="file" id="input-cadre-10x15" accept=".png" class="input-fichier">
|
||||
<button class="btn-secondaire btn-petit" onclick="uploaderCadreFormat('10x15')">Importer</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cadres-format-bloc" id="cadres-bloc-15x20">
|
||||
<h4>15×20 cm</h4>
|
||||
<div class="cadres-liste" id="cadres-liste-15x20"></div>
|
||||
<div class="champ cadres-upload">
|
||||
<input type="file" id="input-cadre-15x20" accept=".png" class="input-fichier">
|
||||
<button class="btn-secondaire btn-petit" onclick="uploaderCadreFormat('15x20')">Importer</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3>Cadres / Overlays photo</h3>
|
||||
<p class="aide">Cochez les cadres a proposer aux utilisateurs en live.</p>
|
||||
<div id="liste-cadres" class="liste-cadres">
|
||||
<p class="texte-secondaire">Aucun cadre importe</p>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user