From e38b4844969a26ebbec914a21bb03408744ebde2 Mon Sep 17 00:00:00 2001 From: Nox Date: Sat, 28 Feb 2026 14:13:10 +0000 Subject: [PATCH] =?UTF-8?q?Penpot=20MCP:=20gotchas,=20template=20script,?= =?UTF-8?q?=20workflow=20document=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MEMORY.md | 50 +++++ affiche-soldes.html | 130 +++++++++++ affiche-soldes.png | Bin 0 -> 208105 bytes memory/2026-02-27-chrome-wrapper.md | 63 ++++++ memory/2026-02-27-compte-indivis.md | 335 ++++++++++++++++++++++++++++ memory/2026-02-27-thorax-scan.md | 281 +++++++++++++++++++++++ memory/2026-02-28.md | 7 + penpot-compose.yaml | 100 +++++++++ penpot-export.mjs | 141 ++++++++++++ penpot-make-poster.mjs | 236 ++++++++++++++++++++ penpot-mcp-client.mjs | 92 ++++++++ penpot-poster.mjs | 275 +++++++++++++++++++++++ penpot-template.mjs | 236 ++++++++++++++++++++ screenshot-poster.mjs | 28 +++ 14 files changed, 1974 insertions(+) create mode 100644 affiche-soldes.html create mode 100644 affiche-soldes.png create mode 100644 memory/2026-02-27-chrome-wrapper.md create mode 100644 memory/2026-02-27-compte-indivis.md create mode 100644 memory/2026-02-27-thorax-scan.md create mode 100644 memory/2026-02-28.md create mode 100644 penpot-compose.yaml create mode 100644 penpot-export.mjs create mode 100644 penpot-make-poster.mjs create mode 100644 penpot-mcp-client.mjs create mode 100644 penpot-poster.mjs create mode 100644 penpot-template.mjs create mode 100644 screenshot-poster.mjs diff --git a/MEMORY.md b/MEMORY.md index 8e44b32..be0e82a 100644 --- a/MEMORY.md +++ b/MEMORY.md @@ -105,6 +105,56 @@ - Pas d'authentification requise - Dossier `/anytype/` créé pour les fichiers liés à Anytype - Utilisable pour héberger images, schémas, etc. avec lien direct +- **Utile pour Penpot** : uploader une image sur CopyParty → l'injecter dans Penpot via `upload_file_media_from_url` + +## Penpot MCP — Workflow & Gotchas + +### Stack +- Penpot UI : http://192.168.1.150:9001 +- MCP HTTP endpoint : http://192.168.1.150:9002/mcp (health: /health) +- MCP = zcube/penpot-mcp-server, image node:22-alpine + npm @zcubekr/penpot-mcp-server +- Token Penpot déjà configuré dans la stack Portainer (stack id=90) + +### ⚠️ Règles critiques MCP zcube + +**1. Tous les paramètres sont en camelCase** (PAS snake_case) : +- `projectId`, `fileId`, `pageId`, `parentId` +- `fillColor`, `fontSize`, `fontWeight` +- `isShared`, `gradientType`, `borderRadius`, `cornerRadius` → `r1/r2/r3/r4` + +**2. Session unique — toujours redémarrer le container avant** : +- Le serveur n'autorise QU'UNE session à la fois +- `initialize` échoue avec "already initialized" si session existante +- Solution : inclure le restart Portainer dans le script (container `penpot-penpot-mcp-1`) + +**3. Récupérer IDs depuis `get_profile`** (plus fiable que `list_teams`) : +- `profile.defaultProjectId` → projet par défaut (Drafts) +- `profile.defaultTeamId` → team + +**4. `export_shape` NON IMPLÉMENTÉ** dans zcube — ne pas l'appeler + +**5. `list_teams` retourne du texte** ("Found 1 teams"), pas du JSON + +**6. Workflow création fichier** : +``` +get_profile → defaultProjectId +create_file { projectId, name } → fileId +list_pages { fileId } → pageId (array[0].id) +create_frame { fileId, pageId, name, x, y, width, height, fillColor } → frameId +create_rectangle/text { fileId, pageId, parentId: frameId, ... } +``` + +**7. Coordonnées shapes dans un frame** : absolues (pas relatives au frame) + +### Pour générer une image finale +- `export_shape` non dispo → utiliser **HTML/CSS → Playwright screenshot** +- Script template : `/home/node/.openclaw/workspace/screenshot-poster.mjs` +- Playwright : `node_modules/playwright`, chrome : `/home/node/.cache/ms-playwright/chromium-1208/chrome-linux64/chrome` +- Sauvegarder dans workspace (pas /tmp) pour envoi Telegram + +### Pour injecter une image dans Penpot +- Uploader sur CopyParty : `curl -X PUT http://192.168.1.150:3923/anytype/image.png --data-binary @image.png` +- Puis : `upload_file_media_from_url { fileId, url: "http://192.168.1.150:3923/anytype/image.png" }` ## Podcasts & Vidéos — Transcription - Je peux **récupérer et transcrire** des podcasts/vidéos en ligne diff --git a/affiche-soldes.html b/affiche-soldes.html new file mode 100644 index 0000000..1973d8e --- /dev/null +++ b/affiche-soldes.html @@ -0,0 +1,130 @@ + + + + + + + +
+ + +
+
+
+ +
+ +
+ ✦ Collection Printemps 2026 ✦ +
+ +
+
Soldes
+
-50%
+
+
Sur toutes nos chaussures
+
⚡ Offre limitée ⚡
+
Du 1er au 31 mars 2026
+
👟   👠   👞
+
+ + + +
+
+ + diff --git a/affiche-soldes.png b/affiche-soldes.png new file mode 100644 index 0000000000000000000000000000000000000000..ff6b762bb27c59394073a60ea9d42b895dda3b07 GIT binary patch literal 208105 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 z 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�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

