Aller au contenu

Mes réalisations personnelles

Petits projets

Dès 1997, je quitte le constructeur à la pomme pour frayer dans le monde des ordinateurs compatibles PC. J'apprends le développement RAD avec Borland Delphi en langage Pascal; puis avec Borland C++ Builder en langage C++. Je réalise de petits applicatifs exploitant OpenGL ou j'implémente des algorithmes "maison" visants à reproduire des objets tridimensionnels à faces cachées.

COS2000

COS2000v1 - Assembleur X86 "Real Mode"

Quoi de plus grisant que de créer son propre système d'exploitation ? Cette idée me vient au cours de l'année 1998. Je débute alors quelques petits codes visant à de mieux appréhender le fonctionnement du langage machine, des ports d'entrées-sorties, du BIOS et du processeur. C'est dans ce cadre, qu'au début des années 2000, je fus amené à utiliser VMware afin de tester mes avancées sur le système d'exploitation COS2000.

Logo de Cos2000 Logo de Cos2000

Console de COS2000v1 Console de COS2000v1

Je débute donc le développement d'un système d'exploitation en Assembleur X86 : COS2000. Le travail à réaliser est colossal mais il me permet d'acquérir de solides connaissances sur l'architecture des ordinateurs.

Vue des librairies dans la console Vue des librairies dans la console

Dans un premier temps Je créé de toute pièce un système de fichier...mais rapidement, j'implémente la FAT12 et FAT16 afin d'assurer une compatibilité avec les produits Microsoft. En mode réel, je suis limité à l'usage d'appel BIOS dans un environnement mémoire bridé à 640ko de mémoire vive. J'intègre alors le "Flat Unreal Mode" dans COS200 qui assure un accès à 1Mo de Code et 4Go de données. Je créé un format CE (Cos Executable) qui permet l'usage de librairies pseudo-dynamiques.

Explorateur d'executable au format CE - Ecrit en C++ Explorateur d'executable au format CE - Ecrit en C++

V2 - COS2000v2 C "Protected mode"

Console de CO2000v2 en action Console de CO2000v2 en action

Vers 2003, j'agrémente le projet COS2000 d'un nouvelle monture de système d'exploitation écrite en langage C. En 2007 je poste les premiers codes sources de COS2000v2.

Cette version de COS2000 s'appuie sur un noyau monolithique écrit en langage C chargeable depuis Grub. Il comporte un ordonnanceur qui réalise la commutation de tâches et assure l'apparente exécution simultanée de programme dite en "mutitâche". Le code système et utilisateur sont isolés respectivement en Ring 0 et 3 afin d'assurer l'intégrité du noyau et des fonctions essentielles grâce aux mécanismes de protection de la mémoire du "protected mode". Le noyau intègre aussi la gestion de la mémoire paginée virtuelle.

Démarrage de COS2000v2 Démarrage de COS2000v2

Le portail collaboratif du patrimoine français

La Creuse Secrète

Le 1er décembre 2014, je mets en ligne le site internet "La Creuse Secrète". Ce site a pour vocation d'établir un inventaire numérique du patrimoine Creusois consultable gratuitement sur Internet. Je réaliserais la création, l'administration du site internet de ce projet initié par Gérard Hordé (Mon père).

Le site est un site qui utilise le CMS SPIP avec des ajouts de code en PHP et Javascript/JQuery.

Bandeau du site internet "La Creuse Secrète" Bandeau du site internet "La Creuse Secrète"

meconnu.fr

Face au franc succès qu'a rencontré ce concept, je propose la création de "meconnu.fr". Prolongement de l'inventaire patrimonial creusois, celui-ci vise la mise en place d'un portail collaboratif du patrimoine français. En mai 2017, une nouvelle version du site est mise en place et couvre 3 départements français.

Logo de meconnu.fr

En septembre 2017, nous fonderons l'Association loi 1901 reconnue d'intérêt générale éponyme.

Aujourd'hui le site internet exploite de nombreux éléments conteneurisés sous Docker. Un serveur dédié (chez Hetzner) virtualise une partie des micro-services prodigués par l'Association.

Le site comporte une partie publique écrite en PHP et une partie privée qui utilise le CMS SPIP avec des ajouts de code en PHP et Javascript/JQuery.

Le site internet est visible ici

Wirechem

Prototype Python

Fin 2013, je découvre un jeu extraordinaire basé sur la chimie SpaceChem. Je termine assez promptement le jeu et je décide de réaliser un game play, lui aussi basé sur la chimie mais avec des règles différentes. Je travaille ainsi quelques semaines sur un prototype écrit en Python avec la librairie Pyglet. Je m'appuie sur un algorithme cellulaire "maison" pour propulser les électrons et les photons à travers des pistes en cuivre et les fibres.

Proto en Python Proto en Python

Ebauche d'une Version Java

En 2015, j'éprouve une soudaine envie d'apprendre à coder en Java. Celui-ci est considéré comme un langage particulièrement robuste, rapide et bien construit. Roi de l'orienté objet et de la pseudo-compilation, il m'était impossible d'ignorer aussi longtemps ce langage.

Chargement du jeu Chargement du jeu

Je commence le travail en Java sur Eclipse avec la LibGDX et Android Compilation Suite. Peu à peu, au fil des évolutions de code, je choisis de m'appuyer sur l'Android Studio.

Choix des niveaux / Monde n°1 Choix des niveaux / Monde n°1

Je ne terminerais jamais ce projet, faute de temps...et d'aptitude à créer des graphisme de qualité.

Jeu en fonctionnement

Jeu en fonctionnement Jeu en fonctionnement

IA64, The even more pedagogical system

Site en cours de développement qui permet d'apprendre progressivement à programmer en langage assembleur X86 (8/16/32 bits).

Assembleur de ia64 Assembleur de ia64

Le site comprend essentiellement du Javascript/JQuery.

Un assembleur, un débogueur et un éditeur de texte en ligne permettant de fabriquer et tester ses créations.