Visualiseur de conversion d'unités métriques - Le tableau de l'école dans ton terminal !
Project description
La Convertoche
Le tableau de conversion de l'école primaire... dans ton terminal !
La Convertoche est un outil CLI qui reproduit le fameux tableau de conversion métrique que nous avons tous utilisé à l'école. Fini les calculs de tête pour savoir combien font 2,5 km en mètres - visualisez instantanément le placement des chiffres !
Longueurs
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
│ km │ hm │ dam │ m │ dm │ cm │ mm │
├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
│ │ 1 │ 2, │ 5 │ │ │ │
└────────┴────────┴────────┴────────┴────────┴────────┴────────┘
Fonctionnalités
- Tableau visuel : Placement automatique des chiffres comme à l'école
- 3 familles d'unités : Longueurs, Poids, Capacités
- Couleurs distinctives : Bleu pour les longueurs, Vert pour les poids, Jaune pour les capacités
- Input flexible : Accepte les points (
.) ET les virgules (,) pour les décimales - Conversions rapides : Affiche automatiquement les équivalents métriques et impériaux
- Mode interactif : Boucle interactive avec historique et commandes
- Mode Quiz : Testez vos connaissances en conversion d'unités
- Lecture stdin : Intégration avec d'autres commandes via pipe
- Export presse-papier : Copiez le résultat directement
- Tableau responsive : S'adapte à la largeur de votre terminal
- Avertissements de débordement : Signale si la valeur dépasse le tableau
Installation
Via pip (recommandé)
git clone https://github.com/LuKrlier/La-Convertoche.git
cd La-Convertoche
pip install .
Après installation, la commande convertoche est disponible globalement.
Installation développeur
git clone https://github.com/LuKrlier/La-Convertoche.git
cd La-Convertoche
pip install -e ".[dev]"
Utilisation
Mode ligne de commande
# Conversion simple
convertoche 12.5 m
# Avec virgule française
convertoche 1,5 kg
# Conversion vers une unité cible
convertoche 2.5 km --to m
# Capacités
convertoche 250 mL
Mode interactif
Lancez simplement sans arguments :
convertoche
Le mode interactif propose une boucle avec commandes :
quitouq: Quitterhistoryouh: Afficher l'historique des conversionslistoul: Lister les unités disponibleshelpou?: Afficher l'aide
Mode Quiz
Testez vos connaissances :
# Quiz de 5 questions (par défaut)
convertoche --quiz
# Quiz personnalisé (10 questions)
convertoche --quiz 10
Autres options
# Afficher les unités disponibles
convertoche --list
# Afficher la version
convertoche --version
# Copier le résultat dans le presse-papier
convertoche 12.5 m --copy
# Lire la valeur depuis stdin
echo 12.5 | convertoche --read m
# Combiner les options
echo 2.5 | convertoche --read km --to m --copy
Unités supportées
| Famille | Unités | Couleur |
|---|---|---|
| Longueurs | km, hm, dam, m, dm, cm, mm | Bleu |
| Poids | kg, hg, dag, g, dg, cg, mg | Vert |
| Capacités | kL, hL, daL, L, dL, cL, mL | Jaune |
Exemples
Exemple 1 : Longueur
$ convertoche 12.5 dam
Affiche :
- Le tableau avec
1soushm,2sousdam,5sousm - Conversion : 125 m
- Conversions impériales : ~410.1 feet, ~4921.3 inches
Exemple 2 : Poids avec conversion ciblée
$ convertoche 3,75 kg --to g
Affiche :
- Le tableau de conversion
- Résultat : 3 750 g
Exemple 3 : Capacité
$ convertoche 500 mL
Affiche :
- Le tableau avec
5sousdL,0souscL,0sousmL - Conversion : 0,5 L
- Conversions impériales : ~0,132 gallon (US)
Comment fonctionne le tableau ?
Le principe est simple et reproduit exactement la méthode scolaire :
- Le chiffre des unités (celui juste avant la virgule) est placé dans la colonne de l'unité source
- Les chiffres à gauche remontent vers les unités plus grandes
- Les chiffres après la virgule descendent vers les unités plus petites
Exemple avec 12,5 m :
- Le
2(unités) va sousm - Le
1(dizaines) va sousdam - Le
5(dixièmes) va sousdm
Pour lire la valeur dans une autre unité, il suffit de placer mentalement la virgule après la colonne souhaitée !
Gestion des erreurs
- Valeurs négatives : Rejetées (les unités physiques sont positives)
- Unités inconnues : Message d'erreur clair avec suggestion d'utiliser
--list - Conversion entre familles : Impossible de convertir des mètres en grammes
- Débordement : Avertissement si la valeur dépasse les limites du tableau
Structure du projet
La-Convertoche/
├── main.py # Script principal
├── pyproject.toml # Configuration du package
├── requirements.txt # Dépendances
├── LICENSE # Licence MIT
├── README.md # Documentation
└── tests/ # Tests unitaires
├── conftest.py
├── test_parsing.py
├── test_unit_detection.py
├── test_conversion.py
├── test_digit_placement.py
├── test_formatting.py
├── test_overflow.py
├── test_cli.py
├── test_history.py
├── test_clipboard.py
└── test_quiz.py
Tests
# Exécuter tous les tests
pytest
# Avec couverture
pytest --cov=main
# Tests verbeux
pytest -v
Dépendances
Licence
MIT - Voir le fichier LICENSE pour plus de détails.
Fait avec nostalgie des cours de maths de CM2.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file la_convertoche-1.0.0.tar.gz.
File metadata
- Download URL: la_convertoche-1.0.0.tar.gz
- Upload date:
- Size: 19.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b54fe815eaf86fec436d32a247c93bb911aaf507dea15684b53a23d31f67129
|
|
| MD5 |
ca83e16bdb40569b491c7d90c42ca81c
|
|
| BLAKE2b-256 |
90ecae0d932b98f2f94387f9e0d9c2930bf93615bf18df05a274e6eaec5d7cb3
|
File details
Details for the file la_convertoche-1.0.0-py3-none-any.whl.
File metadata
- Download URL: la_convertoche-1.0.0-py3-none-any.whl
- Upload date:
- Size: 13.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d4c12b390661e0e2f86b48ce5aa5b39b367d4580b21419284660095575065712
|
|
| MD5 |
46c4a9d78ff47dbfbe6c413356557df1
|
|
| BLAKE2b-256 |
683af4c52894104ab13d8786662fadbeabe98f81a2c59b26f5c2ba90df321ecc
|