Programmer avec le langage Linotte
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Programmer avec le langage LinotteConnexion

Besoin d'un conseil sur la programmation en Linotte ?

Le Deal du moment : -25%
PC Portable Gamer 16,1” HP Victus 16 – 16 ...
Voir le deal
749.99 €

Linotte 2.2

power_settings_newSe connecter pour répondre
4 participants

descriptionLinotte 2.2 EmptyLinotte 2.2

more_horiz
Direction Linotte 2.2...

Il est temps de penser à la prochaine version, tranquillement....

Il y a eu plusieurs fois cette demande, ainsi je vais en étudier la faisabilité : le multi-toile.

[php]
/*
Linotte 2.2 : le multi-toile
Proposition : http://code.google.com/p/langagelinotte ... ail?id=107
*/
globale
// Toile maitresse
fond1 est une toile, couleur vaut "noir", x vaut 10, y vaut 10
// toile fille
fond2 est une toile, couleur vaut "blanc", x vaut 500, y vaut 500
r1 est un rectangle, largeur vaut 50, hauteur vaut 20, x vaut 50, y vaut 50
r2 est un rectangle, largeur vaut 100, hauteur vaut 20, x vaut 50, y vaut 50

animation :
début
projette fond1
projette fond2
projette r1 sur fond1
projette r2 sur fond2
tant que 1 = 1, lis
tourne à droite r1 de 1
tourne à gauche r2 de 1
attends 5 millisecondes
ferme
[/php]

Voici les pistes proposées par Wam :
http://langagelinotte.free.fr/forum/sho ... 99#pid7399

descriptionLinotte 2.2 EmptyRE: Linotte 2.2

more_horiz
Bah si tu fais le multi-toile je pense que Wam va te demander en mariage...

descriptionLinotte 2.2 EmptyRE: Linotte 2.2

more_horiz
<img src=" title="Big Grin" />Very Happy

Et pour cette version, je vous demanderai de m'aider à réorganiser les exemples afin qu'ils soient mieux organisés.

descriptionLinotte 2.2 EmptyRE: Linotte 2.2

more_horiz
Multiiiiiiiii-toile x))))

YEAAAAAAH !!!

Pas de soucis pour les exemples <img src=" title="Smile" />

descriptionLinotte 2.2 EmptyRE: Linotte 2.2

more_horiz
Cela permettrais également d'améliorer la toile :

- en permettant d'intégrer directement la toile dans un formulaire, sans passer par l'espèce xtoile, cette dernière permettant toujours d'afficher seulement une partie de la toile.

- en intégrant automatiquement les scrolleurs verticaux et horizontaux à la toile, lorsque l'on ajoute une toile trop grande dans un formulaire, ou lorsque l'on affiche un élément graphique plus grand que la toile.

- en permettant le redimensionnement de la toile lorsque l'on clique sur le bouton agrandissement d'un formulaire.

Ainsi, au lieu d'écrire ce code :

[php]
globale
form :: formulaire, titre vaut "J'ai mal à la tête !", largeur vaut 300, hauteur vaut 300
d :: graphique, image vaut "../c_multimedia/images/tux_graduate.png", x vaut 100, y vaut 100, taille vaut 20
xtoile :: xtoile, x vaut 0, y vaut 0
toile :: toile, couleur vaut "noir",hauteur vaut 300 , largeur vaut 400
scrolleur :: scrolleur, largeur vaut 200, hauteur vaut 200, x vaut 10, y vaut 10

principale :
début
ajoute scrolleur dans form
ajoute xtoile dans scrolleur
efface toile
projette d
tant que vrai, lis
tourne à droite d de 1
attends 0.01 seconde
ferme
[/php]

On pourrait écrire ceci :

[php]
globale
form :: formulaire, titre vaut "J'ai mal à la tête !", largeur vaut 300, hauteur vaut 300
d :: graphique, image vaut "../c_multimedia/images/tux_graduate.png", x vaut 100, y vaut 100, taille vaut 20
toile :: toile, couleur vaut "noir",hauteur vaut 300 , largeur vaut 400

principale :
début
ajoute toile dans form
efface toile
projette d
tant que vrai, lis
tourne à droite d de 1
attends 0.01 seconde
ferme
[/php]

L'utilisation de la toile serait ainsi bien plus simple x)

descriptionLinotte 2.2 EmptyRE: Linotte 2.2

