- Introduction
|
Le bridge est le jeu le plus pratiqué au monde : près de 100000 licenciés en France, avec 2 millions de joueurs occasionnels.
Des championnats sont organisés dans chaque pays; et aussi des championnats du monde ont lieu régulièrement : Bermuda Bowl les années impaires, différents championnats les années paires.
Ce jeu de cartes est dérivé du whist pratiqué dès le 16ème siècle. Après plusieurs évolutions au cours du 19ème siècle, ses règles dites du bridge-contrat sont écrites en 1925 par Stirling Vanderbilt, avec notamment la notion de vulnérabilité.
Puis, différentes modifications ont été apportées comme l'évaluation en points d'honneur par Milton Work et la marque à Sans-Atout par Ely Culbertson.
Avec le développement d'internet, des applications bridge se développent, dont la principale est Funbrige, où le joueur joue en face d'un partenaire robot, contre 2 adversaires robots.
L'application de bridge développée sur ce site www.bridgenew.fr a pour objectif de mettre en ligne des exemples de donnes de bridge présentées par des champions de bridge français, comme Shapour Mohtashami (décédé récemment), Philippe Soulet, Dominique Pilon, Nabil Nasr, etc...
Ces exemples comportent 3 parties : un diagramme des 4 mains des 4 joueurs, une liste des enchères et un commentaire expliquant la résolution des 2 parties du bridge (enchères et jeu de la carte).
L'utilisateur du site a la possibilité de rentrer des donnes personnelles.
Cette application est écrite avec les langages de base internet HTML, CSS et javascript, sans passer par des langages de plus haut niveau comme Wordpress ou Joomla. Elle bénéficie du soutien de millions de développeurs dans le monde dans ces langages.
Elle montre la voie pour des développements internet efficaces. Son code, en open source, est beaucoup plus flexible et concis.
L'objectif ultérieur sera d'entraîner par apprentissage un programme d'Intelligence Artificielle pour, à partir des exemples traités par ces champions de bridge, copier le mécanisme de raisonnement de ces champions, pour ensuite l'utiliser pour des donnes nouvelles.
Sachant qu'il n'y a pas de façon unique de traiter un problème de bridge. Mais, les indices étant les mêmes, les conclusions à en tirer devraient être similaires.
Ce n'est pas toujours le cas.
Il n'existe pas de système parfait pour répondre à un problème, quel qu'il soit. Car il existe des situations où un problème n'a pas de réponse appropriée.
Le mathématicien autrichien Kurt Gödel a démontré, en 1931, qu'il existera toujours des cas où il ne sera pas possible de démontrer la véracité d'une solution, ni qu'elle est vraie, ni qu'elle est fausse.
Cela s'appelle le théorème d'incomplétude ou d'indécidabilité.
En d'autres termes, la perfection n'est pas de ce monde. Seuls les religieux imaginent un monde parfait, avec un Dieu omniscient, n'ayant aucun rapport avec la nature réelle.
La vérité révélée d'un Dieu parfait est une ânerie scientifique, répondant au besoin d'absolu des êtres humains. Elle est dévoyée par les extrémistes religieux, quels qu'ils soient, pour en faire une exigence d'acceptation sans conditions, sous peine de représailles
En fait, Kurt Gödel répondait à la question du mathématicien allemand David Hilbert, reconnu comme le meilleur mathématicien du monde au début du XXème siècle. Celui-ci cherchait à inventer une mathématique universelle, capable de résoudre tous les problèmes mathématiques existants. Kurt Gödel a démontré que ce n'était pas possible.
Et ceux qui imaginent créer un système d'enchères de bridge complet, aussi développé soit-il, pour répondre à toutes les situations, se fourvoient
en application du principe d'incomplétude. Il existera toujours des cas où leur méthode est inefficace. Et si ces inventeurs cherchent une parade à cette inefficacité, ils introduisent un biais qui rendra caducs des exemples où leur méthode fonctionnait.
Une quête illusoire sans fin. Que certains champions ont continué à mener imperturbablement jusqu'au bout comme Shapour Mohtashami ou Pierre Ghestem.
|
- Règles du jeu de bridge
|
Le bridge est un jeu de cartes, se pratiquant à 4 joueurs autour d'une table, les joueurs se faisant face étant partenaires.
52 cartes sont distribuées aléatoirement aux joueurs, 13 cartes par joueur.
Les cartes consistent en 4 couleurs : ♠, ♥, ♦, ♣. Chaque couleur comporte les 13 cartes suivantes, dans l'ordre d'importance : ARDVX98765432.
Le jeu se déroule en 2 étapes successives :
- Une étape dite d'enchères, où, à partir d'un joueur appelé donneur, chaque joueur effectue une enchère, supérieure à la précédente, indiquant la force et la distribution de sa main. Si le joueur a une main faible, il passe. L'enchère la plus basse est 1♣, annonçant un contrat ultérieur, lors de la 2ème étape du jeu de la carte, où son camp s'engage à faire plus de la moitié des levées sur 13 possibles, soit 7 levées, à l'atout ♣.
En dehors des enchères de passe et d'un contrat à la couleur, un joueur dispose des enchères suivantes ; un contrat à Sans-Atout (pas d'atout), le contre du contrat adverse précédent, le surcontre sur le contre adverse.
Le contrat final est celui obtenu après 3 passe successifs, le dernier joueur ayant parlé autrement que passe indiquant le contrat final.
Le camp ayant indiqué ce contrat sera déclarant, le joueur de ce camp ayant le premier indiqué la couleur finale (couleur ou Sans-Atout) étant le déclarant, son partenaire devenant le mort.
Les 2 autres joueurs sont appelés le flanc. Le joueur devant le mort s'appellera l'entameur; lorsque la carte d'entame sera sur la table, le joueur dit mort étale son jeu, au vu de tous, et ne participe pas au jeu de la carte.
- Une étape dite du jeu de la carte, où, après l'entame et l'étalement du mort, chaque joueur joue successivement. Lorsque les joueurs ont fourni une carte, ce qui constitue une levée, celui qui a fourni la carte la plus importante, remporte la levée; à l'exception si un ou plusieurs joueurs ont coupé à l'atout, auquel cas c'est le joueur ayant fourni la plus haute carte à l'atout qui emporte la levée.
Le joueur ayant emporté une levée joue la carte suivante. Ce processus se continue jusqu'à la dernière levée, la 13ème. A l'issue de ce jeu, chaque camp compte ses levées, et le contrat du déclarant est réalisé lorsque le camp du déclarant a gagné suffisament de levées, sinon, il a chuté.
Un score concrétise le résultat de ce jeu.
|
- Objectif de cette application de bridge sur internet
|
Cette application de bridge sur internet comporte 3 parties :
- La consultation de donnes implantées dans le programme, au nombre actuellement de 136 réparties dans 3 archives dites de base. Ces donnes sont entièrement documentées : diagramme, enchères, commentaire des enchères et du jeu de la carte. Ces donnes ont été créées par un champion de bridge, récemment décédé, Shapour Mohtashami (2 archives de 50 donnes chacune), et par un autre champion de bridge Philippe Soulet (1 archive de 36 donnes).
- La possibilité de créer des donnes personnelles nouvelles, en documentant leurs diagrammes, leurs enchères et leurs commentaires.
- La possibilité de générer des donnes entièrement aléatoires, dont il faut ensuite documenter les enchères et les commentaires.
Cette application pourra ensuite être enrichie de nouvelles donnes commentées par d'autres experts du bridge.
L'ojectif ultérieur est d'entraîner le programme par apprentissage, sur la manière dont des champions ont résolu des nombreuses donnes, afin de s'inspirer de leur manière de raisonner. A terme, ce programme ainsi entraîné, pourra participer à des tournois de bridge, actuellement réservés aux humains et, pourquoi pas, arriver à bien se placer dans des compétitions de bridge.
Cela s'appelle de l'Intelligence Artificielle.
Chaque expert du bridge, fournissant une liste documentée de donnes, pourra ensuite imprimer sa patte dans le programme, qui servira de référence pour faire jouer ainsi l'application dans des compétitions de bridge.
|
- Description de l'interface d'accueil
|
Au chargement du programme, une donne aléatoire apparaît, parmi les donnes de base inclues dans des archives dites de base.
L'interface d'accueil comporte une zone de 11 icônes en haut de l'écran, suivie des noms de la donne sélectionnée et de l'archive où elle se trouve, puis le diagramme de la donne avec, à sa droite, la zone des enchères.

