Le culte des data persistables

Aujourd’hui j »aimerais réagir sur la conception POOet notre rapport avec leur durée de vie

J’ai pris conscience que malheureusement les applications web sont extremement data-centric, et leur conception dépend bien souvent de la duée de vie de l’execution

– Persistance vs vie éphémère –
On s’attache essentiellement à anoblir les data persistables.
La valeur, l’important que va accorder un concepteur à un objet va dépendre de sa capacité à persister en base.
Les autres données, les opérandes, les variables locales ou temporaire représentent alors une importance très mineure. C’est l’effet pervers des webapps surtout celles qui ne reposent pas sur un serveur d’applications.

– L’obsession du stockage –
Dans la vie en PHP, les données sont éphémères, elle n’existent que le temps d’une seconde, le temps de l’éxécution d’un script. Un objet, une collection de data POST, tout cela disparait plus vite qu’un feu de paille, comme un songe fugace.
Nous sommes obsédés par la persistance puisque c’est le seul moyen de garder des données en mémoire.

C’est pour cela en premier lieu qu’il parait presque superflu d’allouer du temps à la conception OO.
Pourquoi concevoir des beaux objets, créer des centaines de classes, si leur durée de vie est si courte, et sachant que toutes les classes ne seront pas sollicitées.

C’est le côté ingrat : la motivation à architecturer une appli est finalement proportionnel à la durée de vie de son execution.

A contrario vous remarquerez avec évidence  que concevoir des objets métiers bien foutus en Javascript, en AS3 ou toute autre technologie (desk|client)-side nous parait beaucoup plus évident.
Et oui on a envie d’y consacrer plus de temps car on sait que les objets instanciée vont continuer de vivre, tant que l’application est en route, qu’il s’agisse d’un serveur d’applications ou simplement d’une page web toujours ouverte dans le navigateur. On leur accorde une importante manifeste.
C’est même beaucoup plus excitant.

Ce sont tous ces effets psychologiques +/- conscient qui me font aujourd’hui préférer l’AS3 et le Javascript au PHP. De même côté serveur, je suis bien tenté par l’aventure Java, avec un serveur d’application persistant.
Le fait de travailler avec des objets persistant (sans parler stockage) me parait vraiment s »éduisant.
Evoluer dans un monde où les objets restent en vie, où l’on a pas besoin de solliciter la base de donénes en permanence.

J’aimera arriver à faire comprendre à mon équipe, qu’i l faut arrêter de penser Mysql, il faut abstraire la base.
On doit se focaliser sur l’objet. On s’en fiche que derriere les dta s’inscrivent dans un Mysql, un XML, un service web.  Le systeme de stockage devrait etre une anecdote. Or elle est au centre des esprits. On pense SQL au lieu de penser objet. C’est une vraie erreur.

– Un peu de philosophie –
Si on se rapport au genre humain : nous consacrons l’essentiel de notre énergie à faire des choses dans la journée. Nous ne sommes pas préoccupés par le lieu où nous allons dormir car c’est habituellement dans un lit dans une maison. Nous ne sommes pas plus préoccupés par la facon dont nous allons dormir, sur le côté, sur le dos, avec ou sans couette, avec ou sans oreiller. C’est très anecdotique. On s’en fiche, ca sera comme d’habitude.

J’ai une image qui me vient : le rapport entre la conscience, le corps et le temps.
On va imaginer un film de science fiction : nous avons une conscience (un psyché), qui nous permet de réfléchir et accomplir des choses, et nous avons un corps qui nous soutient. Hélas celui ci est soumis à une contrainte de temps très fort : après une courte série d’actions le corps doit se reposer, s’éteindre. Mais pas n’importe comment.
La repos doit être anticipé car si c’est la mort on perd tout, on perd la vie. Il faut compter sur  un sommeil profond ou un coma, puisque l’un comme l’autre permettent à la conscience de continuer de vivre meme si le corps ne réagit plus.
Alors nait l’obsession de faire reposer notre corps pour faire perdurer notre conscience, celle-la meme qui regroupe ce que nous sommes :  la connaissance des choses, nos facultés, notre pensée, nos souvenirs, …
Nous sommes face à la peur de tout perdre, de tout reprendre à zero, le syndrome du poisson rouge.
Nous sommes tellement obnubilés par cette peur, que la conscience perd sa priorité au profit du corps.

– Petite essai allégorique –
A travers cette illustration, vous aurez compris que la conscience est l’ensemble des fonctions attachées à un corps qui lui est la structure d’un objet.
La contrainte de temps est la durée de vie du script, la mort temporaire symbolise le souci de persistance dans une mémoire durable et immobile.
C’est souvent comme ca que j’imagine un objet.
M$eme si l’analogie entre un objet et un humain est discutable, j’essaie simplement de voir comment se situe notre rapport archaïque avec les objets que nous concevons, dans des technologies modernes, robustes et supra-calculatrices.
Quelque part nous sommes les objets que nous décrivons. Nous transposons nos peurs lorsqu’il s’agit de baigner dans un environnement technique non durable.

Du peu que j’ai pu travailler en Java, j’ai trouvé génial le fait de travailler en mode déconnecté, de travailler avec des données en mémoire sans recourrir sans arrêt à la base de données. On travaille dans un monde parsemé d’objets qui font des choses et par dessus tout qui sont durables. On ne passe pas son temps à penser aux cva et viens avec la base de données.

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s