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 ?

-17%
Le deal à ne pas rater :
SSD interne Crucial SSD P3 1To NVME à 49,99€
49.99 € 59.99 €
Voir le deal

descriptionCréez votre Web avec Linotte 2.2.2  ? EmptyCréez votre Web avec Linotte 2.2.2 ?

more_horiz
Je n'arrive pas à correctement utiliser le Webonotte, même si je pense suivre toutes les indications données dans :

[url=Créez votre Web avec Linotte 1.2.2 !][/url]

C'est pourquoi j'aimerais savoir, si c'est possible de créer son propre Web avec Linotte 2.2.2.

Merci, d'avance.

descriptionCréez votre Web avec Linotte 2.2.2  ? EmptyRE: Créez votre Web avec Linotte 2.2.2 ?

more_horiz
As-tu téléchargé la version complète de l'Atelier ?

descriptionCréez votre Web avec Linotte 2.2.2  ? EmptyRE: Créez votre Web avec Linotte 2.2.2 ?

more_horiz
Oui, il me semble. J'ai même téléchargé et rajouter quelques greffons, pour arriver à créer une base de donné avec SQL (ce qui a fonctionné d'ailleurs).

descriptionCréez votre Web avec Linotte 2.2.2  ? EmptyRE: Créez votre Web avec Linotte 2.2.2 ?

more_horiz
:huh:

Donc ce lien ne fonctionne pas : http://localhost:7777/notice

Peux-tu me faire une copie d'écran de la fenetre a propos dans le menu Aide de l'Atelier ?

As-tu un firewall sur ton pc ?

descriptionCréez votre Web avec Linotte 2.2.2  ? EmptyRE: Créez votre Web avec Linotte 2.2.2 ?

more_horiz
Oui, le le serveur HTTP Webonotte fonctionne.

Mais lorsque, je suis ces indications :

[php]
Compteur web :
compteur est un nombre
début
compteur vaut compteur + 1
affiche "<
html>
<
head>
<
title>
Page n°" + compteur + "<
/title>
<
/head>
<
body>
"
affiche "Tu as affiché " + compteur + " fois cette page !"
affiche "<
/body>
<
/html>
"

Deposez ce livre sous le nom compteur.liv dans le repertoire racine du serveur, et executez dans un navigateur Internet l'adresse WEB suivante:
http://localhost:7777/compteur.liv
[/php]

J’obtiens ce résultat :

