ConvertisseurÉtude de cas — écosystème abrt

Mes projets
En ligne

Convertisseur de bases

Petit utilitaire de conversion entre bases numériques, intégré à l'écosystème abrt

PHP JavaScript Outil Ouvrir le site Me contacter

Le contexte

Un outil simple et pratique pour convertir un nombre entre les bases décimale, binaire, octale et hexadécimale, avec une conversion instantanée pendant la saisie.

Mon rôle

Conception et développement de l'outil (interface et logique de conversion).

L'objectif

Offrir un petit utilitaire efficace : on tape dans une base, les trois autres se mettent à jour en temps réel.

Comment c'est fait

Un outil volontairement simple, pensé pour être rapide à utiliser et facile à maintenir.

  • Conversion en temps réel entre 4 bases (décimal, binaire, octal, hexadécimal) en JavaScript
  • Copie du résultat en un clic
  • Validation des caractères autorisés par base
  • Intégré à l'écosystème (design console, SSO, palettes)

Difficultés rencontrées et solutions

  • Les grands nombres perdent leur précision. Les nombres JavaScript ordinaires ne sont exacts que jusqu'à 253. J'ai utilisé le type BigInt : la conversion reste exacte quelle que soit la taille du nombre saisi.
  • Valider aussi ce qui est collé. Contrôler les touches ne suffit pas quand on colle un texte. Chaque base a donc une expression régulière qui valide la chaîne entière ; en cas d'erreur, le message indique les caractères autorisés pour la base concernée.
  • Les nombres négatifs. Le signe « - » en tête est géré en signe-magnitude (le signe est mis de côté, la valeur absolue est convertie, puis le signe est remis). Un « - » seul n'est pas une erreur : on attend la suite. Limite assumée : ce n'est pas une représentation en complément à deux.
  • Convertir pendant la frappe. L'événement input couvre la saisie et le collage ; les trois autres champs sont recalculés à chaque modification. Le bouton « Convertir » et la touche Entrée sont conservés par confort.
  • Un outil lisible pour tous. Le résultat change sans rechargement de page : les zones de statut et d'erreur sont annoncées aux lecteurs d'écran (role="status", aria-live, role="alert").
  • Une obligation légale oubliée. Le site chargeait la mesure d'audience sans donner accès aux mentions légales ni au retrait du consentement : j'ai ajouté le pied de page légal commun, car c'est un manquement RGPD et non un détail d'affichage.

Résultats

  • Un outil sans dépendance environ 150 lignes de JavaScript pur, quatre bases (décimal, binaire, octal, hexadécimal) mises à jour en direct, avec copie de chaque valeur dans le presse-papiers.

Compétences BTS SIO mobilisées

Ce projet s'inscrit dans plusieurs compétences du référentiel BTS SIO, option SISR :

  • Bloc 1 Développer la présence en ligne de l'organisation
  • Bloc 1 Mettre à disposition des utilisateurs un service informatique
  • Transverse Travailler en mode projet

Pour aller plus loin

Voir aussi

D'autres études de cas de l'écosystème, proches de celle-ci :