Enseignement au Sénégal

Voici quelques photos prises lors de ma mission d'enseignement au Sénégal. J'ai enseigné la programmation Python (programmation orientée objet et développement web) aux étudiants de M1 Système et Réseaux à l'université Alioune Diop de Bambey, en pleine brousse sénégalaise.

Les étudiants étaient très sympathique mais aussi plus sages et plus motivés que leurs collègues français !

dans Boulot

Nouvel article "Formalisation de la sémantique des langages iconiques "

J'ai publié un nouvel article :

journal [j16] Lamy JB, Soualmia LF, Duclos C, Venot A. Formalisation de la sémantique des langages iconiques : méthode à base d'ontologie et applications. Revue d’intelligence artificielle (RIA) 2016;30(5):579-606

ORMithorynque 0.1.1 est disponible !

ORMithorynque est un module d'ORM pour Python (base de données objet).

ORMithorynque 0.1.1 est disponible et peut être télécharger sur PyPI (Python Package Index) : https://pypi.python.org/pypi/ORMithorynque

Utiliser Webex sous ArchLinux

Webex est un système de vidéoconférence de Cisco. Il fonctionne sous Linux mais n'est disponible qu'en version 32 bits... Ce tutoriel explique comment l'utiliser sous ArchLinux 64 bits.

1- Installer Firefox (32 bits), Java (32 bits) et les dépendances 32 bits de webex

Installer la version 32 bits de Firefox, de Java, et les librairies 32 bits dont dépend Webex. Pour ArchLinux, il s'agit des paquets AUR bin32-firefox, bin32-jre, webex-meta.

2- Tester Java dans Firefox

Lancer Firefox 32 bits et tester l'installation de Java à partir de cette page : https://java.com/fr/download/installed8.jsp

Si le plugin Java n'est pas trouvé par Firefox, vérifier la présence du plugin (fichier /usr/lib32/mozilla/plugins/libnpjp2-jre8.so) et démarer Firefox en spécifiant le répertoire des plugins de la manière suivante :

MOZ_PLUGIN_PATH=/usr/lib32/mozilla/plugins/ /usr/lib32/bin32-firefox/firefox32

3- Tester Webex

Tester Webex à partir de la page suivante : https://www.webex.fr/test-meeting.html

Attention, le lancement de l'interface ne suffit pas à "réussir" le test. Il faut attendre d'avoir l'écran suivant :

(Voir les commentaires...)

Premiers morceaux de harpe

Voici deux extraits de chansons médiévales enregistrés avec la harpe. Dans les deux, je joue l'accompagnement dans les aigues et la mélodie dans les graves, ce qui est inhabituel. Mais je trouve le résultat plus joli comme ça...

  • Ja nuns homs pris (la chanson de Richard Coeur de Lion, dans une interprétation personnelle) :

ja_nuns_homs_pris_harpe.ogg

ja_nuns_homs_pris_harpe.mp3

  • Pos que dos reis (Cantiga) :

pos_que_dos_reis.ogg

pos_que_dos_reis.mp3

dans Harpe

Fabrication d'une harpe médiévale

Voici quelques photos prises lors de la fabrication d'une harpe d'inspiration médiévale de type "Citera Anglica", au cours d'un stage au CPFI du Mans avec l'aide du luthier Sylvestre Charbin.

En cours de collage, la harpe ressemble à une galère dont les serre-joints sont les rames...

OwlReady à la conférence STC 2016

OwlReady et la programmation orientée ontologie ont fait l'objet d'une présentation à la conférence STC 2016 (Special Topic Conference). L'article est disponible en ligne et la présentation de même. Merci de citer ce papier si vous utilisez OwlReady !

Ontology-Oriented Programming for Biomedical Informatics.
JB Lamy.
Studies in Health Technology and Informatics 2016 ; 221:64-68

Owlready est un module Python pour la programmation orientée ontologie. Il permet de charger des ontologies OWL 2.0 et de les manipuler de manière transparente en Python.

Bonne année 2016 !

.

_images/voeux_2016.png

Owlready 0.2 est disponible !

Owlready est un module Python pour la programmation orientée ontologie. Il permet de charger des ontologies OWL 2.0 et de les manipuler de manière transparente en Python.

La version 0.2 d'Owlready corrige des problèmes sous Windows lors de l'exécution du raisonneur HermiT. Elle peut être télécharger sur PyPI (Python Package Index) : https://pypi.python.org/pypi/Owlready

Owlready 0.1.1 est disponible !

Owlready est un module Python pour la programmation orientée ontologie. Il permet de charger des ontologies OWL 2.0 et de les manipuler de manière transparente en Python.

