Apprenez à créer un convertisseur de devise en temps réel dans Webflow avec l'API gratuite Frankfurter.
Dans ce tutoriel, Sandro cofondateur de l'agence Webflow Gemeos vous montre comment créer un convertisseur de devise en temps réel dans Webflow avec l'API gratuite Frankfurter.
Exemple
| API | Coût | Taux | Devises supportées |
|---|
| Frankfurter (ce tutoriel) | Gratuit, sans clé | BCE, quotidiens | 30+ devises majeures |
| ExchangeRate-API | Gratuit jusqu'à 1500/mois | Toutes les heures | 160+ devises |
| Open Exchange Rates | Freemium | Toutes les heures | 170+ devises |
1. Créez la structure dans un Embed Webflow
Ajoutez un Embed dans votre page avec la structure HTML du convertisseur.
2. Ajoutez le script dans Footer code
(function() {
var CURRENCIES = ['EUR','USD','GBP','CHF','CAD','AUD','JPY','AED','MAD','TND'];
var amountInput = document.getElementById('amount-input');
var fromSelect = document.getElementById('from-currency');
var toSelect = document.getElementById('to-currency');
var result = document.getElementById('converted-amount');
if (!amountInput || !fromSelect || !toSelect || !result) return;
// Peuple les selects
[fromSelect, toSelect].forEach(function(sel) {
var current = sel.value;
sel.innerHTML = '';
CURRENCIES.forEach(function(c) {
var opt = document.createElement('option');
opt.value = c; opt.textContent = c;
if (c === current) opt.selected = true;
sel.appendChild(opt);
});
});
toSelect.value = 'USD';
var rates = {};
function convert() {
var amount = parseFloat(amountInput.value) || 0;
var from = fromSelect.value;
var to = toSelect.value;
if (from === to) { result.textContent = amount.toFixed(2) + ' ' + to; return; }
if (rates[from] && rates[from][to]) {
var converted = amount * rates[from][to];
result.textContent = converted.toFixed(2) + ' ' + to;
}
}
function loadRates(base) {
if (rates[base]) { convert(); return; }
result.textContent = 'Chargement...';
fetch('https://api.frankfurter.dev/v1/latest?from=' + base)
.then(function(r) { return r.json(); })
.then(function(data) {
rates[base] = data.rates;
rates[base][base] = 1;
convert();
})
.catch(function() { result.textContent = 'Erreur de chargement'; });
}
amountInput.addEventListener('input', convert);
fromSelect.addEventListener('change', function() { loadRates(fromSelect.value); });
toSelect.addEventListener('change', convert);
loadRates('EUR');
})();
bon à savoir
L'API Frankfurter utilise les taux de la Banque Centrale Européenne, mis à jour quotidiennement en jours ouvrés. Les taux ne changent donc pas en temps réel à la seconde. Pour des taux en temps réel (trading, finance), utilisez une API payante comme Fixer.io ou Open Exchange Rates. Frankfurter est idéal pour les usages informatifs et les estimations de prix.
Conclusion
Un convertisseur de devise s'intègre en quelques minutes dans Webflow sans backend. Cas d'usage :
- Pages de pricing internationales avec conversion automatique
- Boutiques e-commerce avec clients multi-pays
- Pages de landing pour des services facturés en devises étrangères