more_horiz
Bonjour Wam,

C'est noté pour le fait qu'utiliser l'objet xtoile complique son programme.
Mais tout cela va dépendre de la gestion du multi-toile.
Le but premier est que tous les anciens livres restent compatibles !

Il faut garder à l'esprit que le fait d'avoir une seule toile permet de programmer très simplement. Je réserve le multi-toile aux plus expérimentés !

Sinon, par rapport à la taille de la toile trop grande, tu peux mettre une toile dans un scrolleur (voir l'exemple scrolleur.liv).

descriptionLinotte 2.2 EmptyRE: Linotte 2.2

more_horiz
Et lorsque l'on affiche un élément graphique plus grand que la toile ?
Car mon idée serait que la toile soit inclue par défaut dans un scrolleur.
Ainsi, cela s'implifierai encore l'écriture du programme.
Mais est-ce possible ?
(Bien sur, le scrolleur n'apparaîtrait pas si l'élément graphique est plus petit que la toile.)

descriptionLinotte 2.2 EmptyRE: Linotte 2.2

more_horiz
Ca ne serait pas pratique si on veut afficher quelque chose à moitié hors de la toile.
Ou alors il faudrait mettre ça en option pour qu'on puisse l'activer et le désactiver facilement.

descriptionLinotte 2.2 EmptyRE: Linotte 2.2

more_horiz
Bonjour,

Cette version va apporter également un autre chantier, la suppression de la virgule lors de l'utilisation des conditions et boucles.
Cela évitera des erreurs et permettra de rendre le code plus lisible :
[php]
principale :
capitale est un texte
début
tant que capitale != "Paris" lis
affiche "Quelle est la capitale de la France ?"
demande capitale
ferme
affiche "Bravo, tu es trop fort !"
[/php]

Mais je rencontre quelques problèmes car par exemple, il n'est pas possible d'écrire :

[php]
principale :
a est un nombre valant 10
début
si a >
5 a vaut 10
[/php]

On devra toujours écrire :

[php]
principale :
a est un nombre valant 10
début
si a >
5, a vaut 10
[/php]

Tranquillement, ce chantier avance... mais avec ce soleil et mes cours du cnam terminées, je vais être de moins en moins devant mon clavier !

descriptionLinotte 2.2 EmptyRE: Linotte 2.2

more_horiz
Je me réponds à moi même :

http://www.bonjourdefrance.com/n2/cdm2.htm

La phrase correcte est :
si tu veux programmer, tu programmes.

et non:
si tu veux programmer tu programmes.

Je ne vais donc pas modifier le langage !

descriptionLinotte 2.2 EmptyRE: Linotte 2.2

more_horiz
Problème résolu ^^

descriptionLinotte 2.2 EmptyLinotte 2.1.5

more_horiz
J'initie un thread pour parler de cette version qui intégrera les derniers bogues remontés par Wam.
Cette version est prévue pour Octobre. En ce moment, mon boulot m'occupe pas mal et j'ai peu de temps pour corriger les bogues. Wam, n'hésite pas à lister les bogues ici et même à créer des fiches sur GoogleCode <img src=" title="Smile" />

descriptionLinotte 2.2 EmptyRE: Linotte 2.1.5

more_horiz
Petite mise à jour de la liste :

Bogues :

1) [Soumis] Menucaseàcocher : lorsque l'on clique plusieurs fois sur un menucaseàcocher, celui-ci s'enclenche parfois 2 fois.

2) [Accepté] Bogue avec la méthode fonctionnelle .transparence(nombre) d'un formulaire.

3) [Soumis] Bogue avec l'instruction Explore "coloriser javax.swing.plaf.metal.MetalLookAndFeel".

4) [Accepté] Espèce Barre : la méthode fonctionnelle .désactiver() ne semble pas fonctionner.

5) [Accepté] Formulaire : la méthode fonctionnelle .clignoter() ne semble pas fonctionner.

6) [Soumis] Le sélecteur : parfois le sélecteur s'enclenche 2 fois avec les casiers de nombres.

7) [Accepté] La toile : l'attribut "visible" de la toile ne fonctionne pas. De plus, si l'on met la toile en plein écran et que l'on supprime la bordure, on ne peut plus fermer la toile.


Site / Forum :

Cool [Soumis] Ajout de balises [résolu] dans la section "Aide à la création".