[php]
java.lang.Exception: Erreur syntaxique, impossible d'analyser la phrase à partir de
at org.linotte.web.executeur.ExecuteurLivre.traiter(ExecuteurLivre.java:112)
at org.linotte.web.serveur.JettyHttpServer$Handler.handle(JettyHttpServer.java:110)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:926)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Caused by: org.linotte.moteur.exception.LectureException
at org.linotte.moteur.xml.alize.parseur.Parseur.parseLivre(Parseur.java:113)
at org.linotte.web.executeur.ExecuteurLivre.traiter(ExecuteurLivre.java:104)
... 10 more
Caused by: org.linotte.moteur.exception.SyntaxeException
at org.linotte.moteur.xml.alize.parseur.noeud.NActeur.parse(NActeur.java:190)
at org.linotte.moteur.xml.alize.parseur.noeud.NLigne.parse(NLigne.java:66)
at org.linotte.moteur.xml.alize.parseur.noeud.NChoix.parse(NChoix.java:65)
at org.linotte.moteur.xml.alize.parseur.noeud.NGroupe.parse(NGroupe.java:94)
at org.linotte.moteur.xml.alize.parseur.noeud.NChoix.parse(NChoix.java:65)
at org.linotte.moteur.xml.alize.parseur.noeud.NPointDeRetour.parse(NPointDeRetour.java:46)
at org.linotte.moteur.xml.alize.parseur.noeud.NChoix.parse(NChoix.java:65)
at org.linotte.moteur.xml.alize.parseur.noeud.NGroupe.parse(NGroupe.java:94)
at org.linotte.moteur.xml.alize.parseur.noeud.NGroupe.parse(NGroupe.java:94)
at org.linotte.moteur.xml.alize.parseur.noeud.NGroupe.parse(NGroupe.java:94)
at org.linotte.moteur.xml.alize.parseur.noeud.NGroupe.parse(NGroupe.java:94)
at org.linotte.moteur.xml.alize.parseur.noeud.NChoix.parse(NChoix.java:65)
at org.linotte.moteur.xml.alize.parseur.noeud.NNoeud.parse(NNoeud.java:46)
at org.linotte.moteur.xml.alize.parseur.Parseur.parseLivre(Parseur.java:82)
... 11 more
org.linotte.moteur.exception.LectureException
at org.linotte.moteur.xml.alize.parseur.Parseur.parseLivre(Parseur.java:113)
at org.linotte.web.executeur.ExecuteurLivre.traiter(ExecuteurLivre.java:104)
at org.linotte.web.serveur.JettyHttpServer$Handler.handle(JettyHttpServer.java:110)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:926)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Caused by: org.linotte.moteur.exception.SyntaxeException
at org.linotte.moteur.xml.alize.parseur.noeud.NActeur.parse(NActeur.java:190)
at org.linotte.moteur.xml.alize.parseur.noeud.NLigne.parse(NLigne.java:66)
at org.linotte.moteur.xml.alize.parseur.noeud.NChoix.parse(NChoix.java:65)
at org.linotte.moteur.xml.alize.parseur.noeud.NGroupe.parse(NGroupe.java:94)
at org.linotte.moteur.xml.alize.parseur.noeud.NChoix.parse(NChoix.java:65)
at org.linotte.moteur.xml.alize.parseur.noeud.NPointDeRetour.parse(NPointDeRetour.java:46)
at org.linotte.moteur.xml.alize.parseur.noeud.NChoix.parse(NChoix.java:65)
at org.linotte.moteur.xml.alize.parseur.noeud.NGroupe.parse(NGroupe.java:94)
at org.linotte.moteur.xml.alize.parseur.noeud.NGroupe.parse(NGroupe.java:94)
at org.linotte.moteur.xml.alize.parseur.noeud.NGroupe.parse(NGroupe.java:94)
at org.linotte.moteur.xml.alize.parseur.noeud.NGroupe.parse(NGroupe.java:94)
at org.linotte.moteur.xml.alize.parseur.noeud.NChoix.parse(NChoix.java:65)
at org.linotte.moteur.xml.alize.parseur.noeud.NNoeud.parse(NNoeud.java:46)
at org.linotte.moteur.xml.alize.parseur.Parseur.parseLivre(Parseur.java:82)
... 11 more
org.linotte.moteur.exception.SyntaxeException
at org.linotte.moteur.xml.alize.parseur.noeud.NActeur.parse(NActeur.java:190)
at org.linotte.moteur.xml.alize.parseur.noeud.NLigne.parse(NLigne.java:66)
at org.linotte.moteur.xml.alize.parseur.noeud.NChoix.parse(NChoix.java:65)
at org.linotte.moteur.xml.alize.parseur.noeud.NGroupe.parse(NGroupe.java:94)
at org.linotte.moteur.xml.alize.parseur.noeud.NChoix.parse(NChoix.java:65)
at org.linotte.moteur.xml.alize.parseur.noeud.NPointDeRetour.parse(NPointDeRetour.java:46)
at org.linotte.moteur.xml.alize.parseur.noeud.NChoix.parse(NChoix.java:65)
at org.linotte.moteur.xml.alize.parseur.noeud.NGroupe.parse(NGroupe.java:94)
at org.linotte.moteur.xml.alize.parseur.noeud.NGroupe.parse(NGroupe.java:94)
at org.linotte.moteur.xml.alize.parseur.noeud.NGroupe.parse(NGroupe.java:94)
at org.linotte.moteur.xml.alize.parseur.noeud.NGroupe.parse(NGroupe.java:94)
at org.linotte.moteur.xml.alize.parseur.noeud.NChoix.parse(NChoix.java:65)
at org.linotte.moteur.xml.alize.parseur.noeud.NNoeud.parse(NNoeud.java:46)
at org.linotte.moteur.xml.alize.parseur.Parseur.parseLivre(Parseur.java:82)
at org.linotte.web.executeur.ExecuteurLivre.traiter(ExecuteurLivre.java:104)
at org.linotte.web.serveur.JettyHttpServer$Handler.handle(JettyHttpServer.java:110)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:926)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

Avez-vous lu la notice ? http://localhost:7777/notice

Webonotte 2.2.2 - Livre lu en 62 ms - Voir le livre
[/php]

Je ne sais pas comment faire une copie d'écran à partie de la fenêtre d'Aide. Toutefois je peux me débrouiller autrement, mais je ne trouve pas la fonction pour insérer les Pièces-jointes dans la messagerie. :huh:

Et, oui j'ai un firewall

descriptionCréez votre Web avec Linotte 2.2.2  ? EmptyRE: Créez votre Web avec Linotte 2.2.2 ?

more_horiz
Ah !
Il y a un problème... je corrige ça rapidement !

descriptionCréez votre Web avec Linotte 2.2.2  ? EmptyRE: Créez votre Web avec Linotte 2.2.2 ?

more_horiz
Merci...
Le Webonotte "2.2.3 alpha b" fonctionne maintenant tant sur internet explorer que sur firefox...

Enfin presque, certains caractères ne sont pas encore bien lu avec le format du Weblivre (il s'agit de : éèꨣ¤ùµ§çà), mais les 3 autres formats du Webonotte n'ont pas ce problème.

Alors, on peut dire que l'essentiel y est...
C'est un super travail, qui permet maintenant au langage Linotte de concurrencer le célèbre langage PHP, dans la constitution de sites dynamiques.

Encore bravo !

descriptionCréez votre Web avec Linotte 2.2.2  ? EmptyRE: Créez votre Web avec Linotte 2.2.2 ?

more_horiz
Bonjour XP Rico,

Il faut éditer les fichiers avec un éditeur capable d'encoder en UTF-8.
Soit avec l'Atelier ou alors avec un autre éditeur comme NotePad++.

Dans le menu Encodage, choisir UTF-8 (sans Bom) et normalement, tu n'auras plus de problème d'encodage.

Avec cet éditeur, je conseille de sélectionner la langage PHP pour éditer plus facilement vos weblivres.

Merci

descriptionCréez votre Web avec Linotte 2.2.2  ? EmptyRE: Créez votre Web avec Linotte 2.2.2 ?

more_horiz
Autant pour moi...

LE WEBLIVRE Fonctionne PARFAITEMENT.

Merci Cpc, je venais juste de m'en rendre compte de mon côté, il faut dire que j'ai utilisé comme éditeur le "P'tit Texte" de mom112 (que j'ai reconfiguré en syntaxe 2.0 et un peu modifié pour éditer en wliv), or il ne permet pas encore d'encoder en format uth-8 et n'est pas encore très fonctionnel. C'est pourquoi j'ai utilisé Notepad++ pour travail mon weblivre sous format UTH-8, ce qui m'a permis de comprendre qu'il n'était pas encoder au bon format.

En résumé, il faut donc encoder sur son éditeur et afficher sur son navigateur : en UTH-8.

Mes excuses à tout le monde, pour mon manque d'attention.

Pour me faire pardonner voici une petite variante fonctionnelle de syracuse.wliv

[php]
<
%
action est un texte
n est un nombre
durée est un nombre
%>

<
html>

<
Tête>
<
title>
Suite de Syracuse en ligne<
/title>
<
/Tête>

<
corps>

<
h1>
Suite de Syracuse :<
/h1>

<
%
demande action
si action = "resultat", lis
demande n
tant que n >
1, lis
durée vaut durée + 1
si (n mod 2) = 0, n vaut n / 2
sinon n vaut n * 3 + 1
ferme
%>

La durée du vol est égale à <
%affiche durée%>

<
form action="syracuse.wliv" method="post">

<
input type="submit" value="Recommencer" />

<
/form>

<
%
ferme
sinon lis
%>

<
form action="syracuse.wliv" method="post">

<
input type="hidden" name="action" value="resultat" />

Nombre de départ : <
input type="texte" name="n" />

<
input type="submit" value="Calculer la durée" />

<
/form >

<
%
ferme
%>

<
/corps>

<
/html>

[/php]

Vous pouvez noter que l'on peut remplacer les balises :
- <
head>
par <
Tête>
(<
en-tête>
fonctionne aussi) ;

- et <
body>
par <
corps>
.

Mais attention on ne peut pas remplacer toutes les balises, comme <
title>
par exemple. Il faut faire des teste pour savoir lesquelles sont remplaçables. :;
):

descriptionCréez votre Web avec Linotte 2.2.2  ? EmptyRE: Créez votre Web avec Linotte 2.2.2 ?

more_horiz
J'ai vérifié sur le Web, les balises HTML en français, ça semble ne pas exister.
Le navigateur Internet est capable de déjouer des pièges et afficher ta page même s'il ne reconnait pas toutes les balises.

Par exemple, si tu enlèves les balises "head" ou "body", la page s'affichera quand même.

descriptionCréez votre Web avec Linotte 2.2.2  ? EmptyRE: Créez votre Web avec Linotte 2.2.2 ?

more_horiz
D'accord, donc dans mon exemple elles ne sont donc pas remplacées, mais elles sont simplement déduites par le système.

C'est un peu dommage tout de même...

descriptionCréez votre Web avec Linotte 2.2.2  ? EmptyRE: Créez votre Web avec Linotte 2.2.2 ?

more_horiz
Proposer des balises html en français... Un nouvel objectif pour le Linotte ? x)

