[Actualité] 6. APL-AML
par
, 01/04/2022 à 09h15 (1788 Affichages)
■ Avant-proposForum -► Général Développement -► Débats sur le développement – Le Best Of
■ ■ ■ SOMMAIRE ■ ■ ■
- Avant-propos
- Programmation à main levée et Sophrologie
- Une application « tout-de-suite »
- Structurer l’inconnu
- Méthode d'investigation
- Marcher sans se tenir à son trotteur
- La programmation mentale
Parmi les adeptes de la programmation spontanée, certains membres se sont particulièrement investis dans cette discussion pour développer leur perception du concept révélé par Doloop.
Ce billet rassemble et met en forme tous les messages de APL-AML (IFA2377 de novembre 2007 à avril 2020). L’ordre chronologique de ses messages a été respecté. Chaque message est identifié par sa date, son lien vers la discussion et un titre, rappelé dans le sommaire.
Le texte original a été à peine adapté pour en faciliter la lecture.
Les adeptes y retrouveront beaucoup de similitudes avec leur propre expérience, les dissemblances ne tenant qu’à des contextes professionnels différents. L’essentiel est la convergence d’intentions.
Quant-aux détracteurs bornés, leurs diatribes infondées auront eu le mérite de faire parler les adeptes de leur savoir-faire. Les informaticiens sont génétiquement peu communicants. Qu’ils expriment leur ressenti et transmettent pédagogiquement leur talent constitue un témoignage bienvenu de ce qui ne s’enseigne pas dans les salles de cours.
Bonjour les développeurs "instantanés",
Symbolisée par la caricature des balançoires proposée par seven7, cette désolante réalité que j'ai vécue dès mes premiers développements, au début des années 70, est à l'origine d'une démarche personnelle visant à supprimer tout intermédiaire entre le développeur et l'utilisateur.
Constatant que chacun interprète sans concession ce qui se dit sur les forums en fonction de son vécu, je plante tout de suite le décor...
Informaticien-fonctionnaire, j'ai consacré les 35 années de ma carrière à l'informatique de gestion de type départemental, au sens anglo-saxon du terme. C'est-à-dire à l'informatisation d'entités administratives de la taille d'un service, d'une division.
Mon intervention vise simplement à apporter ma modeste contribution à la discussion, "toutes choses égales par ailleurs", comme disent les économistes, pour relativiser mon discours.
Ma recherche personnelle et mon parcours professionnel, donc, m'ont conduit à informatiser façon écrivain public (approche "bottom-up"). J'appelle ma démarche de développement "APL-AML" : Au Pied Levé - À Main Levée. D'où, l'intérêt que je porte à cette discussion.
D'autres que moi ont bien sûr élucubré sur ce thème, je ne fais que témoigner d'une pratique qui dans cet esprit a donné satisfaction aussi bien aux utilisateurs qu'à moi-même.
Si je ne me reconnais pas vraiment dans toute cette technicité dont regorgent les forums, j'ai retrouvé beaucoup de similitude dans ma démarche avec les principes méthodologiques RAD et l'adhocratie.
Cela dit, pour recoller au plus près de la discussion, je comprends tout-à-fait ce que veut dire Doloop quand il dit :
- "Devant le clavier, on sait immédiatement ce que l'on a à faire, il suffit de transposer ce que l'on voit mentalement sur l'écran."
- "Avec l'expérience, par concentration, les solutions sur les points délicats des programmes, apparaissent dans la tête sous forme de flash."
- "La programmation spontanée, c'est avant tout du travail mental assisté par de la méthode."
- "Une personne sur un autre forum avait dit qu'il devenait en quelque sorte le programme."
- "Il m'est déjà arrivé de continuer à débugger un programme l'ordinateur éteint, on l'allume est c'est bien ça."
- "J'ai remarqué que conduire une voiture pour moi, nécessitait plus d'effort d'attention cérébrale, que de passer une journée entière à programmer et à débugger."
- "À chaque programme réalisé, l'autosatisfaction est quasi inexistante, on est content que le programme soit terminé, on n'est pas déçu mais sans plus, on pense plus au prochain qu'à celui qui vient d'être fait."
Je ne vais pas reprendre tout ce qui s'est dit dans cet esprit depuis plus de quatre ans. Je rappelle simplement quelques uns de ses premiers arguments pour identifier sa façon de fonctionner que j'assimile à la "sophrologie".
Le Docteur Alfonso CAYCEDO, psychiatre d’origine colombienne, ne formalisa le concept qu’à partir de 1960. Sa « RELAXATION DYNAMIQUE » comme il l’appelle alors, synthétise et occidentalise les pratiques du Yoga, du Bouddhisme et du Zen. Leurs effets sur la conscience humaine devant lui permettre de traiter ses patients.
Intuitivement mais consciemment, je pratique la sophrologie depuis toujours. C'est en quelque sorte un mode de vie. Beaucoup de personnes la pratiquent sans le savoir. Pour ma part, j'ai toujours eu conscience de fournir l'effort mental qui consiste à se sophroniser. Les principaux domaines pour lesquels j'ai ou j'ai eu recours à la sophrologie sont les études, le sport de haut niveau, mon métier de développeur, la conduite automobile, etc.
Je n'ai mis un mot sur ce que je pratiquais qu'à l'occasion de la naissance de mon ainé, en 1977. Un médecin, le docteur Davrou, proposait alors à un groupe de femmes enceintes de les préparer à l'accouchement par la sophrologie. Le docteur Davrou enseignait déjà les pratiques de la sophrologie aux cancéreux en phase terminale. Il s'impliquait également dans le sport, notamment dans l'entraînement de l'équipe nationale de volley-ball.
Petite digression à propos de la sophrologie et du sport :
Disciple du Docteur Alfonso CAYCEDO depuis 1963, le docteur Raymond ABREZOL est l’un des premiers Sophrologues à avoir adapté les techniques sophrologiques au sport (dès 1966).
Manuel AGUILA (Site Internet : http://www.chronosports.fr/testsphys...ophrologie.htm) décrit l’entraînement sophrologique comme une stimulation de l’imagination par le biais de phases de visualisation : « L’athlète découvre cet état particulier où il peut corriger les épreuves qui le nécessitent et programmer ses futures performances. Lors d’une compétition, son cerveau met tout en œuvre pour reproduire ce qui a été précédemment enregistré. Au-delà de l’apprentissage technique conscient survient l’art. L’atteinte de ce niveau de réalisation, dans le cadre sportif, passe par ce que l’on nomme "le lâcher prise". En associant les pratiques sophrologiques à son entraînement, on intervient sur sa capacité de concentration et d’attention, son énergie et sa puissance physique, sa capacité de récupération après l’effort, sa motivation et sa combativité, d’éventuelles inhibitions, la confiance en soi et en ses potentiels, l’image que l’on a de soi-même, l’intégration de son schéma corporel, la sensibilité interne de son propre organisme (apprentissage des mouvements – cénesthésie, synesthésie, somesthésie), la fluidité de ses mouvements, la mémorisation de ses séquences sportives, la gestion de son seuil de douleur, sa capacité à gérer le stress, etc. ».
Concrètement, la sophronisation de l’athlète peut être vue comme un travail mental d’auto-programmation, de maîtrise de soi dans l’espace et dans le temps, chaque paramètre (effort, récupération, concentration, motivation, etc.) s’intégrant dans l’approche globale d’un ou plusieurs objectifs. Les athlètes se sophronisent tous plus ou moins consciemment et à des degrés divers. Au début du siècle dernier, lorsque le lanceur de poids Raoul PAOLI, en pleine concentration, demande à un athlète venu l’encourager, de le laisser tranquille parce qu’il est en train de devenir champion olympique, n’était-il pas en phase de visualisation pour utiliser le langage d’aujourd’hui. C’est sans doute sur les sautoirs, notamment celui de la hauteur, que les athlètes extériorisent le plus leur processus de sophronisation en mimant le saut qu’ils visualisent mentalement.
Je me suis permis cette parenthèse sportive pour mieux concrétiser l'effort mental que représente la pratique de la sophrologie et assimiler son principe dans une démarche de développement.
Bonjour FR119492,
Supprimer tout intermédiaire entre le développeur et l'utilisateur n'est peut-être pas une question d'âge car la caricature des balançoires proposée par Seven7 montre que le problème de communication est apparemment toujours vrai.
Il est difficile de trop s'exprimer sur le sujet car on s'éloigne alors du thème de la discussion. On pourrait initier une nouvelle discussion du genre « Direct du développeur à l'utilisateur : Une application "tout-de-suite" ». Je fais ici un clin d'œil au monde de la photo et plus précisément au slogan de la première "réclame" du Polaroïd : Pourquoi attendre ? Le Polaroïd, c'est « Une photo tout-de-suite ! ». C'est ce à quoi aspirait Edwin LAN en inventant le Polaroïd, appareil photo à développement instantané. Développement instantané ?...
La majorité des membres "actifs" semble développer en SSII principalement dans le domaine de l’internet et les étudiants sont formatés "Top-Down", méthode bien hiérarchisée, bien compartimentée, avec ses étapes bien identifiées, bien documentées, bien contractualisées. Je ne condamne pas, simplement ce n'est pas et cela n'a jamais été mon truc. Je conçois tout-à-fait que ma démarche ne soit pas envisageable en SSII. Elle est déjà tellement exceptionnelle dans le seul contexte que j'ai jamais connu, l'administration. Ma démarche m'a permis d'exercer mon métier de développeur jusqu'au bout, dans un monde administratif où l'objectif a toujours été de supprimer les informaticiens en recourant à l'externalisation. L'informatique, c'est technique, le privé sait faire et le budget "sous-traitance" n'est pas imputable sur du budget "personnel".
Dans mon premier ministère où je suis resté la moitié de ma carrière, j'ai assisté à la suppression pure et simple de ma sous-direction de l'informatique. La démarche que j'ai faite de me rapprocher le plus possible de l'utilisateur au point même de m'installer chez lui, d'autres ont fait le chemin inverse. Certains utilisateurs se sont installés chez les informaticiens, ont sous-traité la conception du cahier des charges. À partir de ce cahier des charges, ils ont émis un appel d'offres, ont sous-traité le dépouillement des réponses à l'appel d'offres. Il ne restait plus qu'à confier la sous-traitance du développement à la SSII la mieux disante... Qui était bien sûr la SSII ayant réalisé le cahier des charges. Et à lui sous-traiter la maintenance par contrat de quatre ans renouvelable. Quelle est la place de l'informaticien dans ce scénario. Pour mes collègues, l'histoire s'est soldée par des départs en retraite, des dépressions, des reconversions plus ou moins bien réussies.
Pour ce qui me concerne, finalement, ma démarche m'a en quelque sorte sauvé. Mais ce n'est pas de tout repos. Pour commencer, il faut déjà trouver un sujet porteur, c'est-à-dire une problématique à l'agonie, une cause complètement désespérée. Cela m'a amené à changer plusieurs fois d'affectation. Je n'ai en fait, jamais fait partie d'une équipe de développement. Dès le départ, je suis intervenu pour résoudre des situations désespérées. Mes interventions ont duré progressivement deux mois, puis deux ans, puis quatre ans et les dernières, 17 ans. J'ai toujours travaillé en électron libre. Pas par conviction mais il n'était pas évident d'associer d'autres personnes dans cette démarche. Une opportunité s'est présentée une fois ; face à la réalité de la tâche, le collègue n'a tenu que trois jours. Rien n'interdit à d'autres de tenter l'expérience en équipe.
Finalement, je peux dire que je suis allé jusqu'au bout de ma démarche. Enfin presque, car j'appelle mes développements, du maquettage d'application, du maquettage de luxe mais du maquettage qui reste du jetable... Même si ça dure 17 ans. L'idée, ce n'est pas de créer du définitif très beau, très sophistiqué, mais de résoudre une problématique immédiatement, avec des moyens simples et d'aboutir au final à la création d'une documentation à postériori qui face office de documentation utilisateur, de support de formation et surtout de cahier des charges pour un développement ultérieur par une méthode classique Top-Down. On n'est plus alors dans l'inconnu (effet tunnel), ni dans l'urgence. Concernant mes derniers développements, je suis parvenu à réaliser les 2/3 de ce genre de documentation. Je ne connaîtrai toutefois jamais cette ultime étape qui consiste selon moi à tout redévelopper Top-Down avec des moyens plus sophistiqués.
Classiquement, le point de départ d'un développement pragmatique d'applicatif (Au Pied Levé) est le challenge. Plus le challenge présente de risques, de difficultés, un caractère urgent voire vital, plus il a de chances d'être « accepté ». Accepté par le responsable du service informatique, le chef du service de gestion, les gestionnaires eux-mêmes. Accepté, parce que les raccourcis qu'il implique bousculent quelque peu l'organisation fonctionnelle de l'entreprise et chahute la hiérarchie, laquelle compte tenu de la situation, n'a d'autre alternative que de s'en remettre entièrement, non sans quelque appréhension, à l'informaticien développeur qui devient alors l'homme providentiel. D’où ma référence à l’adhocratie.
Ainsi, le responsable informatique doit accepter les risques inhérents à cette démarche, comme budgéter un projet sans garantie tangible de résultat, laisser se poursuivre un développement avec l'incertitude de sa pérennité, admettre l'installation à demeure de l'informaticien développeur dans le service de gestion. De son côté, le chef du service de gestion doit vivre au quotidien la présence de l'intrus qui considère davantage ses gestionnaires que lui-même. Quant aux gestionnaires, leur confiance et leur collaboration sont à priori acquises dans la mesure où ils sont demandeurs. Il suffit d'entretenir cette confiance par une écoute attentive de leurs besoins, une réactivité sans faille, une grande disponibilité, une très grande disponibilité. À ce sujet, l'adhocratie dit ceci :
- « La contribution à des équipes ad hoc lorsqu'elle s'avère devoir être très intense ne se limite pas à 40 heures par semaine, mais suppose de travailler autant que nécessaire. Certains utilisent l'expression de "double plein temps" ».
Bonne lecture
Bonjour Ecosmose,
Si tu as suivi, course à pied, développement informatique, sophrologie, tout est lié. Mes journées commencent toutes par un footing d'au moins une heure. Physiquement, je cours mais mentalement je me sophronise "développement" et quand je m'installe devant mes écrans, je martyrise mes claviers (À Main Levée) jusque tard la nuit. Ce que je crée chaque jour s'inscrit dans une démarche à court, moyen et long terme. À ce sujet, l'adhocratie dit ceci :
- « Structurer l'inconnu : la plupart des procédures traditionnelles de management encensent la structure et la prévisibilité. La difficulté dans un contexte ad hoc consiste à donner un semblant d'organisation à ce qui est apparemment inconnu. On y parvient par une planification à court terme assez précise, mais très lâche pour les étapes ultérieures. Dans ce type de projets, une trop grande partie des objectifs à moyen et long terme dépend de ce qui a été mis à jour à court terme. »
Appliqué au développement, ce discours signifie que je prévois dans le menu de mes applications, les traitements que je ne développerai que le moment venu, selon l'urgence, ma disponibilité, mon imagination. En fait, je dis que je dépose le bitume juste devant le rouleau compresseur. Les américains disent "just in time".
Sinon, MACAO, je ne connais pas. Pour moi, il est maintenant trop tard, l'affaire est entendue mais je veux bien m'y intéresser pour voir. Je prends part à quelques discussions parce que je me suis trop impliqué dans le boulot (15 h/jour), que j'ai maintenant du temps et un peu de mal à tourner la page mais ces derniers temps, je commençais un peu à me lasser. Je n'allais plus voir s'il y avait eu des réactions à mes propos et j'envisageais même de me désinscrire. Après tout, il appartient à chacun de faire sa propre expérience. On dit bien que l'histoire est un éternel recommencement. Si je m'exprime, ce n'est pas pour défendre un point de vue bec et ongles mais pour faire avancer le schmilblick de ceux qui lisent mes arguments et qui s'interrogent. De la même façon que j'ai pillé mes contemporains pour avancer dans ma recherche personnelle, juste retour des choses, j'offre mes élucubrations au pillage. Idéalement, je devrais peut-être proposer un article sur le site. Il existe dans un coin de mon micro mais le contenu est sans doute devenu obsolette quand je lis ce qui se dit sur le site.
Dernièrement, je m'interrogeais sur les méthodes agiles. J'ai l'impression que l'on en parle beaucoup. Mais les éditeurs de logiciels proposent des outils de développement toujours plus complexes. Comment peut-on être agile avec des outils nécessitant toujours plus de technicité.
J'ai cru lire quelque part que XP prétendait être une méthode agile. Un seul clavier pour deux développeurs ! Effectivement, il faut être agile. Pour ma part, si je n'ai pas au moins deux claviers pour moi tout seul, plusieurs serveurs, un ou deux micros et plusieurs sessions ouvertes sur mes écrans, je ne le sens pas. Quand je lis la prose XP, je m'interroge sur mes facultés à comprendre le français et l'informatique que je pratique pourtant depuis plus de quarante ans. Je suis allé visiter un site consacré aux méthodes agiles pour savoir ce qu'il en était. Une charte "méthode agile" y détaille une procédure qui ressemble à du Top-Down à peine allégé. Je préfère de loin la vélocité que me procure ma méthode de développement associée à ma méthode de travail.
À propos de méthodes, je trouve que dans cette discussion, il n'a pas tellement été évoqué de méthodes de programmation. Il n'a été question de programmation structurée qu'une ou deux fois et de façon entendue comme s'il n'existait rien d'autre. Pourtant, le prime posteur disait :
- "La programmation spontanée, c'est avant tout du travail mental assisté par de la méthode."
Cela signifie que dans sa tête, il faut être en quelque sorte "câblé". C'est ce que j'argumentais dans une discussion consacrée à l'algorithmique. Mes neurones fonctionnent par traitement et non par conditionnement. Dommage que Doloop ne suive plus son sujet depuis quatre ans, il aurait été intéressant qu'il développe.
Pardon tout le monde, je suis sans doute trop bavard. Ce n'est pas pour rien que mes filles m'ont décerné le diplôme du plus grand bavard.
C'est tout pour aujourd'hui !
Bonjour,
Pour aller dans ton sens, FR119492, je disais ceci, dans ma monographie concernant ma façon de travailler :
« En immersion dans le service de gestion, la majorité des informations et des documents est directement accessible et compréhensible sans qu'il soit nécessaire de mener des interviews. Le chef de service peut s'étonner voire même s'inquiéter d'être si peu sollicité. La réalisation d'un produit (une édition ou un écran) amène d'éventuelles questions qui trouveront leurs réponses directement auprès des interlocuteurs les plus pertinents : l'utilisateur final (le terminaliste), le chef de service.
.../...
Le dialogue développeur/chef de service se situe au même plan que le dialogue développeur-gestionnaires. Face à l'urgence des développements à réaliser, la hiérarchie n'est plus de mise. Le chef de service apporte sa connaissance des règles de gestion, les gestionnaires leur capacité à exercer leur tâche selon ces règles. Car si les chefs de service connaissent la mission de leur service, ils ne s'intéressent pas forcément à la façon dont leur personnel réalise cette mission. Ils ignorent la plupart du temps comment le travail de leur service se réalise concrètement. C'est si vrai qu'ils ne s'intéresseront pas davantage à l'applicatif qu'utiliseront leurs gestionnaires. D'autant moins qu'ils sont naturellement rétifs à l'informatique. Il ne s'agit pas de les en blâmer, c'est un constat, leurs préoccupations se situent ailleurs.
.../...
Concevoir un applicatif avec les seuls chefs de service pour interlocuteurs, c'est se priver d'une masse d'informations très riche susceptible d'orienter de façon pertinente les développements ; c'est créer à coup sûr un outil inadapté, intégrant sans doute les règles de gestion, mais occultant la réalité quotidienne ».
La plupart du temps, pour ne pas dire tout le temps, l'intégration d'un gestionnaire de base dans le petit cercle de conception de l'étude préalable puis du cahier des charges, n'a d'autre objectif que de lui faire accepter plus facilement le logiciel lorsqu'il aura été développé (à lui et aux autres gestionnaires de base), pas de recueillir son avis. Cette démarche "évidente", un chef de projet l'avait exprimée autrefois sans honte dans un dossier "Développement" de 01Hebdo. C'est peut-être bien ce qui se fait toujours.
Pour information, je voulais savoir si vraiment cela valait le coup que je consacre encore du temps à cette discussion et j'avais noté il y a 4 jours, le nombre de réponses et le nombre d'affichages. Résultat : 16 réponses et 683 affichages en 4 jours. La discussion titille quand même du monde ! Même le week-end ! Ça m'impressionne et m'effraie. Heureusement que je m'autocensure avant de poster mes messages.
J'ai l'impression que d'un côté il y a ceux qui comme Doloop ne savent pas qu'ils savent mais cherchent à le savoir et de l'autre ceux qui comme kazou ne savent pas qu'ils ne savent pas et ne cherchent pas à le savoir. Ce problème de communication alimente un véritable dialogue de sourds où chacun reste sur ses positions. Pour ne pas passer pour celui qui sait qu'il sait, j'avance à pas feutrés... J'ai l'impression d'écrire un sketch à la Raymond Devos !
Ce que je crois, c'est que Doloop cherchait à affiner son ressenti. Sa question n'était rien d'autre qu'une bouteille à la mer, une sorte de thérapie pour éclairer les zones d'ombre de ses convictions, prises par kazou pour une manière de penser un peu hautaine.
Pourquoi ces affirmations ?
- « Au travers de mes études et de mes stages en entreprise j'ai compris ce que c'était véritablement développer, et que programmer comme ça a l'arrache, c'était de la bidouille. »
- « Pour moi tout le monde est capable de concevoir une application à la volée, mais la qualité s'en ressentira très grandement.
C'est surtout l'expression d'une affinité avec certains problèmes bien spécifiques.
Ça n'a pas vraiment de place dans l'univers rigoureux de l'informatique industrielle. »
Programmer à main levée n'implique pas "arrache", "bidouille", "manque de qualité", "affinité avec certains problèmes spécifiques", "intuition", etc. Bien au contraire, cela signifie que le programmeur maîtrise son sujet, qu'il s'est interrogé, qu'il a installé puis personnalisé sur son petit disque dur diverses méthodes de développement et de travail lui permettant de marcher sans se tenir à son trotteur.
Reste à exprimer le non-dit, à identifier quels acquis ont participé à un formatage cérébral libérateur des contraintes conventionnelles.
Si je cite ce proverbe, c'est qu'il résume à lui seul toute ma démarche de développement que j'ai appliquée durant toute ma carrière. Et ça n'a pas été facile de faire mon petit bonhomme de chemin hors des sentiers battus, de maintenir le cap durant 37 ans. Trouver un challenge, s'installer avec son serveur chez l'utilisateur et lui dire : Bon ! Je pense que vous allez pouvoir commencer la saisie demain. Reste ensuite à développer l'application à main levée en ajoutant des fonctionnalités à chaque nouveau cycle de gestion. J'ai réussi à le faire 4 fois. D'abord un projet qui m'a pris deux ans avec un cycle de gestion bimensuel, puis le suivant, quatre ans et enfin deux autres que j'ai menés de front pendant 17 ans, l'un démarré en trois jours, l'autre en une journée. Le tout a nécessité que je change de service, que je sollicite un détachement dans un EPIC (Établissement Public Industriel et Commercial), que je passe un concours pour rebondir dans une autre administration et enfin que je demande une mise à disposition, puis à nouveau un détachement suivi d'une intégration. Parcours pas calme, en solitaire mais avec le même employeur, l'État. En bout de course, ma carrière n'est pas mirobolante mais je suis allé au bout de mes idées.
En 2008, la discussion avait déjà quatre ans. Elle s’est assoupie 5 ans de 2008 à 2013 puis s’est à nouveau endormie pendant 7 ans. Il faut une bonne raison pour la réveiller.
La raison, c’est que j’ai publié dernièrement un blog dont l’un de mes billets répond à la question de Doloop :
- « Ce type de programmation porte-t-elle un autre nom ? »
C’est l’été 2018 et adepte de ce type de programmation, la question de Doloop me taraude le cerveau alors que j’aborde le sujet dans mon blog.
Quand je suis dans ces dispositions, je cours. Ce matin là, je décide donc d’aller courir avec la ferme intention de lui trouver un autre nom, moins polémique. Je n’ai pas fait 300 mètres que l’idée s’invite dans mon esprit, tel un flash aurait dit Doloop. L’idée, c’est le parallèle devenu évident entre le calcul mental et ce type de programmation. Je termine mon footing en cherchant la faille, en me persuadant que c’est bien là, la locution idéale, que je cherche. Et puis, c'est une façon élégante de clore cette discussion. Je vous livre le fruit de ma réflexion sur le sujet…
Billet : La programmation mentale
La programmation mentale procède de la même manière que le calcul mental.
■ Le calcul mental
Source : Les astuces en calcul mental pour mieux calculer (Superprof Magazine)
Si certains ont des facilités, cela ne veut pas dire qu’il s’agisse de capacités innées. C’est une aptitude qui se travaille.
Certains scientifiques ont pu déterminer que le calcul mental active des zones du cerveau liées à l’attention spatiale. La représentation des nombres serait ainsi comparable à la représentation spatiale. Quand on compte, qu’on additionne ou qu’on soustraie, c’est comme si on faisait mentalement un déplacement vers la droite ou la gauche pour trouver un résultat. Une donnée importante quand on a des difficultés en calcul.
D’autres chercheurs se sont intéressés à Rüdiger Gamm, un génie du calcul mental, pour comprendre comment il parvenait à calculer de tête si facilement et résoudre des opérations incroyablement complexes.
Il apparaît dans ce cas que le génie du calcul, active des zones temporales préfrontales du cerveau, généralement impliquées dans la mémoire à long terme. Il dispose ainsi d’une multitude d’informations enregistrées qui lui permettent de battre des records de rapidité dans ses calculs.
Ce qu’il faut retenir, c’est que notre mémoire est notre meilleure alliée pour devenir bon en calcul !
Quoi qu’il arrive, la pratique du calcul mental doit être récurrente, régulière, environ 10 minutes par jours suffisent : notre cerveau doit acquérir des automatismes et pour cela, rien ne vaut de rabâcher encore et encore les mêmes formules, les mêmes calculs jusqu’à ce que cela devienne évident et naturel, comme le fait de faire du vélo ou simplement de respirer.
Le calcul mental s’exerce aussi bien à l’oral qu’à l’écrit et cette pratique doit s’appuyer sur des supports et des outils divers comme un cahier, un fichier de mathématiques, une ardoise, des cartes, des dés, un logiciel, etc.
Les outils basiques pour booster notre capacité en calcul mental :
- Les tables d’addition et de multiplication,
- Les connaissances des compléments du nombre 10,
- Connaissance des carrés jusqu’à 15² (=225) ainsi que des puissances de 2. Petite astuce concernant les puissances de 2, ce sont les mêmes que les tailles de stockage des disques durs ou des cartes mémoires (8 go, 16 go, 32 go, 64 go, 128 go…). Facile, non ?
- Technique de multiplication par des puissances de 10 avec des exposants négatifs (il faut déplacer la virgule vers la gauche) et des exposants positifs (déplacer la virgule vers la droite),
- Utilisation de la propriété « Diviser par un nombre = multiplier par son inverse », par exemple, diviser par 0.25, c’est multiplier 4),
- Apprendre les identités remarquables : (a+b) ² = a²+2ab+b², (a-b) ² = a²-2ab+b², (a+b) (a-b) = a²-b²,
- Apprendre les règles de la factorisation,
- Connaître des ordres de grandeur comme pour ϖ (3.14159), nombre d’or (1.618), racine de 2 (1,41).
Penser pratique !
Chacun doit trouver la méthode la plus efficace pour lui, un peu comme lorsqu’on apprend une langue et qu’on pense à des repères mnémotechniques que seul nous pouvons comprendre. L’important est que cela fonctionne pour nous et notre cerveau.
Exemple : en cas de panne avec la table de multiplication par 9. Il suffit de visualiser ses dix doigts levés, de baisser mentalement celui qui correspond au chiffre que l’on souhaite multiplier par 9, puis de compter le nombre doigts levés à gauche et à droite du doigt baissé. Soit 4 x 9 : on baisse le quatrième doigt, il est alors facile de compter mentalement 3 doigts à gauche et 6 à droite, donc 4 x 9 = 36.
On se rend compte que pour progresser en mathématiques et notamment en calcul mental, la question de la mémorisation est très importante : on doit apprendre par cœur les principes de base des mathématiques, connaître ses tables d’addition et de multiplication. Répétez sans cesse, encore et encore. Si on ne les pratique pas, on oublie !
Plus on entraîne son cerveau à se souvenir, plus des automatismes apparaissent et plus notre capacité en calcul mental augmente. Pour progresser, il faut s’entrainer, mettre en place diverses stratégies pour que les choses deviennent naturelles.
Cela demande, bien sûr, du temps, de l’investissement personnel mais le résultat en vaut franchement la chandelle puisque l’on conserve ces réflexes toute notre vie par la suite.
La première chose à garder en tête est que le calcul mental n’est pas inné.
- On pourrait résumer en deux mots l’idée du progrès en calcul mental : astuces et répétition. Effectivement, sans avoir jamais entendu ou constaté par soi-même qu’un nombre divisible par 9 l’est parce que la somme des chiffres qui le compose est un multiple de 9, sans connaître l’astuce pour multiplier tous les nombres entiers par 11, il est parfois difficile de calculer plus rapidement.
- Ceux qui calculent ne sont pas nécessairement des génies, ils ont juste conscience de ces astuces, les ont utilisés plusieurs fois jusqu’à ce qu’elles deviennent presque naturelles. Car comme toute chose, il ne suffit pas d’avoir simplement déjà eu connaissance de ces astuces pour progresser, il faut les utiliser. La répétition permet d’intérioriser chacun des processus et cela n’est pas simplement vrai que pour le calcul mental.
Cette gymnastique de l’esprit prend réellement corps à mesure que l’on fait des opérations. Le cerveau va développer avec la répétition, des raccourcis logiques qui permettent de calculer bien plus rapidement.
■ Programmer mentalement
Mentaliser sa programmation, c’est s’affranchir des contraintes, des carcans, des méthodes rigides, des algorithmes modélisés, des normes, des documentations, etc. C’est se simplifier la vie, épurer sa démarche, être autonome, prendre des raccourcis pour être efficace.
La programmation mentale n'implique pas "arrache", "bidouille", "manque de qualité", "affinité avec certains problèmes spécifiques", "intuition", "aucune analyse", etc… comme l’affirment ceux qui condamnent le concept sans même le comprendre. Bien au contraire, cela signifie que dans sa tête, il faut être en quelque sorte "câblé", que le programmeur maîtrise son sujet, qu'il se soit interrogé, qu'il ait installé puis personnalisé sur son petit disque dur (sa mémoire procédurale) diverses méthodes de développement et de travail lui permettant d'avancer sans se tenir à son trotteur.
Reste à exprimer le non-dit, à identifier quels acquis ont participé à un formatage cérébral libérateur des contraintes conventionnelles. Mais la programmation mentale est difficilement verbalisable car elle concerne l’acquisition d’automatismes, la mise en place de stratégies pour que les choses deviennent naturelles. Il appartient à chacun de trouver la méthode la plus efficace pour penser pratique, un peu comme lorsqu’on pense à des repères mnémotechniques que seul nous pouvons comprendre.
Les développeurs arcboutés sur leurs conditionnements universitaires attribuent à cette démarche tous les maux qu’ils rencontrent dans leur environnement. Cela ne fait que révéler leur incapacité à entreprendre une démarche personnelle. La qualité de la programmation mentale est exceptionnelle car elle est inspirée par une réflexion murie.
L'important, c'est de témoigner que l'on peut développer autrement. Ceux que cela dérange ne sont pas obligés de changer leur façon de travailler.
■ Utiliser sa mémoire procédurale plutôt que sa mémoire immédiate
Il s’agit de substituer au développement jouissif exploitant la mémoire immédiate, la maitrise d’un développement sur le court, le moyen et le long terme.
La passion du codage pour le codage doit satisfaire les addicts au jeu. Cela doit correspondre à un mode de raisonnement par conditions qui participe à une programmation jubilatoire exploitant la mémoire immédiate. Ce faisant, c’est la personnalité du programmeur qui structure la programmation et non le raisonnement sur la base des actions. La maintenance du programme consiste alors à comprendre la démarche alambiquée du programmeur plutôt que d’en comprendre les fonctionnalités.
Quand on a assimilé le raisonnement par traitements (LCP), le codage est là où il doit être, comme il doit être et rien de plus. L’intérêt du codage est moins dans le fond que dans la forme, à savoir l’adoption de règles d’écriture.
Ne pas exploiter sa mémoire immédiate mais sa mémoire procédurale oblige à s’organiser, à structurer sa pensée (LCP), à s’inventer une codification, une normalisation, une charte graphique (indentations, minuscules/MAJUSCULES, etc.), à se créer des automatismes simplificateurs, à construire cette mémoire procédurale pour être en mesure de programmer facilement, rapidement, sainement, et de toujours être capable de se relire, de comprendre ce que l’on programme. Ainsi, l’algorithme se concrétise mentalement en même temps que la prise de connaissance et l’exploration de la fonctionnalité à programmer. La démarche algorithmique structurée dans la mémoire procédurale s’adapte instinctivement à la spécificité de la fonctionnalité.
La mémoire procédurale est également très sollicitée chez les sportifs de haut niveau comme chez les artistes : elle permet d’acquérir des procédures gestuelles parfaites et atteindre l’excellence dans une discipline sportive ou un domaine musical… ou dans le développement informatique.
La mémoire procédurale fait partie des types de mémoire qui résistent le mieux aux années qui passent. Elle occupe ainsi une place majeure de notre mémoire à long terme. Les souvenirs qui y sont stockés sont en réalité une association de savoir-faire : des automatismes que nous avons enregistrés à force de répétition.
La mémoire procédurale est considérée comme une “mémoire implicite”, c’est-à-dire inconsciente. Il existe une phase explicite d’apprentissage en début d’acquisition, puis la procédure s’automatise et sa mise en œuvre finit par ne plus demander d’effort mental particulier. Nous appliquons, comme par réflexe, la méthode gestuelle que nous avons acquise lors de notre apprentissage.
■ Sophrologie et apprentissage procédural
Je l’ai évoqué à plusieurs reprises dans des discussions sans faire le rapprochement avec la mémoire procédurale, avec ce que j’appelle dorénavant la programmation mentale.
Comme pour le calcul mental :
- la pratique de la programmation mentale doit être récurrente, régulière.
- Plus on entraîne son cerveau à se souvenir, plus des automatismes apparaissent, plus des raccourci logiques se créent et plus notre capacité en programmation mentale augmente. Pour progresser, il faut s’entrainer, mettre en place diverses stratégies pour que les choses deviennent naturelles.
- Les progrès en programmation mentale reposent sur les astuces et la répétition. La répétition permet d’intérioriser chacun des processus.
■ Programmation spontanée
Dans son texte initial, Doloop se demandait si ce qu’il appelle la programmation spontanée portait un autre nom. Le thème de la discussion étant très proche de mes préoccupations, il était intéressant de prendre connaissance des arguments échangés puis d’apporter mon point de vue.
Sans reprendre tout ce qui s’est dit depuis le début, je comprends tout-à-fait ce que veut dire Doloop quand il dit :
- Devant le clavier, on sait immédiatement ce que l'on a à faire, il suffit de transposer sur l'écran ce que l'on voit mentalement.
- L'algorithme, on l'invente directement dans le programme au fur et à mesure des besoins qui se font ressentir au moment de se focaliser sur des points précis.
- Le programme que l'on a conçu, il est en nous, en le parcourant c'est un peu comme si l'on se promenait dans sa tête.
- Une personne sur un autre forum disait qu'il devenait en quelque sorte le programme.
- Il m'est déjà arrivé de continuer à débugger un programme l'ordinateur éteint, on l'allume et c'est bien ça.
- Avec l'expérience, par concentration, les solutions sur les points délicats des programmes, apparaissent dans la tête sous forme de flash.
- La programmation spontanée se vit, mais ne s'explique pas fondamentalement, elle fait partie de nous.
- La programmation spontanée, c'est avant tout du travail mental assisté par de la méthode.
- Je n'ai jamais prétendu que la programmation spontanée était facile surtout au début, cela demande beaucoup d'effort mental à cause de tout ce qu'il y a à apprendre, ensuite c'est l’expérience qui fait le reste.
- Un programme qui emploie des noms de variables, de sous-programmes et de fonctions significatifs pour moi contient plus d'informations que nécessaire, c'est comme pour le Port-Salut, c'est marqué dessus.
- Qu'est ce que l'on peut apprendre lorsque l'on est obligé de tout faire !
- J'ai remarqué que conduire une voiture pour moi, nécessitait plus d'effort d'attention cérébrale, que de passer une journée entière à programmer et à débugger.
- À chaque programme réalisé, l'autosatisfaction est quasi inexistante, on est content que le programme soit terminé, on n'est pas déçu mais sans plus, on pense davantage au prochain qu'à celui qui vient d'être fait.
- La seule envie finale, c'est de surpasser le programme, pour que ce ne soit plus le programme qui nous dépasse.
■ Flash
Le flash évoqué par Doloop correspond en quelque sorte à un alignement des planètes ou au jackpot d’une machine à sous. Pendant que l’esprit réfléchit à un problème, plusieurs zones du cerveau « tournent » en arrière plan, notamment les zones impliquées dans la mémoire à long terme. À un moment donné, un détail de la réflexion en cours réveille les processus en tâche de fond, une réaction en chaine se déclenche et apporte la solution aussi soudaine qu’évidente. Le flash devient l'aboutissement conscient, contrôlé, maîtrisé de la solution.
■ Apprendre / Comprendre
La perte de la mémoire immédiate :
De façon schématique, le processus de mémorisation peut se décrire en 4 phases :
- L’apprentissage : analyse immédiate de l'information sensorielle ;
- La mémoire immédiate : persistance au niveau cérébral de la trace sensorielle. L'ensemble des informations ainsi conservées constitue l'empan de la mémoire (quantité d'informations pouvant être stockées par la mémoire à court terme).
- Le stockage mnésique : regroupement des données et leur codage. Ce stockage dépasse l'empan. Il est basé sur l'élaboration de processus associatifs et comporte une phase de consolidation dans le temps qui évite la perte d'information.
- Le rappel mnésique : réutilisation des informations stockées. Si le sujet les raconte ou les revit mentalement, c'est l'évocation. S'il les retrouve lors d'une nouvelle confrontation, c'est la reconnaissance.
On distingue plusieurs sortes de troubles de la mémoire (amnésies) :
- L'amnésie antérograde (syndrome de Korsakoff) : le patient ne fixe plus les souvenirs et oublie tous les événements au fur et à mesure qu'ils se présentent. C'est une amnésie des faits récents alors que le souvenir des faits anciens est conservé.
- L'ictus amnésique : perte de mémoire isolée, antérograde, chez un sujet âgé de 50 à 70 ans, sans cause déclenchante apparente, sans signes prémonitoires, durant quelques heures et ne laissant comme séquelle qu'une amnésie lacunaire pour cette période. Le malade est incapable de se souvenir de ce qu'il vient de faire : il pose les mêmes questions et répète sans arrêt les mêmes choses. En revanche, il connaît son âge et son identité. Les capacités intellectuelles sont conservées. C'est en général un incident bénin et sans cause.
- L'amnésie globale concerne les faits récents et anciens et se voit dans les démences.
La mémoire procédurale
La mémoire procédurale est une forme de mémoire non déclarative. La mémoire procédurale est une mémoire à long terme implicite qui permet la motricité automatique. Elle concerne l’apprentissage et le stockage des savoir-faire comme jouer du piano, faire du vélo, planter un clou, marcher, etc. En pratiquant ces activités, la mémoire améliore nos performances jusqu’à créer des automatismes. C’est une mémoire que l’on active alors de façon quasi inconsciente. Cette mémoire n’est donc pas verbalisable puisqu’elle ne concerne que des mouvements.
Elle fonctionne grâce à différentes zones du cerveau, comme le cervelet ou le striatum. Ces zones sont toutes reliées entre elles par des synapses fonctionnant avec des neurotransmetteurs. Cette association permet l’apprentissage progressif de procédures. Celles-ci sont d’abord traitées par la mémoire déclarative et de travail puis sont intégrées dans la mémoire procédurale grâce à la répétition.
Mémoire à long terme
La mémoire à long terme est essentielle pour pouvoir progresser. Il n’existe pas “un” centre de la mémoire dans le cerveau, mais bien plusieurs réseaux neuronaux distincts interagissant entre eux. Ils sont observables notamment par IRM au cours de tâches de mémorisation. Un élément à mémoriser est constitué des diverses informations sensorielles, temporelles ou encore émotionnelles. Elles ne sont pas conservées au même endroit.
Le cerveau conserve le souvenir de la synchronisation de ces différentes informations. Un souvenir n’est pas un enregistrement forcément valide de la situation réelle et peut varier au cours du temps. Lorsque l’on se souvient, la tâche de reconstruction du cerveau peut être plus ou moins fidèle selon la date du souvenir, et est influencée par le présent.
Les mémoires s’appuient les unes sur les autres. Par exemple, la mémoire épisodique utilise la face interne des lobes temporaux et plus spécifiquement les réseaux neuronaux de l’hippocampe. La mémoire sémantique, quant à elle, utilise davantage de réseaux dans les parties intérieures des lobes temporaux. Enfin, la mémoire procédurale utilise des réseaux neuronaux sous-corticaux et le cervelet, qui joue un rôle très important dans le contrôle moteur. Selon Charles Scott Sherrington, « la mémoire se forme au sein de réseaux de neurones qui, après avoir été activés de manière intense ou répétée, gardent une trace de cette activation en renforçant leurs contacts ».
Le fonctionnement de la mémoire à long terme dont fait partie la mémoire procédurale se fait en trois grandes étapes :
- L’encodage est la capacité à transformer l’information entrante et les stimuli. Il peut être intentionnel ou non. C’est l’apprentissage et l’entrée de l’information, la mise en mémoire de celle-ci, venant de nos différents sens, que ça soit la vue, l’ouïe, l’odorat, le toucher ou encore le goût. De la qualité de cette phase dépendra la qualité des phases suivantes, que ça soit dans la durée des souvenirs ou bien de leur fiabilité, leur exactitude. Plus l’attention portée à la phase de l’apprentissage est importante, plus celui-ci sera de qualité. Afin de faciliter l’encodage, on peut aussi utiliser des stratégies, par exemple sémantique (placer un mot dans une catégorie telle que l’animal, ou encore associer des attributs à un mot…). On appelle les informations transformées traces mnésiques.
- Le stockage ou conservation : lors de cette phase, les informations sont maintenues en mémoire et consolidées. Cette phase peut durer de quelques secondes à plusieurs années, elle peut aussi avoir lieu lors du sommeil, c’est pourquoi celui-ci est essentiel dans le processus de mémorisation. Le cerveau va répéter, sans que l’on s’en rende compte, les informations enregistrées lors de l’encodage et va ainsi les ancrer plus profondément dans la mémoire. Ces traces mnésiques vont, dans cette étape, passer de la mémoire à court terme à la mémoire à long terme.
- Rappel ou récupération ou restitution : lors de cette phase, les souvenirs et les informations sont récupérés, cette phase se fait de façon consciente ou inconsciente. L’information présente dans la mémoire à long terme revient dans la mémoire à court terme afin d’être accessible. Cette information peut alors être utilisée, on dit qu’elle est extraite de la mémoire. L’information est donc appliquée, c’est comme cela qu’on se rappelle comment faire du vélo, comment faire du piano… Cette phase de rappel permet de retourner une information déjà apprise et mémorisée. Cette récupération peut être consciente ou non.
Apprentissage procédural
La mémoire procédurale est une mémoire qui implique l’apprentissage d’un processus cognitif, permettant la réalisation inconsciente d’une procédure motrice. Ce processus n’est possible que par la répétition, qui va permettre une amélioration de la précision spatiale et temporelle et une diminution de l’attention nécessaire à sa résolution. La résolution de n’importe quelle activité donnée implique un apprentissage, qui repose sur la mémoire procédurale. Son but est d’économiser les ressources cognitives et de permettre la réalisation simultanée d’autres tâches.
La mémoire procédurale est permise grâce aux propriétés malléables des circuits neuronaux dans différentes zones du cerveau. Pour les biologistes, la trace mnésique repose sur la neuro-plasticité qui permet des modifications à long terme des neurones au niveau de leur biochimie et de leurs aptitudes à faire des synapses. L'avènement de nouvelles techniques d’imagerie cérébrales, comme l’IRM fonctionnelle, permet d’examiner sur une longue période les corrélats neurobiologiques et l’apprentissage. L’étude de l’apprentissage de mouvements des doigts suggère que l’acquisition et l'utilisation d’une nouvelle tâche motrice se fait par une réorganisation significative de certaines zones (par exemple des lobes temporaux) se produisant en plusieurs étapes.
La mémoire procédurale est caractérisée par une grande résistance aux pathologies, c’est pourquoi son acquisition est de la plus grande importance, mais celle-ci est relativement longue (de quelques semaines à plusieurs mois voir plus). D’après l’étude et les résultats de Francis Eustache et Hélène Beaunieux, on démontre bien 3 phases essentielles dans l’acquisition de la mémoire procédurale. Pour la première fois, ils démontrent aussi l’implication de la mémoire sémantique et des fonctions exécutives lors de la 1ère phase d’apprentissage. D’après le modèle ACT-R (Adaptive Control of Thoughts) de John Robert Anderson (1999), les trois phases d’apprentissages sont les suivantes : cognitive, associative et autonomie.
La pratique peut déclencher des processus neuronaux évoluant plusieurs heures après la phase d’attention. Chaque expérience, même courte, peut entraîner des effets à long terme.
L’apprentissage procédural se déroule de la manière suivante :
- phase précoce d'amélioration rapide, avec une forte progression dans l’apprentissage (établissement d’un plan optimal d'exécution), qui demande de nombreuses ressources et s’appuie sur la mémoire déclarative ;
- phase tardive lente, de nouvelles acquisitions se mettent en place, l’apprentissage devient plus long, démarrage de la procéduralisation ;
- phase de consolidation (permise si aucune activité n’est réalisée), lors du sommeil par exemple ;
L'automatisation de l’activité s’organise, et permet d’utiliser de faibles ressources attentionnelles ;
- étape de maintien, où l'habileté peut être exécutée après une longue période de non utilisation ;
en cas de non répétitions sur une très longue durée, oubli progressif de l’apprentissage.
On apprend une recette avec l’objectif de la reproduire mais comprendre une recette, c’est bien davantage, c’est se donner les moyens de la réinventer, c’est réfléchir par soi-même, c’est ne rien faire sans comprendre pourquoi on doit le faire.
Apprendre, c’est hériter d’une maison, c’est stocker des connaissances.
Comprendre, c’est construire sa maison, c’est façonner du lien, du sens, c’est s’approprier des savoirs.
Pour mentaliser LCP, il faut avoir exploré la démarche dans tous ses recoins, il faut avoir compris le cheminement algorithmique dans chaque situation : contrôle, mise-à-jour, édition, interactif. Il faut savoir corréler la démarche avec le langage pratiqué. Cela demande du temps et la volonté d’ancrer la logique hiérarchique par traitements au plus profond de soi. L’effort mental est intense et continu, jusqu’à ce que l’organigramme s’impose de lui-même, devienne évident et naturel, ne soit plus nécessaire sur le papier.
APPRENDRE COMPRENDRE
- Stocker des connaissances
- Fait appel à la mémoire
- De l’ordre de la technique
(du comment)
Mécanique Logique- Pas de qualificatif dérivé
- Gain de temps
- Transfert parfois aléatoire
- Plus facile à enseigner
- Créer des liens entre des informations
- Fait appel à l’intelligence
- De l’ordre de la démarche ;
du pourquoi au pour quoi
(une suite d’étapes ordonnées)- Deux qualificatifs : (in) compréhensible
- La démarche se construit et prend du temps
- Transfert facilité dans le réseau conceptuel
- Difficile d’aider à comprendre