Widget intégrable

Ajoutez la conversion d'images à votre site web avec une seule balise script.

Démarrage rapide

Ajoutez cette balise script n'importe où dans votre HTML. Le widget s'affiche immédiatement après la balise :

<script src="https://koalapic.com/static/widget/koalapic-widget.js"
        data-koalapic-widget
        data-mode="all"
        data-theme="auto"></script>

C'est tout ! Le widget crée son propre conteneur et démarre automatiquement.

Options de configuration

Configurez le widget via les attributs data-* de la balise script ou les options transmises à KoalaPic.init() :

Option Attribut de données Par défaut Description
mode data-mode "all" Mode du widget : convert, compress, resize, ou all
theme data-theme "auto" Thème de couleur : light, dark, ou auto (suit le système)
accent_color data-accent-color "#3b82f6" Couleur d'accent principale (hex). Exemple : #8b5cf6
allowed_formats data-allowed-formats (all) Formats de sortie séparés par des virgules : avif, bmp, gif, heic, ico, jpg, pdf, png, svg, tiff, webp
max_file_size data-max-file-size 50 Taille maximale de téléversement en Mo (1–50)
callback_url data-callback-url (none) URL vers laquelle envoyer les résultats de conversion (POST) une fois terminée
hide_branding data-hide-branding false Hide "Powered by KoalaPic" footer
api_key data-api-key (none) Clé API pour des requêtes authentifiées avec des limites de débit plus élevées
width data-width "100%" Largeur de l'iframe du widget (toute valeur CSS)
height data-height "500px" Hauteur de l'iframe du widget (s'ajuste automatiquement via des événements de redimensionnement)
lang data-lang (auto) Code de langue (par ex. fr, de, ar). Détecté automatiquement depuis la page ou le navigateur si omis.

Toutes les options prennent en charge à la fois snake_case et camelCase dans l'API JavaScript (par ex. accent_color ou accentColor).

API JavaScript

Pour un contrôle total, utilisez KoalaPic.init() pour créer des widgets par programmation :

<div id="converter"></div>
<script src="https://koalapic.com/static/widget/koalapic-widget.js"></script>
<script>
  var iframe = KoalaPic.init('#converter', {
    mode: 'convert',
    theme: 'dark',
    accentColor: '#8b5cf6',
    allowedFormats: ['jpg', 'png', 'webp'],
    maxFileSize: 25,
    apiKey: 'kp_your_key_here'
  });
</script>

Référence de l'API

Méthode Description
KoalaPic.init(selector, config) Crée un widget à l'intérieur d'un élément conteneur. Renvoie l'élément iframe. Accepte une chaîne de sélecteur CSS ou un élément DOM.
KoalaPic.on(event, callback) Enregistre un écouteur d'événement. Événements
KoalaPic.version Chaîne de version de la bibliothèque.

Gestion des événements

Écoutez les événements du cycle de vie de la conversion avec KoalaPic.on() :

KoalaPic.on('conversion_completed', function(result) {
  console.log('Conversion ID:', result.id);
  console.log('Download token:', result.download_token);
  console.log('Format:', result.output_format);
  console.log('File size:', result.file_size);
});

KoalaPic.on('conversion_started', function(data) {
  console.log('Conversion started in mode:', data.mode);
});

KoalaPic.on('conversion_failed', function(data) {
  console.error('Conversion failed:', data.error);
});

Types d'événements

Événement Charge utile Description
conversion_started { mode } Conversion soumise à l'API
conversion_completed { id, download_token, output_format, file_size } La conversion s'est terminée avec succès
conversion_failed { error } Échec de la conversion ou de la requête API

Vous pouvez aussi écouter directement les événements postMessage bruts :

window.addEventListener('message', function(event) {
  if (event.data.type === 'koalapic:conversion_complete') {
    console.log(event.data.payload);
  }
});

URL de rappel

Définissez callback_url pour envoyer automatiquement (POST) les résultats de conversion à votre serveur :

<script src="https://koalapic.com/static/widget/koalapic-widget.js"
        data-koalapic-widget
        data-callback-url="https://yoursite.com/api/conversion-hook"></script>

Votre point de terminaison reçoit un POST JSON contenant le résultat de la conversion :

{
  "id": "abc123",
  "download_token": "token_xyz",
  "output_format": "webp",
  "file_size": 45210
}

Style et personnalisation

Le widget s'affiche à l'intérieur d'une iframe, il n'entre donc pas en conflit avec les styles de votre page. Vous pouvez personnaliser le conteneur :

<!-- Fixed-width centered widget -->
<div id="widget" style="max-width: 600px; margin: 0 auto;"></div>
<script src="https://koalapic.com/static/widget/koalapic-widget.js"></script>
<script>
  KoalaPic.init('#widget', {
    width: '100%',
    height: '500px',
    accentColor: '#e11d48',
    theme: 'dark'
  });
</script>

L'iframe a un border-radius: 8px par défaut. Remplacez-le sur l'élément iframe renvoyé :

var iframe = KoalaPic.init('#widget', { mode: 'compress' });
iframe.style.borderRadius = '16px';
iframe.style.boxShadow = '0 4px 24px rgba(0,0,0,0.1)';

Limitation de débit

Pour une utilisation en production, nous recommandons de transmettre une clé API via l'attribut data-api-key. Les requêtes anonymes sont limitées à 10 conversions par minute. Les requêtes authentifiées bénéficient de 30 par minute.

Obtenez votre clé API gratuite sur https://koalapic.com/dashboard/keys/

Exemples

Widget compression uniquement

<script src="https://koalapic.com/static/widget/koalapic-widget.js"
        data-koalapic-widget
        data-mode="compress"
        data-theme="light"
        data-accent-color="#10b981"></script>

Redimensionnement uniquement avec formats limités

<script src="https://koalapic.com/static/widget/koalapic-widget.js"
        data-koalapic-widget
        data-mode="resize"
        data-allowed-formats="jpg,png,webp"
        data-max-file-size="10"></script>

Plusieurs widgets sur une même page

<div id="converter-1"></div>
<div id="converter-2"></div>
<script src="https://koalapic.com/static/widget/koalapic-widget.js"></script>
<script>
  KoalaPic.init('#converter-1', { mode: 'convert' });
  KoalaPic.init('#converter-2', { mode: 'compress' });
</script>

Aperçu en direct

Voici le widget en action :

Envoyer un retour

Merci ! Nous vous répondrons bientôt.

Installer KoalaPic

Ajoutez à votre écran d'accueil pour un accès rapide

Préférences de cookies et stockage

Nous utilisons des cookies et le stockage local pour améliorer votre expérience. Le stockage essentiel est toujours actif pour les fonctionnalités principales. En savoir plus

Essentiel

Protection CSRF, mode sombre, suivi des erreurs. Toujours actif.

Fonctionnel

Préréglages de conversion, préférences d'interface, état d'installation PWA.

Statistiques

Statistiques d'utilisation anonymes pour améliorer le service.