# Flow

Le [flow](<https://fr.wikipedia.org/wiki/Flow_(psychologie)>) n’est pas seulement un état où j’ai besoin de calme, il s’agit d’un contexte à part entière. Il me faut une problématique connue, qui est définie avec des contours relativement flous, davantage une intention qu’une direction. Si j’ai déjà eu l’occasion d’être précédemment frustré par l’implémentation en cours, cela me donne beaucoup de motivation pour plonger. Parfois la zone est atteinte en n’étant pas devant un écran (en courant, sous la douche, etc), une forme d’*Eurêka !* qui annonce la libération du *flow* à venir.

La crue monte et butte contre des digues techniques, plusieurs fois, avant de créer la brèche qui va tout libérer d’un coup et se répandre dans l’ensemble du code. Reste la tâche de *ressuyage* : <q lang="fr">l’évacuation des eaux qui se sont déversées dans les terres après une inondation et ainsi de diminuer le temps de submersion</q> nous dit le [Symadrem](https://www.symadrem.fr/anticiper-intervenir/evacuation-des-eaux-post-crue/quest-ce-que-le-ressuyage/). Ce n’est pas une tâche ingrate car c’est celle qui rend le code pérenne et compréhensible, l’objet du *flow* accessible au plus grand nombre. Le temps de la décrue permet d’identifier les cas aux limites également.

Ce contexte ne m’est atteignable que 3 ou 4 fois par an en moyenne. Et heureusement, car il est vraiment peu soutenable (mais tellement satisfaisant !).

---

> [en] CSS is a programming language because that’s what you’re doing when you write it; you’re *programming* the application’s presentation logic. And that’s important, because CSS has power enough to either maximize the useability of software, or to ruin it beyond all utility. (Really; you’d probably be astounded how many ways there are to utterly destroy anything on the web with hardly any CSS.)
>
> In many ways, ==CSS has greater impact than any other language== on a user’s experience, which often directly influences success. Why, then, is its role so belittled?
> 
> <cite>*[The quiet, pervasive devaluation of frontend](https://joshcollinsworth.com/blog/devaluing-frontend)*</cite>

J’aurais pu citer beaucoup de parties de cet article. Je choisis celle vraiment centrée sur CSS car les avancées récentes en font encore davantage un outil qui demande une grande connaissance du domaine, une veille active et une réflexion importante. Ce langage exprime la complexité de nos interfaces et de notre évolution collective en terme d’exploration d’affordances. Les *patterns*, ces façons de résoudre des problèmes similaires, évoluent et les personnes qui arrivent à suivre ces évolutions vont être de plus en plus sollicitées (j’en parlais [par ici](/david/2024/02/28/#hr-94)) — notamment lorsqu’il va falloir nettoyer 10 ans de CSS-in-JS/Tailwind/YouNameIt.

Je n’ai pas la même considération pour ces personnes, **j’en ai bien davantage**.

---

> [en] So far we have designed our component to be a function of the host. We can go further and ensure that the rendering routine is actually private to the host, so that the rendering code is encapsulated inside along with any potential behaviour enhancements (the `countClickable` mixin for example), while both remain reusable.
> 
> <cite>*[Coroutines and web components](https://lorenzofox.dev/posts/component-as-infinite-loop/)*</cite>

Je n’ai pas tout compris (et j’en suis à la seconde lecture) mais ça a l’air fun ! 😜

#expérience #psychologie #technique