descriptionCréez votre Web avec Linotte 2.2.2  ? EmptyRE: Créez votre Web avec Linotte 2.2.2 ?

more_horiz
hmmm, le HTML étant un langage simple, est-ce une bonne idée ?

descriptionCréez votre Web avec Linotte 2.2.2  ? EmptyRE: Créez votre Web avec Linotte 2.2.2 ?

more_horiz
Étant donné que le Linotte utilise le langage html dans les webonotte et que le Linotte est sensé être un langage entièrement en français, pourquoi pas ?
De plus, l'utilisation du html pourrait être pratique avec le verbe Afficher ou l'espèce xtableau afin de pouvoir mettre le texte en gras, italique, etc... Dans ce cas là, il serait préférable que les balises soient également en français.
Et puis cela ajoute de l'originalité au langage ^^

descriptionCréez votre Web avec Linotte 2.2.2  ? EmptyRE: Créez votre Web avec Linotte 2.2.2 ?

more_horiz
Hmmm, je suis moyennement convaincu ... même si rien est impossible.

Cela veut dire qu'il faut écrire un programme qui va traduire les balises du français vers l'anglais mais c'est ensuite le navigateur Internet qui interpréter les balises pour créer la page HTML !

ça complique l'analyse en cas de probleme d'affichage !

descriptionCréez votre Web avec Linotte 2.2.2  ? EmptyRE: Créez votre Web avec Linotte 2.2.2 ?

more_horiz
La difficulté quand on développe en html c'est qu'il n'y a pas de debuggeur pour nous dire où se trouve notre erreur, puisque l'on peut créer un site web uniquement avec le Bloc-Notes par exemple.
Donc, de toutes façons, quand il y a un problème d'affichage, on est obligé de relire tout notre code jusqu'à trouver notre erreur.
Utiliser des balises en français ne va donc pas compliquer la lecture de notre code :p

descriptionCréez votre Web avec Linotte 2.2.2  ? EmptyRE: Créez votre Web avec Linotte 2.2.2 ?

more_horiz
En tant cas, le mettre en place dans le code source de Linotte, c'est extrêmement simple... j'ai commencé :

https://code.google.com/p/langagelinott ... ateur.java

Mais je préfère me concentrer à stabiliser l'existant que d'ajouter de nouvelles fonctionnalités...

tiens tiens, il y a pas une personne qui vient d'avoir son diplôme en java sur forum <img src=" title="Tongue" /> qui pourrait le faire à ma place...

descriptionCréez votre Web avec Linotte 2.2.2  ? EmptyRE: Créez votre Web avec Linotte 2.2.2 ?

more_horiz
xD
Ce serait avec plaisir x)
Mais pour le moment, je suis en train d'adapter mon tuto sur le site du zéro.
Je travaille dessus dès que j'ai un moment de libre... Malheureusement ce n'est pas souvent ^^"
Mais petit à petit ça avance :p

descriptionCréez votre Web avec Linotte 2.2.2  ? EmptyRE: Créez votre Web avec Linotte 2.2.2 ?

more_horiz
ok, pas de problème, ça attendra !

descriptionCréez votre Web avec Linotte 2.2.2  ? EmptyRE: Créez votre Web avec Linotte 2.2.2 ?

more_horiz
À ce propos, j'aurais une question :
Sur le site du zéro, on peut mettre du code entre des balises <
code>
.
Ensuite, on sélectionne le langage et le code est colorié automatiquement.
Le problème c'est que le site du zéro ne connait pas le Linotte (pas encore :p) et donc, je suis obligé de sélectionner du simple texte.
Le code Linotte apparaît alors en noir et blanc.
Y aurait-il un langage, connu du site du zéro et proche du Linotte, que je pourrais sélectionner pour colorier le code Linotte ?

descriptionCréez votre Web avec Linotte 2.2.2  ? EmptyRE: Créez votre Web avec Linotte 2.2.2 ?

