Le blog de numerunique

Illustration du savoir faire de numerunique
21/06/2023

Encore le sudoku !

Le web abonde déjà de solutions ou de jeux de sudoku en ligne, tous plus gavés de pubs les uns que les autres. Alors pourquoi en rajouter ?

Non, là le sujet du sudoku n'est qu'un prétexte pour illustrer la philosophie et le savoir-faire de numerunique, dans le domaine particulier de la conception et la réalisation de logiciels sur mesure.

L'essentiel tient en quelques principes :

  1. une solution aussi universelle que possible,
  2. une interface sobre, des traitements puissants,
  3. la priorité est donnée à l'utilisateur.

La polyvalence

Les développements de numerunique s'appuient sur une interface (le navigateur web), des techniques (HTML, CSS, JavaScript, apache, PHP, C…) et des outils (serveur sur Internet) universels. Cela fonctionne avec un téléphone portable ou avec un ordinateur sans restriction sur le modèle ni sur son environnement (système, navigateur…). Les techniques employées sont bien documentées.
L'approche est transversale. L'HTML apporte la maîtrise de la structure des informations bien présentées à l'utilisateur grâce au CSS. Les traitements sont idéalement répartis entre le poste de l'utilisateur (JavaScript) et le serveur (apache, PHP, C). Les techniques sont utilisées judicieusement : le PHP pour sa simplicité et le C pour sa performance.
Hors de propos pour cet exemple, lorsqu'il est nécessaire de gérer des informations préservées, numerunique recourt au SQL pour la base de données.

Plutôt du moche qui marche que du beau qui bug

L'idéal est bien évidemment du beau qui marche ! Mais la priorité est donnée au fonctionnement. En pratique, on se lasse très vite d'une présentation spectaculaire qui peut même devenir un handicap pour une utilisation sur le long terme. Par contre tout dysfonctionnement est rédhibitoire.
L'autre avantage de cette approche est aussi perçue du point de vue économique. Mettre l'accent sur la présentation peut demander un temps de développement considérable, au détriment d'un fonctionnement performant.

L'informatique doit rester un outil au service de l'utilisateur

Cette philosophie se cache dans les détails.

Dans cet exemple, on voit que la liste des choix proposés à l'utilisateur se limite aux choix possibles, dynamiquement adaptée au contexte et à la situation du moment.

De même on s'efforce d'apporter une information pertinente avec une réelle valeur ajoutée. Dans cet exemple, le traitement anticipe sur les conséquences du choix (libre bien évidemment) de l'utilisateur en l'informant qu'il n'y aura pas de solutions, le cas échéant.

La réactivité des traitements est essentielle. En l'occurrence, comme anticiper sur la suite exige un traitement complexe, il est donc réalisé par un programme soigneusement élaboré pour être performant et écrit en C pour une exécution fulgurante.

Cela ne se voit pas. Comme pour la plupart des prestations de numerunique : l'art masque la performance.

On remarquera ici les nombres en italique. Ils sont automatiquement proposés lorsqu'il ne reste plus qu'un choix implicite pour une case. Pourquoi demander à l'utilisateur de valider une décision qui s'impose ?

Le résultat poursuivi est d'assister l'utilisateur dans sa tâche. Comme pour l'exemple la résolution facile de tous les sudokus, même les plus complexes !


Précédent | Suivant