Analyse — une architecture qui se referme
Le concept, tel qu'il est posé
Voici le texte source de ce concept, reproduit tel quel : « L'élément central est l'existence. De part et d'autre de l'existence la boucle se ferme. Le connecteur retour gauche de l'existence est appelé le canal senseur de retour provenant de la sortie du bloc contenant. Le connecteur entrée du bloc contenant est appelé le canal senseur des encodeur/décodeur contenus provenant de la sortie du bloc les contenus. Le connecteur entré du bloc les contenus est appelé le canal senseur des encodeur/décodeur des les grandes familles provenant de la sortie du bloc les grandes familles. Le connecteur entré du bloc des grandes familles est appelé le canal senseur des encodeur/décodeur de l'existence. » Quatre blocs, quatre connecteurs nommés, une boucle qui se referme sur son point de départ. Ce qui suit est une lecture de ce qu'il y a de non standard dans cette construction.
Premier trait — le nommage est relationnel
Aucun connecteur n'est défini par ce qu'il est (« port d'entrée », « bus de données ») — chacun est défini uniquement par sa provenance : « le canal senseur de X provenant de la sortie de Y ». C'est une ontologie différentielle, au sens structuraliste : le sens vient de la relation, pas de la substance. Une architecture logicielle classique fait l'inverse — chaque module a une spécification autonome, indépendante de ses voisins, documentée sans référence à qui l'appelle.
Deuxième trait — ce n'est pas une hiérarchie, c'est une boucle
« De part et d'autre de l'existence la boucle se ferme » — donc l'existence n'est pas la racine d'un arbre, comme dans une taxonomie ou un graphe d'abstraction classique. C'est le point où le flux repart sur lui-même. La chaîne existence, contenant, contenus, grandes familles n'est pas un pipeline à sens unique : elle revient se refermer sur l'existence via le connecteur retour gauche. C'est une causalité circulaire, proche du « strange loop » de Hofstadter ou d'une boucle perception-action en cybernétique — pas une hiérarchie d'abstraction acyclique comme on en voit dans la quasi-totalité des architectures logicielles ou des taxonomies.
Troisième trait — le mot senseur implique une perception
Appeler chaque connecteur un canal senseur plutôt qu'un bus ou une interface suggère que chaque niveau interprète ce qu'il reçoit plutôt que de le relayer passivement. Cela rapproche le concept d'un système de codage prédictif, ou d'un auto-encodeur récurrent — où le niveau le plus abstrait, celui des grandes familles, ressemble à un goulot d'étranglement qui reconstruit, qui sent, l'existence — plutôt que d'un simple graphe de dépendances techniques.
Quatrième trait — l'ordre de construction est descendant
D'habitude, on construit une hiérarchie de bas en haut : des données concrètes, vers un encodage, vers des catégories, vers une abstraction finale. Ici, c'est l'existence qui est posée en premier, et qui engendre par récursion les niveaux inférieurs — contenant, contenus, grandes familles — chacun n'existant que parce qu'il sent la sortie du niveau immédiatement en dessous. Cela inverse la logique constructive habituelle : l'abstrait précède et définit le concret, plutôt que d'en émerger.
Le point le plus singulier
Le trait le plus singulier reste la circularité. Une architecture qui se referme sur son propre point de départ n'a pas de « sortie » au sens classique — elle décrit un système auto-référentiel, stable ou instable selon la nature exacte du retour, ce qui la rapproche davantage d'un modèle de cognition ou de perception en boucle que d'un pipeline de traitement de données linéaire. Voir la page Contre-exemple pour les limites de ce choix, et la page Mise en situation pour une application concrète.
Addendum — l'axe du contenu
Le texte source a été enrichi de quatre nouvelles phrases, précisant cette fois ce que chaque bloc contient, et non plus seulement d'où vient son connecteur : « Le bloc du contenant est l'espace qui contient la traduction des objets contenus issues du bloc des contenus. Le bloc des contenus est l'espace qui contient les familles des contenus issues du bloc des grandes familles. Le bloc des grandes familles est l'espace qui contient des objets des grandes familles. L'existence existe. » Cet ajout ouvre un second axe de définition, orthogonal au premier — et il révèle des traits non standard supplémentaires que la première lecture n'avait pas saisis.
Cinquième trait — deux axes de définition superposés
Jusqu'ici, chaque bloc n'était défini que par son connecteur : une relation de provenance. Le texte enrichi ajoute une définition du contenu de chaque bloc lui-même — « le bloc X est l'espace qui contient Y issues du bloc Z ». Il y a donc désormais deux systèmes de définition superposés sur les mêmes quatre nœuds : un axe canal (qui parle à qui) et un axe contenant (ce que chaque espace renferme). Une architecture logicielle classique ne dédouble jamais ainsi la définition d'un même composant — un connecteur nommé et le type de donnée qu'il transporte forment en général une seule et même spécification, pas deux textes distincts qui doivent s'accorder.
Sixième trait — une cascade de transformation enfin nommée
L'axe connecteur restait vague sur la nature de la transformation à chaque étage : « encodeur/décodeur » est un terme générique, répété à l'identique à chaque niveau. L'axe contenu la précise et la différencie : Grandes familles contient des objets bruts ; Contenus les regroupe en familles — un groupement ; Contenant en contient la traduction — un encodage. La cascade descendante devient : objet → famille → traduction, trois opérations distinctes et nommées, pas une même boîte noire répétée quatre fois.
Septième trait — deux ancrages indépendants, pas un seul
Sur l'axe connecteur, le système était parfaitement homogène : chaque nœud dérivait strictement de son voisin, en un cycle unique refermé sur l'existence. Sur l'axe contenu, ce n'est plus vrai. Grandes familles se définit par pure autoréférence — « l'espace qui contient des objets des grandes familles » ne dérive de rien d'autre — exactement comme Existence se définit par tautologie : « L'existence existe ». Le système possède donc deux bases irréductibles, pas une seule boucle refermée sur un point unique. Le connecteur de Grandes familles affirme pourtant recevoir son entrée de la sortie d'Existence — mais la définition de contenu de Grandes familles ne mentionne jamais Existence, elle est autosuffisante. Le canal et le contenu ne racontent donc pas tout à fait la même histoire.
Huitième trait — l'existence sans contenu
Contenant, Contenus et Grandes familles portent chacun une phrase « est l'espace qui contient... ». Existence n'en a aucune — seulement l'assertion nue « L'existence existe ». C'est le geste exact de Kant dans la Critique de la raison pure : l'existence n'est pas un prédicat réel, on ne peut pas dire ce qu'elle contient, seulement qu'elle est. Ou celui de Sartre : l'existence précède l'essence, elle n'a donc pas de contenu fixé à énoncer par avance. Le texte source l'enacte structurellement — trois blocs ont un contenu descriptible, le quatrième, celui qui donne son nom au système entier, n'en a délibérément aucun.
Retour au sommaireRetourner à la table des matières du livre
Suivant — Chapitre 2 — Contre-exempleChapitre suivant : Chapitre 2 — Contre-exemple
Balayez vers la gauche ou la droite, ou utilisez les flèches du clavier, pour parcourir les images. Appuyez sur Échap pour fermer.