Ludovic Baillet

Accueil›Sciences

Informatique

Je travaille dans l'informatique, et c'est aussi mon outil de loisir : les logiciels d'astronomie, de mathématiques et de généalogie que j'écris, comme les sites qui les présentent. Voici les langages que j'emploie, dans leurs versions actuelles.

Les langages

LangageVersionPour quoi faire
C++C++23, compilateur de Visual Studio 2026Les logiciels lourds : Heclium, Ephemeridium, Astrosynium, Tracium, Génialogie et la bibliothèque de calcul AstroEphem
C++/WinRT et WinUI 3Windows App SDK 1.8Les interfaces des logiciels : fenêtres, menus, boîtes de dialogue
Direct2D—Le dessin rapide : courbes de Tracium, carte du ciel d'Astrosynium
C#C# 14, .NET 10Les outils de traitement de données, comme la préparation des catalogues d'étoiles
PHPPHP 8.xMes sites Web
HTMLHTML (norme évolutive, dite « vivante »)Toutes les pages
CSSCSS moderne : variables, Flexbox, GridLa mise en page, y compris sur smartphone
JavaScriptECMAScript moderne, sans bibliothèqueLes menus, les agrandissements d'images, l'arbre d'ascendance de la généalogie

Les numéros de version se démodent : « CSS 3 » et « HTML 5 » sont aujourd'hui des normes qui évoluent module par module, sans nouveau numéro. Je me contente donc de n'utiliser que ce que les navigateurs récents savent faire.

Pourquoi le C++

Pour les logiciels qui ont besoin d'une grande performance ou d'une grande quantité de mémoire, comme le calcul de milliers de termes trigonométriques, le dessin d'un très grand nombre d'étoiles ou la lecture d'une base généalogique de 47 000 personnes, je choisis le C++ moderne : ce que le langage appelle des types forts, des conteneurs et des algorithmes standards, et non plus des pointeurs nus. C'est un langage exigeant, mais il n'y a pas d'intermédiaire entre le programme et la machine.

Je préfère par ailleurs écrire moi-même ce dont j'ai besoin plutôt que d'ajouter des bibliothèques tierces : mes logiciels n'utilisent que Windows et MSBuild, avec leur propre installeur, leur propre lecteur de fichiers et leur propre client de mise à jour.

Les sites Web

Mes sites sont écrits à la main, en PHP et en HTML, sans CMS ni base de données : une page est un fichier, un gabarit commun fournit l'en-tête, le menu et le pied de page. Le site de généalogie est le cas extrême : ses quelque 290 000 pages sont engendrées par Génialogie à partir d'un fichier GEDCOM, avec les mêmes gabarits.

Ils s'efforcent d'être légers, lisibles, accessibles et adaptés au smartphone, avec des polices hébergées chez moi, et de n'envoyer rien à des services tiers.

Mes outils

Je développe sous Windows avec Visual Studio 2026, et je gère mes sources avec Git. Les compilations passent par MSBuild, et les logiciels de calcul sont accompagnés d'un programme de tests, lancé à chaque compilation.