9) [Soumis] Ajouter un lien sur le site ou le forum vers les fiches GoogleCode pour permettre de suivre l'évolution du langage.



Atelier :

10) [Accepté] Décalage dans la numérotation des lignes.

11) [Soumis] Ajout des sections Globale et Espèces dans le sommaire ? [Tutoriel]

12) [Soumis] Faire en sorte que le changement de thème n'affecte plus l'atelier ?

13) [Accepté] Lors de l'activation de la compatibilité linotte 1.X, le clic sur le bouton "Ok" devrait redémarrer automatiquement l'atelier ? Dans ce cas, ajout d'un bouton "Annuler".

14) [Accepté] Bouton de mise à jour pour tous les greffons. [Tutoriel]

15) [Soumis] Lorsque l'on double-clique sur la toile, les coordonnées devraient plutôt s'afficher sur le tableau et non dans le cahier. [Tutoriel]

16) [Soumis] Remplacer les infobulles des espèces de l'interface Swing.

17) [Soumis] Améliorer la coloration syntaxique des méthodes fonctionnelles après les mots clefs "Attache" et "propose", ainsi que du point virgule ";
" et des 3 petits points "…". [Tutoriel]

18) [Accepté] Améliorer la complétion automatique : lorsque l'on écrit le mot "lis" sur le cahier, le mot "ferme" pourrait s'ajouter automatiquement à la ligne en dessous. Idem pour les parenthèses et les accolades.



Messages d'erreur :

19) [Soumis] Les variables : "l'acteur est inconnu de la fonction et du livre : nombre1". [Tutoriel]

20) [Soumis] Les paramètres : "le rôle est incompatible avec la doublure". [Tutoriel]

21) [Projet CPC] Utiliser le verbe Projeter avec une fenêtre devrait générer un message d'erreur.

22) [Soumis] Pourrait-on traduire ce message d'erreur "java.math.BigDecimal cannot be cast to java.lang.String" ?



IHM :

23) [Soumis] Forcer la déclaration des éléments d'IHM dans la section Globale du livre ? [Tutoriel]


Formulaire :
24) [Soumis] Pouvoir centrer la fenêtre vis-à-vis de sa fenêtre parente. [Tutoriel]

Sousformulaire :
25) [Soumis] Remplacer les sous-formulaires par l'attribut "modale" ? [Tutoriel]


Les boutons :
26) Pouvoir changer sa police. [Tutoriel]

27) Pouvoir changer la taille de son texte. [Tutoriel]

28) Pouvoir modifier le curseur de la souris lorsqu'il pointe sur le bouton. [Tutoriel]

29) Pouvoir changer les dimensions du bouton. [Tutoriel]

30) Possibilité de garder un bouton enfoncé. [Tutoriel]

31) [Soumis] Pouvoir regrouper les boutons dans un groupe. [Tutoriel]


Les cases à cocher :
32) [Soumis] Pouvoir regrouper les cases à cocher dans un groupe. [Tutoriel]

33) [Accepté] Menucaseàcocher : suppression des attributs x et y.


Les boites de dialogues usuelles :
34) Possibilité de leur donner un titre. [Tutoriel]

35) Les popups se positionnent au centre de l'écran, ne devraient-ils pas plutôt se placer au centre de la fenêtre parente ?

36) [Soumis] Remplacer les méthodes fonctionnelles ...avecicône() par un attribut "icône" ? [Tutoriel]

Les champs :
37) Pouvoir indiquer le nombre de caractères maximum qui peuvent être entrés. [Tutoriel]

38) Modifier l'attribut taille pour qu'il soit plus facilement utilisable (faire correspondre l'attribut taille à la largeur d'un xtableau par exemple).

La barre d'outils :
39) Pouvoir ajouter un sélecteur dans la barre d'outils. [Tutoriel]

40) Pouvoir rendre la barre d'outils déplaçable pour l'utilisateur. [Tutoriel]

La liste :
41) [Soumis] Autoriser l'utilisation du casier de nombres. [Tutoriel]

42) [Projet CPC] Remplacer la méthode fonctionnelle .valeurs() par .valeurssélectionnées() ? [Tutoriel]

43) [Soumis] Remplacer les méthodes fonctionnelles sélectionunique() et sélectionmultiple() par des attributs ? [Tutoriel]