more_horiz
C'est super génial...

On propose quelquechose d'un peu fou, comme d'écrire son html en français. Et, Cpc et Wam l'imaginent déjà en quelques lignes...

Ce qui démontre bien "qu'impossible n'est pas Linotte".

Pour ta question Wam, tu peux peut-être utiliser le langage XML, sur Notepad++, il colorise les balises en bleu.

descriptionCréez votre Web avec Linotte 2.2.2  ? EmptyRE: Créez votre Web avec Linotte 2.2.2 ?

more_horiz
@Wam : tu as essayé ruby ?

@XP Rico : même si la dernière beta permet de tester ce remplacement de balise, ce n'est pas encore fait ! et puis, je ne suis encore qu'à moitié convaincu par la francisation des balises !:dodgy:

descriptionCréez votre Web avec Linotte 2.2.2  ? EmptyRE: Créez votre Web avec Linotte 2.2.2 ?

more_horiz
Le ruby colore la moitié du mot Espèce ^^

descriptionCréez votre Web avec Linotte 2.2.2  ? EmptyRE: Créez votre Web avec Linotte 2.2.2 ?

more_horiz
Je vais m'absenter quelques jours. Linotte 2.2.4 étant sur les rails, je m'accorde une pause !
J'espère que c'est la version la plus stable que j'aie jamais proposée !

En attendant mon retour sur le forum, je vous laisse essayer ce weblivre à utiliser avec le webonotte 2.2.4 (je vais améliorer ce principe dans la prochaine version) :

[php]
<
%
outils est un tweak
toileweb est une toile, principale vaut "non", couleur vaut "bleu outremer"
%>

<
html>

<
head>
<
title>
Test d'affichage de la toile<
/title>
<
/head>

<
body>

<
%
projette toileweb
pour 200, parcours magique
%>

<
img src='<
%affiche "data:image/png;
base64," + outils.toileenbase64("toileweb") %>
' >

<
hr/>

<
%
efface toile
couleur de toileweb vaut "gris"
largeur de toileweb vaut 500
hauteur de toileweb vaut 500
parcours flocon_van_koch
%>

<
img src='<
%affiche "data:image/png;
base64," + outils.toileenbase64("toileweb") %>
' >

<
/body>

<
/html>

<
%

magique :
t est un rectangle, toile vaut "toileweb", largeur vaut 20, hauteur vaut 20
début
x de t vaut hasard(600)
y de t vaut hasard(600)
couleur de t vaut couleurs{hasard(100)}
projette t
reviens

flocon_van_koch :
c1 est un crayon, couleur vaut "bleu", x vaut 350, y vaut 230, taille vaut 5, angle vaut 90, toile vaut "toileweb"
c2 est un crayon, couleur vaut "vert", x vaut 350, y vaut 230, taille vaut 4, angle vaut 90, toile vaut "toileweb"
c3 est un crayon, couleur vaut "rouge", x vaut 350, y vaut 230, taille vaut 3, angle vaut 90, toile vaut "toileweb"
c4 est un crayon, couleur vaut "noir", x vaut 350, y vaut 230, taille vaut 1, angle vaut 90, toile vaut "toileweb"
début
efface toile
parcours commencer avec c1, 1
parcours commencer avec c2, 2
parcours commencer avec c3, 3
parcours commencer avec c4, 6
reviens

commencer :
*tortue est un crayon
*pas est un nombre
début
projette tortue
parcours flocon avec tortue, 200, pas
pointe @ tortue vaut "non"
reviens

flocon :
*tortue est un crayon
*longueur est un nombre
*pas est un nombre
début
pour chaque 3, lis
parcours ligne avec tortue, longueur , pas
tourne à droite tortue de 120
ferme
reviens

ligne :
*tortue est un crayon
*longueur est un nombre
*pas est un nombre
début
si pas == 0, avance tortue de longueur
sinon lis
parcours ligne avec tortue, longueur / 3, pas - 1
tourne à gauche tortue de 60
parcours ligne avec tortue, longueur / 3, pas - 1
tourne à droite tortue de 120
parcours ligne avec tortue, longueur / 3, pas - 1
tourne à gauche tortue de 60
parcours ligne avec tortue, longueur / 3, pas - 1
ferme
reviens

%>

[/php]

A vous de travailler !

descriptionCréez votre Web avec Linotte 2.2.2  ? EmptyRe: Créez votre Web avec Linotte 2.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