staf 14 Retour à la page travaux





Rapport de l'exercice 6


Ce sixième exercice consistait à programmer un robot de conversation en javascript ou en langage MOO..






 

Pour cette exercice, nous avions le choix de programmer ce robot en javascript ou pour le MOO. J'ai opté pour le premier choix, car une interface en HTML avec du javascript me paraissait plus digeste que le langage MOO. Je pense néanmoins programmmer prochainement mon robot "vélociraptor" (qui existe déjà mais qui ne sait rien) sur le MOO, car c'est un travail que je trouve amusant.

En effet, la dimension ludique de ce sixième exercice m'a beaucoup plus. Pour être tout à fait honnête, je n'ai pas créé ce robot de A à Z — le but de l'exercice étant de se familiariser avec les expressions régulières (RegExp) — mais je me suis inspiré des robots fait l'année dernière, eux-mêmes inspirés de robots fait d'autres années auparavant et adaptés de celui de Daniel Schneider.

Mon robot s'appelle "Robodrive". Je l'ai fait dans l'intention de l'intégrer dans WebCT pour alimenter en système d'aide notre (Sylvain, Mudry et moi) projet "Easydrive" de staf 17. Mon robot est donc un robot de soutien qui guide l'élève dans sa navigation dans WebCT lorsqu'il est perdu.

Cet exercice m'a permi de comprendre ce que sont les RegExp, decomprendre leur significations et de savoir les utiliser, mais aussi de comprendre encore mieux comment fonctionne le langage JavaScript. J'ai, entre autres, découvert que le navigateur traite les commandes javascript dans l'ordre linéaire dans lequel elles sont écrites. Ainsi, en cas de conflit entre deux expressions, comme par exemple (.*)(je vais bien|bien|très bien|super|super bien|plutot bien|plutôt bien|pas trop mal|super|génial|genial|cool|ça peut aller|ca peut aller|ca va|ça va)(.*) et (.*)(alcool|vin|bière|alchol|alcohl)(.*), le système va afficher la première réponse qu'il trouve, c'est-à-dire que pour l'input "alcool", il n'affichera jamais la réponse de (.*)(alcool|vin|bière|alchol|alcohl)(.*), mais affichera la réponse de (.*)(je vais bien|bien|très bien|super|super bien|plutot bien|plutôt bien|pas trop mal|super|génial|genial|cool|ça peut aller|ca peut aller|ca va|ça va)(.*) car il y a "cool" dans les 2 expressions et que c'est celle qui lui apparaît en premier qu'il va traiter.

Quand à l'utilité des RegExp, je suis assez positif quoiqu'en disent certains. En effet je pense qu'un robot de conversation peut être un excellent système d'aide moyennant évidemment du temps et de l'argent, car il est vrai que, pour qu'un robot soit instruit et puisse instruire, il faut qu'il contienne dans son code un nombre important d'expressions et qu'elles soit bien agencées entre elles. Cela reste, selon moi, un travail intéressant.

 

 


 
 
 
 
 
 
staf 14 Retour à la page travaux