44) [Soumis] Quand on utilise l'attribut valeurs ou la méthode fonctionnelle .chargevaleurs(casier), ou encore .ajoutervaleur(texte) et .ajoutervaleuretinfobulle(texte, texte), le comportement est différent. Peut-être serait-il préférable d'adopter le même comportement pour les 4 cas ? [Tutoriel]

Le sélecteur :
45) [Accepté] Mise à disposition des mêmes méthodes fonctionnelles que l'espèce liste (.infobulle(nombre, texte) , .ajoutervaleuretinfobulle(texte, texte) ). [Tutoriel]

La table :
46) [Soumis] Autoriser l'utilisation des casiers de nombres avec la méthode fonctionnelle .colonnes(casier) ? [Tutoriel]

L'espèce xtableau :
47) [Soumis] Possibilité d'ajouter des balises html ? [Tutoriel]

Les onglets :
48) [Projet CPC] Interdire l'ajout de menus dans un onglet ?

Le slider :
49) Ajout d'un attribut "orientation" ? [Tutoriel]

50) [Soumis] Ajouter un champ de saisie de nombres. [Tutoriel]

51) Ajouter des docks. [Tutoriel]

52) Ajouter une barre d'état. [Tutoriel]



La toile :
53) [Accepté] Multi-toile. [Tutoriel]

54) [Accepté] Possibilité d'ajouter la toile dans un formulaire, sans passer par l'espèce xtoile. [Tutoriel]

55) [Soumis] Ajout d'un scrolleur automatique ? [Tutoriel]

56) [Soumis] Possibilité d'agrandir la toile via le bouton agrandissement du formulaire ?



Autres :

Espèce Mégalithe :
57) [Accepté] Suppression des attributs premier et dernier.

58) [Soumis] Acteurs particuliers : milliseconde ? [Tutoriel]

Greffon clavier :
59) [Accepté] pouvoir créer des touches de raccourcis. [Tutoriel]

60) Variable touche n'affiche pas toutes les touches (ex : suppr, espace, windows affiche "Effacer").

61) [Projet CPC] Disparition du verbe Nommer ?

[Projet CPC] Création dynamique :
62) Suppression du verbe Créer ?

63) Suppression de la variable particulière création ?

64) Obligation de déclarer ses variables avant le mot début ? [Tutoriel]

65) [Soumis] Amélioration du verbe Temporiser ? [Tutoriel]

Les casiers :
66) [Soumis] verbe Insérer commence à partir de 1. [Tutoriel]

67) [Projet CPC] Verbe Parcourir : forcer l'utilisation du verbe Revenir ? [Tutoriel]

68) [Projet CPC] Verbe Appeler : forcer l'utilisation du verbe Revenir ? [Tutoriel]

descriptionLinotte 2.2 EmptyRE: Linotte 2.1.5

more_horiz
C'est parfait !!!

Justement, je suis parfois un peu perdu dans tous les posts.
Un forum, c'est bien pour discuter mais pas pour effectuer du suivi.

descriptionLinotte 2.2 EmptyRE: Linotte 2.2

more_horiz
Wam,

Je viens de fusionner la discussion Linotte 2.1.5 et Linotte 2.2 pour ne garder que Linotte 2.2 !

Il est impossible pour moi de livrer d'ici peu de temps une version 2.1.5.

Linotte 2.2 sera donc bien la prochaine version ! Mais cette nouvelle version arrivera bien plus tard ! Car en même temps que je pense à cette version, je pense aussi à la version Android. Les travaux sont conséquents et vont donc prendre du temps !

Voili !

descriptionLinotte 2.2 EmptyRE: Linotte 2.2

more_horiz
J'espérait la sortie d'une version 2.1.5 au moins pour corriger les bogues que j'ai remonté.
Ainsi, une fois les bogues corrigés, cela m'aurait permis de sortir une nouvelle version de mon tuto x)

descriptionLinotte 2.2 EmptyRE: Linotte 2.2

more_horiz
Quels sont les bogues vraiment bloquant pour la sortie de la nouvelle version du tuto ?

descriptionLinotte 2.2 EmptyRE: Linotte 2.2

more_horiz
Les bogues 9 et 10.

Après les bogues 1, 3 et 8 pourraient être gênants pour le lecteur de mon tuto, dans le sens où il n'obtiendrait pas forcément le même résultat que sur mes screens ^^

descriptionLinotte 2.2 EmptyRE: Linotte 2.2

