URL: https://linuxfr.org/users/mounes/journaux/la-linotte-et-le-python Title: La linotte et le python... Authors: cpc6128 Date: 2012年03月06日T11:22:33+01:00 Tags: python et linotte Score: 15 Bonjour, Je ne viens pas vous conter une [fable](http://fr.wikipedia.org/wiki/Fable) (quoique) mais vous annoncer l'information suivante : la prochaine version du langage de programmation [Linotte](http://langagelinotte.free.fr/wordpress/) 1.7 proposera la possibilité d'écrire des greffons en langage de programmation [Python](http://fr.wikipedia.org/wiki/Python_%28langage%29) ! Voici une première [démonstration](http://fr.wikipedia.org/wiki/J%C3%A9r%C3%B4me_Bonaldi) très simple. - La première étape est de créer ce petit fichier en langage Python _PyTest.py_ contenant le code suivant : ```python from org.linotte.greffons.externe import Greffon class PyTest(Greffon): def slot_message(self): return "Spam and eggs!" ``` Déposez ce petit fichier dans le répertoire "greffons" et vous pourrez l'utiliser ainsi depuis l'Atelier Linotte : Exemple Python : Principal : Rôles : messager :: pytest Actions : affiche "message : " + messager.message() - L'accès à l'API graphique est également disponible depuis les greffons en langage Python : ```python from org.linotte.greffons.externe import Graphique from java.awt import Color class PyDemo(Graphique): def projette(self, g): g.setColor(Color(125, 167, 116)) g.fillRect(10, 15, 90, 60) g.setColor(Color(42, 179, 231)) g.fillRect(130, 15, 90, 60) g.setColor(Color(70, 67, 123)) g.fillRect(250, 15, 90, 60) g.setColor(Color(130, 100, 84)) g.fillRect(10, 105, 90, 60) g.setColor(Color(252, 211, 61)) g.fillRect(130, 105, 90, 60) g.setColor(Color(241, 98, 69)) g.fillRect(250, 105, 90, 60) g.setColor(Color(217, 146, 54)) g.fillRect(10, 195, 90, 60) g.setColor(Color(63, 121, 186)) g.fillRect(130, 195, 90, 60) g.setColor(Color(31, 21, 1)) g.fillRect(250, 195, 90, 60) g.drawString(self.getAttributeAsString("texte"), 10, 300); def getShape(self): return None ``` L'utilisateur de langage Linotte pourra afficher cet objet en utilisant le _livre_ suivant : Démonstration graphique: Principal : Rôles : graphic :: pydemo, texte vaut "Vive Python et Linotte" Actions : projette graphic Et pour sa plus grande joie, il admirera la figure suivante sur la toile :  - Les greffons Python ne sont utilisables qu'avec la version 1.7 bêta 118 que vous pouvez récupérer à partir de ce lien : http://langagelinotte.free.fr/forum/showthread.php?tid=898&pid=5920#pid5920 - J'espère trouver, avec l'arrivée des greffons en langage Python, des contributeurs pour participer à l'enrichissement du langage et, notamment, pour contribuer à écrire le greffon Abaque (bibliothèque de fonctions mathématiques) en Python dont un première version en Java existe ici : http://code.google.com/p/abaque/source/browse/trunk/Abaque/org/linotte/abaque/Abaque.java Pour information, le code source du langage Linotte est disponible sous la licence GPL V3 ici : http://code.google.com/p/langagelinotte/ Merci d'avoir pris le temps de lire ce journal. Je vous souhaite une agréable journée.