La version 0.1.1 d'Owlready corrige des problèmes d'installation rencontrés sur certaines configurations, liés à l'installation des fichiers "hermit" et "locale". Elle peut être télécharger sur PyPI (Python Package Index) : https://pypi.python.org/pypi/Owlready

dans Lyre

Le bal du pont du nord

"Le pont du nord" est une comptine pour enfant. Mais je trouvais les paroles originelles trop tristes, et la mélodie jolie mais trop répétitive... J'en ai donc fait une "version longue" que vous pouvez écouter ici (ou jouer à l'aide de la partition ci-dessous !).

le_bal_du_pont_du_nord.ogg

le_bal_du_pont_du_nord.mp3

le_bal_du_pont_du_nord.pdf

Tales of the arabian nights (VF)

Un riche marchand ne parvient pas à marier sa fille. La belle serait-elle trop exigeante ? Alors ce marchand demande à Shéhérazade de se rendre au marché aux esclaves de Samarkand, et de lui acheter le mari parfait ! Après plusieurs aventures, Shéhérazade arrive à Samarkand et trouve la perle rare. Mais voilà qu'elle en tombe elle-même amoureuse ! Oubliant sa mission, elle cède à l'amour et l'épouse aussitôt.

Mais le marchand, mécontent, la poursuit ! Shéhérazade parvient à lui échapper une première fois, mais elle se fait coincer la seconde. Elle arrive heureusement à discuter avec lui et à le convaincre de la futilité de sa vengeance. En récompense, le marchand lui offre... une nuit de délices, qui fera progresser la compétence “ séduction ” de la belle Shéhérazade !

Pendant ce temps, les choses ne vont pas aussi bien pour Aladin. Il rencontre des pêcheurs de perles, mais manque de se faire trucider lorsqu'il essaie de les aider. Puis il échoue à combattre un géant. Il se retrouve ensuite lancé dans une quête des épices aux quatre coins du monde, mais se fait ensorcelé par une méchante sorcière en Asie, et erre désormais sans but précis. Il arrive dans une caverne où un khôl magique lui révèle des trésors invisibles, mais trop avide, il abuse de ce maquillage et finit par se brûler les yeux.

Shéhérazade est à présent établie à Tana en Inde avec son mari (l'esclave parfait), ce qui complique quelque peu ses aventures. Elle part néanmoins en Arabie, revient puis repart pour un plus long voyage en Afrique. Bientôt, elle a accumulé assez d'histoires et de destinée pour être victorieuse. Cependant pour gagner la partie elle doit encore se rendre à Bagdad, là où tout a commencé. Mais elle se perd dans le désert, et sa famille lui manque : elle doit d'abord repasser à Tana avant d'aller à Bagdad. Un long détour... Après plusieurs tours d'errance, un ermite la conduit à une maison hantée, où un djinn l'attendait pour la couvrir d'or. Shéhérazade reprend la route de Tana, puis se perd à nouveau en descendant le fleuve...

Aladin quand à lui s'est enfin débarrassé de son sortilège néfaste. Il sauve un riche marchand d'une attaque de brigand et, échaudé par les obligations familiales de Shéhérazade, choisit de recevoir en récompense une belle bourse d'or plutôt que la main de la fille du marchand. Il rencontre un premier djinn qui s'avère être si vieux et décrépi qu'il a perdu tout ses pouvoirs... un second djinn lui offrira un lit magique qui lui permettra d'ignorer ses blessures !

Aladin a lui aussi réuni les points nécessaires, et regagne Bagdad sans encombre pour obtenir la victoire. Au même moment, Shéhérazade parvient à retrouver sa famille à Tana, où elle est d'ailleurs nommée vizir(ette) pour ses bons et loyaux services. Mais il est trop tard pour qu'elle rejoigne Bagdad...

Voilà le genre d'histoire qui vous attendent dans Tales of the arabian nights (en français, les contes des milles et une nuits), un jeu (pour ne pas dire le jeu !) de “ storytelling ”. La première édition remonte aux années 80 et avait été à l'époque traduite par Gallimard (avec, paraît-il, quelques erreurs de traduction). La version anglaise a ensuite été réédité en 2009, avec un matériel bien amélioré et un contenu enrichi, mais n'avait pas été traduite en français jusqu'à aujourd'hui. C'est désormais chose faite, l'éditeur Filosofia proposant une nouvelle VF !

Le matériel

Le matériel de la nouvelle version française de Tales of the arabian nights est quasiment identique à celui de la dernière version anglaise, ce qui est une bonne chose car il n'y a quasiment rien à reprocher à ce matériel : carte toilée, plateau et jetons en carton épais, livre des contes à reliure spiralée... livre des contes ? oui car l'élément matériel principal du jeu n'est pas le plateau, pourtant grand et bien coloré. Il s'agit du livre des contes, une sorte de “ livre dont vous êtes le héros ” de 300 pages grand format. A tous seigneur tout honneur :

Le plateau présente une carte du monde, inspirée des cartes de l'époque. Plus on s'éloigne du moyen-orient, plus la géographie devient fantaisiste. On notera aussi, avec une certaine ironie, que Bagdad était nommée “ la cité de la paix ” en ce temps là...

La seule différence entre VO et VF (à part la langue) concerne la présence de jeton “ 1 tour / 1 utilisation ” (recto / verso) pour marquer les statuts temporaires. Ces jetons n'existaient pas dans la VO, mais ils sont bien pratiques.

Les conditions de victoire

Chaque joueur choisit secrètement au début de la partie un total de 20 points d'histoire et de destinée à atteindre (par exemple 12 points d'histoire et 8 de destinée). Ces points sont gagnés au fil des rencontres lors de la partie. La victoire sera acquise lorsque vous reviendrez avec ce nombre de points à Bagdad !

