IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Voir le flux RSS

Au Pied Levé - À Main Levée

[Discussion] Ordre de passage d'une épreuve de concours équestre

Noter ce billet
par , 01/04/2022 à 09h00 (338 Affichages)
Forum du club des développeurs et IT Pro -► Forum Général Développement -► Forum Algorithme & Mathématiques -► Forum Algorithmes et structures de données

Discussion : Algorithme pour établir un ordre de passage

■ ■ ■ SOMMAIRE DE LA SYNTHÈSE ■ ■ ■

  1. Règles de déroulement d’une épreuve équestre
  2. Résumé des épisodes précédents
  3. Analyse de la discussion
  4. La logique séquentielle
  5. Algorithmique
  6. Penser out of the box
    • Qu’est-ce que la boîte ?
    • Thinking outside the box
    • Principes psychologiques de la pensée out of the box
    • Citations sur la pensée out of the box
    • Comment savoir si l’on pense out of the box ?
  7. Relation développeur - utilisateur
    • Un peu de provocation ?...
    • Quelle réalité ?
    • Il y a trois règles pour construire une relation :
      1. Parler de son ressenti…
      2. Partager des expériences…
      3. Concéder qu’il y a autant de réalités différentes que d’individus…
    • Les outils qui nous aident à mieux communiquer
    • Extraits de la discussion
    • Anecdotes
    • Conclusion
    • Post-Scriptum
  8. Philosophie vs technicité
    • Ce que j'en pense
    • Démarche Top-down vs Démarche Bottom-up
      (Logique combinatoire vs Logique séquentielle)
    • L’Art et la Manière
      • L'Art
      • La Manière
    • Conclusion
§ 1. Règles de déroulement d’une épreuve équestre

Citation Envoyé par maxime_nrgt Voir le message

Bonjour,

Je cherche à développer sous Excel un algorithme me permettant d'établir l'ordre de passage d'un concours d'équitation.

Je souhaiterais avoir un algorithme en "français".

J'ai essayé de le créer moi-même mais sans y parvenir. En effet, les conditions pour créer cet ordre de passage sont assez complexes.

Règles de déroulement d’une épreuve équestre

