Skip to main content

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 :

  • quit ou q : Quitter
  • history ou h : Afficher l'historique des conversions
  • list ou l : Lister les unités disponibles
  • help ou ? : 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 1 sous hm, 2 sous dam, 5 sous m
  • 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 5 sous dL, 0 sous cL, 0 sous mL
  • 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 :

  1. Le chiffre des unités (celui juste avant la virgule) est placé dans la colonne de l'unité source
  2. Les chiffres à gauche remontent vers les unités plus grandes
  3. Les chiffres après la virgule descendent vers les unités plus petites

Exemple avec 12,5 m :

  • Le 2 (unités) va sous m
  • Le 1 (dizaines) va sous dam
  • Le 5 (dixièmes) va sous dm

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

  • Rich : Pour le rendu coloré dans le terminal
  • pyperclip (optionnel) : Pour l'export presse-papier

Licence

MIT - Voir le fichier LICENSE pour plus de détails.


Fait avec nostalgie des cours de maths de CM2.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

la_convertoche-1.0.0.tar.gz (19.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

la_convertoche-1.0.0-py3-none-any.whl (13.1 kB view details)

Uploaded Python 3

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

Hashes for la_convertoche-1.0.0.tar.gz
Algorithm Hash digest
SHA256 0b54fe815eaf86fec436d32a247c93bb911aaf507dea15684b53a23d31f67129
MD5 ca83e16bdb40569b491c7d90c42ca81c
BLAKE2b-256 90ecae0d932b98f2f94387f9e0d9c2930bf93615bf18df05a274e6eaec5d7cb3

See more details on using hashes here.

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

Hashes for la_convertoche-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d4c12b390661e0e2f86b48ce5aa5b39b367d4580b21419284660095575065712
MD5 46c4a9d78ff47dbfbe6c413356557df1
BLAKE2b-256 683af4c52894104ab13d8786662fadbeabe98f81a2c59b26f5c2ba90df321ecc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page