Mais Tales of the arabian nights est un jeu où la victoire importe peu. L'objectif numéro un n'est pas de gagner la partie mais de vivre une grande aventure, et de ce point de vue tous les joueurs sont souvent gagnants ! Il m'est déjà arrivé que, d'un commun accord, les joueurs décident de prolonger la partie alors même que l'un d'entre eux aurait pu remporter la victoire. Juste pour le plaisir de continuer l'histoire de nos personnages...

Le tirage de personnage

Comme dans tout bon jeu de rôles, la partie commence par le “ tirage ” de votre personnage. À vous de choisir si vous voulez jouer une courtisane savante, un marin corsaire, un magicien séducteur,... Cette opération est très simple puisqu'il suffit de choisir 3 jetons de compétence parmi les 18 possibles. Le jeu fait la part belle aux compétences sociales, telles que séduction, conteur, marchandage, charme, courtoisie, etc, tandis que le combat est limité à une ou deux compétences (usage d'arme, endurance).

Ce système permet un grand nombre de personnages différents (théoriquement 4 896), tout en permettant un tirage rapide des personnages. Et si vous manquez d'inspiration, vous pouvez toujours tirer trois jetons au hasard !

Enfin, chaque joueur pioche une carte de quête. Cette carte donne un objectif à atteindre, par exemple se rendre dans trois villes choisies par un autre joueur, pour obtenir une récompense (points de destinée ou d'histoire, compétences, statuts, trésor, etc).

Les déplacements

On commence son tour en se déplaçant sur la carte. Le nombre de déplacement autorisé dépend du mode de voyage (par terre, par mer ou un mélange des deux) et du niveau de richesse de son personnage, comme indiqué sur l'échelle de fortune en haut du plateau.

Les personnages les plus riches se déplaceront donc plus rapidement en mer, en revanche sur terre mieux vaut être aisé mais sans plus. Si votre niveau de richesse est trop élevée, vous devrez voyager avec une caravane et une escorte dignes de votre rang !

Enfin, la carte présente plusieurs lieux de pouvoir que l'on ne pourra atteindre en se déplaçant normalement. Il faudra effectuer une rencontre particulière ou trouver un trésor spécial qui vous y conduira.

Les rencontres

Après son déplacement, on effectue une rencontre dans le nouveau lieu où l'on vient d'arriver. Pour cela, on commence par tirer une carte rencontre. Il en existe de trois sortes :

  • Les cartes personnage : elles renvoient vers un paragraphe du livre des contes, en fonction du jeton Matin, Midi ou Nuit en cours. La partie commence avec le jeton Matin actif, puis l'on passe au jeton Midi lorsque les cartes rencontres sont épuisées et que l'on reforme un nouveau paquet. De même, on passera au jeton Nuit lors du second épuisement de la pioche.

  • Les cartes terrain : elles renvoient vers un paragraphe du livre des contes, en fonction du type de terrain visité : forêt, désert, montagne, mer, île ou ville. Sur chacune de ces cartes, l'un des 6 terrains renvoie directement à la matrice N pour une rencontre spéciale ; le titre et le dessin de la carte correspondent à cette rencontre spécifiquement (mais attention pas aux cinq autres !).

  • Les cartes cité : elles renvoient vers un paragraphe fixe du livre des contes. Le joueur peut ensuite garder la carte, et s'il se rend dans la ville indiquée sur la carte, il pourra lancer un dé et se référer à la table présente sur la carte pour obtenir une bonne (ou une mauvaise) surprise. La carte sera ensuite défaussée.

Le paragraphe du livre des contes contient en général une matrice à 12 entrées. On lance un dé (à six faces), on ajoute la dangerosité du lieu (de 0 à 6) et un bonus selon le nombre de points de destinée du personnage (de 0 à 2), et on obtient le résultat. Par exemple, Shéhérazade vient d'arriver dans une petite forêt près de la Mecque (pas de chiffre sur le lieu donc dangerosité 0). Elle tire la carte de rencontre du magicien et nous sommes encore au matin. On se réfère donc au paragraphe 84, qui est une table à 12 entrées. Le dé donne 6, la dangerosité est de 0 et elle n'a pas de bonus lié à ses points de destiné. La table indique donc “ piégé ”, c'est-à-dire qu'elle rencontre un magicien piégé, et cette rencontre utilise la matrice de réaction B.

Le joueur choisit alors sa réaction dans les choix possibles pour la matrice B, qui sont rappelés sur une aide de jeu à disposition de chaque joueur. Ici, Shéhérazade choisit de s'incliner devant ce magicien piégé, avec une pointe d'ironie peut-être ! La matrice se présente sous la forme d'un tableau avec en ligne les adjectifs des rencontres (ici, “ piégé ”) et en colonne les réactions possibles. À l'intersection des deux, la matrice donne le paragraphe à consulter dans le livre des contes (ici le 1 643).

Le dé du destin vient ensuite modifier ce numéro de +1, +0 ou -1. Ici, Shéhérazade obtient “ + ” sur le dé du destin, donc le numéro du paragraphe devient 1 644. Ce paragraphe comprend deux issues possibles, selon les compétences du personnage. Shéhérazade, comédienne experte, a la présence d'esprit d'échanger ses habits avec le magicien piégé, ce qui lui permet de tromper leur adversaire ! Chaque paragraphe se termine par des récompenses ou des pénalités, indiquées entre crochets. Vous pourrez ainsi gagner ou perdre des points d'histoire ou de destiné, des niveaux de fortune, des compétences, des statuts ou des trésors.

Enfin, les compétences offrent un second niveau (dit magistral), qui permet de passer outre le dé du destin pour choisir parmi les trois paragraphes possibles celui qui fait appel à cette compétence, le cas échéant.

Voilà pour la phase de rencontre. Les règles recommandent qu'un joueur autre que le joueur actif lise le livre des contes, afin de garder l'effet de surprise et d'éviter toute tentative de triche lorsqu'un choix est proposé (cas assez rare cependant). Mais avec un peu de discipline, il est tout à fait possible de choix en solitaire.

Et en pratique qu'est-ce que donne ce système de rencontre ? Alors que je croise une maison en flamme, je décide de pousser le système dans ses retranchements, et je choisis l'action la plus improbable : boire. En effet, les phénomènes naturels (tempête, feu, rivière,...) partagent tous la même matrice de réactions et donc les actions possibles sont les mêmes (avec bien entendu des résultats différents). Mais si “ boire ” a du sens face à une rivière, qu'en est-il face à un incendie ?

Pourtant le livre de conte ne se démonte pas. Au contraire il me raconte comment, passant devant une maison en flamme, je n'ai nul envie d'aider les habitants. Aussi continué-je ma route en direction de la taverne toute proche. Mais au moment d'entrer boire un verre, je renverse un client qui sortait ; dans sa chute celui-ci laisse tomber une torche usagée et une bouteille d'huile vide. C'est lui le coupable de cet incendie criminelle ! Et les gens du village me récompensent alors grandement pour cette ”enquête ” bien menée.

Les statuts

Les cartes de statuts viennent modifier votre personnage : est-il perdu ? amoureux ? marié ? en pèlerinage ? blessé ? transformé en animal ? nommé vizir ou réduit en esclavage ? Il existe en tout 28 statuts différents !

À noter que les esclaves sont présents dans le jeu. Vous pourrez tout aussi bien en acheter que devenir vous-même l'esclave d'un autre joueur. Curieusement, et bien que le jeu existe depuis longtemps aux états-unis, cela ne semble pas poser problème, contrairement à Five tribes. En même temps, difficile de retirer l'esclavage de l'univers des contes des mille et une nuits...

La durée de vie

Le livre des contes contient plus de 2000 paragraphes (numérotés jusqu'à 2600 mais il y a des trous dans la numérotation), et chaque paragraphe contient généralement 2 ou 3 dénouements possibles en fonction des compétences du personnage, de ses trésors ou de ses statuts. À raison de 20 tours de jeu en moyenne par partie, il vous faudra donc 200 parties pour tout voir... autant dire que la durée de vie du jeu est quasiment infinie !

La traduction

Pour avoir aussi joué avec la version anglaise, je sais que la traduction du jeu est un vrai “ plus ” pour les joueurs francophones. En effet, l'anglais utilisé dans le livre des contes est d'un niveau littéraire ; même si je lisais couramment des sites Internet en anglais, il me fallait souvent chercher des mots dans un dictionnaire. Ou essayer les réactions proposées au hasard pour essayer d'en deviner le sens à partir du résultat ! La traduction en français résout tous ces problèmes.

La traduction de cette nouvelle édition de Tales of the arabian nights n'a pas été réalisée par l'éditeur mais par des bénévoles. La traduction est néanmoins de qualité. Les règles sont parfaitement claires. Et je n'ai pour l'instant rencontré qu'un seul bogue de traduction : la carte de statut “ emprisonné ” utilise les adjectifs “ rusé ”, “ hideux ” et “ malfaisant ” alors qu'ils deviennent “ malin ”, “ laid ” et “ cruel ” sur la matrice de réaction K associée.

Bien sûr, on pourra regretter que l'importance de la francophonie ne permette pas de faire appel à (et de faire vivre) des traducteurs professionnels. On se consolera avec le prix du jeu, très correct à 45 € malgré la quantité de matériel, et qui n’aurait sans doute pas été le même s’il avait fallu ajouter les coûts de traduction.

Conclusion

Tales of the arabian nights n'est pas un jeu qui plaira à tout le monde. Les joueurs allergiques au hasard, ceux qui cherchent un défi stratégique ou intellectuel seront déçus. D'autres pourront regretter le peu d'interaction entre les joueurs, celle-ci étant souvent limitée à profiter des compétences d'un autre joueur pour soigner ses blessures. Les conditions de victoire sont peu satisfaisantes car les points d'histoire sont bien plus facile à obtenir que les points de destinée (personnellement je joue avec 10 /10 pour tout le monde). Mais tout cela importe peu, tant l'univers oriental des mille et une nuits est parfaitement rendu dans le jeu, que se soit dans les visuels ou dans les histoires et les rencontres !

En revanche les joueurs qui aiment l'immersion dans un thème seront comblés. De plus, Tales of the arabian nights pourra aussi séduire des personnes peu habituées aux (gros) jeux de société, par sa relative simplicité et son thème bien connu de tous. De plus, le combat est peu présent dans le jeu, contrairement à la majeure partie des jeux à thème fort dit américains. Enfin, Tales of the arabian nights peut être une bonne introduction aux jeux de rôles.

Ce jeu est unique en son genre. Jeu de l'oie géant pour les uns, générateur d'histoire infini pour les autres... on pourrait croire à une curiosité échappée de l'âge d'or SF des années 80, s'il n'était pas toujours aussi agréable à découvrir ou à redécouvrir. Alors que l'on commence à parler de jeux narratifs et de storytelling, ce monstre venu du passé parvient à être encore en avance sur son temps trente ans après sa sortie.

Points forts :

  • Les histoires, souvent drôles, originales, pertinentes (ou impertinentes !)

  • L'ambiance “ mille et une nuits ” incroyablement bien rendue

  • La durée de vie quasi-infinie

  • Jouable en solo

Point faible :

  • Peu d'interaction entre les joueurs

  • Grosse part de hasard

  • Conditions de victoire pas idéales

Charte Gus and co : le jeu a été acheté de ma poche. Il n'y a pas de publicité sur mon site. Cette article a été initialement publié sur LudoVox.

Owlready à la conférence d'ingéniérie des connaissances IC 2015

Owlready a fait l'objet d'un article et d'une présentation à la conférence d'ingéniérie des connaissances (IC 2015) lors de la plateforme PFIA. L'article est disponible sur HAL et la présentation ici même. N'hésitez pas à le citer si vous utilisez Owlready !

Ontopy : programmation orientée ontologie en Python
JB Lamy, H Berthelot
IC2015

Owlready est un module Python pour la programmation orientée ontologie. Il permet de charger des ontologies OWL 2.0 et de les manipuler de manière transparente en Python.

dans Voyages

Le Thabor en fleur !

Quelques photos du parc du Thabor à Rennes. Jamais vu autant de fleurs !