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
| Langage | Version | Pour quoi faire |
|---|---|---|
| C++ | C++23, compilateur de Visual Studio 2026 | Les logiciels lourds : Heclium, Ephemeridium, Astrosynium, Tracium, Génialogie et la bibliothèque de calcul AstroEphem |
| C++/WinRT et WinUI 3 | Windows App SDK 1.8 | Les 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 10 | Les outils de traitement de données, comme la préparation des catalogues d'étoiles |
| PHP | PHP 8.x | Mes sites Web |
| HTML | HTML (norme évolutive, dite « vivante ») | Toutes les pages |
| CSS | CSS moderne : variables, Flexbox, Grid | La mise en page, y compris sur smartphone |
| JavaScript | ECMAScript moderne, sans bibliothèque | Les 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.