Lors des concours équestres, il y a plusieurs épreuves (telles que des courses, des parcours de saut d'obstacles à différentes hauteurs, etc.).

Les coaches engagent leurs cavaliers dans les différentes épreuves. Ainsi, il peut y avoir 1, 2, 50, 80, 100 inscriptions par épreuves. J'ajoute que je ne recherche pas à faire un ordre sur l'ensemble du concours, mais uniquement sur l’une des épreuves du concours.

Les règles sur l’ensemble du concours et la question de l’heure de passage pour une épreuve ne sont pas concernées ici.

Sur l'ensemble du concours (pour information seulement) :

  • un cheval ne pourra faire que 3 tours maximum,
  • et un cavalier ne pourra faire que 5 tours maximum,
  • on doit savoir si un cheval n'a pas participé à une autre épreuve avant de le faire concourir dans une épreuve « pour qu'il puisse récupérer »,
  • idem pour un cavalier.

Sur une même épreuve :

  • un même couple (cheval/cavalier) ne peut participer qu'une seule fois,
  • un cavalier peut concourir jusqu’à 3 fois avec des chevaux différents ; il ne peut donc pas passer 3 fois d'affilé (sauf s’il est tout seul...), puisque celui-ci doit s'échauffer avec son cheval avant chaque passage,
  • Un cheval peut être monté jusqu’à 3 fois par des cavaliers différents mais ne peut pas passer deux fois d'affilé (sauf si c’est le même cheval pour tous les cavaliers...), puisque celui-ci doit également pouvoir récupérer entre deux passages avec des cavaliers différents.
  • Un cavalier ne monte pas forcément 3 chevaux et il peut y avoir autant de chevaux que de cavaliers,

Ces conditions ne peuvent s'appliquer que lorsqu'il y a un nombre de participants et de chevaux par épreuve assez conséquent. D’où mon souhait d’automatiser ce casse-tête que j'ai à faire à chaque concours...

J'espère vous avoir apporté suffisamment de précisions pour m'aider.

Je vous remercie pour votre aide et pour le temps que vous m'accordez !


§ 2. Résumé des épisodes précédents

Plus de 40 messages en moins d’un mois, 19 messages le même jour, près de 3.000 visites en 3 mois.

En relisant la discussion, j’ai été frappé par l’influence du système de pensée des intervenants dans leur démarche. Il m’a semblé intéressant et constructif de faire part de cette observation à l’origine de mon parcours professionnel.

En activité, je travaillais 15 heures par jour. Je ne me suis inscrit sur DVP qu’une fois à la retraite. J’ai donc le temps de faire des messages "longuement réfléchis". Je fais en sorte qu’ils soient exploitables, qu’ils apprennent quelque chose. Je vous ai parlé d’algorithmie, de logique séquentielle, de pensée out of the box. Dans ce message, je vous parle de communication.

J’avais dit que la polémique ne m’intéressait pas. Apprend-on quelque chose à argumenter son point de vue pour prouver que l’on a raison et l’autre tort ? Pourquoi d’ailleurs devrais-je argumenter alors qu’il suffit de lire la discussion pour se faire sa propre opinion ?

« Rejeter les divergences, chacun prouvant qu’il a raison et l’autre tort, rend les relations difficiles, voire même inutiles. Il ne s’agit nullement de se renier soi-même pour subir l’influence de l’autre, mais bien d’ajouter, aux compétences que nous avons déjà, une nouvelle compétence ou une façon différente de percevoir un problème. »


Cette discussion est intéressante à plusieurs titres, pour l’originalité de sa problématique, pour la simplicité de son énoncé, pour son algorithme inattendu mais également pour les approches de la problématique très différentes d’un développeur à l’autre.

Ces démarches différentes interrogent et peuvent déconcerter l’utilisateur. Comment expliquer autant de divergence de la part de cinq professionnels du développement ?

maxime_nrgt joue le rôle du gestionnaire et les 5 autres intervenants, y compris moi-même - APL-AML - celui des développeurs.

Chaque intervenant-développeur interprète la problématique avec sa grille de lecture (sa boîte) et propose sa solution :

  • maxime_nrgt énonce sa problématique : obtenir un algorithme simple, en français, permettant à partir d’une feuille Excel d’inscriptions à une épreuve de concours équestre, d'établir l’ordre de passage des couples cavaliers-chevaux, en tenant compte des règles d’organisation.

    Au fil de la discussion, il est amené à préciser ces règles et s’insurge d’un certain manque d’empathie manifesté à son égard.

  • tbc92 évalue la complexité de la problématique, extrapole, pense qu’il n’y a pas assez de contraintes et finit par s’énerver en qualifiant l’énoncé d’énigme.

  • Mat.M estime que l’on perd son temps à faire des tableaux "à la main", totalement inutiles. Il conseille et propose de faire du code JavaScript ou Java... D’après lui :

    « Un simple compteur déclaré en variable globale peut suffire. Il faut déclarer une classe globale dans un module de classe et avec une variable de type integer pour mémoriser le type de cheval ou même mieux employer des "string" qui mémorisent le nom du cheval. Il suffit de faire un tableau de strings ou mieux une collection de strings. Après on peut adresser chaque cellule du feuillet actif et lire la valeur. »

  • anapurna s’assure qu’il comprend bien en réinterprétant faussement l’énoncé de la problématique. Pour lui tout est toujours simple et se résout facilement avec une fonction modulo, à savoir ici : ($A3+B$2)-(QUOTIENT(($A3+B$2);$B$1+1)*$B$1).

  • WhiteCrow se pose plein de questions hors sujet, transforme les cavaliers en jockeys, pense que la solution sera nécessairement plus complexe qu’une simple feuille de calcul et suggère de solliciter un ami développeur ou un site internet proposant de petits développements à prix raisonnable.

    « Mais ce qui est encore plus important est de bien définir les données que l'on va être amené à manipuler. Par exemple, je suppose que tu as plusieurs créneaux qui vont te permettre de faire des passages (=jockey+cheval). Il y aura des contraintes à respecter, des associations à gérer (qui choisit le cheval lors d'un passage ? le jockey ? quelqu'un d'autre ?). Un petit développement pourra sans doute couvrir une majorité des besoins (s'ils sont clairement exprimés). Enfin tout dépend de ce que tu veux ou si ton organisation veut quelque chose. »

  • APL-AML ne dit rien. Il observe, réfléchit "out of the box" puis sort trois colombes et deux lapins de son chapeau : « Pas d’algorithme, juste 3 colonnes et deux tris ».

    Sa solution n’est pas parfaite mais il l’adapte subtilement au jeu d’essai qui progressivement se complexifie. Au final, ce sera cinq colonnes (N_CAVALIER, N_CHEVAL, N_ORDRE, NB_TOURS et N°_PASSAGE) crées dans une logique séquentielle (par étapes successives), cinq tris et des algorithmes simplissimes dont les deux plus complexes sont :

    • une concaténation : N_ORDRE = (N_CAVALIER * 10) + N_CHEVAL
    • et une addition : NB_TOURS = N_CAVALIER + N_CHEVAL



Citation Envoyé par anapurna Voir le message
il est facile d'arriver en vainqueur alors que le terrain a été déblayé et la demande affiné.
Tu n'interviens qu'une fois que des incongruité sont écartés et que les choix sont restreint .
Je me suis aperçu que tu intervenais dans plusieurs discussions rapprochées en proposant des solutions à base de fonctions modulo assorties de commentaires « Une solution simple… c'est assez simple à mettre en place… Il est assez facile… ».

Une solution modulo, pourquoi pas, il peut y avoir plusieurs solutions pour résoudre une problématique.
Tu dis que je n’interviens qu'une fois que des incongruités sont écartées, que les choix sont restreints, que le terrain a été déblayé et la demande affinée.

Que je sache, chacun dispose des mêmes informations, notamment celles de mes propres interventions… jugées inutiles. J’ai simplement compris l’utilisateur, son besoin et poursuivi mon raisonnement.

Apprend-on quelque chose à argumenter son point de vue pour prouver que l’on a raison et l’autre tort ? Par contre il devient intéressant d’apprendre de ton approche que tout algorithme peut être validé et vérifié mathématiquement.

Citation Envoyé par WhiteCrow Voir le message
Puis-je savoir quelles sont ces nombreuses questions qui te semblent hors-sujet ?
Ces questions concernent :

  • Des créneaux horaires pour organiser des passages (jockey + cheval),
  • Des associations à gérer (qui choisit le cheval lors d'un passage ? le jockey ? quelqu'un d'autre ?),
  • Le besoin de savoir si un cheval n'a pas participé à une autre épreuve avant de le faire concourir dans l’épreuve (pour qu'il puisse souffler ? Idem pour un cavalier ?),
  • Ça mérite quelque chose de plus « complet » qu'une feuille de calcul,
  • Enfin tout dépend de ce que tu veux ou si ton organisation veut quelque chose,
  • Un petit développement pourra sans doute couvrir une majorité des besoins (s'ils sont clairement exprimés).

Ces questions ne sont pas hors-sujet si l'on est dans un contexte de courses hippiques, sauf que nous sommes dans un contexte de concours équestre. La confusion "jockey" au lieu de "cavalier" est très révélatrice.

Aucune de ces questions, interrogations ou suppositions ne permet d’éclairer la réflexion pour établir un ordre de passage des couples cavaliers-chevaux inscrits à une épreuve de concours équestre. Paradoxalement tu dis très justement qu’accompagner un client dans l'expression de ses besoins ne réside pas tant à obtenir une description que de poser les bonnes questions…

Proposer de recourir à des développeurs amis ou sur internet pour créer une solution plus complète qu’une feuille de calcul, ne répond pas au besoin de maxime_nrgt qui est clair : Développer en français un algorithme sous Excel.

En d’autres termes, tu imagines de la complexité et tu génères de la confusion en assimilant des cavaliers à des jockeys. L’objectif d’une informatisation, c’est de simplifier le travail de l’utilisateur, pas de le lui compliquer. L’utilisateur exprime un besoin dans un contexte associatif. Il ne faut pas le rendre dépendant d’un tiers, ni d’un outil trop complexe à maitriser. Son outil doit être accessible et pouvoir être utilisé par n’importe qui.

Si je force le trait en restant dans ton système de pensée (ta boîte), les étapes d’après, c’est quoi ? Un cahier des charges et un devis puis un développement, l’acquisition d’un serveur et un contrat de maintenance ?

« Chacun fabrique l’autre par projection. Il s’en suit un décalage qui peut devenir abyssal. Ce que nous croyons être un dialogue entre deux individus n’est en réalité que deux monologues. Le premier a lieu entre lui-même et son imaginaire et le second entre son interlocuteur et son propre imaginaire. »

Citation Envoyé par APL-AML Voir le message
Post-Scriptum

La solution que je proposais n’est pas idéale à 100%. Elle permet seulement de réaliser globalement un ordre de passage acceptable au lieu d’avoir à le réaliser manuellement inscription par inscription, sans vue d’ensemble.

Rien n’empêche d’affiner la solution résultante en déplaçant une inscription à l’intérieur d’un ensemble NB_TOURS – N_ORDRE pour augmenter ou diminuer l’espace temps entre deux passages d’un même cavalier ou d’un même cheval. Cela ne fait que perturber sans conséquence l’ordre alphabétique dans cet ensemble. Il reste juste à actualiser la chronologie des passages (N°_PASSAGE).

J’ai réfléchi à ajouter ce genre de traitement mais ça complique trop le processus. Le mieux, c’est d’affiner éventuellement à la main si c’est nécessaire. Il faut savoir s’arrêter.
Quant-à moi, je perds mon temps à faire des tableaux à la main complètement inutiles. C’est vrai qu’avant d’entreprendre un algorithme, je simule, je visualise la problématique. Quand je dois me rendre quelque part, je m’informe de l’itinéraire à prendre.



§ 3. Analyse de la discussion

À partir d’une Base De Données réduite à sa plus simple expression, à savoir une seule table dotée de deux attributs, on aurait pu penser que la réflexion de cinq développeurs aguerris convergerait vers une même solution. Mais que nenni !

Chaque intervenant-développeur a réagi et s’est exprimé en réfléchissant dans sa boîte… sauf APL-AML, qui a abordé cette problématique l’esprit libre, sans contrainte, avec détermination, prêt à s’adapter à la problématique en faisant confiance à son intuition, à son instinct de survie.

En considérant la problématique sans à priori, c’est la problématique qui guide la réflexion et suggère progressivement la solution. En pensant dans sa boîte, le développeur veut tout maitriser en cherchant à faire entrer la problématique dans son système de pensée.



§ 4. La logique séquentielle

En théorie des circuits électroniques, la logique séquentielle est un type de logique dont les résultats ne dépendent pas seulement des données actuellement traitées mais aussi des données traitées précédemment. Elle s'oppose à la logique combinatoire, dont les résultats sont fonction et seulement fonction des données actuellement traitées.

Logique combinatoire : Un système logique est dit combinatoire si à tout instant, il est possible d’écrire l’équation logique de chaque sortie, en fonction seulement des entrées. Le résultat logique en sortie peut donc être représenté par une table de vérité ou un tableau de Karnaugh.

Logique séquentielle : Un système est dit séquentiel si à une même combinaison des variables d’entrée peut correspondre plusieurs combinaisons différentes des variables de sortie. La combinaison des variables de sortie dépend des entrées mais également de l’état antérieur des variables de sortie.

La logique séquentielle fait intervenir le temps. Autrement dit dans un système séquentiel, la valeur d'une variable logique à l'instant donné T dépend de celles qu'avaient les variables logiques aux instants précédents (instant T-1). C’est ce que l’on appelle « l’effet MÉMOIRE ».

On retrouvera les mêmes états des entrés à plusieurs étapes, alors que les sorties seront différentes. Il est donc impossible de les représenter par un tableau de Karnaugh.

Caractéristiques d’un système séquentiel

Il n’y a plus, contrairement au cas des systèmes combinatoires, de relation d’équivalence entre l’état des entrées et l’état des sorties :

  • Une même cause (traduite par une combinaison d’entrées) peut produire des effets (traduits par la combinaison des sorties) différents,
  • Indépendamment de l’état des sorties, le temps peut être une cause de modification des sorties,
  • Un effet peut persister même après disparition des causes qui l’ont généré.

Décomposition en macros

De façon à rendre compréhensible et lisible l’algorigramme de description d’un système, il est judicieux de décomposer le comportement en tâches élémentaires qui seront décrites par un algorigramme simple.

L’algorigramme général fera alors appel à ces différents algorigrammes simples, appelés macros.



PS : La logique séquentielle est un type de logique en théorie des circuits électroniques, mais le concept ne peut-il pas s’appliquer également au traitement des BDD ? J'ose le parallèle…

Tout ce discours n’engage que moi. Mais comment expliquer ma démarche ? De quel algorithme s’agit-il ? Pour répondre à ce questionnement, je me suis inspiré des cours sur la Logique séquentielle trouvés sur internet. Notamment :



§ 5. Algorithmique

L'algorithmique fait l'objet d'un billet spécifique :



§ 6. penser out of the box

§ 6.1. Qu’est-ce que la boîte ?

La « boîte » (The « box ») :

  • C’est une métaphore qui symbolise les limitations imposées par notre pensée rationnelle, réduisant ainsi notre capacité à penser de manière efficace et critique sur le monde qui nous entoure. Ces limites sont le résultat de croyances profondes qui font obstacle à la créativité, à la réalisation de soi et plus généralement, à la compréhension de la vie.

  • C’est en quelque sorte toutes ces idées préconçues et étriquées, ces préjugés, ces raccourcis cognitifs qui confinent notre réflexion à des schémas connus et rassurants.

  • C’est tout ce que l’on est censé penser de par notre culture, notre éducation, nos expériences… et qui finit par limiter notre pensée, si l’on ne parvient pas à dépasser ces barrières psychologiques.



§ 6.2. Thinking outside the box

« Thinking outside the box » est une expression en anglais américain qui signifie : penser différemment, de manière originale, inédite, créative, en dehors des cadres ou des conventions établies, de façon non conventionnelle ou selon une perspective nouvelle.

Penser « en dehors de la boîte »

  • Cela revient à percevoir les choses, les concepts, les idées d’une manière plus originale et créative que ce qui est communément admis. C’est réfléchir autrement, avec imagination et ingéniosité, de façon à trouver des solutions créatives à des problèmes.

  • C’est penser hors des sentiers battus, se libérer tant que possible de ses pensées « formatées », faire preuve d’ouverture d’esprit et de liberté pour s’ouvrir grand la voie de l’innovation et de la créativité !

  • C’est être curieux, avoir l’esprit pétillant, oser changer le Monde. C’est être en capacité d’établir des relations inattendues, de créer des ponts entre les idées, de nous ouvrir l’esprit et de nous rendre plus cultivé.
  • C’est tout simplement garder son esprit d’Enfant créatif et critique. Si les enfants sont si créatifs et qu’ils raisonnent d’une manière différente des adultes, c’est aussi parce qu’ils ne se limitent pas dans leurs questionnements. On pourrait dire que leur boîte à eux n’est pas encore façonnée par les expériences de la vie, ce qui leur autorise beaucoup plus de liberté de penser.

  • Cependant, ce type de pensée ne se limite pas à la seule résolution de problèmes. C’est un art de vivre à part entière.

    C’est adopter la Poulpe attitude, la Positive attitude, l’Impulse attitude, la Running attitude.

    C’est avoir des opinions affirmées, refuser d’être un mouton de l’opinion bien-pensante.

    C’est être impertinent, avoir sans doute un peu l’esprit rebelle, la pensée vagabonde et qui ne se soucie pas du qu’en dira-t-on.



§ 6.3. Principes psychologiques de la pensée out of the box

J’ai érigé en principes psychologiques certains arguments de Jérémy Ouassana décryptant le concept de la pensée out of the box.

  • « Percevoir les choses, les concepts, les idées d’une manière plus originale et créative. »

  • « Réfléchir autrement, avec imagination et ingéniosité, de façon à trouver des solutions créatives à des problèmes. »

  • « Penser par soi-même, hors des sentiers battus, se libérer tant que possible de ses pensées "formatées", faire preuve d’ouverture d’esprit et de liberté pour s’ouvrir grand la voie de l’innovation et de la créativité ! »

  • « Être curieux, avoir l’esprit pétillant, oser changer le Monde. »

  • « Garder son esprit d’Enfant créatif et critique. »

  • « Avoir des opinions affirmées, refuser d’être un mouton de l’opinion bien-pensante. »

  • « Être impertinent, avoir sans doute un peu l’esprit rebelle, la pensée vagabonde et qui ne se soucie pas du qu’en dira-t-on. »

  • « Faire évoluer le Monde vers de nouvelles sphères. Entraîner du monde dans notre sillage, inspirer, faire croire en notre vision. »

  • « Donner à des personnes l’opportunité de faire partie de quelque chose de meilleur qu’elles-mêmes, que nous ou que l’argent. »



§ 6.4. Citations sur la pensée out of the box

  • « Je n’ai jamais fait l’une de mes découvertes par le processus de pensée rationnelle »
    Albert Einstein

  • « Tout le monde naît avec l’instinct de succès et la capacité d’y parvenir, mais seuls ceux qui pensent out of the box triomphent. »
    Unarine Ramaru

  • « Penser hors de la boite est un non-sens ridicule, puisque quoique vous fassiez dans une « boite » ou un environnement fermé n’est pas de la « pensée ». Si je « pense » à un problème en limitant mes réflexions à certaines dimensions, alors je ne pense pas du tout car penser implique qu’on essaye au moins de considérer tous les facteurs pertinents. Et comme il n’y a généralement pas moyen de dire quels éléments sont ou ne sont pas pertinents, les pensées restrictives ne sont pas de la « pensée » et donc « penser out of the box » est simplement un euphémisme pour « mettons nous à penser », mais la métaphore suggère un désir secret de retourner à la conformité immédiatement. »
    Martijn Benders

  • « La normalité est une route pavée : on y marche aisément mais les fleurs n’y poussent pas. »
    Vincent Van Gogh

  • « Les personnes qui se réfèrent à la pensée out of the box voient la boite… Celles qui ne savent même pas que la boîte existe sont les penseurs innovants. »
    Lisa Goldenberg

  • « Vous êtes seulement limité par les murs que vous construisez vous-même »
    Andrew Murphy

  • « Au lieu de penser en dehors de la boite, débarrassez-vous de la boîte. »
    Deepak Chopra

  • « Si vous ne sortez pas de la boîte dans laquelle vous avez été élevé, vous ne comprendrez pas à quel point le monde est grand. »
    Angelina Jolie

  • « Celui qui veut être un homme doit être un anticonformiste. »
    Ralph Waldo EMERSON

  • « Soyez audacieux, soyez brave, soyez fort, soyez heureux, soyez libre, soyez bête, soyez original, soyez vous. »
    Auteur inconnu

  • « La vie, ce n’est pas ce que l’on fait, mais avant tout pourquoi on le fait. »
    Jérémy Ouassana

  • « Les seules personnes qui laissent un héritage dans notre monde sont celles qui n’ont pas peur de penser différemment. »
    Jérémy Ouassana

  • « L’innovation est ce qui a conduit l’humanité à devenir l’une des espèces les plus intelligentes sur terre. »
    Jérémy Ouassana

  • « Penser en dehors de la boîte nous donne un avantage, celui d’être un solutionneur de problèmes. »
    Jérémy Ouassana

  • « Penser en dehors des sentiers battus commence avec nous et notre créativité. C’est ce qui nous sépare du reste de la foule. »
    Jérémy Ouassana

  • « Avoir la liberté de penser par nous-même, et l’exprimer au travers de ce que nous faisons, vaut plus que toute somme d’argent que nous pourrions espérer. »
    Jérémy Ouassana

  • « Si nous voulons briser les limitations que nous nous sommes auto-imposées (ou que l’on nous a imposées), cela ne peut partir que de notre esprit, nos idées, notre vision. »
    Jérémy Ouassana

  • « Il n’y a rien de plus amusant que de laisser notre créativité nous emmener vers de nouveaux sommets. »
    Jérémy Ouassana

  • « Ne nous laissons pas dire quoi penser, ne soyons pas un suiveur et ne soyons pas quelqu’un qui n’arrive pas à penser par lui-même. Nous avons la chance d’avoir un cerveau, faisons donc en sorte de l’utiliser. »
    Jérémy Ouassana

  • « Tous autant que nous sommes, nous pouvons apporter quelque chose d’unique dans ce monde si nous avons le courage de le concrétiser. »
    Jérémy Ouassana

  • « Dans le monde compétitif d’aujourd’hui, le fait de penser hors limites sépare le supérieur de l’inférieur. La question est : dans quel camp voulons-nous être ? »
    Jérémy Ouassana

  • « Le changement est bénéfique, ne le craignons-pas : adoptons-le ! »
    Jérémy Ouassana

  • « On ne peut prévoir l’incidence qu’auront certains événements dans le futur ; c’est après coup seulement qu’apparaissent les liens. Nous pouvons seulement espérer qu’ils joueront un rôle dans notre avenir. L’essentiel est de croire en quelque chose – notre destin, notre vie, notre karma, peu importe. »
    Steves JOBS

  • « Vous aurez toute une éternité pour penser à l’intérieur de la boîte. »
    Auteur inconnu



§ 6.5. Comment savoir si l’on pense out of the box ?

Mes commentaires à chaque étape de ma réflexion faisant écho à ces principes et/ou à ces citations, témoignent d’une inspiration out of the box.

Corréler réflexion et principes est intéressant en ce sens que ma réflexion n’a pas du tout été gouvernée par les principes puisque érigés à postériori.

Commentaires de chaque étape
Principes et/ou citations out of the box
06/01/2022, 16h28 #15
Citation Envoyé par APL-AML Voir le message
Pour mes concours administratifs, j'avais été confronté à ce genre de situation. Je devais affecter un N° de place à tous les candidats en tenant compte des lieux d'examens et de leurs lieux d'habitation. J'avais un candidat qui habitait en face de l'un des lieux d'examen. Un ordre alphabétique l'aurait convoqué loin de chez lui, dans un département différent du sien.

Ma démarche pour résoudre cette problématique m'a inspiré cette solution…
« … C’est être en capacité d’établir des relations inattendues, de créer des ponts entre les idées. »



« On ne peut prévoir l’incidence qu’auront certains événements dans le futur ; c’est après coup seulement qu’apparaissent les liens. Nous pouvons seulement espérer qu’ils joueront un rôle dans notre avenir. L’essentiel est de croire en quelque chose – notre destin, notre vie, notre karma, peu importe. » – Steves JOBS


07/01/2022, 01h00 #22
Citation Envoyé par APL-AML Voir le message
ATTENTION ! Mon jeu d’essai ne prévoit pas le cas d’un cavalier montant deux ou trois chevaux différents, eux-mêmes montés par un ou deux autres cavaliers. Cela dit, mon algorithme semble fonctionner dans ce contexte. Je sophistique mon jeu d'essai, je teste et je poste le résultat. À bientôt...
« Réfléchir autrement, avec imagination et ingéniosité, de façon à trouver des solutions créatives à des problèmes. »


08/012022, 20h00 #26
Citation Envoyé par APL-AML Voir le message
Je n’ai aucun argument mathématique, ni aucune explication rationnelle susceptibles de valider mon algorithme. Il ne repose que sur ma réflexion et mon intuition. Cela dit, ça semble bien fonctionner. Il faut tester avec des cas réels.
« … C’est penser hors des sentiers battus, se libérer tant que possible de ses pensées "formatées", faire preuve d’ouverture d’esprit et de liberté pour s’ouvrir grand la voie de l’innovation et de la créativité ! »



« … Cela revient à percevoir les choses, les concepts, les idées d’une manière plus originale et créative que ce qui est communément admis. »


09/01/2022, 20h00 #30
Citation Envoyé par APL-AML Voir le message
Ton jeu d’essai a fait évoluer ma réflexion. Après beaucoup de tâtonnement, je propose un autre algorithme qui semble résoudre le problème. Il faudra voir à l’usage. Peux-tu vérifier ce nouvel algorithme avec ton jeu d’essai, il semble que cela fonctionne.

J’ignore pourquoi l’idée de concaténer N_CAVALIER et N_CHEVAL m’est venue à l’esprit.
« … C’est réfléchir autrement, avec imagination et ingéniosité, de façon à trouver des solutions créatives à des problèmes. »



« Je n’ai jamais fait l’une de mes découvertes par le processus de pensée rationnelle » –
Albert Einstein


10/01/2022, 18h00 #34
Citation Envoyé par APL-AML Voir le message
J’ai repris le jeu d’essai de maxime_nrgt avec Excel et je l’ai torturé dans tous les sens pour trouver une solution, sans parvenir à éviter deux cavaliers ou deux chevaux successifs.

À un moment donné, je me suis dit que je n’y arriverai jamais de cette façon et que je devais être inventif pour trouver une autre façon de procéder. C’est à cet instant que j’ai réalisé que chaque couple NOM_CAVALIER/N_CAVALIER et
NOM_CHEVAL/N_CHEVAL était unique. J’ai alors immédiatement pensé à concaténer N_CAVALIER et N_CHEVAL.

Pourquoi ai-je ensuite trié sur N_ORDRE en majeur et sur NOM_CAVALIER en mineur ? Je n’en sais rien du tout, par instinct, sans doute parce que j’avais concaténé N_CAVALIER devant N_CHEVAL.
« … C’est réfléchir autrement, avec imagination et ingéniosité, de façon à trouver des solutions créatives à des problèmes. »



« Je n’ai jamais fait l’une de mes découvertes par le processus de pensée rationnelle » –
Albert Einstein


« La normalité est une route pavée : on y marche aisément mais les fleurs n’y poussent pas. » – Vincent Van Gogh


11/01/2022, 10h25 #36
Citation Envoyé par APL-AML Voir le message
Je n’interviens sur DVP qu’en sollicitant ma mémoire, mon expérience et ma logique, histoire de retarder mon Alzheimer.
« … C’est réfléchir autrement, avec imagination et ingéniosité, de façon à trouver des solutions créatives à des problèmes. »


11/01/2022, 14h30 #37
Citation Envoyé par APL-AML Voir le message
Je n’avais aucune idée au départ de cette discussion, de la façon dont j’allais m’y prendre pour trouver cet algorithme. Je l’ai découvert au fur et à mesure et je ne l’explique même pas, du moins à priori, peut-être à postériori… et encore. Si vous voulez en savoir davantage sur ma façon de développer, je vous suggère de lire mon blog, notamment mes billets qui résument certains livres en une dizaine de pages Word chacun (Voir ma bibliographie) ; ils sont faciles à lire. Ça vous changera de vos modèles conceptuels et de vos langages.

Mon blog : APL-AML
« … C’est un art de vivre à part entière. C’est avoir des opinions affirmées, refuser d’être un mouton de l’opinion bien-pensante. C’est être impertinent, avoir sans doute un peu l’esprit rebelle, la pensée vagabonde et qui ne se soucie pas du qu’en dira-t-on. »



« Faire évoluer le Monde vers de nouvelles sphères. Entraîner du monde dans notre sillage, inspirer, faire croire en notre vision. »



« Ne nous laissons pas dire quoi penser, ne soyons pas un suiveur et ne soyons pas quelqu’un qui n’arrive pas à penser par lui-même. Nous avons la chance d’avoir un cerveau, faisons donc en sorte de l’utiliser. » – Jérémy Ouassana


11/01/2022, 17h00 #39
Citation Envoyé par APL-AML Voir le message
Règles de déroulement d’une épreuve équestre
12/01/2022, 00h00 #40
Citation Envoyé par APL-AML Voir le message
Il faut comprendre quels critères de tri permettent de fiabiliser le résultat, et pourquoi.



Ajout d’une colonne NB_TOURS à trier en majeur du plus grand au plus petit.

Ce critère de priorité n’a pas été évoqué par maxime_nrgt dans ses règles de déroulement d’une épreuve mais me parait pertinent dans l’établissement de l’ordre de passage.

Un même "NOM_CAVALIER - N_ORDRE" ne peut appartenir qu'à un seul NB_TOURS.
« … C’est être curieux, avoir l’esprit pétillant, oser changer le Monde. »


18/01/2022, 20h50 #41
Citation Envoyé par APL-AML Voir le message
La logique séquentielle

Ce que j’appelle "Algorithmique ou logique séquentielle" correspond à la conception d’une succession d’étapes appelées "sous-états" dont chacun est en interaction avec les sous-états qui le précèdent. L’algorithmique séquentielle conçoit, construit cette interdépendance entre les sous-états.
« … Cela revient à percevoir les choses, les idées d’une manière plus originale et créative que ce qui est communément admis. »


05/04/2022, 21h09 #42
Citation Envoyé par APL-AML Voir le message
En considérant la problématique sans à priori, c’est la problématique qui guide la réflexion et suggère progressivement la solution. En pensant dans sa boîte, le développeur veut tout maitriser en cherchant à faire entrer la problématique dans son système de pensée.
« Percevoir les choses, les concepts, les idées d’une manière plus originale et créative. »



« Réfléchir autrement, avec imagination et ingéniosité, de façon à trouver des solutions créatives à des problèmes. »





§ 7. Relation développeur - utilisateur

§ 7.1. Un peu de provocation ?...

Les dogmes éducatifs, moraux et autres sont des boulets à traîner, des handicaps émotionnels et relationnels pour la vie entière. La provocation est une nécessité pour évoluer dans notre façon de réfléchir, pour atteindre davantage de liberté intérieure, mais elle doit être faite avec bienveillance et ne s’adresser qu’à ceux qui ont les capacités pour comprendre.

Visiblement je n’ai pas été suffisamment bienveillant et/ou je ne m’adresse pas à des personnes en capacité de comprendre le message que j’essaie de faire passer.

§ 7.2. Quelle réalité ?

Dans notre rapport à l’autre, nous devons abandonner l’idée d’une réalité unique et comprendre la communication comme un partage d’expérience et non comme un échange d’informations.

Chacun fabrique l’autre par projection. Il s’en suit un décalage qui peut devenir abyssal. Ce que nous croyons être un dialogue entre deux individus n’est en réalité que deux monologues. Le premier a lieu entre lui-même et son imaginaire et le second entre son interlocuteur et son propre imaginaire.

La projection peut être positive ou négative se faire par idéalisation ou par rejet. Dans les deux cas, ne pas en être conscient engendre une bonne partie de nos problèmes relationnels.

En réalité, il importe moins de savoir ce que pense, ce que dit quelqu’un que pourquoi il le pense, il le dit. Les désaccords peuvent faire peur et il est très confortable d’être d’accord, les similitudes rassurent mais ça ne sert à rien. Chacun a de bonnes raisons de dire ce qu’il dit en fonction de son vécu. On s’enrichit mutuellement au contact du vécu de l’autre. Rejeter les divergences, chacun prouvant qu’il a raison et l’autre tort, rend les relations difficiles, voire même inutiles. Il ne s’agit nullement de se renier soi-même pour subir l’influence de l’autre, mais bien d’ajouter, aux compétences que nous avons déjà, une nouvelle compétence ou une façon différente de percevoir un problème.

§ 7.3. Il y a trois règles pour construire une relation

  1. Parler de son ressenti… Lorsque l’on dialogue, nous n’avons pas à juger le comportement de l’autre, la règle d’or consiste à exprimer ce que l’autre provoque en nous, ce que nous ressentons vis-à-vis de son attitude.

  2. Partager des expériences… On communique véritablement quand on partage des expériences personnelles, pas quand on transmet des informations.

    Si nous n’apprenons rien de nouveau sur l’autre ou sur nous-même dans une discussion, ou que pire encore notre seul but est de persuader l’autre qu’il a tort, nous ne communiquons pas, nous transmettons des informations qui ne peuvent que susciter le rejet de quelqu’un de différend et l’approbation de quelqu’un de similaire.

    Une expérience est unique ; elle appartient à celui qui en fait part et à personne d’autre, jusqu’à ce que l’interlocuteur en saisisse le caractère spécifique. Il est donc important pour faire passer notre message d’expliquer simultanément d’où provient notre avis et sur quelle expérience nous nous fondons car soit notre discours devra être décodé puis interprété, soit il sera associé à des images, des émotions ou représentations personnelles qui peuvent se révéler différentes des nôtres.

    Les mots, les phrases sont certes perçus mais leur sens n’est pas identique pour l’émetteur et le récepteur. La transmission de notre pensée subit plusieurs déformations :

    • Une idée ou un ressenti qui passe dans notre conscience est d’abord traduit en mots,
    • Communiqués à notre interlocuteur, ce dernier comprend, filtre les mots comme il peut et les retraduit en idées ou ressentis,
    • Il s’en crée pour finir une représentation mentale qu’il intègre en fonction de son propre vécu.

    À défaut d’expériences communes, nous essayons de construire la situation dans notre imagination.

  3. Concéder qu’il y a autant de réalités différentes que d’individus… Cela signifie que la plupart des conflits sont aussi vains qu’inutiles. Comme nous négligeons de nous enquérir de ce que l’autre comprend, nous vivons régulièrement dans des mondes parallèles. Il nous appartient de choisir si nous préférons résister face à des manières différentes de fonctionner ou développer la liberté de découvrir d’autres façons de penser.

§ 7.4. Les outils qui nous aident à mieux communiquer

  • la métaphore… Au-delà des mots, l’usage de la métaphore, ou de la parabole, permet de s’adresser simultanément à différentes personnes aux vécus disparates. Elles n’en tireront pas une compréhension intellectuelle, rationnelle, mais plutôt la sensation que le sujet touche en elles quelque chose d’authentique.

  • le recadrage… Pour se faire comprendre sans être englobé dans la vision du monde de son interlocuteur, le recadrage modifie subtilement le contexte d’une situation pour lui permettre de prendre un sens différend. Dire par exemple que la mort est le contraire de la naissance plutôt que le contraire de la vie, offre un autre point de vue. Le recadrage amène celui qui est prisonnier de sa vision du monde à changer son angle de vue, sa façon de voir les choses, en découvrant qu’il existe d’autres vérités que la sienne, d’autres solutions.

  • la métacommunication… C’est comme un double recadrage qui permet d’expliciter ce que disent les interlocuteurs en resituant leur discours dans différents contextes. Face à un dilemme, une dispute insoluble, s’accorder sur le fait de ne pas parvenir à s’entendre est un premier pas que chacun fait l’un vers l’autre, à partir duquel il devient parfois possible de faire jaillir quelques concessions.

  • les perversions de langage… L’un des grands pièges de la communication est l’intrication de niveaux logiques différents. Dire par exemple à un enfant qu’il n’est pas gentil sous prétexte qu’il veut aller jouer dehors plutôt que de faire ses devoirs. Une question de discipline n’a rien à voir avec la gentillesse. Ce sont des perversions de langage manipulatrices qui prennent habituellement la forme de chantage affectif, de double bind, de « double lien ». On enferme l’autre dans un dilemme impossible à résoudre.

  • la recherche de situations gagnant-gagnant… Si l’on ressort gagnant sur notre interlocuteur, c’est qu’on l’a manipulé ou abaissé. À l’inverse, si c’est l’interlocuteur qui ressort gagnant, on en souffre d’en être la victime. Le but d’une relation devrait toujours être de construire une situation win-win (« gagnant-gagnant »).



Ce que vous venez de lire est extrait du livre :


Bertrand PICCARD, né le 1er mars 1958 à Lausanne, est psychiatre-explorateur. Il a fait deux fois le tour de la Terre, une fois à bord du ballon Breitling Orbiter 3 (1999) et une fois avec l’avion solaire Solar Impulse (2015-2016).

Il est le fils de l'océanographe Jacques Piccard et le petit-fils du physicien Auguste Piccard connu pour avoir inspiré à Hergé le personnage du professeur Tournesol dans Les Aventures de Tintin.

De ses ouvrages littéraires, j’ai rassemblé ses idées dans deux billets :





§ 7.5. Extraits de la discussion

L’utilisateur exprime son besoin avec son imaginaire impacté par son vécu, son vocabulaire, le milieu équestre particulier dans lequel se situe son besoin et s’interroge :

« Je ne comprends vraiment pas votre réponse. Je cherche tout simplement à vous répondre, en vous expliquant les "règles" d'un milieu bien particulier. Soyez donc plus clairs dans les informations que vous me demandez... ou plus précis peut-être. Il y'a peut être en effet des points qui vous paraissent flous, lesquels pour ma part me semblent très clairs...

Pour être honnête, je me sens "débile" à votre regard et je préférerais n’avoir aucune réponse plutôt que ce genre de messages. »

L’informaticien pour sa part, interprète le discours de l’utilisateur avec son propre imaginaire.

Pour l’un, l’énoncé est perçu comme une énigme avec des bribes d’informations mal organisées. Pour un autre, le concours équestre de l’utilisateur devient courses hippiques dans son imaginaire, ce qui éclaire ses interrogations ou suppositions et explique le cavalier devenu jockey :

« Je suppose que tu as plusieurs créneaux qui vont te permettre de faire des passages (=jockey+cheval). Il y aura des contraintes à respecter, des associations à gérer (qui choisit le cheval lors d'un passage ? le jockey ? quelqu'un d'autre ?) »



§ 7.6. Anecdotes

  • Développeur aux Études, je venais de demander à intégrer la Maintenance afin de concrétiser l’idée que je me faisais des relations Utilisateur – Informaticien. Concrètement, j’envisageais de revisiter, voire de redévelopper les applications qui me seraient confiées pour qu’elles répondent au besoin réel de leurs utilisateurs.

    Même pas installé, j’arrive dans le couloir, mon carton sous le bras avec mes petites affaires à l’instant où le responsable de la Maintenance sort de son bureau avec lui aussi son carton sous le bras avec ses petites affaires :

    « Tu cherches un bureau ? Tu n’as qu’à prendre le mien, je parts à Toulouse. »

    Et sur mon carton, il dessine une UT puis m’écrit les coordonnées d’un service administratif et le nom d’un utilisateur en me disant :

    « Si tu peux, fais quelque chose pour eux, ils valent le coup, moi, je n’ai pas eu le temps. »

    Deux mois plus tard, j’avais développé une application opérationnelle que j’allais sophistiquer pendant deux ans. Les utilisateurs avaient purement et simplement abandonné leur application initiale qui ne répondait pas à leur besoin. En fait, cette application était sensé être maintenue par… mon colocataire du bureau et l’application elle-même occupait tout un étage d’une armoire que je n’ai jamais ouverte. Bien qu’avec mon colocataire, nous fussions l’un en face de l’autre, j’ai ignoré pendant plus d’un an qu’il était en charge de cette application… jusqu’à ce que l’utilisateur de passage dans le coin en profite pour me rencontrer. Je m’aperçois alors que l’utilisateur connait très bien mon colocataire, lequel réalise que depuis plus d’un an, je redéveloppe l’application qu’il est sensé maintenir. L’utilisateur parti, mon colocataire pique une colère démesurée que je ne comprends pas tout de suite et l’affaire fait tellement de bruit qu’elle arrive aux oreilles des Études.

    « S’il fallait redévelopper cette application, c’était à nous de le faire ! »

    Bref, sans le vouloir, juste pour aider un utilisateur, j’avais créé un beau pataquès. La situation a fini par s’apaiser et j’ai pu poursuivre mon développement. C’est ainsi que j’ai réalisé que j’étais capable de développer seul une application Au Pied Levé, À Main Levée. Ça se passait en 1979 si vous voyez ce que cela sous-entend… un télétype par service et premier éditeur.

  • Deux ou trois mois après mon installation à la Maintenance, la division des Études propose à la Maintenance d’assumer le suivi d’une application de gestion comptable des forêts. Bien sûr, débarquant des Études, on me demande ce que j’en pense. Connaissant les difficultés relationnelles entre le chef de projet et l’utilisateur, je me suis méfié et j’ai proposé une rencontre Chef de projet – Équipe de Maintenance chez l’utilisateur. L’utilisateur a tout simplement refusé de nous rencontrer et nous a envoyé sa secrétaire pour nous dire que pour lui, l’application dont on parle n’existe pas et qu’il ne voit pas ce que l’on vient faire.

    Heureusement, dans notre équipe de Maintenance, nous avions un collègue IGREF. Entre IGREF, ils se comprennent. Finalement, nous avons été reçus, sans le chef de projet. Nous avons repris l’application et notre collègue IGREF l’a réécrite pratiquement en totalité.

§ 7.7. Conclusion

Ce sont deux exemples parmi d’autres illustrant le décalage entre le besoin réel de l’utilisateur et son interprétation par l’informaticien. Je ne jugeais pas vos compétences techniques. Si c’est ce que vous croyez, c’est que vous n’avez rien compris à ma démarche. Je constatais simplement l’incidence inappropriée de votre compétence technique incontestable dans la réflexion concernant cette problématique. Cette discussion est un révélateur de ce qui peut se passer lors de l’informatisation d’une problématique. J’ai vécu ces situations d’incompréhension entre le monde des utilisateurs et celui des informaticiens durant toute mon activité et c’est la raison pour laquelle j’en suis venu à développer en électron libre dans l’entité métier de l’utilisateur, pour disposer de l’information à la source, pour vivre la réalité de la problématique et non sa modélisation à travers le filtre de la technicité informaticienne.

Je regrette que nous ne soyons pas capables de communiquer positivement sur le sujet. Il eut été intéressant par exemple qu’anapurna développe son approche selon laquelle tout algorithme peut être validé et vérifié mathématiquement. Je regrette également de vous avoir éloigné de l’algorithmie, mais bon, la discussion semble intéresser beaucoup de monde, notamment les invités.

Je vous laisse faire le lien avec la pensée out of the box.

§ 7.8. Post-Scriptum

La solution que je proposais n’est pas idéale à 100%. Elle permet seulement de réaliser globalement un ordre de passage acceptable au lieu d’avoir à le réaliser manuellement inscription par inscription, sans vue d’ensemble.

Rien n’empêche d’affiner la solution résultante en déplaçant une inscription à l’intérieur d’un ensemble NB_TOURS – N_ORDRE pour augmenter ou diminuer l’espace temps entre deux passages d’un même cavalier ou d’un même cheval. Cela ne fait que perturber sans conséquence l’ordre alphabétique dans cet ensemble. Il reste juste à actualiser la chronologie des passages (N°_PASSAGE).

J’ai réfléchi à ajouter ce genre de traitement mais ça complique trop le processus. Le mieux, c’est d’affiner éventuellement à la main si c’est nécessaire.



§ 8. PHILOSOPHIE vs TECHNICITÉ

La dualité « Philosophie-Technicité » constitue avec le « développement Bottom-up » les deux sujets de ma réflexion de développeur depuis plus de 50 ans.

  1. Dualité « Philosophie-Technicité »

    Je traduis cette dualité par l’expression « L’Art et la Manière » que symbolise mon avatar avec le Yin (l’Art) et le Yang (la Manière).

  2. Développement Bottom-up

    Je traduis ma démarche de développement Bottom-up par les expressions « Au Pied Levé - À Main Levée ». C’est le titre de mon blog et son acronyme « APL-AML » a inspiré mon pseudo et le titre de mon premier blog logique : APL-AML.

    Cela répond à la discussion : [Forums] Vos pseudos : Ils viennent d'où ?


Citation Envoyé par Galet Voir le message
Et qu'en pense l'auteur de la discussion ?

Sa démarche est-elle "philosophique", ce qui donnerait raison aux interventions d'APL-AML, ou technique, ce qui honorerait l'intérêt de WhiteCrow, Mat.M et Anapurna ?

@maxime_nrgt, merci de "réconcilier" ceux qui se sont donné la peine de chercher une réponse...


§ 8.1. Ce que j’en pense…

Ma démarche n’était pas seulement philosophique puisqu’elle a permis d’apporter une réponse au problème posé par maxime_nrgt.

La philosophie n’est pas un savoir, ni un ensemble de connaissances, mais une démarche de réflexion sur les savoirs à disposition ; c'est une recherche de la sagesse, de la vérité. Philosopher, c’est apprendre à débattre de tout, à réfléchir au sens de ses actes, à penser par soi-même. La réflexion philosophique ne produit pas de code mais permet d’adopter une attitude qui elle va impacter la démarche de développement et in fine le code.

En évoquant la pensée out of the box et notre imaginaire mutuel lorsque l’on communique, mon intention était d’évoquer l’importance de notre attitude dans notre démarche de développement.

À ces deux considérations psychologiques peut s’en ajouter une troisième : L’empathie cognitive, qui consiste en la capacité à se représenter l’état mental de l’autre. C’est le fait de comprendre les raisons pour lesquelles l’autre ressent ce qu’il ressent. En langage courant, le phénomène d'empathie est souvent rendu par l'expression « se mettre à la place de l'autre ».

Selon les contextes, l'empathie désigne aujourd'hui à la fois une aptitude psychologique et les mécanismes qui permettent la compréhension des ressentis d'autrui.

Des neurones miroirs activés indistinctement lors d'une action observée et d'une action effectuée, envoient certains messages nerveux qui permettent en quelque sorte de vivre ce qui est observé de l'autre comme si c'était soi-même.

Se mettre à la place de l'autre, comprendre les ressentis d'autrui ne constitue pas seulement une aptitude psychologique. Pour ma part, j'ai poussé le curseur "empathie cognitive" jusqu'à développer mes applications dans l'entité métier des gestionnaires. Il ne suffit pas d'interviewer le responsable d'une entité puis de coller des post-it sur un tableau mural pour décoder la complexité d'une problématique et des rapports humains dans l'entité. Ainsi, un responsable connait certes les règles de gestion de son entité mais il ignore la plupart du temps comment ces règles sont mises en pratique par ses gestionnaires. Vivre la même aventure que les gestionnaires permet de voir l'invisible, ce que les gestionnaires eux-mêmes ne savent pas qu'ils savent.

« L'empathie est le talent le plus précieux de l'être humain. » - Meryl Streep
Empathie émotionnelle - Empathie cognitive



§ 8.2. Démarche Top-down vs Démarche Bottom-up

Adapter la problématique de l’utilisateur à sa technicité n’est pas la même chose qu’adapter sa technicité à la problématique de l’utilisateur.

  • Soit la technicité pilote une démarche de développement Top-down :

    Le développeur adapte la problématique de l’utilisateur à sa technicité (modélisation conceptuelle) et son système de pensée induit une logique combinatoire.

    La modélisation conceptuelle Top-down recense les entités et leurs attributs existants. Elle ne prévoit pas la création d’attributs et c’est bien la raison pour laquelle les trois tentatives de solutions classiques par une logique combinatoire n’ont pas abouti.

    « Un spécialiste sait construire ce qu’il a appris à construire, pas autre chose. » - Bertrand PICCARD

    Logique combinatoire : Un système logique est dit combinatoire si à tout instant, il est possible d’écrire l’équation logique de chaque sortie, en fonction seulement des entrées.

    Le résultat logique en sortie peut donc être représenté par une table de vérité ou un tableau de Karnaugh.

  • Soit la philosophie pilote une démarche de développement Bottom-up :

    Le développeur adapte sa technicité à la problématique de l’utilisateur et son système de pensée induit une logique séquentielle.

    Il utilise sa technicité (L’Art) et sa philosophie (La Manière) pour comprendre et traduire informatiquement la solution que lui suggère la problématique.

    Citation Envoyé par APL-AML Voir le message
    En considérant la problématique sans à priori, c’est la problématique qui guide la réflexion et suggère progressivement la solution.
    « On ne peut pas penser à une solution, on peut vivre et ressentir une solution. » - Bertrand PICCARD

    Logique séquentielle : Un système est dit séquentiel si à une même combinaison des variables d’entrée peut correspondre plusieurs combinaisons différentes des variables de sortie. La combinaison des variables de sortie dépend des entrées mais également de l’état antérieur des variables de sortie.

    La logique séquentielle fait intervenir le temps. Autrement dit dans un système séquentiel, La valeur d'une variable logique à l'instant donné T dépend de celles qu'avaient les variables logiques aux instants précédents (instant T-1). C’est ce que l’on appelle « l’effet MÉMOIRE ».

    On retrouvera les mêmes états des entrés à plusieurs étapes, alors que les sorties seront différentes. Il est donc impossible de les représenter par un tableau de Karnaugh.



§ 8.3. L’Art et la Manière (Extrait de mon blog logique APL-AML)

L’Art a ses règles, la Manière ses valeurs et ses principes.

Le développement n’est pas qu’une affaire exclusivement technique, c’est une alchimie mêlant savoir-faire (l’Art) et savoir-être (la Manière). L’Art se définit par des modalités pratiques d’exécution, des procédures opérationnelles, organisationnelles (règles métier) ; la Manière est gouvernée par une attitude, des obligations morales, (valeurs et principes). Règles et Principes modélisent l’Art et la Manière de développer.

  1. L’ART (L’art au sens des usages en vigueur dans un corps de métier)

    Les règles métier (ou règles de gestion, ou « business rules » en anglais) sont des prescriptions propres à une science, une technique, une activité déterminée, des spécifications, des déclarations structurées de haut niveau qui permettent de contraindre, contrôler et influencer un aspect du métier.

    Les règles métier, considérées comme seules exactes, autorisées, permettent de diminuer ou d’augmenter l'impact de risque et de prendre des décisions rationnelles. Il importe de les suivre dans leur étude, leur pratique.
    Travailler dans les règles de l’art, c’est observer de bonnes pratiques, exercer un savoir-faire, respecter les usages en vigueur. Pour un informaticien, c’est la maitrise des méthodes de conception et de réalisation.

    Lorsque ces méthodes défaillent, le réflexe est de surajouter de la maitrise, de la complexité au lieu d’envisager de transformer l’impossible en possible, de trouver des solutions, se remettre en question dans toutes nos stratégies en sortant des sentiers battus, des certitudes et des habitudes, en prenant tous les chemins de traverse, pour entrer dans les doutes et l’inconnu, en saisissant toutes les occasions de stimuler notre créativité, d’inventer de nouvelles solutions, de faire ce que les autres n’osent pas faire ou pensent être impossible.

    L’être humain a horreur du vide et veut à tout prix remplir tous ses doutes par des explications.

  2. LA MANIÈRE (Principes méthodologiques, psychologiques et philosophiques)

    La Manière, c’est l’état d'esprit adopté par le développeur lors de ses développements. Cette Manière est gouvernée par une attitude, des obligations morales, des valeurs, des principes méthodologiques, psychologiques et philosophiques.

    Valeurs

    Les valeurs sont subjectives et ne dépendent que de l’importance qu’on leur accorde, mais elles n’ont pas de prix car c’est en fonction d’elles, conscientes ou non, que chacun détermine ses choix d’action. Elles sont loin d’être un choix théorique car c’est notre « boussole interne » qui guide nos actions, permet de nous réaliser, nous fait avancer dans la vie en étant en accord avec nous-même.

    Les identifier revient à connaître ce qui sous-tend toutes nos pensées, tous nos projets, toutes nos actions. L'important est de trouver ses principales sources de motivation.

    Valeurs sociologiques : elles peuvent construire une éthique personnelle, orienter les actions des individus dans une société en fixant des buts et des idéaux.

    Valeurs humaines : ce sont des vertus qui nous guident pour prendre en compte l’humain lorsqu’on interagit avec un autre être humain.

    Valeurs du Manifeste : sociologiques et humaines, elles impactent l’équipe de développement et la collaboration utilisateur/développeur. Outre leurs vertus, leur respect par tous les acteurs joue un rôle de rassemblement.

    Principe

    C’est à la fois ce qui précède et ce qui régit les choses qu'on lui rapporte.

    C’est une source, un fondement, une vérité première d'idées, les premiers préceptes, les premières règles d’un art, quant au fonctionnement d’une chose. C’est une notion importante de laquelle dépend tout développement ultérieur en toute connaissance.

    C’est une maxime morale que l'on se donne, définissant une règle de conduite, une manière type d'agir sans préjuger des modalités pratiques d'exécution.

    C’est une norme constituant une référence fondée sur des considérations théoriques, des valeurs sur lesquelles il convient de régler une action ou sa conduite.

    C’est une cause active de quelque chose, un élément qui a la propriété de produire certains effets.

    C’est une loi de portée générale relative à une science, non démontrée mais vérifiée par ses conséquences que certaines observations ont d’abord rendue vraisemblable.

  • Principes méthodologiques

    Un principe « management » se distingue d’un principe « développement » en ce qu’il concerne des personnes et non une procédure. Manifeste Agile, RAD, APL-AML… chaque méthode prescrit ses propres principes liés au management et/ou au développement :

    • Principes du Manifeste Agile (Management)

      Des personnes motivées, compétentes, communicantes, autonomes.

      Le Manifeste concerne le management des équipes de développement et non le développement proprement dit. En distinguant Valeurs et Principes, il traduit bien la perception des 17 leaders-managers qui l’ont rédigé.

      Reproduire le texte original du Manifeste n’ayant aucun intérêt, ses valeurs et principes sont ici regroupés par niveaux conceptuels, tels qu’ils peuvent être perçus par des développeurs et non des managers.

    • Principes du RAD (Management/Développement)

      Un engagement constant pour la satisfaction des utilisateurs en termes de fonctionnalités, de délais et d’ergonomie.

      Le « RAD » de Jean-Pierre Vickoff évoque des principes sans en dresser une liste à l’instar du Manifeste. Il s’agit donc de déductions extraites de son ouvrage.

    • Principes de l’Adhocratie (Management)

      Concentrer tous ses efforts et toutes ses ressources dans la réalisation rapide d’un objectif.

      Aucune ambiguïté sur la typologie de ses principes puisque l’ouvrage dont ils sont extraits « La stratégie des équipes ad hoc » ne se réfère pas du tout à l’informatique.

      Schématiquement, l’adhocratie qualifie toute forme d’organisation qui va à l’encontre de la bureaucratie pour aborder le changement.

      Concrètement, ce sont des collaborateurs compétents de départements différents de l’entreprise qui entreprennent de solutionner des problèmes communs à l’ensemble de cette entreprise, en transgressant si nécessaire les règles bureaucratiques telles que les organigrammes, les départements, les fonctions, les profils de poste, la hiérarchie et la tradition.

    • Principes APL-AML (Management/Développement)

      Vivre en mode intuitif (écoute intérieure) et vivre en mode chance (écoute extérieure).

      Et si je relisais mon texte en sélectionnant les concepts les plus significatifs de ma démarche pour les ériger en principes…

      APL-AML est en accord avec la plupart des principes du Manifeste mais n’est pas pour autant une méthode agile dans la mesure où le Manifeste s’adresse à des équipes de développement « Top-down » en SSII alors qu’APL-AML est une démarche individuelle Bottom-up, personnelle, en intra-entreprise.

    • Principes communs Adhocratie/RAD/Agile

      Exprimés différemment, certains principes abordent les mêmes sujets. Il est intéressant de les corréler.

  • Principes psychologiques

    La Manière, c’est aussi l’attitude qu’enseigne la vie et qui a également ses principes. C’est l’engagement, c’est la liberté qui ne range pas tout dans des cases, une liberté qui s’alimente d’inhabituel, d’opportunisme, de coïncidences, d’intuitions, d’initiatives prémonitoires, d’irrationnel, d’irrespect des règles et du modèle pour devenir pleinement réactif.

    Lorsque le développement fait appel à plusieurs spécialistes installés confortablement dans leur bulle confort, aucune place n’est laissée à l’imprévu.

    L’exercice quotidien d’un métier génère des habitudes, des raccourcis qui font oublier le processus de certaines pratiques. C’est vrai pour les gestionnaires qui ne savent pas qu’ils savent mais également pour le développeur que je suis et qui doit s’observer lui-même avec suffisamment de recul pour décrypter son mode de fonctionnement. C’est en cherchant à comprendre et à expliquer le démarrage, l’évolution, la progression de mes informatisations, que j’ai mis en évidence l’influence d’événements imprévus, d’opportunités et de coïncidences. Cette irrationalité qui s’oppose au cartésianisme atavique de l’informaticien est néanmoins une constante d’APL-AML. Ce n’est pas une règle mais un simple constat. L’attitude vis-à-vis des personnes et des événements favorise sans doute le phénomène.

    Curieusement, certains événements ouvrent des perspectives, des opportunités débloquent une situation en impasse, des coïncidences simplifient une complexité…

    Cette Manière, APL-AML la nomme véloce attitude, un terme générique qui associe :



  • Principes philosophiques

    La philosophie comme mode de vie et non pas uniquement comme une réflexion théorique, c’est vivre et agir d’une certaine façon et non pas seulement se confronter à des questions abstraites.

    C’est mettre en application dans sa propre vie, des résultats de la réflexion philosophique.




§ 8.4. CONCLUSION

Ça va faire plus un demi-siècle que les informaticiens déshumanisent les problématiques en développant selon leurs méthodes cartésiennes, leurs modélisations conceptuelles idéalisées, codifiées, validées et vérifiées mathématiquement.

Cette discussion prend l’informaticien en flagrant délit d’égarements causés par des maladresses d’ordre philosophique et psychologique.

L’Art s’enseigne parce que la matière est concrète, on apprend à conceptualiser, à modéliser ce qui se voit, la partie émergée de l’iceberg, puis on développe cette jolie modélisation. Mais ce n’est pas la vraie vie ! Dans la vraie vie, il n’y a pas que ce qui se voit, il y a aussi ce qui ne se voit pas, le non-dit, la partie immergée de l’iceberg, toutes ces fonctionnalités auxquelles personne ne pense ou même n’ose imaginer et qui ne se révèlent qu’au fur et à mesure que progressent les développements.

La Manière ne s’enseigne pas, c’est une affaire personnelle que l’on ose explorer ou que l’on préfère ignorer pour ne pas avoir à se poser des questions qui dérangent. Il est plus confortable de rester dans sa bulle confort "Technique" en se satisfaisant des recettes apprises, que d’engager une réflexion susceptible de perturber notre vision du développement telle qu’elle nous a été transmise par nos formateurs et qui risquerait de fissurer notre formatage scolaire.

Il ne s’agit pas de renier ce que l’on a appris, l’Art avec sa technicité demeure. Dans une démarche de développement Bottom-up, le chemin se découvre en marchant. Le développeur fait sa pelote en gardant le cap, avec "engagement et pugnacité" comme l’a très bien décrit Galet, mais toujours sous contrôle d’une réflexion en arrière-plan qui veille à respecter l’état de l’art.

Ce qu’il faut retenir

  1. Le développement n’est pas qu’une affaire exclusivement technique, c’est une alchimie mêlant la technique (l’Art) et l’attitude (la Manière). L’Art se définit par des modalités pratiques d’exécution, des procédures opérationnelles, organisationnelles (règles métier) et la Manière par une attitude, des obligations morales, (valeurs et principes). Règles et Principes modélisent l’Art et la Manière de développer.

  2. Le système de pensée de la logique combinatoire est le même que celui du développement top-down.

  3. Le système de pensée de la logique séquentielle est le même que celui du développement bottom-up.



Deux petites citations de Bertrand PICCARD pour clore ce chapitre :

  • « Découvrir d’autres façons de penser, d’agir, d’autres influences, réponses et visions du monde, c’est apprendre à fonctionner autrement, à se libérer de nos automatismes et de ce que notre conditionnement nous a appris. »

  • « Il n’y a pas de performance, d’efficacité, de véritable capacité de décision et d’action sans la liberté d’abandonner ses convictions, de raisonner en dehors de tout ce que nous avons appris, de tout ce qui nous a conditionnés à être ce que nous sommes. »



Cette discussion fait l'objet d'un "tutoriel d'algorithmique" :



Envoyer le billet « [Discussion] Ordre de passage d'une épreuve de concours équestre » dans le blog Viadeo Envoyer le billet « [Discussion] Ordre de passage d'une épreuve de concours équestre » dans le blog Twitter Envoyer le billet « [Discussion] Ordre de passage d'une épreuve de concours équestre » dans le blog Google Envoyer le billet « [Discussion] Ordre de passage d'une épreuve de concours équestre » dans le blog Facebook Envoyer le billet « [Discussion] Ordre de passage d'une épreuve de concours équestre » dans le blog Digg Envoyer le billet « [Discussion] Ordre de passage d'une épreuve de concours équestre » dans le blog Delicious Envoyer le billet « [Discussion] Ordre de passage d'une épreuve de concours équestre » dans le blog MySpace Envoyer le billet « [Discussion] Ordre de passage d'une épreuve de concours équestre » dans le blog Yahoo

Mis à jour 24/02/2024 à 23h06 par APL-AML

Catégories
■ FORUMS , I-2. Synthèses de discussions