more_horiz
Ma problématique est la suivante, la version 2.1.4 est diffusée sur plusieurs sites comme 01net , jesuislibre et quelques autres sites.

Je préfère ne pas trop demander de mises à jours afin que l'Atelier Linotte respire la stabilité (comme par exemple Algobox qui sort une version 1 fois par an !).

Pour le symbole "<
<
", c'est un bogue important mais pas assez à mon avis car j'estime que le langage permet de ne pas (ou plus) l'utiliser.

pour le symbole "...", c'est un bogue qui doit exister depuis le début, donc je me dis que ça peut attendre la prochaine version 2.2 .

Voili...

descriptionLinotte 2.2 EmptyRE: Linotte 2.2

more_horiz
Voici mon avis :

La fréquence des mises à jour du Linotte est très bien x)

En effet, elles permettent de corriger quotidiennement les bogues remontés par la communauté.
De plus, elles permettent d'ajouter du contenu au fur et à mesure :
un linottien à besoin d'une nouvelle fonctionnalité pour pouvoir poursuivre l'écriture de son programme ?
Il poste un message dur le forum et la fonctionnalité est ajoutée rapidement.
Pas besoin d'attendre 1 an pour voir le langage évoluer x)
Le Linotte est donc à l'écoute de sa communauté.

De plus, la correction fréquente des bogues ou la modification de certains points du langage sont très importants pour l'évolution du tutoriel :
par exemple, tant que le bogue du symbole <
<
n'est pas corrigé, et bien je suis obligé de supprimer le chapitre "Chargement dynamique des variables " du tuto...

Si le problème concerne la diffusion du linotte sur les autres sites, tu pourrais leur proposer seulement les versions les plus importantes du Linotte.
Et si les programmeurs veulent la dernière mise à jour corrective, alors il pourront venir la télécharger sur le site officiel.

descriptionLinotte 2.2 EmptyRE: Linotte 2.2

more_horiz
Oui, tous les ans, c'est un peu trop long ! Je me fixe tous les 6 mois mais dans la réalité, ça doit être tous les 3 ou 4 mois.

Bon, je vais réfléchir mais ce ça sera probablement le mois prochain si je devrais sortir une 2.1.5.

Ou sinon, je peux reproposer une version beta....

descriptionLinotte 2.2 EmptyRE: Linotte 2.2

more_horiz
Le mois prochain ça me va ^^

Je vais pouvoir poursuivre un peu la partie sur les greffons.

Et je vais donc en profiter pour ajouter un chapitre sur la toile et l'espèce xtoile (je comptais attendre l'arrivée des multi-toiles pour faire ces deux chapitres, mais mon tuto sur l'IHM étant prêt, autant le sortir le plus vite possible, à la sortie de la 2.1.5 :;
): ).

descriptionLinotte 2.2 EmptyRE: Linotte 2.2

more_horiz
marché conclu <img src=" title="Smile" />

descriptionLinotte 2.2 EmptyRE: Linotte 2.2

more_horiz
Voici la liste des bogues qui seront corrigés dans la version 2.1.5 :

https://code.google.com/p/langagelinott ... &
mode=grid


J'ai un peu travaillé sur les ateliers pédagogiques et ajouté un post sur le site :
http://langagelinotte.free.fr/wordpress/?p=290

Après cette petite pause, il va falloir que je me remettre à coder et corriger les derniers bogues remontés !

descriptionLinotte 2.2 EmptyRE: Linotte 2.2

more_horiz
Voici une petite nouveauté qui devrait apparaître dans la version 2.1.5 :

[php]
principale :
comtoise est une horloge
début
projette comtoise
comtoise.minute(minute)
comtoise.heure(heure)
comtoise.seconde(seconde)
[/php]

Qu'en pensez-vous ?

Par rapport à :
[php]
principale :
comtoise est une horloge
début
projette comtoise
évoque comtoise.minute(minute)
évoque comtoise.heure(heure)
évoque comtoise.seconde(seconde)
[/php]

ou

[php]
principale :
comtoise est une horloge
début
projette comtoise
_ comtoise.minute(minute)
_ comtoise.heure(heure)
_ comtoise.seconde(seconde)
[/php]

descriptionLinotte 2.2 EmptyRe: Linotte 2.2

more_horiz
privacy_tip Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
power_settings_newSe connecter pour répondre