Cette partie haute de l'interface d'accueil est composée, dans l'ordre, des éléments suivants :
- La rangée de 11 icônes, dont la signification est décrite ci-dessous
- Le nom de l'archive dans laquelle se trouve la donne de bridge
- Le nom de la donne de bridge
Signification des 11 icônes dans l'écran d'accueil
Impression de la donne de bridge
Annulation dernière action manuelle, lors de la saisie des mains d'une donne de bridge ou de la saisie d'une enchère (donne personnelle nouvelle)
Enregistrement de la donne de bridge en cours personnelle dans le webstorage (zone de stockage dans l'ordinateur ayant remplacé les cookies) de l'utilisateur, avec enregistrement éventuel de sa nouvelle archive, celle dont le nom est affiché. Cela fait apparaître la donne de bridge en fin de la liste des donnes de bridge de l'archive en cours. Il n'est pas possible d'enregistrer dans les archives de base, une archive auxiliaire étant créée pour cela, appelée "Nouvelle archive". Il faut avoir renseigné les 52 cartes de la donne avant de sauvegarder cette donne de bridge nouvellement créée. Il faut renseigner au préalable les noms de l'archive et de la donne de bridge. Attention : 2 donnes de bridge différentes peuvent avoir le même nom; mais ce n'est pas recommandé.
Suppression d'une donne de bridge personnelle. Après suppression, c'est la dernière donne de bridge de la liste des donne de bridges enregistrées dans l'archive qui apparaît à l'écran. Si la donne de bridge supprimée est la dernière de l'archive, cette archive est supprimée. Il n'est pas possible de supprimer des donnes de bridge des archives de base.
Accès à la liste des archives, affichée sous le diagramme de la donne de bridge
Création d'une donne de bridge personnelle à l'utilisateur. Remplissage de son diagramme, remplissage de ses enchères, écriture de son commentaire (3 opérations).
Génération aléatoire d'une donne de bridge personnelle à l'utilisateur. Génération de donne de bridge, ex nihilo, de manière aléatoire, selon des caractéristiques particulières. Il faut ensuite remplir ses enchères et écrire son commentaire (2 opérations).
Saisie des enchères
Aide (cet écran)
Lien vers une application de sudoku performante écrite par l'auteur.
Lien vers le blog de Raoul SALZBERG, auteur de cette application de bridge.
Lorsque la souris survole l'une de ces icônes, un message en jaune apparaît en haut et à gauche de l'écran, indiquant la signification de cette icône; de plus, l'icône se dilate. L'utilisateur peut alors cliquer sur cette icône (ou appuyer dessus) pour l'exécuter.
La partie intermédiaire de l'interface d'accueil est composée, dans l'ordre, des éléments suivants :
- Le diagramme des mains de la donne. A sa droite est affichée la zone des enchères.
- Un menu déroulant, appelé Position, indiquant le joueur dont on saisie les cartes de la main
- Les 52 cartes réparties sur 4 lignes (♠, ♥, ♦, ♣) qui sont distribuées aux 4 joueurs. En cliquant (ou appuyant dessus pour un écran tactile) sur une carte de cette zone de saisie, la carte est allouée au joueur référencé dans le menu Position, dans le diagramme de la donne.
Sous le diagramme se trouve liste de saisie de cartes suivie du commentaire de la donne :
|
- La saisie d'un diagramme de donne pour une création de donne
|
Il est possible de créer entièrement une nouvelle donne, en cliquant sur l'icône .
Il faut alors renseigner les caractéristiques de cette nouvelle donne dans les zones appropriées :
- Le nom de l'archive où va se trouver cette donne personnelle, archive différente des archives de base. Si l'archive de base de la donne de départ n'a pas été modifiée, une archive nouvelle est automatiquement créée, appelée "Nouvelle archive".
- Le nom de la donne
- Le diagramme, initialement vierge, des 52 cartes de la donne, à renseigner, selon la procédure décrite ci-après
- Les enchères, à droite du diagramme, comportent 5 parties: vulnérabilité (menu déroulant à renseigner), donneur (menu déroulant à renseigner), la liste des enchères (initialement vierge), la zone de saisie des enchères (initialement complète), le contrat final et le déclarant (qui seront affichés à la fin de la saisie des enchères quand l'opérateur aura cliqué sur la zone intitulée "Fin").
- La Position, menu déroulant des 4 joueurs, pour la saisie successive des 13 cartes de chacun des 4 joueurs, lorsqu'ils sont choisis
- La zone des saisie des cartes allouées au joueur sélectionné, sur 4 lignes de couleur (♠, ♥, ♦, ♣), initialement 13 cartes par couleur : ARDVX98765432.
- Le commentaire, initialement vide.
Lorsque l'icône de création de donne est cliquée, et que les noms de l'archive et de la donne ont été renseignés, l'écran se présente comme suit :
La saisie d'une carte d'un joueur s'effectue, en sélectionnant d'abord ce joueur dans le menu déroulant de position, puis en cliquant, dans le tableau de saisie de carte, comportant 4 lignes (de haut en bas ♠, ♥, ♦, ♣), sur la carte de la couleur choisie, les lignes étant initialement ARDVX987652.
En cas d'erreur de manipulation, il est possible de revenir en arrière en cliquant sur l'icône d'annulation . Cette annulation ne peut se faire qu'une seule à la fois.
En cours de saisie de donne, le diagramme est le suivant :
Avec le tableau suivant de la saisie en cours :
Et en fin de saisie de donne, le diagramme se présente comme suit :
Il ne reste plus rien de la zone de saisie des cartes des joueurs.
|
- La saisie des enchères (après création ou génération de donne)
|
La zone des enchères est composée de 5 parties (de haut en bas) :
- Le menu déroulant de la vulnérabilité, comportant 4 possibilités : Personne, Nord-Sud, Est-Ouest, Tous.
- Le menu déroulant du donneur, comportant 4 possibilités : Sud, Ouest, Nord, Est.
- La zone des enchères, où s'affiche les enchères successives, à partir du donneur.
- La zone de saisie des enchères, comportant les 4 couleurs (♠, ♥, ♦, ♣) et SA (Sans Atout) suivies des chiffres 1 à 7, et les 4 autres enchères possibles : - (Passe), x (Contre), xx (Surcontre) et Fin (marquant la fin des enchères). Il n'est pas possible d'enchaîner 2 saisies successives d'enchères pour 2 donnes différentes : il faut redémarrer le programme pour réinitialiser la zone de saisie des enchères, avant d'effectuer la saisie des enchères de la 2ème donne.
- Le contrat final suivi du nom du déclarant, qui s'affiche lorsque l'enchère Fin a été sélectionnée.
Au début de la saisie des enchères, l'ensemble des enchères possibles à saisir est affichée. Au fur et à mesure de l'avancement des enchères, les zones de saisie inférieures des chiffres disparaissent. Il existe un ordre de priorité des 4 couleurs et de SA (dans l'ordre croissant) : ♣, ♦, ♥, ♠, SA.
En cours de saisie d'enchère, le fait de cliquer, sur une enchère dans la zone de saisie d'enchère, fait apparaître cette enchère pour le joueur dont c'est le tour de parole, les enchères démarrant à partir du donneur, et chaque joueur faisant une enchère (comme l'enchère - ou passe) quand c'est son tour de parole.
Pour commencer la saisie des enchères d'une donne affichée, il faut cliquer d'abord sur l'icône .
Voici une exemple de saisie d'enchère, en cours de séquence, puis en fin de saisie d'enchères :
Au fur et à mesure de l'avancement de la saisie d'enchères, le tableau de saisie change, pour ne laisser apparaître que les enchères disponibles. Car, toute enchère nouvelle doit être supérieure à l'enchère précédente (hors les enchères de -, x et xx).
Lorsque l'enchère "Fin" est choisie, les enchères sont terminées, et le contrat avec le déclarant s'affiche.
|
- Le commentaire de donne pour les enchères et le jeu de la carte
|
Sous la liste de saisie de cartes se trouve le commentaire de la donne :
Outre les saisies des mains (diagramme des 52 cartes, à raison de 13 cartes par joueur) et des enchères (avec l'affichage du contrat final et du déclarant), il est possible d'écrire le commentaire, à la fois des enchères et du jeu de la carte, dans la zone de texte de ce commentaire.
En bas et à droite de cette zone de texte existe une poignée que l'on peut étirer dans tous les sens en cliquant dessus pour allonger ou écarter cette zone, de manière à faire de la place au commentaire.
C'est là que l'utilisateur rédige un commentaire, expliquant l'ensemble des 2 phases de jeu d'une donne de bridge : enchères et jeu de la carte.
C'est là aussi où se trouvent tous les éléments pour résoudre correctement le problème de bridge, que ce soit dans la phase des enchères puis dans la phase du jeu de la carte.
Pour des donnes expliquées par des champions de bridge, c'est ce texte qui servira de base pour entraîner par apprentissage un programme d'intelligence artificielle chargé de reproduire le mécanisme de raisonnement de ces champions.
Remarque : il est possible, pour ce commentaire, de disposer des symboles de carte ♠, ♥, ♦, ♣, en cliquant sur ces symboles dans la zone des saisie des enchères.
Exemple de création de commentaire de la donne estocade ;
Une fois, le diagramme des mains, les enchères et le commentaire renseignés, il est alors possible de sauvegarder dans le webstorage la donne ainsi créée, en cliquant sur l'icône .
Puis, quand on sélectionne cette donne dans son archive, le commentaire de cette donne apparaît sous la forme suivante :
Remarque : l'ordre de saisie des informations à renseigner (diagramme, enchères, commentaire) n'est pas important.
Si l'archive est nouvelle, la liste des donnes de cette nouvelle archive ne comporte qu'une seule donne, sinon, elle est ajoutée à la liste des donnes de cette archive sous la forme suivante :
Lorsque l'on sélectionne une donne dans une archive, elle apparaît avec son diagrmme, ses enchères, et son commentaire remis en forme.
Voici le résultat d'un exemple de donne de bridge traité par Shapour Mohtashami, son diagramme, ses enchères et son commentaire :
|
- Les listes : liste des archives et liste des donnes
|
Derrière le diagramme de la donne de bridge et la zone de saisie d'une nouvelle donne de bridge, est située la zone des listes.
La liste des archives apparaît quand on clique (ou qu'on appuie dessus pour un écran tactile) sur l'icône d'Archives en haut de l'écran d'accueil.

Cette liste est surmontée de 4 icônes :
- Une flèche descendante, permettant de sélectionner l'archive suivante dans la liste
- Une flèche montante, permettant de sélectionner l'archive précédente dans la liste
- Une icône d'élimination générale des archives personnelles, pour revenir aux seules archives de base, implantées dans le programme. Une confirmation est demandée pour réaliser cette opération dangereuse. Il faut pour cela taper la lettre O dans la zone de confirmation.
- Une icône d'impression pour imprimer la liste des archives
Demande de confirmation d'élimination de toutes les archives personnelles, avec retour aux archives de base implantées dans le programme :
Pour valider cette suppression d'archives personnelles, il faut taper O avant de valider. Sinon, taper sur annuler.
Il est aussi possible de cliquer (ou appuyer dessus) sur une archive pour la sélectionner.
Et quand on clique (ou qu'on appuie dessus) sur une des archives de la liste, on fait apparaître la liste des donnes de bridge de cette archive :

Cette liste est surmontée de 3 icônes :
- Une flèche descendante, permettant de sélectionner la donne suivante dans la liste
- Une flèche montante, permettant de sélectionner la donne précédente dans la liste
- Une icône d'impression pour imprimer la liste des donnes
Il est aussi possible de cliquer (ou appuyer dessus) sur une donne de bridge pour la sélectionner.
Quand une donne de bridge est sélectionnée, son diagramme apparaît avec son commentaire (voir ci-dessus les explications du commentaire) :
|
- Les messages
|
La zone des messages est utilisée par le développeur de ce programme de bridge sur internet, pour y écrire des messages en différentes zones du programme,
lui permettant, en général, de documenter l'opération en cours, mais surtout, pour essayer d'identifier des causes de dysfonctionnements (ou bugs) apparus dans ce programme.
En voici un exemple :
|
- Les 3 types de donnes de bridge : donnes de base existantes dans le programme (dans des archives dites de base), donnes nouvelles saisies manuellement, donnes générées aléatoirement
|
Dans ce programme, il existe 3 types de donnes de bridge :
- Des donnes de base, implantées dans le programme, qui seront la base des futurs apprentissages par Intelligence Artificielle des traitements de ces donnes. Au chargement du programme, une donne de base choisie aléatoirement est chargée.
- Des donnes utilisateurs, que les utilisateurs peuvent saisir : diagrammes, enchères et commentaires. En appuyant sur l'icône de création de donnes en haut de l'écran d'accueil
, l'utilisateur peut saisir une donne qu'il crée : son diagramme, ses enchères et son commentaire.
- Des donnes générées par un générateur de donnes aléatoires existant dans ce programme. En appuyant sur l'icône de génération de donnes en haut de l'écran d'accueil
, l'utilisateur voit apparaître des donnes générées. Cette génération est très rapide. L'utilisateur peut choisir de conserver
une donne générée, ou de la supprimer. Environ une donne sur 4 est intéressante.
|
- Enregistrement-effacement des donnes personnelles
|
Les 2 icônes du haut de l'interface
Enregistrement de la donne de bridge en cours personnelle dans le webstorage (zone de stockage dans l'ordinateur ayant remplacé les cookies) de l'utilisateur, avec enregistrement éventuel de sa nouvelle archive, celle dont le nom est affiché. Cela fait apparaître la donne de bridge en fin de la liste des donnes de bridge de l'archive en cours. Il n'est pas possible d'enregistrer dans les archives de base, une archive auxiliaire étant créée pour cela, appelée "Nouvelle archive". Il faut avoir renseigné les 52 cartes de la donne avant de sauvegarder cette donne de bridge nouvellement créée. Il faut renseigner au préalable les noms de l'archive et de la donne de bridge. Attention : 2 donnes de bridge différentes peuvent avoir le même nom; mais ce n'est pas recommandé.
Suppression d'une donne de bridge personnelle. Après suppression, c'est la dernière donne de bridge de la liste des donne de bridges enregistrées dans l'archive qui apparaît à l'écran. Si la donne de bridge supprimée est la dernière de l'archive, cette archive est supprimée. Il n'est pas possible de supprimer des donnes de bridge des archives de base.
Cela permet de sauvegarder la donne en cours dans son archive. Si l'archive est une archive de base, la donne peut être enregistrée dans une archive appelée "Nouvelle archive", mais elle ne peut être effacée.
Le nombre d'archives personnelles n'est pas limité, de même que le nombre de donnes dans chaque archive personnelle.
Si la donne supprimée est la dernière de son archive, l'archive est effacée, et la dernière donne de la dernière archive existante sera chargée.
|
- Liens externes : Application de sudoku, blog de Raoul Salzberg
|
En cliquant (ou appuyant dessus) sur l'icône du haut de l'interface d'accueil,
on accéde au site www.sudokunew.com, une remarquable application de sudoku sur internet, certainement la meilleure du monde
classée en page 1 du moteur de recherche Google si on tape les mots-clé sudoku unicité le meilleur.
La page d'accueil de ce site de sudoku est la suivante :
En cliquant (ou appuyant dessus) sur l'icône du haut de l'interface ,
on accéde au blog de Raoul SALZBERG, auteur de cette application de bridge.
Vous y trouverez plus de 100 posts, dans des domaines très divers, sujets de prédilection de l'auteur : politique, philosophie, sciences, blagues, etc..
La page d'accueil de ce site www.raoulsalzberg.com est la suivante !
|
- Résolution des erreurs de programmation (bugs) ou de manipulations et palliatifs éventuels
|
Malgré les nombeuse aides en ligne, de nombreuses erreurs parsèment le chemin de la programmation. Et parfois, l'erreur est très bien cachée : faute de syntaxe (la plus courante),
faute de logique, lien inapproprié, fonction inexistante ou non encore créée, fichier inexistant ou non encore créé, etc..
La liste est longue.
Il faut aussi prévoir toutes les fautes de manipulation des utilisateurs, dont l'imagination débordante est difficile à prévoir.
L'exemple le plus cruel est celui du crash d'un avion de ligne russe, où le commandant de bord avait confié les manettes à son fils de 10 ans,
qui avait cru malin de multiplier les procédures, jusqu'à un crah que ce commandant de bord n'a pas su rattrapper.
Pour pallier les erreurs de manipulation, il faut les prévoir, et afficher un message d'erreur lorsque cette erreur survient.
Mais il existera toujours des bugs non prévus, qui plantent le programme ou fournissent des informations erronées, et aussi les erreurs de manipulation non prévues.
Dans ce cas, il faut sortir du programme et le relancer.
Mais il existe des malins qui arrivent à planter le système par une procédure imprévue, ou aussi des configurations imprévues.
Il faut alors revenir au code source, pour le réexécuter.
Un utilisateur averti évite de sortir des sentiers battus, adoptant un comportement simple et basique, sans finasseries.
Car les chausse-trappes sont vite arrivées. Ne pas prendre de risques inutiles comme le trader de la Société Générale Jérôme Kerviel en 2008, ayant causé un trou de 4,9 milliards d'€.
Ce trader avait déjoué les services de surveillance de la banque.
En fin de développement, il reste un gros travail : le nettoyage des lignes de code devenues superflues au fur et à mesure du développement de cette application de bridge.
|
- Méthodes utilisées pour réaliser cette application de bridge sur internet : principes généraux transposables pour tout développement d'application sur internet
|
La création d'un site internet, en utilisant les langages HTML, CSS et javascript, est une tâche difficile, pleine d'embûches.
Heureusemet, il existe sur internet de nombreux sites capables de vous assister pour résoudre une tâche particulière.
Il existe aussi de nombreux sites bavards et sans intérêt.
Les meilleurs sites sont ceux qui vous donnent des exemples d'application, comme W3School.
En fait, la meilleure méthode consiste à élaborer son cahier des charges en programmant.
Plutôt que de détailler à priori ce que le programme va devoir réaliser, comme le proposent les sociétés de conseil, il est plus judicieux de ne pas rentrer dans les détails, en restant dans une procédure générale .
Car les difficultés se situent lors de la réalisation et pas lors du conseil préalable, aussi judicieux soit-il.
Car il est impossible de prévoir toutes les aventures qui vont arriver au moment de la programmation.
Plutôt que de conseiller précisément et faire ensuite, il vaut mieux faire, à partir d'un canevas génaral, et expliquer ensuite comment on a fait.
C'est le vieux débat qui est de savoir si c'est l'action qui précède le verbe, ou l'inverse. Une discussion philosophique importante, soulevant des montagnes, et souvent stérile, comme le sexe des anges.
L'auteur de ce programme de bridge sur internet, consécutif à un programme de sudoku sur internet, a effectué plus d'élaboration pendant la programmation que préalable à la programmation.
Cette démarche est transposable dans de nombreux autres domaines. La théorie est toujours à la remorque de la pratique.
Et l'apprentissage est plus efficace que l'utilisation d'une théorie. L'ouvrier devant son outil acquiert un savoir faire supérieur à l'ingénieur qui a élaboré l'outil.
Et c'est transposable au bridge : la pratique de ce jeu est plus formatrice dans les enchères que les systèmes d'enchères sophistiqués et à rallonge, dans le jeu de la carte que dans ses leçons.
A condition de bien apprendre de ses erreurs, en commençant par les reconnaître. La modestie est une qualité essentielle pour bien jouer au bridge. Comme dans la vie.
Se proclamer le meilleur n'est pas la bonne méthode. Il faut le prouver !
Il faut refuser de nier ou minimiser ses erreurs. Car c'est la meilleure forme d'amélioration qui est ainsi niée : la compréhension de ses erreurs pour ne pas les refaire.
Il en est de même au bridge qui est une jeu éminemment social et intellectuel.
C'est l'activité la plus prisée dans les maisons de retraite (comme le prouve le succès de la société "Vitamine bridge", créée et animée par mon camarade de promotion de Supélec, Jean-Pierre Fargette).
Une preuve de la meilleure efficacité de la pratique sur la théorie est donnée par le concours ImageNet Large Scale Visual Recognition Challenge (ILSVRC) aux Etats-Unis :
Dans ce concours, il s'agit d'évaluer des algorithmes pour la détection d'objets dans des images, avec classification. Le principal objet de ce concours est de comparer les capacités de détection d'objets
dans de nombreuses situations, avec une labelisation intensive. Il s'agit aussi de mesurer les progrès en matière de vision à grande échelle
par indexation d'images pour l'identification et l'annotation.
Ce concours annuel est doté de prix importants, et ce ne sont pas les concepteurs de logiciels qui gagnent ce concours, mais bien des utilisateurs chevronnés.
|
- Conclusion
|
Le travail, la persévérance, le refus du découragement. le courage, voilà les ingrédients essentiels qui ont permis d'aboutir à ces résultats remarquables
que sont les sites www.sudokunew.com et www.bridgenew.fr.
De même que l'acceptation de reconnaître, en cas d'erreur, que la machine a toujours raison. Si cela fonctionne mal, c'est la faute du programmeur.
Une des leçons de ces sucès de programmation est qu'il faut, en tout, rester la tête froide, ne pas se laisser emballer par des passions égocentriques.
C'est une leçon de vie.
Outre les 136 donnes de base actuellement implantées dans ce programme, réparties dans des archives de base, il sera possible, dans l'avenir, d'implanter de nouvelles archives de base, contenant de nouvelles donnes de bridge.
L'objectif sera ensuite de s'inspirer des commentaires de ces donnes pour enseigner au programme la manière dont ces donnes de bridge ont été traitées par des champions de bridge.
|