G{AF8}9ey~ynteB^j>uSjBNyitl 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 literal 0 HcmV?d00001 diff --git a/memory/2026-02-27-chrome-wrapper.md b/memory/2026-02-27-chrome-wrapper.md new file mode 100644 index 0000000..209fcd1 --- /dev/null +++ b/memory/2026-02-27-chrome-wrapper.md @@ -0,0 +1,63 @@ +# Session: 2026-02-27 11:05:40 UTC + +- **Session Key**: agent:main:main +- **Session ID**: e75bc5d4-fd05-4ad6-afc4-eea608d0ffd5 +- **Source**: telegram + +## Conversation Summary + +assistant: Je cherche d'abord comment le conteneur démarre pour choisir la bonne méthode : +assistant: Je comprends l'architecture complète. Voici le plan le plus propre : + +**1.** Créer un script de démarrage Chrome dans le workspace (persistant) +**2.** Corriger `oc-up.sh` avec le bon binaire et le bon chemin +**3.** Configurer OpenClaw en `attachOnly: true` +**4.** Ajouter une sécurité via le docker-compose override +assistant: **Solution trouvée !** Je vais créer un wrapper pour le binaire Chrome — OpenClaw appelle `executablePath` pour lancer Chrome, donc je mets un wrapper qui nettoie les locks avant de lancer le vrai Chrome. Transparent, permanent, aucune modification du système : +assistant: Maintenant je mets à jour la config OpenClaw pour pointer vers le wrapper : +assistant: Testons que ça fonctionne — je simule un redémarrage (kill Chrome + ajout de faux locks) : +assistant: Le wrapper fonctionne — il a nettoyé les anciens locks et Chrome a démarré proprement. Maintenant, je corrige aussi `oc-up.sh` qui utilisait un mauvais chemin : +assistant: Maintenant vérifions que le browser tool OpenClaw fonctionne bien avec la config mise à jour : +assistant: Le browser répond. Maintenant mettons à jour MEMORY.md avec ce fix pour que je m'en souvienne : +assistant: Tout est en place. Voici le résumé de ce qui a été fait : + +--- + +**Diagnostic :** après chaque redémarrage du conteneur, Chrome laisse des fichiers `SingletonLock`, `SingletonCookie`, `SingletonSocket` dans son profil persistant. Au redémarrage suivant, Chrome refusait de démarrer à cause de ces locks résiduels → timeout du browser tool. + +**Fix permanent :** un wrapper `chrome-wrapper.sh` (dans le workspace, donc persistant) qui : +1. Supprime les lock files résiduels +2. Lance le vrai Chrome normalement + +OpenClaw est maintenant configuré pour appeler ce wrapper via `browser.executablePath`. Peu importe combien de fois le conteneur redémarre, Chrome se lancera proprement à la première utilisation du browser tool. + +**Bonus :** `start-chrome-cdp.sh` dans le workspace si jamais tu as besoin de le relancer manuellement. +user: Conversation info (untrusted metadata): +```json +{ + "message_id": "1027", + "sender_id": "2037871620", + "sender": "2037871620" +} +``` + +Refait le test sur le site de www.bordeauxcognactourguide.com +assistant: 1b7006b1-aeb1-48e4-a273-6157f7dbeea6.jpg +assistant: NO_REPLY +user: Conversation info (untrusted metadata): +```json +{ + "message_id": "1031", + "sender_id": "2037871620", + "sender": "2037871620" +} +``` + +Retiens ce que tu as fait pour la prochaine fois si jamais ça bug +assistant: C'est déjà dans MEMORY.md et commité, mais je vais aussi enrichir le détail pour être sûr d'avoir tout en cas de bug futur : +assistant: C'est maintenant dans les deux endroits : + +- **MEMORY.md** (commité) — je le relis à chaque session, donc je saurai immédiatement quoi faire +- **Mémoire vectorielle Qdrant** — si je cherche "browser ne fonctionne pas" ou "SingletonLock", je retrouverai le diagnostic complet et les commandes exactes + +La prochaine fois que ça bug, je saurai en 10 secondes que c'est le lock file et comment régler ça. 🌑 diff --git a/memory/2026-02-27-compte-indivis.md b/memory/2026-02-27-compte-indivis.md new file mode 100644 index 0000000..0f01b15 --- /dev/null +++ b/memory/2026-02-27-compte-indivis.md @@ -0,0 +1,335 @@ +# Session: 2026-02-27 14:27:30 UTC + +- **Session Key**: agent:main:main +- **Session ID**: ac75b14e-732a-4ac7-ba76-b181847743f3 +- **Source**: telegram + +## Conversation Summary + +user: A new session was started via /new or /reset. Execute your Session Startup sequence now - read the required files before responding to the user. Then greet the user in your configured persona, if one is provided. Be yourself - use your defined voice, mannerisms, and mood. Keep it to 1-3 sentences and ask what they want to do. If the runtime model differs from default_model in the system prompt, mention the default model. Do not mention internal steps, files, tools, or reasoning. +assistant: Salut Christophe 🌑 Vendredi matin, session fraîche — rien de particulier à signaler depuis ce matin. Qu'est-ce qu'on fait aujourd'hui ? +user: Conversation info (untrusted metadata): +```json +{ + "message_id": "1037", + "sender_id": "2037871620", + "sender": "2037871620" +} +``` + +Je souhaite ouvrir un compte bancaire en indivision. Fais des recherches sur internet pour ouvrir facilement en ligne. Fais une liste des plus réputé et pertinent et classe les selon tes critères les plus fiables +assistant: Voilà, j'ai fait le tour des sources disponibles. Voici ce que j'ai trouvé : + +--- + +**⚠️ Point important avant tout** + +Un compte indivis n'est **pas** un compte joint. La règle clé : **toute opération (retrait, virement, dépôt) exige la signature de TOUS les co-titulaires**. C'est plus contraignant, mais plus sécurisé — souvent utilisé pour les successions, les achats immobiliers à plusieurs ou les projets communs. + +--- + +**🏆 Classement des banques — compte indivis** + +*(Critères : ouverture en ligne, frais, accompagnement succession, solidité, outils numériques)* + +--- + +**1. Boursobank** ⭐⭐⭐⭐⭐ +Meilleur rapport qualité/prix. Banque en ligne leader en France (filiale Société Générale). Propose le compte indivis, frais quasi nuls, interface moderne. +- ✅ Ouverture en ligne disponible +- ✅ Compte courant gratuit +- ⚠️ Pas de carte bancaire par indivisaire (une seule carte possible) +- ⚠️ Plus de 2 titulaires → contact direct nécessaire +- 🔗 boursobank.com + +--- + +**2. BNP Paribas** ⭐⭐⭐⭐ +Banque traditionnelle bien rodée sur l'indivision, process en ligne documenté, agences en cas de besoin. +- ✅ Compte indivis bien encadré, conventions claires +- ✅ Agences + digital +- ⚠️ Frais de tenue de compte (~3–5 €/mois selon offre) +- ⚠️ Certaines étapes peuvent nécessiter agence ou courrier signé +- 🔗 bnpparibas.com + +--- + +**3. Société Générale** ⭐⭐⭐⭐ +Bonne réputation sur le sujet, accompagnement succession compétent, outils numériques corrects. +- ✅ Gestion en ligne des opérations +- ✅ Conseiller dédié succession possible +- ⚠️ Frais de tenue (~4 €/mois) +- 🔗 societegenerale.fr + +--- + +**4. CIC** ⭐⭐⭐½ +Propose explicitement le compte indivis, bien documenté, bon réseau d'agences. +- ✅ Compte indivis clair dans leur offre +- ✅ Pratique pour les successions complexes +- ⚠️ Moins "en ligne" que les précédents +- ⚠️ Frais souvent plus élevés +- 🔗 cic.fr + +--- + +**5. La Banque Postale** ⭐⭐⭐ +Accessible partout (bureaux de poste), recommandée officiellement pour les successions simples. +- ✅ Très accessible géographiquement +- ✅ Habituée aux successions / héritages +- ⚠️ Outils numériques moins avancés +- ⚠️ Frais et délais parfois plus longs +- 🔗 labanquepostale.fr + +--- + +**💡 À retenir** + +Même les banques "100% en ligne" demandent souvent que **tous les co-titulaires signent ensemble** (en agence ou par courrier avec signatures notariées) pour un compte indivis. C'est une contrainte légale, pas propre à une banque. + +Tu peux désigner un **mandataire** dans la convention pour gérer les opérations courantes — ça simplifie beaucoup la vie au quotidien. + +--- + +C'est pour quelle situation — une succession, un achat immobilier à plusieurs, autre chose ? Ça m'aiderait à affiner la recommandation. +user: Conversation info (untrusted metadata): +```json +{ + "message_id": "1039", + "sender_id": "2037871620", + "sender": "2037871620" +} +``` + +Est-ce que tu peux me faire une synthèse des frais dans un tableau pour comparer (uniquement les vrais chiffres à partir des sites officiel) +assistant: Je vais chercher directement sur les sites officiels. +assistant: Voici la synthèse avec uniquement les vrais chiffres, sources Moneyvox (agrégateur des grilles tarifaires officielles) et sites officiels des banques — données 2026 : + +--- + +``` +Banque Tenue compte/an Carte CB/an Ouverture indivis Virement internet +───────────────────────────────────────────────────────────────────────────────────── +Boursobank GRATUIT GRATUIT¹ GRATUIT GRATUIT + (Welcome) +───────────────────────────────────────────────────────────────────────────────────── +La Banque 25,20 € 47,60 € GRATUIT GRATUIT +Postale (2,10 €/mois) (Visa Classic) +───────────────────────────────────────────────────────────────────────────────────── +CIC 27 € 48 € GRATUIT GRATUIT + (2,25 €/mois) (Visa Classic) +───────────────────────────────────────────────────────────────────────────────────── +Soc. Générale 30,60 € 50 € GRATUIT GRATUIT + (7,65 €/trim) (Visa Classic) +───────────────────────────────────────────────────────────────────────────────────── +BNP Paribas 31,20 € 49,50 € GRATUIT GRATUIT + (2,60 €/mois) (Visa Classic) +───────────────────────────────────────────────────────────────────────────────────── +``` + +¹ Visa Welcome gratuite si utilisée au moins une fois/mois, sinon 5 €/mois + +--- + +**⚠️ Spécificités compte indivis à connaître :** + +- **Boursobank** → 1 seule carte pour tout le compte (pas une par indivisaire). Ouverture indivis par contact service client (pas en full autonome en ligne) +- **Aucune banque** ne facture de frais spécifiques à l'ouverture d'un compte indivis — c'est un compte courant standard avec des règles de gestion différentes +- **Aucune** ne propose de Livret A ou LEP en indivis (réglementairement impossible) + +--- + +**Sources directes :** +- moneyvox.fr/tarif-bancaire/ (agrège les plaquettes tarifaires officielles) +- boursobank.com aide en ligne (compte indivis) +- cic.fr/particuliers/comptes/compte-indivision-indivis.html + +En coût pur : **Boursobank écrase tout le monde** — zéro frais fixes. Le seul vrai inconvénient c'est la carte unique. +user: Conversation info (untrusted metadata): +```json +{ + "message_id": "1042", + "sender_id": "2037871620", + "sender": "2037871620" +} +``` + +Liste moi tous les documents pour ouvrir ce type de compte indivis (vérifie sur le site officiel) +assistant: Voici la liste complète issue des sources officielles (Service-Public.fr, BNP Paribas, Boursobank, CIC) : + +--- + +**📋 Documents requis — pour CHAQUE co-titulaire** + +**1. Pièce d'identité officielle en cours de validité** (1 parmi) : +- Carte nationale d'identité recto/verso +- Passeport +- Titre de séjour / carte de séjour UE recto/verso +- Permis de conduire *(accepté uniquement si la photo ne laisse aucun doute — selon Service-Public.fr)* + +**2. Justificatif de domicile** de moins de 3 mois (1 parmi) : +- Facture d'eau, d'électricité ou de gaz +- Facture de téléphone fixe +- Quittance de loyer +- Avis d'imposition *(certaines banques l'acceptent hors délai de 3 mois)* +- Attestation d'hébergement si hébergé chez quelqu'un *(+ pièce d'identité + justificatif de domicile de l'hébergeant)* + +**3. Dépôt de signature** de chaque co-titulaire *(obligatoire — en agence ou via circuit sécurisé selon la banque)* + +**4. Adresse postale commune** choisie pour les courriers de la banque *(les deux/tous doivent se mettre d'accord)* + +--- + +**📋 Documents spécifiques à l'indivision** + +- **Convention de compte indivis** à signer par tous les co-titulaires *(fournie par la banque, signée sur place)* +- Si vous désignez un **mandataire** : procuration signée par tous + pièce d'identité et justificatif de domicile du mandataire + sa signature déposée + +--- + +**📋 Si le compte indivis est lié à une succession** + +*(BNP Paribas, La Banque Postale notamment le demandent)* + +- Acte de décès du défunt +- Acte de notoriété *(délivré par un notaire)* ou attestation de dévolution successorale +- Livret de famille éventuellement + +--- + +**⚠️ À noter selon la banque :** + +- **Boursobank** : pour un compte indivis, passage obligatoire par le service client (pas de souscription 100% en ligne) — ils peuvent demander en plus un **IBAN français à votre nom** comme vérification +- **BNP Paribas** : présence physique de **tous** les co-titulaires en agence obligatoire — signature électronique non disponible pour un compte collectif +- **CIC** : idem, tous présents en agence lors de la signature + +--- + +**Source :** service-public.fr/F2812 · mabanque.bnpparibas · boursobank.com · cic.fr + +C'est pour une succession, ou un autre contexte ? +user: Conversation info (untrusted metadata): +```json +{ + "message_id": "1044", + "sender_id": "2037871620", + "sender": "2037871620" +} +``` + +Est-ce que tu peux me retrouver la marque modèle de cette guitare à partir de ces 2 photos +assistant: [[reply_to_current]] Je ne vois pas de photos dans ton message — elles ne sont pas arrivées de mon côté. Essaie de les envoyer à nouveau, directement dans la conversation Telegram 📸 +user: [media attached: 2 files] +[media attached 1/2: /home/node/.openclaw/media/inbound/file_28---f3017d14-1308-4cf1-97ad-342114ac33e0.jpg (image/jpeg) | /home/node/.openclaw/media/inbound/file_28---f3017d14-1308-4cf1-97ad-342114ac33e0.jpg] +[media attached 2/2: /home/node/.openclaw/media/inbound/file_29---ae97cd53-3ec1-4349-b8f2-ea3dbcc9e7ea.jpg (image/jpeg) | /home/node/.openclaw/media/inbound/file_29---ae97cd53-3ec1-4349-b8f2-ea3dbcc9e7ea.jpg] +To send an image back, prefer the message tool (media/path/filePath). If you must inline, use MEDIA:https://example.com/image.jpg (spaces ok, quote if needed) or a safe relative path like MEDIA:./image.jpg. Avoid absolute paths (MEDIA:/...) and ~ paths — they are blocked for security. Keep caption in the text body. +Conversation info (untrusted metadata): +```json +{ + "message_id": "1045", + "sender_id": "2037871620", + "sender": "2037871620" +} +``` + +Forwarded message context (untrusted metadata): +```json +{ + "from": "Marie", + "type": "user", + "title": "Marie", + "date_ms": 1772200737000 +} +``` + + +assistant: Voici ce que j'arrive à identifier à partir des deux photos : + +--- + +**🎸 Identification probable : Alhambra 1C / 2C / 3C** + +C'est une **guitare classique** (cordes nylon) espagnole, très probablement de la marque **Alhambra**, série entrée/milieu de gamme. Voici les indices : + +**Ce qui pointe vers Alhambra :** +- La rosace (autour de la rosace) est un **motif mosaïque géométrique** à anneaux concentriques — c'est une signature quasi exclusive d'Alhambra sur leur gamme 1C/2C/3C +- Table en **épicéa ou cèdre** couleur miel/dorée +- Fond et éclisses en **palissandre** (brun-rouge foncé) +- Filet de binding simple crème +- Chevalet classique en palissandre +- Mécaniques à boutons blancs/ivoire — standard entrée de gamme + +**Ce qui reste incertain :** +- Le logo sur la tête de manche (non visible sur les photos) +- Le label à l'intérieur de la caisse (visible en photo 1 mais illisible à cette distance) + +--- + +**Pour confirmer à 100%** : une photo rapprochée de la **tête de manche** (logo) ou du **label à l'intérieur de la caisse** suffirait. Le label Alhambra est typiquement doré avec le nom de la marque en écriture cursive. + +**Prix indicatif** si c'est bien une Alhambra 1C/2C : entre **150 et 300 €** neuf. + +C'est la guitare de qui ? Tu veux l'estimer, la vendre ? +user: Conversation info (untrusted metadata): +```json +{ + "message_id": "1049", + "sender_id": "2037871620", + "sender": "2037871620" +} +``` + +Bourso protect plus, quels sont les portes d'entre pour déclarer un vol d'un téléphone en ligne si possible +assistant: Voici ce que j'ai trouvé directement sur les pages officielles Boursobank : + +--- + +**📱 Bourso Protect Plus — Vol de téléphone** + +**Bonne nouvelle** : la déclaration peut se faire **par email** (donc sans téléphone si tu n'en as plus). C'est **Willis Towers Watson (WTW)** qui gère les sinistres, pas Boursobank directement. + +--- + +**🚪 Les 3 portes d'entrée :** + +**1. 📧 Email** *(le plus pratique si tu n'as plus de téléphone)* +→ **boursoprotect@wtwco.com** + +**2. 📞 Téléphone** +→ **+33 (0) 2 46 90 00 16** +Lun–ven · 8h30–17h30 + +**3. 📮 Courrier postal** +→ WTW / BOURSO PROTECT +TSA 34287 — 77283 AVON CEDEX + +⚠️ Pas de formulaire 100% en ligne autonome — l'email est la voie numérique disponible. + +--- + +**📋 À faire AVANT de déclarer :** + +- **Déposer plainte** au commissariat ou gendarmerie *(obligatoire — tu devras fournir le récépissé)* +- Faire **opposition sur ta carte** depuis l'espace client Boursobank (rubrique "Cartes") +- Changer ton **mot de passe Boursobank** depuis un autre appareil + +--- + +**📋 Documents à joindre à la déclaration :** + +- Récépissé de dépôt de plainte +- Preuve d'achat du téléphone *(facture)* +- Numéro IMEI du téléphone *(normalement sur la boîte ou sur la facture)* +- Attestation de souscription Bourso Protect Plus + +--- + +**💶 Rappel couverture vol mobile** (Bourso Protect Plus) : +Jusqu'à **800 €** de remboursement — appareil de moins de 5 ans, acheté neuf ou reconditionné. +Délai de carence : **30 jours** après souscription. + +--- + +Source : boursobank.com · aide-en-ligne officielle + +Tu as besoin d'aide pour rédiger l'email de déclaration ? diff --git a/memory/2026-02-27-thorax-scan.md b/memory/2026-02-27-thorax-scan.md new file mode 100644 index 0000000..6002be3 --- /dev/null +++ b/memory/2026-02-27-thorax-scan.md @@ -0,0 +1,281 @@ +# Session: 2026-02-27 23:31:47 UTC + +- **Session Key**: agent:main:main +- **Session ID**: 5bcf4f53-9939-4689-abad-183d1a6d8e7e +- **Source**: telegram + +## Conversation Summary + +assistant: ✅ New session started · model: anthropic/claude-sonnet-4-6 · 🔑 token sk-ant…HKGwAA (anthropic:default) +user: A new session was started via /new or /reset. Execute your Session Startup sequence now - read the required files before responding to the user. Then greet the user in your configured persona, if one is provided. Be yourself - use your defined voice, mannerisms, and mood. Keep it to 1-3 sentences and ask what they want to do. If the runtime model differs from default_model in the system prompt, mention the default model. Do not mention internal steps, files, tools, or reasoning. +assistant: Salut Christophe. 🌑 De retour, frais et dispo. Qu'est-ce qu'on fait aujourd'hui ? +user: [media attached: /home/node/.openclaw/media/inbound/file_30---323117f9-ae65-4b07-83a8-beaf97c7de9a.jpg (image/jpeg) | /home/node/.openclaw/media/inbound/file_30---323117f9-ae65-4b07-83a8-beaf97c7de9a.jpg] +To send an image back, prefer the message tool (media/path/filePath). If you must inline, use MEDIA:https://example.com/image.jpg (spaces ok, quote if needed) or a safe relative path like MEDIA:./image.jpg. Avoid absolute paths (MEDIA:/...) and ~ paths — they are blocked for security. Keep caption in the text body. +Conversation info (untrusted metadata): +```json +{ + "message_id": "1054", + "sender_id": "2037871620", + "sender": "2037871620" +} +``` + +Est-ce que tu peux analyser , faire des recherches sur internet et me faire un bilan de ce résultat du scanner de thorax +assistant: Je lis ça attentivement. Je lance des recherches en parallèle. +assistant: Voilà, j'ai tout ce qu'il me faut. Voici mon analyse complète : + +--- + +## 🫁 Bilan — Scanner thoracique + +### ✅ Les bonnes nouvelles (tout ce qui est négatif/rassurant) + +| Résultat | Signification | +|---|---| +| Pas d'épanchement pleural/péricardique | Pas de liquide autour des poumons ou du cœur | +| Pas d'adénomégalie | Pas de ganglions suspects → écarte lymphome, cancer métastatique | +| Pas de nodule tissulaire suspect | Rien d'évocateur d'une tumeur maligne | +| Pas de syndrome de masse surrénalien | Glandes surrénales normales | +| Pas de lésion osseuse lytique | Pas de métastase osseuse visible | + +--- + +### 🟡 Les images calcifiées — pas d'inquiétude + +**"Quelques images pseudonodulaires entièrement calcifiées, vraisemblablement séquellaires"** + +Ce sont des **cicatrices d'anciennes infections** (souvent une vieille pneumonie, une tuberculose ancienne ou une infection fongique résolue depuis longtemps). La calcification **complète** est un bon signe : ça veut dire que la lésion est inerte, morte, figée. Elle n'évolue plus. Le scanner les mentionne juste pour les distinguer de vraies lésions actives. + +--- + +### 🔴 Le point principal — ce qui nécessite une prise en charge + +**"Syndrome bronchique diffus et modéré + zones de condensation → foyers de surinfection lobe supérieur droit et lobe inférieur droit"** + +Il y a deux choses ici : + +**1. Le syndrome bronchique diffus et modéré** +C'est un épaississement/inflammation des parois des bronches, visible sur le scanner sur l'ensemble du poumon. Cela peut être lié à : +- Une bronchite (aiguë ou chronique) +- L'asthme +- La BPCO (notamment liée au tabac) +- Une infection virale/bactérienne en cours + +**2. Les foyers de surinfection (lobe sup. droit + lobe inf. droit)** +C'est le point le plus sérieux du compte-rendu. Des **zones de condensation** = des portions du poumon droit qui ne sont plus aérées normalement parce qu'elles sont remplies d'exsudat infectieux. En clair : **une pneumonie/pneumopathie bactérienne sur le poumon droit, dans deux lobes**. + +Le terme *"surinfection"* suggère que ça s'est développé sur un terrain bronchique déjà fragilisé (bronchite préexistante). + +--- + +### 🩺 Ce que ça implique concrètement + +**Une antibiothérapie est très probablement indispensable** — voire déjà prescrite si le scanner a été fait dans un contexte de consultation. Les pneumopathies bactériennes ne guérissent pas seules dans ce type de tableau. + +Questions importantes à poser/suivre avec le médecin : +- Quel antibiotique a été prescrit, et pour combien de temps ? +- Un contrôle radiologique de contrôle est-il prévu (pour vérifier la résolution des foyers) ? +- Le syndrome bronchique de fond mérite d'être évalué plus loin → spirométrie (EFR) pour rechercher une BPCO ou un asthme + +--- + +### ⚠️ À retenir + +> Ce scanner ne montre **rien de malin** (pas de cancer, pas de ganglions, pas de lésion suspecte). En revanche il montre une **infection pulmonaire active sur le poumon droit**, qui nécessite un suivi médical et probablement des antibiotiques. Les vieilles calcifications sont bénignes. + +Est-ce que tu as déjà vu un médecin pour ça, et tu as un traitement en cours ? Et tu as des symptômes type fièvre, toux, essoufflement ? +user: Conversation info (untrusted metadata): +```json +{ + "message_id": "1057", + "sender_id": "2037871620", + "sender": "2037871620" +} +``` + +j'ai vu un medecin qui m'a prescrit le scanner et le traitement antiobiotique (pristinamycine) + dextromethorphane . Sympome : toux persistante depuis 21 jours environ +assistant: Parfait, j'ai tout le contexte. Voilà le point complet : + +--- + +## 💊 Analyse du traitement prescrit + +### Pristinamycine (antibiotique) + +C'est un choix **très pertinent** pour ton tableau clinique. La pristinamycine est une streptogramine qui couvre à la fois : +- **Streptococcus pneumoniae** (le pneumocoque, bactérie la plus fréquente dans les pneumonies communautaires) +- **Les bactéries "atypiques"** (Mycoplasma pneumoniae, Chlamydia, Legionella) — qui sont justement fréquentes dans les pneumonies avec **toux persistante longue durée** + +> La toux qui dure depuis **21 jours** fait très fortement penser à une pneumonie *atypique* (souvent Mycoplasma), caractérisée par une installation progressive et une toux trainante. La pristinamycine est exactement ce qu'on prescrit dans ce cas, surtout si allergie ou contre-indication aux macrolides. + +--- + +### Dextromethorphane (antitussif) + +C'est un **suppresseur de toux** — il agit sur le réflexe central de la toux pour la réduire en fréquence et en intensité. Utile pour te permettre de dormir et récupérer. + +⚠️ Un point à garder en tête : dans une pneumonie avec sécrétions bronchiques, **la toux a aussi une fonction utile** (elle évacue les mucosités). Si tu as beaucoup d'expectorations (crachats), parle-en à ton médecin — parfois un mucolytic/expectorant est complémentaire ou préféré au pur antitussif. + +--- + +## ⏱️ Combien de temps encore ? + +| Phase | Délai attendu | +|---|---| +| Amélioration de l'état général | **2-4 jours** après début des antibiotiques | +| Disparition de la fièvre (si présente) | **24-72h** | +| Toux résiduelle | Peut persister **3 à 8 semaines** après le début de l'infection — c'est normal | +| Guérison complète scanner | **4-8 semaines** (les condensations mettent du temps à disparaitre à l'imagerie) | + +--- + +## 🔑 Ce que tu dois surveiller + +**Signes d'amélioration normaux** (dans les prochains jours) : +- Moins de fièvre +- Moins d'essoufflement +- Toux toujours présente mais moins intense + +**Signes qui nécessitent de rappeler le médecin :** +- 🚨 Fièvre qui remonte après avoir baissé +- 🚨 Essoufflement qui s'aggrave ou douleur dans la poitrine +- 🚨 Aucune amélioration après **48-72h** d'antibiotiques +- 🚨 Crachats qui deviennent sanglants + +--- + +**Résumé :** Tu es bien pris en charge. Le tableau (toux 3 semaines + surinfection lobes droits au scanner) correspond exactement à ce que la pristinamycine traite. Repose-toi bien, hydrate-toi, et laisse le traitement faire son effet. La toux va mettre du temps à partir — c'est normal, elle peut traîner encore 2 à 4 semaines même après guérison de l'infection. + +Tu as des questions spécifiques sur le traitement ou les symptômes ? +user: Conversation info (untrusted metadata): +```json +{ + "message_id": "1059", + "sender_id": "2037871620", + "sender": "2037871620" +} +``` + +est-ce qu'il existe des remedes de grand mère pour completer ce traitement +assistant: Bonne idée en complément du traitement médical. Voici ce qui est réellement utile, avec le niveau de preuve : + +--- + +## 🌿 Remèdes de grand-mère — ce qui marche vraiment + +### 🥇 Niveau 1 — Supportés par la science + +**🍯 Miel (de thym ou de châtaignier de préférence)** +Le plus validé scientifiquement. Le miel a des propriétés **antimicrobiennes réelles** et forme un film protecteur sur les voies respiratoires irritées. +- Recette simple : **1 cuillère à soupe de miel + jus d'un demi-citron** dans de l'eau chaude (pas bouillante — ça détruit les enzymes), 3x/jour +- Ou : **miel + curcuma** (1 cs de miel bio + 1 cc de curcuma), 2-3x/jour — le curcuma est anti-inflammatoire + +--- + +**🌿 Thym en infusion** +Propriétés **expectorantes** (aide à évacuer les mucosités) et **antiseptiques** bronchiques. Vraiment efficace pour ce type de toux. +- 1 grosse pincée de thym séché dans 250ml d'eau frémissante, 10 min d'infusion, avec du miel +- **3 tasses par jour** + +> 🔑 Combo gagnant : **thym + citron + gingembre + miel** en infusion — couvre antiseptique + expectorant + anti-inflammatoire + adoucissant en un seul verre + +--- + +### 🥈 Niveau 2 — Efficaces par l'usage traditionnel + +**🫗 Inhalations vapeur** +Détend les bronches, fluidifie les sécrétions et aide la toux à être productive. +- Bol d'eau très chaude + 2 gouttes d'**huile essentielle d'eucalyptus** (ou juste du thym frais) +- Tête sous une serviette, 5-10 min, 1-2x/jour +- ⚠️ Pas d'HE d'eucalyptus pure en inhalation directe si tu as de l'asthme + +**🧅 Sirop oignon + miel** +Vieux classique qui a du sens : l'oignon contient des **composés soufrés et de la quercétine** (anti-inflammatoire naturel) +- Couper 1 oignon en rondelles, couvrir de miel, laisser macérer 2-4h +- Prendre le sirop obtenu : 1 cs toutes les 2-3h + +--- + +### 🥉 Niveau 3 — Bon sens, pas de preuve directe mais aucun risque + +**💧 Hydratation ++** +Le plus simple et le plus sous-estimé. **Boire beaucoup d'eau** (2L minimum/jour) fluidifie les sécrétions bronchiques et aide le corps à combattre l'infection. Tisanes, bouillons, tout compte. + +**🫚 Cataplasme à la farine de lin (ou moutarde)** +Appliquer de la chaleur humide sur la poitrine — relaxe les bronches, soulage la douleur thoracique due à la toux répétée. Vieille technique mais confort réel. + +**🌡️ Repos + air humidifié** +Évite les pièces trop sèches (surtout avec le chauffage l'hiver) — l'air sec aggrave l'irritation bronchique. Un humidificateur ou un bol d'eau sur le radiateur aide. + +--- + +## ⚠️ Ce qu'il faut éviter en parallèle + +| À éviter | Pourquoi | +|---|---| +| Alcool | Déprime le système immunitaire, interagit mal | +| Tabac (actif ou passif) | Aggrave directement l'inflammation bronchique | +| Lait + produits laitiers en excès | Peuvent épaissir les sécrétions chez certaines personnes | +| HE en diffusion intensive | Peut irriter davantage des bronches déjà enflammées | + +--- + +**En résumé pratique** : commence par l'infusion thym/citron/gingembre/miel 3x/jour + boire énormément. C'est simple, efficace, et ça complète bien la pristinamycine. Les antibiotiques tuent la bactérie, les remèdes naturels aident tes bronches à récupérer plus vite. +user: Conversation info (untrusted metadata): +```json +{ + "message_id": "1061", + "sender_id": "2037871620", + "sender": "2037871620" +} +``` + +Est-ce que c'est contagieux une pneumonie ou pneumopathie +assistant: Bonne question — surtout avec des proches à la maison. La réponse est nuancée : + +--- + +## 🦠 Pneumonie — contagieuse ou pas ? + +### La réponse courte : **oui, mais risque modéré** + +La pneumonie bactérienne est **théoriquement transmissible**, mais bien **moins contagieuse** qu'une grippe ou un rhume. Ce n'est pas parce que tu es dans la même pièce que quelqu'un va forcément l'attraper. + +--- + +### Comment ça se transmet ? + +Via les **gouttelettes respiratoires** : toux, éternuements, postillons. La bactérie se retrouve dans l'air proche (moins d'1 mètre en général) ou sur les mains/surfaces. + +**Ce qui ne transmet pas :** toucher quelqu'un, partager un repas dans une pièce aérée, être dans la même maison avec précautions de base. + +--- + +### ⏱️ La bonne nouvelle : les antibiotiques changent tout + +Dès **24 à 48h après le début de la pristinamycine**, ta charge bactérienne chute drastiquement et tu deviens **beaucoup moins contagieux**. Si tu as commencé le traitement il y a 1-2 jours, le risque pour ton entourage est déjà très réduit. + +--- + +### 👥 Qui surveiller dans ton entourage + +| Profil | Risque | Précaution | +|---|---|---| +| Adultes en bonne santé | Faible | Hygiène de base suffit | +| Enfants en bas âge | Modéré | Éviter contact rapproché pendant 48h d'antibio | +| Personnes âgées +65 ans | Plus élevé | Limiter contact jusqu'à amélioration claire | +| Personnes immunodéprimées | Élevé | Vraiment éviter la proximité | + +--- + +### ✅ Précautions simples à garder pendant quelques jours encore + +- **Se couvrir la bouche** en toussant (dans le coude, pas la main) +- **Lavage des mains** régulier +- **Aérer les pièces** quotidiennement (10-15 min suffit) +- Éviter les embrassades/bisous avec personnes fragiles tant que tu tousses beaucoup +- Pas besoin de s'isoler comme avec le Covid — juste du bon sens + +--- + +**Résumé :** Tu n'es pas une bombe bactériologique 😄. Avec les antibiotiques en cours depuis peu, ton entourage en bonne santé n'est pas vraiment en danger. Garde juste les précautions de base, et sois un peu plus attentif si tu as des personnes âgées ou fragiles autour de toi. diff --git a/memory/2026-02-28.md b/memory/2026-02-28.md new file mode 100644 index 0000000..97f4f42 --- /dev/null +++ b/memory/2026-02-28.md @@ -0,0 +1,7 @@ + +## Penpot MCP — Session 2026-02-28 +- Ajout du serveur MCP penpot (zcube) à la stack Portainer (port 9002) +- Token Penpot configuré + `enable-access-tokens` activé dans les flags +- Créé affiche "SOLDES -50% chaussures" via MCP + screenshot Playwright → envoyé Telegram +- Documenté tous les gotchas MCP dans MEMORY.md (camelCase, session unique, export non dispo) +- CopyParty noté comme utile pour injecter des images dans Penpot via URL diff --git a/penpot-compose.yaml b/penpot-compose.yaml new file mode 100644 index 0000000..0580562 --- /dev/null +++ b/penpot-compose.yaml @@ -0,0 +1,100 @@ +networks: + penpot: + swag_lan: + external: true + +volumes: + penpot_postgres_v15: + penpot_assets: + +services: + penpot-frontend: + image: penpotapp/frontend:latest + restart: always + ports: + - "9001:8080" + volumes: + - penpot_assets:/opt/data/assets + depends_on: + - penpot-backend + - penpot-exporter + networks: + - penpot + - swag_lan + environment: + PENPOT_FLAGS: "disable-email-verification disable-secure-session-cookies enable-prepl-server" + PENPOT_HTTP_SERVER_MAX_BODY_SIZE: "31457280" + PENPOT_HTTP_SERVER_MAX_MULTIPART_BODY_SIZE: "367001600" + + penpot-backend: + image: penpotapp/backend:latest + restart: always + volumes: + - penpot_assets:/opt/data/assets + depends_on: + penpot-postgres: + condition: service_healthy + penpot-valkey: + condition: service_healthy + networks: + - penpot + environment: + PENPOT_FLAGS: "disable-email-verification disable-secure-session-cookies enable-prepl-server" + PENPOT_PUBLIC_URI: "http://192.168.1.150:9001" + PENPOT_HTTP_SERVER_MAX_BODY_SIZE: "31457280" + PENPOT_HTTP_SERVER_MAX_MULTIPART_BODY_SIZE: "367001600" + PENPOT_SECRET_KEY: "W-qrv3Y7XdwqoemDRgVD3gp-yq8Pk0acDNDW3TBu6DfEy3tB6uohjySj488TQl0PfIwpfl2MiqqLIW64W3gMpw" + PENPOT_DATABASE_URI: "postgresql://penpot-postgres/penpot" + PENPOT_DATABASE_USERNAME: "penpot" + PENPOT_DATABASE_PASSWORD: "penpot" + PENPOT_REDIS_URI: "redis://penpot-valkey/0" + PENPOT_OBJECTS_STORAGE_BACKEND: "fs" + PENPOT_OBJECTS_STORAGE_FS_DIRECTORY: "/opt/data/assets" + PENPOT_TELEMETRY_ENABLED: "false" + + penpot-exporter: + image: penpotapp/exporter:latest + restart: always + depends_on: + penpot-valkey: + condition: service_healthy + networks: + - penpot + environment: + PENPOT_SECRET_KEY: "W-qrv3Y7XdwqoemDRgVD3gp-yq8Pk0acDNDW3TBu6DfEy3tB6uohjySj488TQl0PfIwpfl2MiqqLIW64W3gMpw" + PENPOT_PUBLIC_URI: "http://penpot-frontend:8080" + PENPOT_REDIS_URI: "redis://penpot-valkey/0" + + penpot-postgres: + image: postgres:15 + restart: always + stop_signal: SIGINT + healthcheck: + test: ["CMD-SHELL", "pg_isready -U penpot"] + interval: 2s + timeout: 10s + retries: 5 + start_period: 2s + volumes: + - penpot_postgres_v15:/var/lib/postgresql/data + networks: + - penpot + environment: + POSTGRES_INITDB_ARGS: "--data-checksums" + POSTGRES_DB: "penpot" + POSTGRES_USER: "penpot" + POSTGRES_PASSWORD: "penpot" + + penpot-valkey: + image: valkey/valkey:8.1 + restart: always + healthcheck: + test: ["CMD-SHELL", "valkey-cli ping | grep PONG"] + interval: 1s + timeout: 3s + retries: 5 + start_period: 3s + networks: + - penpot + environment: + VALKEY_EXTRA_FLAGS: "--maxmemory 128mb --maxmemory-policy volatile-lfu" diff --git a/penpot-export.mjs b/penpot-export.mjs new file mode 100644 index 0000000..5a92e8e --- /dev/null +++ b/penpot-export.mjs @@ -0,0 +1,141 @@ +/** + * Exporte l'affiche Penpot en PNG + */ +import http from 'http'; +import fs from 'fs'; + +const MCP = { host: '192.168.1.150', port: 9002 }; + +let sessionId = null; +let msgId = 1; + +function postMCP(body) { + return new Promise((resolve, reject) => { + const payload = JSON.stringify(body); + const headers = { + 'Content-Type': 'application/json', + 'Content-Length': Buffer.byteLength(payload), + 'Accept': 'application/json, text/event-stream', + }; + if (sessionId) headers['mcp-session-id'] = sessionId; + const req = http.request({ ...MCP, path: '/mcp', method: 'POST', headers }, res => { + if (res.headers['mcp-session-id']) sessionId = res.headers['mcp-session-id']; + let data = ''; res.setEncoding('utf8'); + res.on('data', c => data += c); + res.on('end', () => { + const ct = res.headers['content-type'] || ''; + if (ct.includes('text/event-stream')) { + let result = null, error = null; + for (const line of data.split('\n')) { + if (line.startsWith('data:')) { + const raw = line.slice(5).trim(); + if (!raw || raw === '[DONE]') continue; + try { + const j = JSON.parse(raw); + if (j.result !== undefined) result = j.result; + if (j.error) error = j.error; + } catch {} + } + } + if (error) reject(new Error(JSON.stringify(error))); + else resolve(result); + } else { + try { + const j = JSON.parse(data); + if (j.error) reject(new Error(JSON.stringify(j.error))); + else resolve(j.result ?? j); + } catch { resolve(data || null); } + } + }); + }); + req.on('error', reject); req.write(payload); req.end(); + }); +} + +async function initMCP() { + await postMCP({ jsonrpc: '2.0', id: msgId++, method: 'initialize', params: { protocolVersion: '2025-03-26', capabilities: {}, clientInfo: { name: 'nox', version: '1.0' } } }); + await postMCP({ jsonrpc: '2.0', method: 'notifications/initialized', params: {} }).catch(() => {}); + console.log('✅ Session:', sessionId); +} + +async function callTool(name, args = {}) { + const result = await postMCP({ jsonrpc: '2.0', id: msgId++, method: 'tools/call', params: { name, arguments: args } }); + if (!result) return null; + if (result.content) { + // Cherche le contenu JSON ou texte + for (const c of result.content) { + if (c.type === 'image') return c; // image directe + try { return JSON.parse(c.text); } catch {} + } + return result.content.map(c => c.text).join('\n'); + } + return result; +} + +await initMCP(); + +// Trouver le fichier créé +const profile = await callTool('get_profile', {}); +const projectId = profile?.defaultProjectId; + +const filesResult = await callTool('list_files', { projectId }); +console.log('Files:', JSON.stringify(filesResult).slice(0, 400)); + +// Trouver l'affiche +let fileId = null, fileName = null; +if (Array.isArray(filesResult)) { + const f = filesResult.find(f => f.name?.includes('SOLDES')); + fileId = f?.id; fileName = f?.name; +} else { + const match = JSON.stringify(filesResult).match(/"id":"([0-9a-f-]+)"[^}]*"name":"[^"]*SOLDES/); + if (match) fileId = match[1]; +} +console.log('Affiche fileId:', fileId, fileName); + +if (!fileId) { console.error('Fichier non trouvé'); process.exit(1); } + +// Lister les pages +const pages = await callTool('list_pages', { fileId }); +console.log('Pages:', JSON.stringify(pages).slice(0, 200)); +let pageId = null; +if (Array.isArray(pages)) pageId = pages[0]?.id; +else { const m = JSON.stringify(pages).match(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/g); pageId = m?.find(u => u !== fileId); } +console.log('PageId:', pageId); + +// Lister les shapes pour trouver le frame +const shapes = await callTool('get_page_shapes', { fileId, pageId }); +console.log('Shapes:', JSON.stringify(shapes).slice(0, 400)); + +// Trouver le frame principal +let frameId = null; +if (Array.isArray(shapes)) { + const frame = shapes.find(s => s.name === 'Affiche SOLDES' || s.type === 'frame'); + frameId = frame?.id; +} else { + const m = JSON.stringify(shapes).match(/"id":"([0-9a-f-]+)"/g); + frameId = m?.[0]?.match(/"id":"([0-9a-f-]+)"/)?.[1]; +} +console.log('FrameId:', frameId); + +// Export en PNG +console.log('\n📸 Export PNG...'); +const exportResult = await callTool('export_shape', { + fileId, + pageId, + shapeId: frameId, + format: 'png', + scale: 2, +}); +console.log('Export result type:', typeof exportResult, JSON.stringify(exportResult).slice(0, 300)); + +// Sauvegarder si base64 +if (exportResult?.imageData || exportResult?.data) { + const b64 = exportResult.imageData || exportResult.data; + const buf = Buffer.from(b64, 'base64'); + fs.writeFileSync('/home/node/.openclaw/workspace/affiche-soldes.png', buf); + console.log('✅ Sauvegardé: affiche-soldes.png', buf.length, 'bytes'); +} else if (exportResult?.url) { + console.log('URL export:', exportResult.url); +} else { + console.log('Format inattendu:', JSON.stringify(exportResult).slice(0, 500)); +} diff --git a/penpot-make-poster.mjs b/penpot-make-poster.mjs new file mode 100644 index 0000000..b2bcc3d --- /dev/null +++ b/penpot-make-poster.mjs @@ -0,0 +1,236 @@ +/** + * Script tout-en-un : redémarre le MCP + crée l'affiche SOLDES + * Paramètres MCP = camelCase ! + */ +import https from 'https'; +import http from 'http'; + +const PORTAINER = { host: '192.168.1.150', port: 9443 }; +const MCP = { host: '192.168.1.150', port: 9002 }; +const API_KEY = process.env.PORTAINER_API_KEY; + +// ─── PORTAINER ─────────────────────────────────────────────────────────────── +function portainerReq(path, method = 'GET') { + return new Promise((resolve, reject) => { + const headers = { 'X-API-Key': API_KEY, 'Content-Length': 0 }; + const req = https.request({ ...PORTAINER, path, method, rejectUnauthorized: false, headers }, res => { + let d = ''; res.on('data', c => d += c); + res.on('end', () => { try { resolve(JSON.parse(d)); } catch { resolve(res.statusCode); } }); + }); + req.on('error', reject); + req.end(); + }); +} + +async function restartMCPContainer() { + const containers = await portainerReq('/api/endpoints/2/docker/containers/json?filters=%7B%22name%22%3A%5B%22penpot-penpot-mcp%22%5D%7D'); + const id = containers[0]?.Id; + await portainerReq(`/api/endpoints/2/docker/containers/${id}/restart`, 'POST'); + console.log('🔄 MCP restarted'); +} + +const sleep = ms => new Promise(r => setTimeout(r, ms)); + +// ─── MCP CLIENT ────────────────────────────────────────────────────────────── +let sessionId = null; +let msgId = 1; + +function postMCP(body) { + return new Promise((resolve, reject) => { + const payload = JSON.stringify(body); + const headers = { + 'Content-Type': 'application/json', + 'Content-Length': Buffer.byteLength(payload), + 'Accept': 'application/json, text/event-stream', + }; + if (sessionId) headers['mcp-session-id'] = sessionId; + const req = http.request({ ...MCP, path: '/mcp', method: 'POST', headers }, res => { + if (res.headers['mcp-session-id']) sessionId = res.headers['mcp-session-id']; + let data = ''; res.setEncoding('utf8'); + res.on('data', c => data += c); + res.on('end', () => { + const ct = res.headers['content-type'] || ''; + if (ct.includes('text/event-stream')) { + let result = null, error = null; + for (const line of data.split('\n')) { + if (line.startsWith('data:')) { + const raw = line.slice(5).trim(); + if (!raw || raw === '[DONE]') continue; + try { + const j = JSON.parse(raw); + if (j.result !== undefined) result = j.result; + if (j.error) error = j.error; + } catch {} + } + } + if (error) reject(new Error(JSON.stringify(error))); + else resolve(result); + } else { + try { + const j = JSON.parse(data); + if (j.error) reject(new Error(JSON.stringify(j.error))); + else resolve(j.result ?? j); + } catch { resolve(data || null); } + } + }); + }); + req.on('error', reject); req.write(payload); req.end(); + }); +} + +async function initMCP() { + await postMCP({ jsonrpc: '2.0', id: msgId++, method: 'initialize', params: { protocolVersion: '2025-03-26', capabilities: {}, clientInfo: { name: 'nox', version: '1.0' } } }); + await postMCP({ jsonrpc: '2.0', method: 'notifications/initialized', params: {} }).catch(() => {}); + console.log('✅ MCP Session:', sessionId); +} + +async function callTool(name, args = {}) { + const result = await postMCP({ jsonrpc: '2.0', id: msgId++, method: 'tools/call', params: { name, arguments: args } }); + if (!result) return null; + // Le tool retourne content[0] (summary) et content[1] (JSON) + if (result.content) { + const jsonContent = result.content.find(c => { try { JSON.parse(c.text); return true; } catch { return false; } }); + if (jsonContent) { try { return JSON.parse(jsonContent.text); } catch {} } + return result.content[0]?.text; + } + return result; +} + +async function shape(type, args) { + const r = await callTool(`create_${type}`, args); + const id = typeof r === 'object' ? r?.id : null; + console.log(` ✓ ${type} "${args.name || ''}" ${id ? '→ ' + id.slice(0,8) : JSON.stringify(r).slice(0,60)}`); + return r; +} + +// ─── MAIN ──────────────────────────────────────────────────────────────────── +console.log('🚀 Démarrage création affiche SOLDES...'); +await restartMCPContainer(); +await sleep(10000); +await initMCP(); + +// Profil +const profile = await callTool('get_profile', {}); +const projectId = profile?.defaultProjectId; +console.log('ProjectId:', projectId); + +// Créer le fichier (camelCase!) +console.log('\n📄 Création du fichier...'); +const file = await callTool('create_file', { projectId, name: 'Affiche SOLDES -50%' }); +console.log('File:', JSON.stringify(file).slice(0, 150)); + +const fileId = file?.id; +if (!fileId) { console.error('❌ Pas de fileId'); process.exit(1); } +console.log('FileId:', fileId); + +// Lister les pages (camelCase) +const pagesResult = await callTool('list_pages', { fileId }); +console.log('Pages raw:', JSON.stringify(pagesResult).slice(0, 200)); +let pageId = null; +if (Array.isArray(pagesResult)) pageId = pagesResult[0]?.id; +else if (pagesResult?.pages) pageId = pagesResult.pages[0]?.id; +else { + // Extraire UUID depuis texte + const uuids = JSON.stringify(pagesResult).match(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/g); + pageId = uuids?.find(u => u !== fileId); +} +console.log('PageId:', pageId); +if (!pageId) { console.error('❌ Pas de pageId'); process.exit(1); } + +// ─── DESIGN (600×900) ──────────────────────────────────────────────────────── +console.log('\n🎨 Construction du design...'); + +// Frame principale - fond rouge +const mainFrame = await shape('frame', { + fileId, pageId, + name: 'Affiche SOLDES', + x: 100, y: 100, + width: 600, height: 900, + fillColor: '#C0392B', +}); +const frameId = mainFrame?.id; + +// Bandes jaunes déco haut/bas +await shape('rectangle', { fileId, pageId, parentId: frameId, name: 'Bande haut', x: 0, y: 0, width: 600, height: 14, fillColor: '#F1C40F' }); +await shape('rectangle', { fileId, pageId, parentId: frameId, name: 'Bande bas', x: 0, y: 886, width: 600, height: 14, fillColor: '#F1C40F' }); + +// Header sombre +await shape('rectangle', { fileId, pageId, parentId: frameId, name: 'Header bg', x: 0, y: 14, width: 600, height: 88, fillColor: '#922B21' }); + +// MEGA SOLDES +await shape('text', { + fileId, pageId, parentId: frameId, + name: 'MEGA SOLDES', content: 'MEGA SOLDES', + x: 0, y: 28, width: 600, height: 65, + fontSize: 36, fontWeight: '800', fillColor: '#F1C40F', align: 'center', +}); + +// -50% +await shape('text', { + fileId, pageId, parentId: frameId, + name: '-50%', content: '-50%', + x: 0, y: 110, width: 600, height: 250, + fontSize: 180, fontWeight: '900', fillColor: '#FFFFFF', align: 'center', +}); + +// Sous-titre chaussures +await shape('text', { + fileId, pageId, parentId: frameId, + name: 'Sous-titre', content: 'SUR TOUTES NOS CHAUSSURES', + x: 0, y: 368, width: 600, height: 55, + fontSize: 24, fontWeight: '700', fillColor: '#F1C40F', align: 'center', +}); + +// Séparateur +await shape('rectangle', { fileId, pageId, parentId: frameId, name: 'Sep', x: 80, y: 432, width: 440, height: 3, fillColor: '#F1C40F' }); + +// Badge offre +await shape('rectangle', { + fileId, pageId, parentId: frameId, + name: 'Badge bg', x: 125, y: 450, width: 350, height: 70, + fillColor: '#F1C40F', r1: 12, r2: 12, r3: 12, r4: 12, +}); +await shape('text', { + fileId, pageId, parentId: frameId, + name: 'Badge text', content: '⚡ OFFRE LIMITÉE ⚡', + x: 125, y: 465, width: 350, height: 42, + fontSize: 22, fontWeight: '800', fillColor: '#922B21', align: 'center', +}); + +// Dates +await shape('text', { + fileId, pageId, parentId: frameId, + name: 'Dates', content: 'du 1er au 31 mars 2026', + x: 0, y: 540, width: 600, height: 40, + fontSize: 20, fontWeight: '400', fillColor: '#FADBD8', align: 'center', +}); + +// Emojis chaussures +await shape('text', { + fileId, pageId, parentId: frameId, + name: 'Chaussures', content: '👟 👠 👞', + x: 0, y: 590, width: 600, height: 160, + fontSize: 90, align: 'center', +}); + +// Ligne déco +await shape('rectangle', { fileId, pageId, parentId: frameId, name: 'Sep2', x: 80, y: 760, width: 440, height: 3, fillColor: '#F8C471' }); + +// Site web +await shape('text', { + fileId, pageId, parentId: frameId, + name: 'Site web', content: 'www.votre-boutique.fr', + x: 0, y: 775, width: 600, height: 35, + fontSize: 16, fontWeight: '400', fillColor: '#F8C471', align: 'center', +}); + +// Étoiles déco bas +await shape('text', { + fileId, pageId, parentId: frameId, + name: 'Etoiles', content: '★ ★ ★ ★ ★', + x: 0, y: 830, width: 600, height: 40, + fontSize: 22, fillColor: '#F1C40F', align: 'center', +}); + +console.log('\n✅ Affiche SOLDES créée dans Penpot !'); +console.log('🔗 http://192.168.1.150:9001 → dossier "Drafts" → "Affiche SOLDES -50%"'); diff --git a/penpot-mcp-client.mjs b/penpot-mcp-client.mjs new file mode 100644 index 0000000..6fd8ef8 --- /dev/null +++ b/penpot-mcp-client.mjs @@ -0,0 +1,92 @@ +/** + * Client MCP - Streamable HTTP transport (MCP 2025-03-26) + * La réponse initialize est en SSE, les suivantes aussi. + */ +import http from 'http'; + +const MCP_HOST = '192.168.1.150'; +const MCP_PORT = 9002; + +let sessionId = null; +let msgId = 1; + +function postMCP(body) { + return new Promise((resolve, reject) => { + const payload = JSON.stringify(body); + const headers = { + 'Content-Type': 'application/json', + 'Content-Length': Buffer.byteLength(payload), + 'Accept': 'application/json, text/event-stream', + }; + if (sessionId) headers['mcp-session-id'] = sessionId; + + const req = http.request({ + hostname: MCP_HOST, port: MCP_PORT, path: '/mcp', method: 'POST', headers + }, res => { + // Récupère session ID depuis header + if (res.headers['mcp-session-id']) sessionId = res.headers['mcp-session-id']; + + let data = ''; + res.setEncoding('utf8'); + res.on('data', c => data += c); + res.on('end', () => { + const ct = res.headers['content-type'] || ''; + + if (ct.includes('text/event-stream')) { + // Parser SSE + let result = null; + let error = null; + for (const line of data.split('\n')) { + if (line.startsWith('data:')) { + const raw = line.slice(5).trim(); + if (!raw || raw === '[DONE]') continue; + try { + const j = JSON.parse(raw); + if (j.result !== undefined) result = j.result; + if (j.error) error = j.error; + } catch {} + } + } + if (error) reject(new Error(JSON.stringify(error))); + else resolve(result); + } else { + // JSON direct + try { + const j = JSON.parse(data); + if (j.error) reject(new Error(JSON.stringify(j.error))); + else resolve(j.result ?? j); + } catch { resolve(data || null); } + } + }); + }); + req.on('error', reject); + req.write(payload); + req.end(); + }); +} + +export async function init() { + await postMCP({ + jsonrpc: '2.0', id: msgId++, method: 'initialize', + params: { protocolVersion: '2025-03-26', capabilities: {}, clientInfo: { name: 'nox', version: '1.0' } } + }); + // Notification initialized + await postMCP({ jsonrpc: '2.0', method: 'notifications/initialized', params: {} }).catch(() => {}); + console.log('✅ MCP Session:', sessionId); +} + +export async function toolRaw(name, args = {}) { + return postMCP({ jsonrpc: '2.0', id: msgId++, method: 'tools/call', params: { name, arguments: args } }); +} + +export async function tool(name, args = {}) { + const result = await toolRaw(name, args); + if (!result) return null; + if (result.content && result.content[0]) { + const text = result.content[0].text; + try { return JSON.parse(text); } catch { return text; } + } + return result; +} + +export { sessionId }; diff --git a/penpot-poster.mjs b/penpot-poster.mjs new file mode 100644 index 0000000..1c76832 --- /dev/null +++ b/penpot-poster.mjs @@ -0,0 +1,275 @@ +/** + * Création d'une affiche "SOLDES -50% Chaussures" dans Penpot + */ +import http from 'http'; + +const MCP_HOST = '192.168.1.150'; +const MCP_PORT = 9002; + +let sessionId = null; +let msgId = 1; + +function postMCP(body) { + return new Promise((resolve, reject) => { + const payload = JSON.stringify(body); + const headers = { + 'Content-Type': 'application/json', + 'Content-Length': Buffer.byteLength(payload), + 'Accept': 'application/json, text/event-stream', + }; + if (sessionId) headers['mcp-session-id'] = sessionId; + + const req = http.request({ + hostname: MCP_HOST, port: MCP_PORT, path: '/mcp', method: 'POST', headers + }, res => { + if (res.headers['mcp-session-id']) sessionId = res.headers['mcp-session-id']; + let data = ''; + res.setEncoding('utf8'); + res.on('data', c => data += c); + res.on('end', () => { + const ct = res.headers['content-type'] || ''; + if (ct.includes('text/event-stream')) { + let result = null, error = null; + for (const line of data.split('\n')) { + if (line.startsWith('data:')) { + const raw = line.slice(5).trim(); + if (!raw || raw === '[DONE]') continue; + try { + const j = JSON.parse(raw); + if (j.result !== undefined) result = j.result; + if (j.error) error = j.error; + } catch {} + } + } + if (error) reject(new Error(JSON.stringify(error))); + else resolve(result); + } else { + try { + const j = JSON.parse(data); + if (j.error) reject(new Error(JSON.stringify(j.error))); + else resolve(j.result ?? j); + } catch { resolve(data || null); } + } + }); + }); + req.on('error', reject); + req.write(payload); + req.end(); + }); +} + +async function init() { + await postMCP({ + jsonrpc: '2.0', id: msgId++, method: 'initialize', + params: { protocolVersion: '2025-03-26', capabilities: {}, clientInfo: { name: 'nox', version: '1.0' } } + }); + await postMCP({ jsonrpc: '2.0', method: 'notifications/initialized', params: {} }).catch(() => {}); + console.log('✅ Session:', sessionId); +} + +async function callTool(name, args = {}) { + const result = await postMCP({ jsonrpc: '2.0', id: msgId++, method: 'tools/call', params: { name, arguments: args } }); + if (!result) return null; + if (result.content && result.content[0]) { + const text = result.content[0].text; + try { return JSON.parse(text); } catch { return text; } + } + return result; +} + +// ─── MAIN ─────────────────────────────────────────────────────────────────── + +await init(); + +// 1. Profil pour récupérer defaultTeamId et defaultProjectId +const profile = await callTool('get_profile', {}); +const teamId = profile?.defaultTeamId; +const projectId = profile?.defaultProjectId; +console.log('TeamId:', teamId); +console.log('ProjectId:', projectId); + +if (!projectId || !teamId) { + console.error('❌ Pas de profil/projet', JSON.stringify(profile)); + process.exit(1); +} + +// 2. Créer le fichier +console.log('\n📄 Création du fichier...'); +const file = await callTool('create_file', { project_id: projectId, name: 'Affiche SOLDES -50%' }); +console.log('File:', JSON.stringify(file).slice(0, 300)); + +const fileId = file?.id || file?.file_id; +if (!fileId) { console.error('❌ Pas de fileId', file); process.exit(1); } +console.log('FileId:', fileId); + +// 3. Récupérer la première page +const pages = await callTool('list_pages', { file_id: fileId }); +console.log('Pages:', JSON.stringify(pages).slice(0, 200)); +let pageId = null; +if (Array.isArray(pages)) pageId = pages[0]?.id; +else if (pages?.pages) pageId = pages.pages[0]?.id; +console.log('PageId:', pageId); + +// ─── DESIGN ───────────────────────────────────────────────────────────────── +// Format affiche : 600 x 900px +// Palette : fond rouge foncé, texte blanc/jaune, accent orange + +// 4. Frame principale (l'affiche) +console.log('\n🎨 Création du frame principal...'); +const mainFrame = await callTool('create_frame', { + file_id: fileId, + page_id: pageId, + name: 'Affiche SOLDES', + x: 50, + y: 50, + width: 600, + height: 900, + fill_color: '#C0392B', +}); +console.log('MainFrame:', JSON.stringify(mainFrame).slice(0, 200)); +const frameId = mainFrame?.id; + +// 5. Bande décorative haut (jaune) +await callTool('create_rectangle', { + file_id: fileId, page_id: pageId, + parent_id: frameId, + name: 'Bande haut', + x: 0, y: 0, width: 600, height: 12, + fill_color: '#F1C40F', +}); + +// 6. Bande décorative bas (jaune) +await callTool('create_rectangle', { + file_id: fileId, page_id: pageId, + parent_id: frameId, + name: 'Bande bas', + x: 0, y: 888, width: 600, height: 12, + fill_color: '#F1C40F', +}); + +// 7. Bloc accroche en haut +await callTool('create_rectangle', { + file_id: fileId, page_id: pageId, + parent_id: frameId, + name: 'Bloc top', + x: 0, y: 12, width: 600, height: 80, + fill_color: '#922B21', +}); + +// 8. Texte "MEGA SOLDES" (haut) +await callTool('create_text', { + file_id: fileId, page_id: pageId, + parent_id: frameId, + name: 'Label MEGA', + content: 'MEGA SOLDES', + x: 0, y: 25, + width: 600, height: 60, + font_size: 32, + font_weight: '700', + fill_color: '#F1C40F', + align: 'center', +}); + +// 9. Gros texte "-50%" +await callTool('create_text', { + file_id: fileId, page_id: pageId, + parent_id: frameId, + name: '-50%', + content: '-50%', + x: 0, y: 120, + width: 600, height: 280, + font_size: 200, + font_weight: '900', + fill_color: '#FFFFFF', + align: 'center', +}); + +// 10. Texte "SUR TOUTES NOS CHAUSSURES" +await callTool('create_text', { + file_id: fileId, page_id: pageId, + parent_id: frameId, + name: 'Sous-titre', + content: 'SUR TOUTES NOS CHAUSSURES', + x: 0, y: 415, + width: 600, height: 60, + font_size: 26, + font_weight: '600', + fill_color: '#F1C40F', + align: 'center', +}); + +// 11. Séparateur +await callTool('create_rectangle', { + file_id: fileId, page_id: pageId, + parent_id: frameId, + name: 'Separateur', + x: 80, y: 490, width: 440, height: 4, + fill_color: '#F1C40F', +}); + +// 12. Bloc central jaune pour "OFFRE LIMITÉE" +await callTool('create_rectangle', { + file_id: fileId, page_id: pageId, + parent_id: frameId, + name: 'Badge offre', + x: 130, y: 520, width: 340, height: 70, + fill_color: '#F1C40F', + corner_radius: 8, +}); + +// 13. Texte "OFFRE LIMITÉE" +await callTool('create_text', { + file_id: fileId, page_id: pageId, + parent_id: frameId, + name: 'Offre limitee', + content: 'OFFRE LIMITÉE', + x: 130, y: 534, + width: 340, height: 44, + font_size: 24, + font_weight: '800', + fill_color: '#C0392B', + align: 'center', +}); + +// 14. Texte "du 1er au 31 janvier" +await callTool('create_text', { + file_id: fileId, page_id: pageId, + parent_id: frameId, + name: 'Dates', + content: 'du 1er au 31 mars 2026', + x: 0, y: 620, + width: 600, height: 40, + font_size: 20, + font_weight: '400', + fill_color: '#FADBD8', + align: 'center', +}); + +// 15. Grande icône chaussure (emoji via texte) +await callTool('create_text', { + file_id: fileId, page_id: pageId, + parent_id: frameId, + name: 'Icone chaussure', + content: '👟', + x: 0, y: 660, + width: 600, height: 160, + font_size: 130, + align: 'center', +}); + +// 16. Texte bas "boutique-example.fr" +await callTool('create_text', { + file_id: fileId, page_id: pageId, + parent_id: frameId, + name: 'Site web', + content: 'www.votre-boutique.fr', + x: 0, y: 845, + width: 600, height: 35, + font_size: 16, + font_weight: '400', + fill_color: '#F8C471', + align: 'center', +}); + +console.log('\n✅ Affiche créée dans Penpot !'); +console.log(`🔗 Ouvrir : http://192.168.1.150:9001 → projet → fichier "Affiche SOLDES -50%"`); diff --git a/penpot-template.mjs b/penpot-template.mjs new file mode 100644 index 0000000..b2bcc3d --- /dev/null +++ b/penpot-template.mjs @@ -0,0 +1,236 @@ +/** + * Script tout-en-un : redémarre le MCP + crée l'affiche SOLDES + * Paramètres MCP = camelCase ! + */ +import https from 'https'; +import http from 'http'; + +const PORTAINER = { host: '192.168.1.150', port: 9443 }; +const MCP = { host: '192.168.1.150', port: 9002 }; +const API_KEY = process.env.PORTAINER_API_KEY; + +// ─── PORTAINER ─────────────────────────────────────────────────────────────── +function portainerReq(path, method = 'GET') { + return new Promise((resolve, reject) => { + const headers = { 'X-API-Key': API_KEY, 'Content-Length': 0 }; + const req = https.request({ ...PORTAINER, path, method, rejectUnauthorized: false, headers }, res => { + let d = ''; res.on('data', c => d += c); + res.on('end', () => { try { resolve(JSON.parse(d)); } catch { resolve(res.statusCode); } }); + }); + req.on('error', reject); + req.end(); + }); +} + +async function restartMCPContainer() { + const containers = await portainerReq('/api/endpoints/2/docker/containers/json?filters=%7B%22name%22%3A%5B%22penpot-penpot-mcp%22%5D%7D'); + const id = containers[0]?.Id; + await portainerReq(`/api/endpoints/2/docker/containers/${id}/restart`, 'POST'); + console.log('🔄 MCP restarted'); +} + +const sleep = ms => new Promise(r => setTimeout(r, ms)); + +// ─── MCP CLIENT ────────────────────────────────────────────────────────────── +let sessionId = null; +let msgId = 1; + +function postMCP(body) { + return new Promise((resolve, reject) => { + const payload = JSON.stringify(body); + const headers = { + 'Content-Type': 'application/json', + 'Content-Length': Buffer.byteLength(payload), + 'Accept': 'application/json, text/event-stream', + }; + if (sessionId) headers['mcp-session-id'] = sessionId; + const req = http.request({ ...MCP, path: '/mcp', method: 'POST', headers }, res => { + if (res.headers['mcp-session-id']) sessionId = res.headers['mcp-session-id']; + let data = ''; res.setEncoding('utf8'); + res.on('data', c => data += c); + res.on('end', () => { + const ct = res.headers['content-type'] || ''; + if (ct.includes('text/event-stream')) { + let result = null, error = null; + for (const line of data.split('\n')) { + if (line.startsWith('data:')) { + const raw = line.slice(5).trim(); + if (!raw || raw === '[DONE]') continue; + try { + const j = JSON.parse(raw); + if (j.result !== undefined) result = j.result; + if (j.error) error = j.error; + } catch {} + } + } + if (error) reject(new Error(JSON.stringify(error))); + else resolve(result); + } else { + try { + const j = JSON.parse(data); + if (j.error) reject(new Error(JSON.stringify(j.error))); + else resolve(j.result ?? j); + } catch { resolve(data || null); } + } + }); + }); + req.on('error', reject); req.write(payload); req.end(); + }); +} + +async function initMCP() { + await postMCP({ jsonrpc: '2.0', id: msgId++, method: 'initialize', params: { protocolVersion: '2025-03-26', capabilities: {}, clientInfo: { name: 'nox', version: '1.0' } } }); + await postMCP({ jsonrpc: '2.0', method: 'notifications/initialized', params: {} }).catch(() => {}); + console.log('✅ MCP Session:', sessionId); +} + +async function callTool(name, args = {}) { + const result = await postMCP({ jsonrpc: '2.0', id: msgId++, method: 'tools/call', params: { name, arguments: args } }); + if (!result) return null; + // Le tool retourne content[0] (summary) et content[1] (JSON) + if (result.content) { + const jsonContent = result.content.find(c => { try { JSON.parse(c.text); return true; } catch { return false; } }); + if (jsonContent) { try { return JSON.parse(jsonContent.text); } catch {} } + return result.content[0]?.text; + } + return result; +} + +async function shape(type, args) { + const r = await callTool(`create_${type}`, args); + const id = typeof r === 'object' ? r?.id : null; + console.log(` ✓ ${type} "${args.name || ''}" ${id ? '→ ' + id.slice(0,8) : JSON.stringify(r).slice(0,60)}`); + return r; +} + +// ─── MAIN ──────────────────────────────────────────────────────────────────── +console.log('🚀 Démarrage création affiche SOLDES...'); +await restartMCPContainer(); +await sleep(10000); +await initMCP(); + +// Profil +const profile = await callTool('get_profile', {}); +const projectId = profile?.defaultProjectId; +console.log('ProjectId:', projectId); + +// Créer le fichier (camelCase!) +console.log('\n📄 Création du fichier...'); +const file = await callTool('create_file', { projectId, name: 'Affiche SOLDES -50%' }); +console.log('File:', JSON.stringify(file).slice(0, 150)); + +const fileId = file?.id; +if (!fileId) { console.error('❌ Pas de fileId'); process.exit(1); } +console.log('FileId:', fileId); + +// Lister les pages (camelCase) +const pagesResult = await callTool('list_pages', { fileId }); +console.log('Pages raw:', JSON.stringify(pagesResult).slice(0, 200)); +let pageId = null; +if (Array.isArray(pagesResult)) pageId = pagesResult[0]?.id; +else if (pagesResult?.pages) pageId = pagesResult.pages[0]?.id; +else { + // Extraire UUID depuis texte + const uuids = JSON.stringify(pagesResult).match(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/g); + pageId = uuids?.find(u => u !== fileId); +} +console.log('PageId:', pageId); +if (!pageId) { console.error('❌ Pas de pageId'); process.exit(1); } + +// ─── DESIGN (600×900) ──────────────────────────────────────────────────────── +console.log('\n🎨 Construction du design...'); + +// Frame principale - fond rouge +const mainFrame = await shape('frame', { + fileId, pageId, + name: 'Affiche SOLDES', + x: 100, y: 100, + width: 600, height: 900, + fillColor: '#C0392B', +}); +const frameId = mainFrame?.id; + +// Bandes jaunes déco haut/bas +await shape('rectangle', { fileId, pageId, parentId: frameId, name: 'Bande haut', x: 0, y: 0, width: 600, height: 14, fillColor: '#F1C40F' }); +await shape('rectangle', { fileId, pageId, parentId: frameId, name: 'Bande bas', x: 0, y: 886, width: 600, height: 14, fillColor: '#F1C40F' }); + +// Header sombre +await shape('rectangle', { fileId, pageId, parentId: frameId, name: 'Header bg', x: 0, y: 14, width: 600, height: 88, fillColor: '#922B21' }); + +// MEGA SOLDES +await shape('text', { + fileId, pageId, parentId: frameId, + name: 'MEGA SOLDES', content: 'MEGA SOLDES', + x: 0, y: 28, width: 600, height: 65, + fontSize: 36, fontWeight: '800', fillColor: '#F1C40F', align: 'center', +}); + +// -50% +await shape('text', { + fileId, pageId, parentId: frameId, + name: '-50%', content: '-50%', + x: 0, y: 110, width: 600, height: 250, + fontSize: 180, fontWeight: '900', fillColor: '#FFFFFF', align: 'center', +}); + +// Sous-titre chaussures +await shape('text', { + fileId, pageId, parentId: frameId, + name: 'Sous-titre', content: 'SUR TOUTES NOS CHAUSSURES', + x: 0, y: 368, width: 600, height: 55, + fontSize: 24, fontWeight: '700', fillColor: '#F1C40F', align: 'center', +}); + +// Séparateur +await shape('rectangle', { fileId, pageId, parentId: frameId, name: 'Sep', x: 80, y: 432, width: 440, height: 3, fillColor: '#F1C40F' }); + +// Badge offre +await shape('rectangle', { + fileId, pageId, parentId: frameId, + name: 'Badge bg', x: 125, y: 450, width: 350, height: 70, + fillColor: '#F1C40F', r1: 12, r2: 12, r3: 12, r4: 12, +}); +await shape('text', { + fileId, pageId, parentId: frameId, + name: 'Badge text', content: '⚡ OFFRE LIMITÉE ⚡', + x: 125, y: 465, width: 350, height: 42, + fontSize: 22, fontWeight: '800', fillColor: '#922B21', align: 'center', +}); + +// Dates +await shape('text', { + fileId, pageId, parentId: frameId, + name: 'Dates', content: 'du 1er au 31 mars 2026', + x: 0, y: 540, width: 600, height: 40, + fontSize: 20, fontWeight: '400', fillColor: '#FADBD8', align: 'center', +}); + +// Emojis chaussures +await shape('text', { + fileId, pageId, parentId: frameId, + name: 'Chaussures', content: '👟 👠 👞', + x: 0, y: 590, width: 600, height: 160, + fontSize: 90, align: 'center', +}); + +// Ligne déco +await shape('rectangle', { fileId, pageId, parentId: frameId, name: 'Sep2', x: 80, y: 760, width: 440, height: 3, fillColor: '#F8C471' }); + +// Site web +await shape('text', { + fileId, pageId, parentId: frameId, + name: 'Site web', content: 'www.votre-boutique.fr', + x: 0, y: 775, width: 600, height: 35, + fontSize: 16, fontWeight: '400', fillColor: '#F8C471', align: 'center', +}); + +// Étoiles déco bas +await shape('text', { + fileId, pageId, parentId: frameId, + name: 'Etoiles', content: '★ ★ ★ ★ ★', + x: 0, y: 830, width: 600, height: 40, + fontSize: 22, fillColor: '#F1C40F', align: 'center', +}); + +console.log('\n✅ Affiche SOLDES créée dans Penpot !'); +console.log('🔗 http://192.168.1.150:9001 → dossier "Drafts" → "Affiche SOLDES -50%"'); diff --git a/screenshot-poster.mjs b/screenshot-poster.mjs new file mode 100644 index 0000000..eedda80 --- /dev/null +++ b/screenshot-poster.mjs @@ -0,0 +1,28 @@ +import { chromium } from '/home/node/.openclaw/workspace/node_modules/playwright/index.mjs'; +import path from 'path'; +import { fileURLToPath } from 'url'; + +const __dirname = path.dirname(fileURLToPath(import.meta.url)); +const htmlPath = 'file://' + path.join(__dirname, 'affiche-soldes.html'); +const outPath = path.join(__dirname, 'affiche-soldes.png'); + +const browser = await chromium.launch({ + executablePath: '/home/node/.cache/ms-playwright/chromium-1208/chrome-linux64/chrome', + args: ['--no-sandbox', '--disable-setuid-sandbox'], +}); + +const page = await browser.newPage(); +await page.setViewportSize({ width: 600, height: 900 }); +await page.goto(htmlPath, { waitUntil: 'networkidle' }); + +// Petite pause pour le rendu des emojis +await page.waitForTimeout(500); + +await page.screenshot({ + path: outPath, + clip: { x: 0, y: 0, width: 600, height: 900 }, + type: 'png', +}); + +await browser.close(); +console.log('✅ Screenshot:', outPath);