Nombre de messages : 20 Date d'inscription : 11/05/2010
Sujet: Aide pour la création d'un wrapper pour le langage Linotte. Lun 17 Aoû 2020 - 13:21
Bonjour,
Je souhaite trouver une personne qui pourra me créer un petit programme Windows Panoramic pour mon langage de programmation.
Pour présenter le décor : Je suis l'auteur d'un autre langage de programmation (Linotte) mais écrit en Java. Il y a quelque jours, une personne me contacte pour savoir s'il est possible de faire en sorte que le langage soit accessible pour des personnes mals voyantes ou aveugles.
J'ai commencé à regarder et ça me semble possible mais pas simple en Java.
J'ai pensé à une autre solution : faire un wrapper écrit en langage Panoramic qui va exécuter le langage depuis une ligne de commandes et récupérer la sortie pour l'afficher dans une IHM Panoramic.
Je pense qu'un programme Panoramic, utilisant les API Windows, fonctionnera mieux pour les mals voyants que directement en Java.
Comment faire fonctionne un programme Linotte en mode console :
On l'appelle ainsi en ligne de commandes : java -jar Atelier.jar exemples/03_demander.liv
Ce que je souhaite : 1 c'est un exécutable Windows que l'on dépose dans le répertoire du langage Linotte. 2 On le lance, une ihm s'ouvre, il demande un fichier en entrée (un programme linotte donc, par exemple exemples/03_demander.liv) 3 on clique sur un bouton exécuter. 4 Ce programme en Panoramic appelle la commande "java -jar Atelier.jar exemples/03_demander.liv et ça gère les inputs et output depuis l'IHM. 5 plus :on sauvegarde dans un fichier le dernier fichier exécuté
Faut que ça soit simple.... et sous licence libre (GPL v3) comme le langage Linotte.
Pensez-vous que ça soit possible ? Si ça marche, cet exécutable sera disponible directement avec les nouvelles versions du langage.
PS : Oui, je pourrai faire ce programme mais mon projet me demande bcp de temps et c'est pour cela que je viens demander de l'aide à la communauté Panoramic.
Merci....
Ronan
Jack Admin
Nombre de messages : 2394 Date d'inscription : 28/05/2007
Sujet: Re: Aide pour la création d'un wrapper pour le langage Linotte. Lun 17 Aoû 2020 - 14:02
Je constate qu'il n'en est rien et que tu continues.
Je serais heureux de t'aider en développant un wrapper qui lance ton langage en ligne de commande. Je regarde ça dès ce soir.
Je crois comprendre qu'il ne s'agit pas d'un IDE (on ne visualise pas le source Linotte et on ne le modifie pas), on donne seulement le choix d'un source parmi d'autres, on l’exécute en cliquant sur un bouton et on mémorise dans un fichier le nom du source exécuté en écrasant le nom du source qui existait dans ce fichier. C'est très simple à faire. Comme il s'adresse à des mal-voyants, je vais afficher des gros caractères et mettre une IHM minimaliste. Rendez vous bientôt.
Nombre de messages : 20 Date d'inscription : 11/05/2010
Sujet: Re: Aide pour la création d'un wrapper pour le langage Linotte. Lun 17 Aoû 2020 - 15:53
Jack a écrit:
Je suis content de te revoir ici. Il y a plus d'un an, j'avais lu que tu arrêtais le développement de ton langage Je vois qu'il n'en est rien. Jack
En effet, maintenir et faire évoluer un projet est lourd... et la fermeture du site par Free était une bonne excuse pour arrêter le projet...
Mais entre temps, j'ai reçu un mail m'indiquant que le langage était utilisé dans une école à Taïwan et j'ai réussi à réactiver le site... Du coup, je me suis relancé et je me concentre aujourd'hui sur la simplification du code et enlever les concepts non/peu utilisés.
Jack a écrit:
Je crois comprendre qu'il ne s'agit pas d'un IDE (on ne visualise pas le source Linotte et on ne le modifie pas), on donne à choisir un source parmi d'autres, on l’exécute en cliquant sur un bouton et on mémorise le nom du source exécuté en écrasant le nom du source qui existait dans ce fichier. c'est très simple à faire. Comme il s'adresse à des mal-voyants, je vais afficher des gros caractères et mettre une IHM minimaliste.
Merci de prendre de ton temps. En effet, ce n'est pas un IDE, il faut que le wrapper puisse afficher le résultat dans son IHM et même interagir avec l'utilisateur quand une valeur est demandée (une popup ?).
Bonne idée pour les gros caractères !
Je ferai tester le wrapper par la personne qui m'a contactée pour validation
Elle utilisera Notepad pour modifier le programme Linotte qu'elle souhaitera exécuter.
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
Sujet: Re: Aide pour la création d'un wrapper pour le langage Linotte. Lun 17 Aoû 2020 - 19:24
Salut Cpc
Bah du coup ça m'a donné envie de retrouver ce langage que j'avais testé il y a bien longtemps... J'aime bien la présentation visuel avec les blocs. C'est un plus pour ce langage d'une grande simplicité !
Un petit retour dans la passé quoi ! Un peu de nostalgie dans ce monde de brutes...
cpc aime ce message
Jack Admin
Nombre de messages : 2394 Date d'inscription : 28/05/2007
Sujet: Re: Aide pour la création d'un wrapper pour le langage Linotte. Mar 18 Aoû 2020 - 16:18
J'ai téléchargé Linotte 3 et je l'ai mis dans le répertoire c:/linotte3, qui contient: le répertoire exemples les 2 fichiers Atelier.exe et Atelier.jar
J'ai développé une petite application qui demande un fichier source dès qu'elle se lance. Si l'opérateur clique sur "annuler" ou s'il choisit un fichier qui ne se termine pas par ".liv", il y a une nouvelle demande. Quand le fichier source est choisi, son nom s'affiche et un bouton proposant de l'exécuter apparait. Quand on clique sur ce bouton, Linotte exécute ce fichier source. Le nom du dernier fichier source est enregistré dans le fichier "Source_Choisi.txt" qui est enregistré dans le même répertoire que l'application.
Voici le source de cette application:
Code:
dim Fichier_Choisi$ label Reboucle,Button_Click ' création de l'IHM ' =================================== alpha 1 ' positionnement de l'ALPHA top 1,50:left 1,110 caption 1, "CHOISISSEZ UN SOURCE" font_bold 1:FONT_SIZE 1,22 ' =================================== open_dialog 2 Reboucle: Fichier_Choisi$=file_name$(2) if (Fichier_Choisi$ <> "_") and (file_extract_extension$(Fichier_Choisi$) = ".liv") Fichier_Choisi$=file_extract_name$(Fichier_Choisi$) caption 1, "Source Choisi:"+chr$(13)+chr$(10)+Fichier_Choisi$ else goto Reboucle end_if ' =================================== button 3 ' positionnement du bouton top 3,150:left 3,80 ' dimensions du bouton width 3,400:height 3,120 caption 3,"EXECUTER LE SOURCE" font_bold 3:FONT_SIZE 3,22 on_click 3, Button_Click end ' =================================== Button_Click: ' mémorisation du nom de fichier if file_exists("Source_Choisi.txt") = 1 then file_delete "Source_Choisi.txt" file_open_write 1, "Source_Choisi.txt" file_write 1, Fichier_Choisi$ file_close 1 ' lancement de Linotte execute "java|-jar c:\linotte3\Atelier.jar c:\linotte3\exemples"+Fichier_Choisi$ return
J'ai créé un exécutable téléchargeable ici: *** Une nouvelle version est disponible. Voir plus bas ***
Le source de cette petite application peut être téléchargé ici: *** Une nouvelle version est disponible. Voir plus bas ***
Il s'agit d'une application minimaliste qui bien sûr peut être améliorée.
Dernière édition par Jack le Mer 19 Aoû 2020 - 18:10, édité 1 fois
cpc aime ce message
cpc
Nombre de messages : 20 Date d'inscription : 11/05/2010
Sujet: Re: Aide pour la création d'un wrapper pour le langage Linotte. Mer 19 Aoû 2020 - 9:20
Merci Jack, je vais regarder ça. Est-il possible de ne pas avoir la contrainte de devoir déposer Linotte dans le répertoire c:linotte3, de travailler dans le répertoire courant ?
cpc
Nombre de messages : 20 Date d'inscription : 11/05/2010
Sujet: Re: Aide pour la création d'un wrapper pour le langage Linotte. Mer 19 Aoû 2020 - 9:24
Minibug a écrit:
Salut Cpc
Bah du coup ça m'a donné envie de retrouver ce langage que j'avais testé il y a bien longtemps... J'aime bien la présentation visuel avec les blocs. C'est un plus pour ce langage d'une grande simplicité !
Un petit retour dans la passé quoi ! Un peu de nostalgie dans ce monde de brutes...
Merci Minibug pour ce retour ! En espérant que tu as eu de bonnes bases de programmation avec Linotte pour passer sur Panoramic !
Jack Admin
Nombre de messages : 2394 Date d'inscription : 28/05/2007
Sujet: Re: Aide pour la création d'un wrapper pour le langage Linotte. Mer 19 Aoû 2020 - 18:07
cpc a écrit:
Est-il possible de ne pas avoir la contrainte de devoir déposer Linotte dans le répertoire c:linotte3, de travailler dans le répertoire courant ?
Nombre de messages : 20 Date d'inscription : 11/05/2010
Sujet: Re: Aide pour la création d'un wrapper pour le langage Linotte. Mer 19 Aoû 2020 - 20:57
Merci ! J'avais besoin de modifier une option, du coup, j'ai téléchargé PANORAMIC_COMPILER_EDITOR.exe et fait ma modification.
Je dépose le programme compilé dans le répertoire de Linotte mais après avoir sélectionné mon programme et cliqué sur EXECUTER LE SOURCE, il ne se passe rien....
Code:
dim Fichier_Choisi$ label Reboucle,Button_Click ' création de l'IHM ' =================================== alpha 1 ' positionnement de l'ALPHA top 1,50:left 1,110 caption 1, "CHOISISSEZ UN SOURCE" font_bold 1:FONT_SIZE 1,22 ' =================================== open_dialog 2 Reboucle: Fichier_Choisi$=file_name$(2) if (Fichier_Choisi$ <> "_") and (file_extract_extension$(Fichier_Choisi$) = ".liv") Fichier_Choisi$=file_extract_name$(Fichier_Choisi$) caption 1, "Source Choisi:"+chr$(13)+chr$(10)+Fichier_Choisi$ else goto Reboucle end_if ' =================================== button 3 ' positionnement du bouton top 3,150:left 3,80 ' dimensions du bouton width 3,400:height 3,120 caption 3,"EXECUTER LE SOURCE" font_bold 3:FONT_SIZE 3,22 on_click 3, Button_Click end ' =================================== Button_Click: ' mémorisation du nom de fichier if file_exists("Source_Choisi.txt") = 1 then file_delete "Source_Choisi.txt" file_open_write 1, "Source_Choisi.txt" file_write 1, Fichier_Choisi$ file_close 1 ' lancement de Linotte execute "java|-jar Atelier.jar -x exemples"+Fichier_Choisi$ return
Jack Admin
Nombre de messages : 2394 Date d'inscription : 28/05/2007
Sujet: Re: Aide pour la création d'un wrapper pour le langage Linotte. Jeu 20 Aoû 2020 - 10:38
cpc a écrit:
Je dépose le programme compilé dans le répertoire de Linotte mais après avoir sélectionné mon programme et cliqué sur EXECUTER LE SOURCE, il ne se passe rien....
Rien de grave. tu as juste oublié le backslash de séparation entre le nom du répertoire et le nom du fichier:
Par contre, je te déconseille d'utiliser le compilateur pour cette petite application, car elle n'a pas besoin de vitesse, et le compilateur est en retard sur l'interpréteur pour certaines commandes, en particulier sur EXECUTE. Il vaut mieux utiliser PANORAMIC_EDITOR téléchargeable ici: http://panoramic-language.pagesperso-orange.fr/EXE/PANORAMIC_EDITOR.exe
Pour créer un exécutable, tu fais Fichier / Exécutable
Nombre de messages : 20 Date d'inscription : 11/05/2010
Sujet: Re: Aide pour la création d'un wrapper pour le langage Linotte. Jeu 20 Aoû 2020 - 19:19
Merci Jack, J'ai envoyé à la personne pour test. Je tiens au courant sur le forum si ça peut venir !
cpc
Nombre de messages : 20 Date d'inscription : 11/05/2010
Sujet: Re: Aide pour la création d'un wrapper pour le langage Linotte. Mar 25 Aoû 2020 - 10:37
Bonne nouvelle ! J'ai eu des retours positifs du wrapper en Panoramic ! Pour être parfait, il reste des choses à modifier, je vais essayer de les ajouter et si je n'y arrive pas, je reviendrai sur le forum !
Remarques reçues a écrit:
Est-il possible de faire un installateur qui permettrait de créer un dossier linotte dans le disque et de placer les codes sources dans le dossier Espace de travail placé dans Mes documents ? En effet, il y a un dossier nommé Espace de travail qui se crée quand je lance l'exécutable nommé Lance_Linotte.exe mais il n'y a rien dedans ou alors c'est pour mettre ses propres codes sources ? Je suis obligée d'aller à l'endroit où sont placés les exemples de linotte pour les lancer. Est-il possible également d'ajouter un bouton nommé Lire le code source en plus du bouton Exécuter le code source et d'ouvrir ce code avec le bloc-notes de windows car ce dernier est utilisable par une synthèse vocale. Enfin, est-il possible d'ajouter la lettre Q au bouton quitter car je n'arrive pas à sortir du programme.
Jack Admin
Nombre de messages : 2394 Date d'inscription : 28/05/2007
Sujet: Re: Aide pour la création d'un wrapper pour le langage Linotte. Mar 25 Aoû 2020 - 15:42
Tout ce qui est demandé est facilement réalisable en Panoramic. Bon courage et n'hésite pas à appeler à l'aide.
C'est vrai que l'éditeur Panoramic est sympa. En quelques lignes, on génère un exécutable ! Bravo Jack !
cpc
Nombre de messages : 20 Date d'inscription : 11/05/2010
Sujet: open_dialog Ven 4 Sep 2020 - 15:50
Bonjour !
Est-il possible que le objet 'open_dialog' puisse s'ouvrir dans le répertoire courant (le répertoire de l'exécutable produit par Panoramic) ?
Ceci est dans le but de simplifier l'utilisation de l'outil et que l'on ne soit pas obligé de chercher le bon répertoire où est installé mon exécutable.
Merci !
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
Sujet: Re: Aide pour la création d'un wrapper pour le langage Linotte. Ven 4 Sep 2020 - 19:15
Bonjour CPC !
Sans vouloir m'incruster dans ta discussion avec Jack je pense que tu peux gérer de la façon suivante :
Après la ligne 21 de ton programme : OPEN_DIALOG 2
Tu peux ajouter : DIR_DIALOG 2 , DIR_CURRENT$
Tu aura comme cela le répertoire par défaut ou se lance le programme. Bonne soirée et à bientôt.
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
Sujet: Re: Aide pour la création d'un wrapper pour le langage Linotte. Ven 4 Sep 2020 - 19:56
Salut CPC (Cent Pour Cent) Minibug a donné la théorie. Voici la pratique.
Code:
dim f$,rep$ rep$ = "C:\Users\acer\Desktop\Linotte\exemples" : ' répertoire de travail à adapter open_dialog 10 : ' créer l'objet système OPEN_DIALOG dir_dialog 10,rep$ : ' changer le répertoire courant de l'objet système OPEN_DIALOG qui devient le répertoire rep$ f$ = file_name$(10) if f$ <> "_" message f$ ' Suite du traitement ... end_if
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
Sujet: Re: Aide pour la création d'un wrapper pour le langage Linotte. Ven 4 Sep 2020 - 22:18
Papydall a écrit:
Minibug a donné la théorie.
Non désolé Papydall, mais c'est plus que la théorie...
Notre ami CPC souhaite pouvoir accéder directement au répertoire courant :
CPC a écrit:
Est-il possible que le objet 'open_dialog' puisse s'ouvrir dans le répertoire courant (le répertoire de l'exécutable produit par Panoramic) ?
La fonction DIR_CURRENT$ retournera donc bien ce répertoire. Si CPC rajoute les lignes comme indiqué dans son source cela fonctionnera sans problème.
Nombre de messages : 20 Date d'inscription : 11/05/2010
Sujet: Re: Aide pour la création d'un wrapper pour le langage Linotte. Mer 9 Sep 2020 - 15:07
Parfait vos retours ! Merci à vous ! J'avance, difficilement car je ne peux pas vraiment tester l'application dans les conditions d'un mal voyant ou aveugle alors je fais pas mal d'aller/retour avec une personne qui teste pour moi. En tout cas, le langage Panoramic marche bien avec le narrateur de Windows.
Comment je peux faire pour ajouter des doubles cotes autour du Fichier_Choisi$ ? Pour prendre en compte les répertoires avec espaces.
Est-il possible de lancer la commande java sans avoir la commande "dos" qui s'affiche ?
J'avais une troisième question mais je pense avoir trouver la solution, c'est pour ajouter des touches raccourcies aux boutons, par exemple, si on appuie sur la touche E, cela actionne mon bouton "Exécuter". Je dois avoir la solution ici : https://panoramic-language.pagesperso-orange.fr/Reference/ON_KEY_DOWN.htm
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
Sujet: Re: Aide pour la création d'un wrapper pour le langage Linotte. Mer 9 Sep 2020 - 17:10