{"id":50824384,"url":"https://github.com/memorasolutions/memora-macros-keyboard-maestro","last_synced_at":"2026-06-13T17:01:19.591Z","repository":{"id":364109245,"uuid":"1266418901","full_name":"memorasolutions/memora-macros-keyboard-maestro","owner":"memorasolutions","description":"Snippets simples et rapides pour Keyboard Maestro (macOS) — installation en 1 double-clic. Par MEMORA solutions.","archived":false,"fork":false,"pushed_at":"2026-06-11T17:58:43.000Z","size":29,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-11T18:13:18.354Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/memorasolutions.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-11T15:45:22.000Z","updated_at":"2026-06-11T17:58:44.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/memorasolutions/memora-macros-keyboard-maestro","commit_stats":null,"previous_names":["memorasolutions/memora-macros-keyboard-maestro"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/memorasolutions/memora-macros-keyboard-maestro","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/memorasolutions%2Fmemora-macros-keyboard-maestro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/memorasolutions%2Fmemora-macros-keyboard-maestro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/memorasolutions%2Fmemora-macros-keyboard-maestro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/memorasolutions%2Fmemora-macros-keyboard-maestro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/memorasolutions","download_url":"https://codeload.github.com/memorasolutions/memora-macros-keyboard-maestro/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/memorasolutions%2Fmemora-macros-keyboard-maestro/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34292326,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-13T02:00:06.617Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-13T17:00:52.406Z","updated_at":"2026-06-13T17:01:14.637Z","avatar_url":"https://github.com/memorasolutions.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MEMORA — Macros pour Keyboard Maestro\n\n\u003e Auteur : **MEMORA solutions** — https://memora.solutions — info@memora.ca · Licence **Apache-2.0**\n\nDeux outils macOS propulsés par **Keyboard Maestro**, pensés pour être installés **en un double-clic**, même par un débutant. Ils transforment vos textes répétitifs en macros autonomes et puissantes, sans jamais ouvrir l'éditeur de Keyboard Maestro.\n\n![Aperçu](docs/apercu.png)\n\n---\n\n## Ce que ça fait\n\n### 1. MEMORA — Snippets \u0026nbsp;·\u0026nbsp; `;mem`\n\nUne fenêtre élégante pour **insérer vos textes réutilisables** dans n'importe quelle application macOS.\n\n- Tapez **`;mem`** → la fenêtre s'ouvre.\n- **Cochez** un ou plusieurs snippets, cliquez **Insérer** (ou appuyez sur **Entrée**) → le texte est collé instantanément dans l'app active.\n- **Variables dynamiques** : à l'insertion, une petite fenêtre vous demande les valeurs manquantes (avec aperçu en direct).\n- **Panneau de variables** : cliquez ou **glissez-déposez** un bouton dans le texte pour insérer le bon jeton — pas besoin de mémoriser la syntaxe.\n- **Recherche** instantanée (floue, tolérante aux fautes) ; badge `{ }` sur les snippets à variables.\n- **Favoris ⭐**, vue **Fréquents**, **dossiers** et barre latérale de catégories.\n- **Gestion complète dans la fenêtre** : ➕ ajouter · ✎ modifier · 🗑 supprimer · glisser-déposer pour réordonner.\n- **Profil 👤** : renseignez vos infos une seule fois (prénom, courriel, entreprise…) → réutilisées partout via `{{moi:…}}`.\n- **Assistant IA (OpenRouter)** : reformuler · traduire · corriger · raccourcir votre texte, avec aperçu avant insertion. Vous saisissez **votre propre clé** (via 👤) ; elle reste sur votre Mac.\n- **Import / Export JSON** (📚) : sauvegardez, migrez ou partagez votre bibliothèque.\n- Mode sombre automatique, fenêtre adaptée à votre écran, accessible (WCAG 2.2).\n\n---\n\n### 2. MEMORA — Atelier \u0026nbsp;·\u0026nbsp; `;atelier`\n\nCréez de **vraies macros Keyboard Maestro indépendantes**, facilement, sans toucher à l'éditeur.\n\n\u003e « La facilité de TypeDesk, la puissance de Keyboard Maestro. »\n\n- Tapez **`;atelier`** → la fenêtre s'ouvre.\n- Donnez un **nom** à votre macro.\n- Choisissez un **déclencheur** : une **chaîne tapée** (ex. `;courriel`) ET/OU un **raccourci clavier** (ex. ⇧⌘E, capturé directement dans la fenêtre). Au moins l'un des deux est requis.\n- Rédigez votre **texte** en utilisant le même panneau de variables que Snippets.\n- Cliquez **Créer** → la macro autonome est ajoutée dans le groupe **« Mes textes MEMORA »** de Keyboard Maestro. Elle fonctionne immédiatement, dans toutes vos apps.\n- **Macros à variables** : à chaque déclenchement, une petite fenêtre de remplissage s'ouvre, demande les valeurs et insère le texte complété.\n- **Gérez vos macros** depuis l'Atelier : **✎ Ouvrir dans Keyboard Maestro** (pour aller plus loin) · **🗑 Supprimer** (avec confirmation, sans popup bloquant).\n\n---\n\n## Installation (double-clic — débutant)\n\nPrérequis : macOS avec **Keyboard Maestro 11+** installé.\n\n### MEMORA — Snippets\n\n1. **[Télécharger la dernière version](../../releases/latest)** → fichier `MEMORA-Snippets-vX.Y.kmmacros`.\n2. **Double-cliquez** le fichier téléchargé → Keyboard Maestro l'importe automatiquement.\n3. Dans n'importe quelle app, tapez **`;mem`** → la fenêtre s'ouvre.\n\n### MEMORA — Atelier\n\n1. **[Télécharger la dernière version](../../releases/latest)** → fichier `MEMORA-Atelier-vX.Y.kmmacros`.\n2. **Double-cliquez** le fichier téléchargé → Keyboard Maestro l'importe automatiquement.\n3. Tapez **`;atelier`** → la fenêtre s'ouvre.\n\n\u003e Les deux outils peuvent être installés ensemble ; ils fonctionnent de façon indépendante.\n\n---\n\n## Utilisation\n\n### MEMORA — Snippets (`;mem`)\n\n| Action | Comment |\n|--------|---------|\n| Ouvrir la fenêtre | Tapez **`;mem`** dans n'importe quelle app |\n| Insérer un snippet | Cochez-le, puis cliquez **Insérer** ou appuyez sur **Entrée** |\n| Ajouter un snippet | Bouton **➕** dans la fenêtre |\n| Modifier un snippet | Bouton **✎** sur la carte |\n| Supprimer | Bouton **🗑** (suppression annulable) |\n| Réordonner | Glisser-déposer par la poignée ⠿ |\n| Filtrer | Barre latérale : Tous · ⭐ Favoris · 🕘 Fréquents · dossiers |\n| Éditer le profil | Bouton **👤** |\n\n### MEMORA — Atelier (`;atelier`)\n\n| Action | Comment |\n|--------|---------|\n| Ouvrir la fenêtre | Tapez **`;atelier`** dans n'importe quelle app |\n| Créer une macro | Remplissez Nom + Déclencheur + Texte, puis **Créer** |\n| Ouvrir dans KM | Bouton **✎** dans la liste des macros créées |\n| Supprimer une macro | Bouton **🗑** (confirmation intégrée) |\n\n\u003e **Taille de la fenêtre** : `;mem` s'ouvre à une **largeur confortable (~1500 px, plafonnée à votre écran), centrée**. Pour la rendre **librement redimensionnable à la souris**, activez l'option **Resizable** dans le menu engrenage ⚙ de l'action « Custom HTML Prompt » de la macro (réglage Keyboard Maestro, à faire une seule fois). *Remarque : ne **ré-importez pas** le `.kmmacros` pour mettre à jour une macro déjà installée — Keyboard Maestro créerait des doublons ; le téléchargement sert à une **nouvelle** installation.*\n\n---\n\n## Variables — tableau des jetons\n\nCes jetons s'insèrent en cliquant un bouton dans le panneau de variables (ou en les tapant directement dans le texte).\n\n| Jeton | Ce qu'il insère |\n|-------|----------------|\n| `{{champ:Étiquette}}` | Champ texte libre demandé à l'insertion |\n| `{{choix:Étiquette=A\\|B\\|C}}` | Menu déroulant demandé à l'insertion |\n| `{{date}}` | Mois + année courants (ex. « juin 2026 ») |\n| `{{date:complet}}` | Date complète (ex. « vendredi 12 juin 2026 ») |\n| `{{date:court}}` | Date courte (ex. « 12/06/2026 ») |\n| `{{date:jour}}` | Numéro du jour (ex. « 12 ») |\n| `{{date:iso}}` | Format ISO (ex. « 2026-06-12 ») |\n| `{{datechoix:Étiquette}}` | Sélecteur de date (calendrier) demandé à l'insertion |\n| `{{moment}}` | « Matin », « Après-midi » ou « Soir » selon l'heure |\n| `{{alea:A\\|B\\|C}}` | Une valeur au hasard parmi la liste |\n| `{{moi:prénom}}` | Valeur du profil (prénom, nom, courriel, téléphone, entreprise, rôle, site) |\n| `{{presse-papier}}` | Contenu actuel du presse-papier |\n\n\u003e Boutons Civilité dans le panneau → insèrent « Madame » ou « Monsieur » selon la sélection.\n\n---\n\n## Assistant IA (OpenRouter)\n\nL'éditeur de snippet inclut un assistant IA (Reformuler, Traduire, Corriger, Raccourcir, Allonger, ou instruction libre) avec aperçu avant insertion.\n\n1. Créez un compte et une clé sur **[openrouter.ai](https://openrouter.ai)**.\n2. Dans `;mem`, ouvrez **👤 Profil**, collez votre **clé OpenRouter** et **choisissez un modèle** dans la liste déroulante (ou « Autre… » pour saisir un identifiant précis).\n3. Dans l'édition d'un snippet, utilisez la section **✨ IA**.\n\n### Choix du modèle\n\nVous pouvez utiliser **n'importe quel modèle** OpenRouter (réglé via **👤 Profil**) : un modèle **payant** (ex. `openai/gpt-4o-mini`) ou un modèle **gratuit** (suffixe `:free`, ex. `google/gemma-4-31b-it:free`). La liste à jour est sur **[openrouter.ai/models](https://openrouter.ai/models)**.\n\n### Limites des modèles gratuits\n\nLes modèles gratuits d'OpenRouter sont soumis à des **limites de débit** : un plafond **par minute** (quelques dizaines de requêtes) et un plafond **quotidien** propre à votre compte. C'est normal et géré côté OpenRouter (détails sur **[openrouter.ai/docs](https://openrouter.ai/docs)**).\n\nQuand vous atteignez la limite d'un modèle gratuit, l'assistant **ne plante pas** : il affiche un message clair, en rouge, dans la section **✨ IA** —\n\n\u003e **Limite du modèle GRATUIT atteinte. Réessayez plus tard, ou choisissez un autre modèle (réglages via Profil).**\n\n**Que faire :**\n- **Patientez** un court instant (le plafond par minute se réinitialise vite), puis réessayez ; ou\n- **Changez de modèle** dans **👤 Profil** — un autre modèle gratuit, ou un modèle payant très bon marché (ex. `openai/gpt-4o-mini`) pour ne plus être limité.\n\n### Messages de l'assistant IA\n\nL'assistant traduit chaque cas en message clair (jamais de code d'erreur brut, jamais de fenêtre bloquante) :\n\n| Situation | Ce que l'assistant affiche |\n|-----------|----------------------------|\n| Limite d'un modèle **gratuit** atteinte | « Limite du modèle GRATUIT atteinte. Réessayez plus tard, ou choisissez un autre modèle (réglages via Profil). » |\n| Trop de requêtes (modèle payant) | « Trop de requêtes (limite de débit). Patientez un instant et réessayez. » |\n| Crédits OpenRouter insuffisants | « Crédits OpenRouter insuffisants pour ce modèle. Ajoutez des crédits, ou utilisez un modèle gratuit (suffixe `:free`). » |\n| Clé invalide ou non autorisée | « Clé OpenRouter invalide ou non autorisée. Vérifiez votre clé dans le Profil. » |\n| Nom de modèle erroné | « Modèle introuvable : vérifiez le nom du modèle dans le Profil. » |\n| Clé absente | « clé OpenRouter manquante (réglez-la via le bouton Profil) » |\n\n\u003e *Comportement vérifié avec de vrais appels OpenRouter — modèle payant et modèle gratuit, dont un véritable dépassement de limite (HTTP 429).*\n\n\u003e **Confidentialité** : votre clé reste **locale à votre Mac** (variable Keyboard Maestro `memora_or_key`), n'est **jamais incluse dans ce dépôt** ni partagée. L'appel réseau est fait par une action Keyboard Maestro « Execute Shell Script » (la clé n'apparaît pas dans la fenêtre).\n\n---\n\n## Pour utilisateurs avancés\n\nLe code source de chaque fenêtre est disponible dans le dossier `templates/` :\n\n| Fichier | Description |\n|---------|-------------|\n| `templates/memora-snippets.template.html` | Fenêtre MEMORA — Snippets (HTML/CSS/JS, sans dépendance) |\n| `templates/memora-atelier.template.html` | Fenêtre MEMORA — Atelier |\n| `templates/memora-fill.template.html` | Fenêtre de remplissage des variables (partagée par les deux outils) |\n\nChaque fichier s'intègre dans une action **« Custom HTML Prompt »** de Keyboard Maestro. Vous pouvez les adapter librement selon la licence Apache-2.0 (voir ci-dessous).\n\nStructure type d'une macro Snippets :\n```\nSet Variable memora_texte = \"\"\n→ Custom HTML Prompt (memora-snippets.template.html)\n→ Insert Text by Pasting %Variable%memora_texte%\n```\n\nLes snippets sont stockés en JSON dans la variable Keyboard Maestro `memora_snippets` :\n```json\n[{ \"terme\": \"Titre du snippet\", \"texte\": \"Contenu…\", \"coche\": false }]\n```\n\n---\n\n## Contenu du dépôt\n\n```\nmacros/\n  MEMORA-Snippets.kmmacros     Installation en 1 double-clic — outil Snippets\n  MEMORA-Atelier.kmmacros      Installation en 1 double-clic — outil Atelier\n\ntemplates/\n  memora-snippets.template.html   Code source de la fenêtre Snippets\n  memora-atelier.template.html    Code source de la fenêtre Atelier\n  memora-fill.template.html       Code source de la fenêtre de remplissage\n\ndocs/\n  apercu.png                   Capture d'écran\n\nCHANGELOG.md                   Historique des versions\nLICENSE                        Texte de la licence Apache-2.0\nNOTICE                         Avis d'attribution obligatoire\n```\n\n---\n\n## Licence\n\n**Apache License 2.0** — voir [LICENSE](LICENSE) et [NOTICE](NOTICE).\n\nOpen source : utilisez, modifiez et redistribuez librement, **à condition de conserver l'attribution à MEMORA solutions** (notices de copyright + contenu du fichier `NOTICE`) dans toute redistribution ou œuvre dérivée (Apache-2.0, art. 4).\n\nEn clair : libre d'utilisation, mais le crédit **MEMORA solutions** reste obligatoire.\n\n---\n\nFait avec soin par **MEMORA solutions** — https://memora.solutions — info@memora.ca\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmemorasolutions%2Fmemora-macros-keyboard-maestro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmemorasolutions%2Fmemora-macros-keyboard-maestro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmemorasolutions%2Fmemora-macros-keyboard-maestro/lists"}