Application locale pour comptable permettant de calculer rapidement la combinaison minimale de billets Malagasy (MGA) pour un montant donné, avec la possibilité d’exclure précisément les coupures non disponibles.
# SmartPay
Application locale pour comptable permettant de calculer rapidement la combinaison minimale de billets Malagasy (MGA) pour un montant donné, avec la possibilité d’exclure précisément les coupures non disponibles.
### Fonctionnalités
- **Calcul minimal**: renvoie toujours le nombre minimal de billets pour atteindre le montant (algorithme optimal).
- **Sélection précise des coupures**: cochez/décochez les billets que vous avez réellement (20 000 → 100 Ar).
- **Rapide et local**: fonctionne entièrement dans le navigateur, sans serveur ni installation.
- **Accessibilité et clavier**: champ montant focusable, validation claire, touche Entrée pour lancer le calcul.
### Coupures prises en charge
| Billets |
|---|
| 20 000 Ar |
| 10 000 Ar |
| 5 000 Ar |
| 2 000 Ar |
| 1 000 Ar |
| 500 Ar |
| 200 Ar |
| 100 Ar |
## Prise en main (Web)
- Ouvrez simplement le fichier `index.html` dans votre navigateur.
- Sur Windows, vous pouvez aussi lancer:
```bash
start index.html
```
## Utilisation
1. Entrez un montant en Ariary (multiple de 100).
2. (Optionnel) Cochez « Sélection précise des coupures disponibles » et décochez les billets indisponibles.
3. Cliquez sur « Calculer » ou appuyez sur Entrée.
4. Le résultat affiche le détail par coupure et le total de billets utilisés.
Exemple rapide:
- Montant: `45 000 Ar`
- Coupures: toutes disponibles → résultat minimal typique: `2 × 20 000 Ar` + `1 × 5 000 Ar`.
- Si vous décochez `10 000` et `5 000`, SmartPay recomposera avec `2 000`, `1 000`, `500`, etc., toujours au minimum de billets.
## Mode Desktop (Windows via Electron)
SmartPay peut être emballé en application de bureau Windows.
### Prérequis
- Node.js 18+
- npm 9+
### Installation des dépendances
```bash
npm install
```
### Lancement en mode développement
```bash
npm run dev
```
Cela ouvre une fenêtre Electron chargeant `index.html`.
### Génération d’un installateur Windows (.exe)
```bash
npm run build:win
```
- Le binaire sera disponible dans `dist/`.
- L’ic …