Oiseaux
Dimanche 25 Février 2018

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+ / GTKmm et du développement Web : Javascript / Ajax, CGI - FastCGI / SSI.

Entre 1998 et 2006, le site a permis de distribuer différents programmes 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.

Pendant plusieurs années, des séjours à l'étranger, des études et des travaux, 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 travaux sous Linux.

Vincent d'Indy, Quatuor N° 3 en Ré bémol majeur (I - Entrée en sonate : Lentement) - 1929

Développement du site - Technologies et outils

Ce site est entièrement développé en langage C et les pages ont été servies pendant quatre 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, l'excellent Geany (environnement de développement léger et complet) ainsi que GEdit et Gnome-Builder (autotools & Meson) sous Linux; la compilation est effectuée a distance, sur le serveur, par SSH et/ou SFTP à partir de mon poste de travail Linux Debian.

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, Sophia et SQLite peuvent être utilisés de la même façon.

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.

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) comme c'est le cas pour les pages de ce site.

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

W3C HTML 5
Mise à jour : 19 novembre 2017
W3C CSS