Informations

Objet du site

Estérel-Tech a été créé en 1997 avec la vocation de distribuer des applications et/ou utilitaires et de proposer des didaticiels dans le domaine de la programmation : sous Windows C++ Win32/64 / STL / WTL, sous Linux C/C++ / GTK+ et du développement Web : Javascript / Ajax, CGI - FastCGI et modules Apache.

Entre 1998 et 2006, le site a permis de distribuer différents programmes créés en Visual Basic, Delphi ou Visual C++ comme : RegUtility, HyperDEL, BootMan, AddBook, VirtualDisk, OEManager et le gestionnaire de raccourcis clavier Wonderkeys dont la dernière version (Wonderkeys++) est restée inachevée.

Entre 1999 et 2005, je me suis intéressé aux systèmes Linux dont les distributions Suse et Debian, à l'administration et à la programmation système.

Pendant plusieurs années, des séjours à l'étranger, plusieurs activités professionnelles ainsi que des changements d'outils et de technologies de développement ne m'ont pas permis de faire évoluer le site. Estérel-Tech est de nouveau mis à jour depuis mars 2013. Depuis le début de l'année 2017 tous développements sous Windows ont été abandonnés pour privilégier études et développements sous Linux/BSD/Unix.

Développement et outils

Ce site est entièrement développé en langage C par Philippe Maréchal et ses pages ont été servies pendant cinq ans par un ou plusieurs exécutables/serveurs FastCGI (trésor oublié depuis 1996). Pour le code dynamique côté serveur j'utilise les outils GNU/Linux : gcc pour la compilation, gdb et Valgrind pour les test unitaires. Chaque exécutable FastCGI est lancé au démarrage du fameux serveur HTTP Apache qui se montre très performant grâce à son module 'MPM Event'. Ce qui est remarquable dans cette façon de développer pour le Web est que le programmeur conçoit une application et non des "pages" Web. Les "pages" Web ne sont que des modèles ou du texte contenant les balises HTML 5 permettant d'habiller ce que l'application retourne dans le flux de sortie.

Depuis le 19 novembre 2017, FastCGI, pourtant déjà très performant et qui me permettait d'éviter l'utilisation de langages scripts interprétés, est remplacé par l'utilisation d'un module Apache (générateur de contenu) développé en langage C qui sert directement les pages. Les performances sont encore meilleures, cette technologie est excellente et Apache offre à ceux qui s'en donnent la peine la possibilité de gérer les requêtes et les réponses HTTP directement depuis le code du module chargé par le serveur.

Les éditeurs de code et environnements de développement utilisés pour ces projets (ainsi que les tests unitaires) sont le vénérable Vim, le convivial GNU Nano, l'excellent Geany (environnement de développement léger et complet) ainsi que GEdit et Gnome-Builder (autotools & Meson) sous Linux; la compilation est croisée ou effectuée a distance, sur le serveur, par SSH et/ou SFTP à partir de mon poste de travail Linux Debian ou OpenSUSE.

L'accès aux données est pris en charge par des modules C incorporant l'API en C de MySQL/MariaDB. Firebird, PostgreSQL, Berkeley DB, LMDB, Sophia et SQLite peuvent être utilisés de la même façon.

Depuis la fin juillet 2018, le seul système de gestion de données utilisé est LMDB (Lighning Memory-mapped Database). Les serveurs MariaDB, Postgresql et Firebird ont été désinstallés afin d'optimiser l'utilisation de ressources mémoire et processeur.

Les protocoles HTTP (environnement, sessions et cookies) et SMTP, les flux de fichiers, le XML et la cryptographie sont aussi développés en langage C.

HTTPS est activé pour les sites Estérel-Tech grâce à un certificat de l'autorité de certification Let's Encrypt et l'utilisation du client ACME Certbot.

HTML 5 (XHTML) a été préféré pour le développement des pages Web (validation W3C HTML 5 et CSS 3) et l'éditeur Bluefish s'est avéré parfait pour la création et la modification des pages ou modèles sur le serveur distant à partir de mon poste de travail, connecté en SSH. De plus, côté client, le Javascript pur est privilégié (ECMAScript 5.1).

Serveur

Le site est hébergé par la société EvxOnline sur un serveur virtualisé dont le système d'exploitation est Debian GNU/Linux, le système Linux que je préfère pour mes serveurs en tant qu'analyste-programmeur et ancien formateur.

Validation aux normes du W3C

Les pages de ce site internet respectent les normes du W3C (world wide web consortium) quant à l'hypertexte balisé de type XML (HTML 5) et aux styles des feuilles de styles en cascade (CSS) . Tous les navigateurs internet sont censés respecter ces mêmes normes. Le navigateur utilisé pour tester ces pages est Mozilla Firefox.