# Embedding & Intégrations Intégrer Ackify dans vos outils (Notion, Outline, Google Docs, etc.). ## Méthodes d'Intégration ### 1. Lien Direct Le plus simple : ``` https://sign.company.com/?doc=policy_2025 ``` **Usage** : - Email - Chat (Slack, Teams) - Wiki - Documentation **Comportement** : - L'utilisateur clique → Arrive sur la page de signature - Se connecte via OAuth2 - Signe le document ### 2. iFrame Embed Pour intégrer dans une page web : ```html ``` **Rendu** : ``` ┌─────────────────────────────────────┐ │ 📄 Security Policy 2025 │ │ 42 confirmations │ │ [Sign this document] │ └─────────────────────────────────────┘ ``` ### 3. oEmbed (Auto-discovery) Pour les plateformes supportant oEmbed (Notion, Outline, Confluence, etc.). #### Comment ça marche 1. Coller l'URL dans votre éditeur : ``` https://sign.company.com/?doc=policy_2025 ``` 2. L'éditeur détecte automatiquement via la balise meta : ```html ``` 3. L'éditeur appelle `/oembed` et reçoit : ```json { "type": "rich", "version": "1.0", "title": "Security Policy 2025 - 42 confirmations", "provider_name": "Ackify", "html": "", "width": null, "height": 200 } ``` ### Paramètres | Paramètre | Description | Exemple | |-----------|-------------|---------| | `url` | URL du document (obligatoire) | `?url=https://...` | | `maxwidth` | Largeur max (optionnel) | `?maxwidth=800` | | `maxheight` | Hauteur max (optionnel) | `?maxheight=300` | ### Discovery Toutes les pages incluent la balise de discovery : ```html ``` ## Personnalisation ### Thème Dark Mode Le widget détecte automatiquement le dark mode du navigateur : ```css @media (prefers-color-scheme: dark) { /* Thème sombre automatique */ } ``` ### Taille Personnalisée ```html ``` ### Langue Le widget détecte automatiquement la langue du navigateur : - `fr` - Français - `en` - English - `es` - Español - `de` - Deutsch - `it` - Italiano ## Sécurité ### iFrame Sandboxing Par défaut, les iframes Ackify autorisent : - `allow-same-origin` - Cookies OAuth2 - `allow-scripts` - Fonctionnalités Vue.js - `allow-forms` - Soumission de signatures - `allow-popups` - OAuth redirect ### CORS Ackify configure automatiquement CORS pour : - Toutes les origines (lecture publique) - Credentials via `Access-Control-Allow-Credentials` ### CSP Content Security Policy headers configurés pour permettre l'embedding : ``` X-Frame-Options: SAMEORIGIN Content-Security-Policy: frame-ancestors 'self' https://notion.so https://outline.com ``` ## Troubleshooting ### L'iframe ne s'affiche pas Vérifier : - HTTPS activé (required pour OAuth) - CSP headers permettent l'embedding - Pas de bloqueur de contenu (uBlock, Privacy Badger) ### oEmbed non détecté Vérifier : - La balise `` est présente - L'URL est exacte (avec `?doc=...`) - La plateforme supporte oEmbed discovery ### Preview Slack vide Vérifier : - Open Graph meta tags présents - URL publiquement accessible - Pas de redirect infini ## Exemples Complets Voir : - [docs/integrations/google-doc/](../integrations/google-doc/) - Intégration Google Workspace - Plus d'exemples à venir...