Skip to content

Repository files navigation

Devises

Convertisseur de devises statique, hors-ligne, configurable par l'URL. Aucun backend.

  • Taux : fawazahmed0/exchange-api via jsDelivr (licence CC0, 200+ devises), avec bascule automatique sur le miroir Cloudflare Pages si jsDelivr est injoignable.
  • PWA installable (icône plein écran), fonctionne hors-ligne grâce au cache des derniers taux.
  • L'état est encodé dans le hash de l'URL : #eur,usd,gbp. La première devise est la base (celle dans laquelle on saisit), les suivantes sont affichées en dessous.

Bookmarks

Chaque configuration = un marque-page, par exemple :

  • …/devises/#eur,usd
  • …/devises/#eur,gbp,jpy
  • …/devises/#usd,cad

L'app met à jour le hash toute seule quand on ajoute/retire/change de devise — il suffit de re-bookmarker pour figer une nouvelle config.

Ligne de saisie

À l'ouverture, la saisie se pose sur la première devise non principale — la 2e ligne de l'écran — parce qu'on part presque toujours d'un prix lu en devise étrangère pour savoir ce qu'il coûte. Un clic sur une autre ligne déplace la saisie ; ni la base ni l'ordre ne changent (ça, c'est « Gérer »).

Revenir sur l'app après plus de 3 minutes sans rien toucher repose la saisie sur cette même 2e ligne, comme une nouvelle recherche de prix. En deçà du seuil, un aller-retour rapide (aller lire un message, revenir) ne casse pas le calcul en cours. Le montant affiché reste visible dans les deux cas : c'est le premier chiffre tapé qui le remplace.

Frais de conversion

Un forfait de 2 % s'applique à toute conversion qui touche la devise principale (la première du hash), toujours dans le sens défavorable :

  • devise principale → devise étrangère : on reçoit 2 % de moins ;
  • devise étrangère → devise principale : la dépense coûte 2 % de plus.

Un aller-retour ne retombe donc pas sur le montant de départ — c'est voulu, comme avec une vraie carte. Les paires qui n'impliquent pas la devise principale (ex. usd → gbp quand la base est eur) restent au taux brut. Le taux affiché sous chaque ligne est le taux effectif, frais inclus, signalé par la mention « frais 2 % ».

Pour ajuster le taux, modifier la constante FEE dans index.html.

Déploiement sur GitHub Pages

Depuis ce dossier :

git init
git add .
git commit -m "Convertisseur de devises PWA"
git branch -M main
git remote add origin https://github.com/<ton-pseudo>/devises.git
git push -u origin main

Puis dans le repo : Settings → Pages → Build and deployment → Deploy from a branch → Branch: main / (root) → Save.

L'URL sera : https://<ton-pseudo>.github.io/devises/

Les chemins sont relatifs (sw.js, manifest.json, start_url: "."), donc l'app fonctionne bien dans le sous-dossier /devises/. Ne les passe pas en absolus (/sw.js) sinon la PWA casse.

Domaine perso (optionnel)

Pour un domaine personnalisé, ajoute un CNAME <sous-domaine> → <ton-pseudo>.github.io chez ton registrar, renseigne le domaine dans Settings → Pages → Custom domain, et coche Enforce HTTPS. GitHub gère le certificat.

Structure

devises/
├── index.html      app + logique (calculatrice, conversion, gestion des devises)
├── manifest.json   PWA
├── sw.js           service worker (offline)
├── icons/
│   ├── icon-192.png
│   └── icon-512.png
└── README.md

Taux indicatifs, mis à jour quotidiennement (source CC0). À ne pas utiliser pour des transactions au centime près.

Licence

Code sous licence MIT — libre d'utilisation, de modification et de partage. Les taux de change proviennent de fawazahmed0/exchange-api sous licence CC0.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages