Seuls les membres ayant 30 points peuvent parler sur le chat.

Forum Casio - Vie communautaire


Index du Forum » Vie communautaire » Le langage de forum de la v5 - Lightscript (RFC)
Lephenixnoir Hors ligne Administrateur Points: 18119 Défis: 142 Message

Le langage de forum de la v5 - Lightscript (RFC)

Posté le 02/01/2018 14:50

Salut à tous ! Je voudrais vous présenter le draft actuel du langage de forum de la v5 - nommé Lightscript, un gentil dérivé de Markdown conçu pour Planète Casio. J'ai noté RFC (Request For Comments) dans le titre, c'est une manière fun de dire que vous êtes invités à donner votre avis !

2018-02-06 : La spécification est freezée jusqu'à nouvel ordre ; j'implémente. Vous pouvez quand même faire des remarques ou proposer des extensions, elles sont bienvenues !

Ce langage servira à écrire tout ce qui existera sur la v5 ou presque : les messages sur le forum, les descriptions et commentaires de programmes, les tutoriels, les messages privés, etc etc. Les seules exceptions notables que je puisse déjà évoquer sont les tutoriels, que l'on pourra aussi écrire (au choix) en LaTeX, et l'IRC qui fait bien ce qui lui plaît.

Je tiens à préciser que je suis en train d'implémenter le programme de conversion (vers HTML), mais je débute encore. Rien n'est définitif, tout est discutable.

La description du langage est ci-dessous : vous pouvez réagir sur l'ensemble ou pointer des conflits de syntaxe, des oublis, des fonctionnalités manquantes qui vous sembleraient intéressantes. Il y a des choses que j'ai éliminées volontairement ; je les ai citées tout à la fin avec un argumentaire. N'hésitez pas à en discuter. Je compte sur vous !

Le modèle « théorique »

Sans rentrer dans les détails compliqués, un message en Lightscript c'est une suite de blocs : paragraphes, citations, listes à puces, titres par exemple. La fin d'un bloc est soit marquée explicitement par la syntaxe (comme les citations qui se terminent toutes par >>>), soit marquée par un retour à la ligne ou par une ligne vide. C'est important, donc soyez attentifs !

Beaucoup de blocs contiennent du texte interprété (par exemple les paragraphes ; mais pas les blocs de code, dont le contenu est recopié tel quel dans le HTML). Le texte interprété peut contenir des objets textuels, par exemple un passage de texte en gras, un lien hypertexte, ou une référence à un programme dans la base de données.

Passons maintenant aux réjouissances.

Détail des blocs

Les paragraphes sont exactement ce que vous pensez. Un paragraphe représente une unité de texte « par défaut », et se termine habituellement sur une ligne vide. Il peut contenir des retours à la ligne, qui sont alors fidèlement reproduits (ce qu'on fait actuellement dans la v42). Quand vous sautez une ligne, un nouveau paragraphe commence. Savoir si plusieurs lignes vides sont fusionnées en une seule n'est pas encore décidé !

Comme en Markdown, je vous propose deux styles de titre : soit avec des #, soit soulignés. Le premier type, c'est un ou plusieurs # suivis d'un paragraphe. Ça va donc jusqu'à la prochaine ligne vide. Le second type (décoratif), consiste en un paragraphe souligné par des = ou des -. La ligne qui souligne indique très naturellement la fin du bloc de titre.

# Titre de page

## Titre de catégorie. On a le droit de le
prolonger sur plusieurs lignes

...

###### Titre de niveau 6

Titre de page alternatif
========================

Titre de catégorie alternatif
-----------------------------

Les citations et les blocs de code ont une syntaxe commune : ils commencent par trois symboles ouvrants sur une ligne (avec des options facultatives) et se terminent par trois symboles fermants sur une ligne. Les symboles doivent être placés au tout début de la ligne, sinon ça fait un paragraphe !

>>> DarkStorm
Oui. Il suffit de la coder. :waza:
>>>

``` basic lines
Getkey→G
G=47⇒Goto 9
G=27⇒X-1→X
G=37⇒X+1→X
```

Niveau listes, je propose des listes à puces et des listes ordonnées. Pour les listes ordonnées, la numérotation commence par le nombre indiqué sur la première ligne puis incrémente les numéros en ignorant les valeurs suivantes (c'est classique) ; ça vous évite de tout renuméroter chaque fois que vous insérez un truc.

- Ceci est une liste à puces
* Elle continue même quand on change de puces
+ On peut y mettre du `code`, du *formatage*...

0. Real developers count from 0
1. No, real developers use butterflies!
2. Ah, yes, there's good ol' C-x M-c M-butterfly for that.
3. Damn, Emacs...

Il me reste les définitions de références. Parfois les liens de la forme [label](url) sont lourds à lire parce que l'URL est longue, parfois vous voulez utiliser plusieurs fois la même URL. Dans ce cas, vous pourrez écrire [label][ref-name] et définir plus loin la valeur de ref-name. C'est ce que j'appelle une définition de référence !

[ref_name]: http://www.example.com

Une définition de référence tient sur une unique ligne. Je reviendrai sur ces liens dans la section suivante !

Les objets textuels

C'est là qu'on s'amuse à mettre n'importe quoi dans nos phrases. Commençons par les options de formatage :

*emphasis*               (italique)
**strong**               (gras)
~striked~                (barré)
`code` ou `code`[lang]   (code inline)
$math$                   (formules KaTeX)

Je pense que tout est à peu près explicite. Le cas `code`[langage] permet de mettre du code coloré dans une phrase. Il ne faut pas d'espace entre la backtick fermante et le premier crochet !

Les liens sont toujours une question délicate. La détection automatique des URLs dans les messages (autolinking) est compliquée à écrire et à utiliser, donc je vous propose de simplifier votre vie (et la mienne !) en mettant des chevrons (<url>). De façon générale, prenez le temps de mettre des noms sur vos liens, ce sera toujours supérieur !

Des liens, il y en a plusieurs types : certains sans noms, d'autres avec. En spécifiant un # au début de l'URL, vous pouvez référencer une section de votre article/tutoriel, ça enverra vers le titre associé !

<http://example.org>
[lien externe](http://example.org)
[lien interne](#compilation-manuelle)

Vous pouvez également décider de spécifier l'URL plus tard, à l'aide d'une référence (rappelez-vous, le bloc de définition de référence sert à ça !). Vous pouvez aussi utiliser une ressource (voyez plus loin) comme cible, ou tout simple une page de Casio Universal Wiki.

[lien par référence][ref-name]
[lien vers ressource][:uLephenixnoir]
[lien vers le wiki][[Basic Fx-CG]]

Comme avant, il y aura des médias. La syntaxe pour les utiliser est assez générale :

[[image:http://url.png 640 480]]
[[video:youtube.com/watch?v=deadbeef]]
[[wiki:Fxlib.h]]

Je n'ai pas encore fixé le type de choses qu'on pourrait utiliser avec ; je vous invite à suggérer. Le comportement pourra être différent si cet objet est utilisé en plein milieu d'une phrase ou tout seul sur un paragraphe. Par exemple, on aura envie de centrer les images si elles sont toutes seules.

Viennent ensuite les spoilers. Les discussions ont été longues et compliquées. Pour tenter de concilier les partis, je vous propose un spoiler volontairement moins puissant que l'original. C'est un spoiler inline, et vous ne pouvez donc mettre que quelques phrases dedans. Vous pouvez le tester sur jsfiddle.net :


And then they (((all die)))!

Il reste les choses les plus fun. D'abord les notes de bas de page (pour l'humour dans les articles en page d'accueil ^-^ ), et ensuite les références aux objets de Planète Casio :

Oui, mais c'est impossible ! [^Sauf si P=NP.] (note de bas de page)
:m2451 (référence au message numéro 2451)
:f234 (topic numéro 234)
:t32 (tutoriel numéro 32)
:rLephe/gint (dépôt Gitlab `Lephe/gint`)
...

Toutes les références de Planète Casio utiliseront la syntaxe :[a-z][^ :]+ (c'est-à-dire, ":" suivi d'une lettre minuscule suivi d'un mot non vide qui ne contient ni espace ni ":") et elle leur est strictement réservée. Cela n'interfère pas avec nos smileys !

On peut aussi utiliser ces références dans des liens (quand c'est approprié). Par exemple :

[Profil de Ne0tux][:uNe0tux]

Vous avez aussi les mentions : de gens, ou de groupes. L'usage des mentions de groupe trop larges type @@all sera probablement réservé à l'équipe pour éviter des problèmes :

Je pense que @Cakeisalie5 connaît la solution à ce problème.
Topic à nettoyer (@@mod).
@<pseudo>
@@all @@admin @@mod @@redac etc.

Il me reste, finalement, les smileys. Vous les connaissez assez bien pour ne pas avoir besoin d'une description. Je ne vous cache pas que j'aimerais bien remplacer les grands par des choses de taille raisonnable, ou les supprimer. Dans tous les cas, il y auras probablement de légères retouches de design sur les smileys habituels (presque rien).

Subtilités de syntaxe

Si vous n'avez pas envie de vous casser la tête, sautez cette section. Si vous pensez que la syntaxe ne va pas tenir le coup, lisez-la ; vous aurez peut-être des réponses. Si non, prévenez-moi dans les commentaires !

Pour le formatage des objets textuels, vous pouvez avoir envie de mettre un backtick dans le code. Pour ça, doublez les backticks sur le côté. Tout ce qu'il faut c'est que le code intérieur ne contienne pas la marque de fin. S'il apparaît des backticks, mais pas en même nombre, ce n'est pas grave :

``$ cat `find -iname *.c` | grep MACRO``
`function(``args``);`
```function(``args``, `arg`);```
  -- ` et `` sont tous deux présents dans le code, donc on triple

Pour le gras et l'italique, c'est pareil, sauf qu'une fois tous les comptes terminés c'est la parité du nombre d'étoiles qui détermine le type de formatage que vous demandez (impair : emphasis, pair : strong). Ça marche aussi pour les citations imbriquées (et le code, comme vous vous en doutez) :

>>>> DarkStorm
>>> Eragon
Ok sinon il y a un moyen de tester la V5?
>>>
Oui. Il suffit de la coder. :waza:
>>>>

Je prévois que le bouton « Citer » calcule automatiquement un nombre satisfaisant de chevrons si le message à citer contient lui-même des citations. Faut pas déconner non plus !

Éléments à potentiellement ajouter

J'en ai déjà cité quelques-uns. Il me vient à l'esprit :

– De quoi centrer ou justifier le texte (paramètre du message)
– Des tableaux pour faire des statistiques *o*
– Les barres horizontales (facile à faire ça)

Éléments intentionnellement omis

Avec les discussions, j'ai mis à jour cette section. Voilà ce qui en reste ; les objets qui sont pour l'instant éliminés... avec explications.

Les spoilers ont été réduits à des objets inlines pour éviter qu'ils soient utilisés pour structurer les descriptions de programmes ou des grosses docs qui devraient être séparées en plusieurs pages. Le gameplay d'un jeu ne devrait pas être caché dans une boîte ! C'est le plus important. Les titres sont plus appropriés pour structurer et les grandes images seront redimensionnées automatiquement, donc cette restriction ne devrait pas gêner outre mesure. J'ai pu oublier des cas.

Le soulignement et le texte barré sont rarement utilisés. Le gras remplit efficacement le rôle de mise en avant prévu par le soulignement, et comme Lightscript ne précise pas ce que <strong> donne comme formatage, on peut aussi opter pour italique/soulignement sans gras. Le texte barré est difficile à lire. Honnêtement, j'ai surtout éliminé ces deux-là pour des raisons de syntaxe. J'ai eu trop de mal à trouver des moyens honnêtes de les introduire dans la définition du langage.

Les liens vers une page de profil et les barres de progression étaient compliqués à intégrer à la syntaxe, mais je peux réfléchir au premier avec la syntaxe réservée, par exemple :uLephenixnoir. Le second n'a à ma connaissance jamais été utilisé de façon productive, à part pour poster des commentaires de programmes qui balançaient un chiffre au lieu de donner des éléments intéressants sur l'état de développement des projets. On s'en passera sans peine, je pense.

Conclusion

C'est un très long post, je vous remercie de l'avoir lu jusque-là. Vous avez certainement des remarques à faire : j'y répondrai de mon mieux. Merci de votre aide !


Zezombye Hors ligne Rédacteur Points: 1715 Défis: 13 Message

Citer : Posté le 02/02/2018 15:20 | #


Lephenixnoir a écrit :
D'accord, puisque vous insistez, je vais implémenter des retours à la ligne fidèles. Que fait-on pour trois, quatre... ?

Essayons d'utiliser des paragraphes quand c'est possible, tout de même.


Un retour à la ligne :
Deux retours à la ligne :

Trois retours à la ligne :


Quatre retours à la ligne :



C'est pas compliqué

Ajouté le 02/02/2018 à 16:01 :
Aussi il faudrait que le texte soit en normal par défaut, et non en justifié, tout simplement parce que le justifié ça change la largeur des espaces, et ça peut être chiant. Par exemple :

Ici la 3ème ligne en partant de la fin a des espaces trop grands.

(je vois d'ailleurs pas pourquoi tu veux mettre en justifié, sachant que je n'ai jamais vu un forum utiliser le justifié, y compris stackoverflow, ZdS, reddit qui eux utilisent le markdown)
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE
Breizh_craft En ligne Modérateur Points: 1052 Défis: 7 Message

Citer : Posté le 02/02/2018 16:48 | #


Le justifié sur les tutos et autres pavés, ouais, mais sur le forum, je plussoie l'aligné à gauche par défaut (modifiable ?).

ZZ, c'est le principe, d'agrandir les espaces, justement. Les bouquins utilisent ça. J'utilise ça dans mes rapports. Et c'est un crime de ne pas l'utiliser dans ces situations tellement ça rends les gros textes plus lisibles

9* : faire du WYSIWYG est bien plus complexe, et pas forcément pratique à l'usage (surtout d'un point de vue accessibilité), puisque ça demande beaucoup de JS (donc lent sur certaines machines, ou tout du moins gourmand en ressources, etc), surtout sur un forum. À limite, un aperçu en JS (éventuellement désactivable) pourrait être envisageable, certains forums le font.

Pour les retours à la ligne, un au plein milieu coupe bêtement la phrase (c'est moche, mais bon, si c'est l'avis général… ), une ligne vide crée un paragraphe, plusieurs lignes vides créent simplement un seul nouveau paragraphe. Ça ne sers à rien de spammer.
Breizh.pm – Un adminsys qui aime les galettes.
Lephenixnoir Hors ligne Administrateur Points: 18119 Défis: 142 Message

Citer : Posté le 02/02/2018 17:54 | #


Ninestars a écrit :
Cependant, le reste sur les liens et les notes c'est indigeste

D'un côté il y a beaucoup de choses pour faire des liens :
- Une URL brute, <url>
- Une URL avec un nom dessus, [nom](url)
- Une URL définie plus loin :

[Référence Lightscript][1]
[1]: http://www.planet-casio.com/Fr/forums/topic15022-3-Le-langage-de-forum-de-la-v5---Lightscript-(RFC).html

- Une balise target qui permet de faire un sommaire [compilation-et-installation]
- Les liens vers le wiki, [[Fxlib.h]].

Si tu trouves qu'il y en a trop, on peut en éliminer. Maintenant la plupart du temps ils ne seront pas tous utilisés. J'ai peut-être jute mal formulé ma présentation des éléments existants. Dans le doute, j'ai réécrit cette partie. Tu peux me dire si c'est plus clair pour toi ?

Ninestars a écrit :
L'utilisation du backtits est pas pratique, et pour la meme remarque que Zezombye (?) c'est désagréable. Tu ne peux pas nous proposer un autre caractère ?

C'est le Markdown standard ; je ne peux pas faire des merveilles. On (Breizh) a suggéré ~, mais même problème de touches mortes d'après Zezombye. Je vous renvoie à vous-mêmes : je mettrai un système pour que vous puissiez configurer un raccourci clavier de votre convenance, débrouillez-vous pour en trouver un qui vous plaise.

Ninestars a écrit :
L'idéal serait d'avoir dans notre boite de texte (là où je tape actuellement) le même rendu qu'un message publié. On clic sur le bouton citation, une boite de citation s'ajoute à la suite du texte, on remplie cette boite comme on veut.

Un éditeur WYSIWYG ? Tu es très, très optimiste. C'est compliqué pour plein de raisons :
- Faut plein de Javascript partout pour le faire tourner.
- C'est plus compliqué que de réaliser la traduction dans un programme, ce qui est déjà pas facile.
- Quel est le format de stockage du message ?

Ninestars a écrit :
Là ce que tu nous proposes ne change rien au BBcode hormis de changer la syntaxe des balises...

On va dire que c'est un compliment. J'apprécie vos attentions, mais excuse-moi, je fais un peu plus que changer la syntaxe des balises. Au cas où tu ne l'aurais pas remarqué, il n'y a plus de balises, il y a des éléments de syntaxe standard et un effort honnête d'intégrer l'environnement de Planète Casio au langage. BBCode est une immondice ; du haut de ma prétention, j'estime qu'on peut faire mieux pour la v5, et je m'y efforce.

Si tu penses pouvoir implémenter un éditeur WYSIWYG qui marchera proprement sur l'ensemble des plateformes visées par la v5, et cela inclut des téléphones qui n'ont ni raccourcis claviers ni écran assez grand pour toucher avec précision des boutons de la taille de ceux qui existent actuellement, et parfois un très mauvais moteur Javascript, tu es le bienvenu.

Zezombye a écrit :
Un retour à la ligne :
Deux retours à la ligne :

Trois retours à la ligne : [...]
C'est pas compliqué

Tu rigoles, mais :

Breizh a écrit :
Pour les retours à la ligne, un au plein milieu coupe bêtement la phrase (c'est moche, mais bon, si c'est l'avis général… ), une ligne vide crée un paragraphe, plusieurs lignes vides créent simplement un seul nouveau paragraphe. Ça ne sers à rien de spammer.

Soyons sérieux deux secondes, s'il y avait une réponse triviale, je n'aurais pas posé la question. Je me moque du résultat final, mais je veux savoir pourquoi on le choisit.

Le justifié est dans tous les articles, tous les livres, toutes les pages de manuel même. C'est beaucoup plus agréable à l’œil (au mien, en tous cas) que des lignes qui se terminent de façon chaotique. D'ailleurs, je ne vois pas le moindre problème avec la ligne que tu cites dans l'image que tu as postée. Comme quoi...

Bon, et soyons de nouveau sérieux, avec la longueur des lignes, sur un écran d'ordinateur le changement de longueur des espaces concerne probablement moins de deux pixels par mot. Surtout quand les navigateurs espacement imperceptiblement plus les lettres pour réduire la gêne visuelle.

Les mobiles, c'est autre chose. On peut dire que c'est à gauche par défaut sur mobile, par exemple. Si vous le voulez à gauche, d'accord. Je vais de toute façon réfléchir à une manière de le spécifier différemment du comportement par défaut (pour l'ensemble du message de préférence).
Cakeisalie5 Hors ligne Membre de CreativeCalc Points: 1769 Défis: 10 Message

Citer : Posté le 02/02/2018 19:24 | #


Lephenixnoir a écrit :
Aussi, si j'ai envie de juste écrire :u<machin> sans inline code [...]

Un escape serait bienvenu, oui. Je n'y avais pas pensé. Que dis-tu de ::u<machin> tout simplement ?

Je suis pour ! Après, si on échappe ça, faudra aussi trouver un moyen pas trop casse-tête de tout échapper, donc :

## Titre
<<< Truc
``` basic
- machin
1. lol
[lien](http://example.org)
[lien][hoho]
<hoho>
[hoho]: http://example.org
*ho*
**he**
~hi~
`hu`
$lulz$
[[truc]]
:m2451
@Cakeisalie5
@@admin


La solution la plus simple pour tout à mon sens serait de permettre les codes Unicode avec une syntaxe type &#123; pour le caractère Unicode 0x123. Et au cas par cas, si possible comme avec les ::, on peut trouver des solutions élégantes. Qu'en dis-tu ?

Promotion ordinaire sur les inscriptions sur Planète Casio : en ce moment, c'est gratuit !
Besoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
Ninestars Hors ligne Membre Points: 2257 Défis: 22 Message

Citer : Posté le 02/02/2018 19:56 | #


Lephé a écrit :
Dans le doute, j'ai réécrit cette partie. Tu peux me dire si c'est plus clair pour toi ?

Lephé a écrit :
<url> (lien "nu")
[nom](url) (lien nommé)
[[Article]] (lien vers le wiki)

En fait ce qui me gène c'est que pour un lien il y a 4 combinaisons différentes : crochets, chevrons, doubles crochets et parenthèses. Je n'arrive pas à voir la cohérence.
Cliquez pour découvrir
Cliquez pour recouvrir
Je viens de comprendre que les parenthèses autour du lien ne sont pas à écrire, c'est dans ton "tuto" que tu mets des parenthèses en fait. Je te propose de les retirer parce que ça m'a induit en erreur du coup
Lephé a écrit :
<url>
[nom](url)
[[Article]]


Mais il reste encore des parenthèses, crochets, doubles crochets et chevrons...
Comme ça ? a écrit :
<url:lien>
<url:nom:lien>
<article:lien>
<nom:ref_name>
<profil:Profil de Ne0tux:Ne0tux>
Une syntaxe comme celle ci serait possible ? Je trouve qu'on garde une certaine cohérence. Les chevrons pour donner une fonction, les deux points (ou autre chose) pour donner les "arguments" de la fonction en quelque sorte. Le problème c'est que si le texte à l'intérieur contient un chevron, on ne sait plus ou se termine la fonction.


Ok pour l'éditeur WYSIWYG, je conçois très bien que c'est une grande quantité de travail, et je suis pas certain de savoir le faire

Lephé a écrit :
On va dire que c'est un compliment. J'apprécie vos attentions, mais excuse-moi, je fais un peu plus que changer la syntaxe des balises.
Désolé, ma phrase est un peu hautaine Cependant j'ai toujours le sentiment que c'est "simplement" un changement de syntaxe des balises
D'ailleurs le BBcode devra quand même rester. Sinon que vont devenir les messages écrits sur la V42 ?
Cakeisalie5 Hors ligne Membre de CreativeCalc Points: 1769 Défis: 10 Message

Citer : Posté le 02/02/2018 20:01 | #


Pour rappel, une URI HTTP peut contenir un nom d'utilisateur et un mot de passe. Par exemple :

http://user:Email address, replace the 【arobase】 with a @ and ▶ with a . : password【arobase】example▶org/coucou?meme=avec_arguments

Donc les deux points ne sont pas appropriés dans tous les cas. Et pour rappel, c'est une reprise du markdown, pas d'autre chose, on part de quelque chose que beaucoup d'auteurs techniques connaissent déjà

Et pour le BBcode, deux possibilités :

- ce sera converti en lightscript ;
- ce sera gardé dans un premier temps et on verra après.

Dans les deux cas c'est moi qui m'occupe du code qui fait ça.

Promotion ordinaire sur les inscriptions sur Planète Casio : en ce moment, c'est gratuit !
Besoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
Ninestars Hors ligne Membre Points: 2257 Défis: 22 Message

Citer : Posté le 02/02/2018 20:13 | #


D'accord, j'apporte juste un regard critique pour débatre
En effet, c'est le problème avec les deux points
Lephenixnoir Hors ligne Administrateur Points: 18119 Défis: 142 Message

Citer : Posté le 02/02/2018 20:21 | #


Je suis pour ! Après, si on échappe ça, faudra aussi trouver un moyen pas trop casse-tête de tout échapper [...]

C'est vrai que ce serait pratique, mais d'un côté on n'a pas envie de complexifier à mort la syntaxe. J'aime bien ton Unicode, mais pour la simplicité, un équivalent de [nowiki] me paraîtrait meilleur. Si on n'y arrive pas, je supporterai de toute façon une forme d'Unicode, ce qui résout déjà le problème, quoique salement. ('Fin c'est mineur, je dirais.)

Ninestars a écrit :
En fait ce qui me gène c'est que pour un lien il y a 4 combinaisons différentes : crochets, chevrons, doubles crochets et parenthèses. Je n'arrive pas à voir la cohérence.

Je suis d'accord, dans le fond. Tes chevrons ne sont pas une mauvaise idée, mais on espérait partir de Markdown pour y ajouter les choses du forum. Normalement en Markdown, il y a juste [name](url) et [name][ref], et ces deux sont cohérents entre eux. Je vais voir ce que je peux faire pour accorder les autres dessus.

Note que, je n'ai presque rien inventé : [[Article]] ça vient de MediaWiki. Oui, par contre, j'ai un peu tout mélangé. x)

Ok pour l'éditeur WYSIWYG, je conçois très bien que c'est une grande quantité de travail, et je suis pas certain de savoir le faire

Désolé, je me suis un peu emporté. Je deviens nerveux à force : plus j'en fais, plus (statistiquement) je reçois de réactions mitigées, et dieu c'est dur.

D'ailleurs le BBcode devra quand même rester. Sinon que vont devenir les messages écrits sur la V42 ?

On peut faire de la conversion, d'ailleurs Cake en a parlé. Idéalement, la v5, fût-ce après un « délai de grâce », ne devrait plus proposer de BBcode. Trop de différences en fonctionnalités, et niveau scripts ce serait pas rentable à gérer.

D'accord, j'apporte juste un regard critique pour débatre

... merci.

Ajouté le 03/02/2018 à 10:18 :
En reprenant quelque chose proposé indirectement par Breizh, je peux suggérer la syntaxe suivante :
<http://example.org>
[lien externe](http://example.org)
[lien interne](#compilation-et-installation)
[lien par référence][ref-name]
[lien vers ressource][:uLephenixnoir]
[lien vers le wiki][[Basic Fx-CG]]

Qu'en dites-vous ? Doubler les crochets dans le dernier cas peut paraître bizarre, mais c'est pour les abréviations. Voilà ce qu'on pourrait abrévier à l'aide de cette syntaxe :

[Compilation et Installation](#)
  -- la cible est déduite du nom, ici "#compilation-et-installation"
[Tutoriel FA-124][]
  -- pareil, pointe vers la référence nommée "tutoriel-fa-124"
:uLephenixnoir
  -- c'était l'usage que je pensais en faire à l'origine
[[Basic FX-CG]]
  -- le nom de la page Wiki devient le label du lien

Le titre des liens automatiques de la forme :uLephenixnoir serait intelligent, possiblement avec un tooltip, selon le type de ressource linkée (page de profil, message sur le site, topic, programme, tutoriel, post sur le partage de graphisme, projet gitlab, rapport de bug gitlab, etc).

Notez que l'on ne peut pas faire de références dont le nom commence par ":" du coup. Je pense que c'est acceptable ?

Ajouté le 03/02/2018 à 10:34 :
Cakeisalie5 a écrit :
Je suis pour ! Après, si on échappe ça, faudra aussi trouver un moyen pas trop casse-tête de tout échapper [...]

Je ne sais pas si c'est approprié, mais on dispose de `lightscript-pas-interprété`[] éventuellement. Les crochets sont normalement là pour la coloration syntaxique, mais vides ils n'ont aucun effet. C'est un peu un recyclage de syntaxe en apparence, mais le code est bien le seul moyen d'afficher du markup non interprété jusqu'ici.

Pour l'Unicode, je ne suis pas chaud pour &#2200; pour le code point 0x2200 parce que ça usurpe le HTML pour qui c'est le code point 2200 (en décimal). On peut mettre &#x2200; par contre. C'est juste lourd (4 caractères de syntaxe).

Ninestars a écrit :
Cependant j'ai toujours le sentiment que c'est "simplement" un changement de syntaxe des balises

J'ai oublié de répondre à ça. Oui, basiquement, c'est que tu dis : juste un changement de syntaxe. Mais ça cache quelques espoirs de plus :

– Un langage plus moderne et plus efficace à taper/utiliser
– Une implémentation plus simple, plus puissante et donc (normalement) plus pérenne
– Une meilleure intégration aux éléments de Planète Casio

À mon humble avis, si ça marche comme on veut, la différence se fera déjà sentir rien que pour ça.
Zezombye Hors ligne Rédacteur Points: 1715 Défis: 13 Message

Citer : Posté le 03/02/2018 12:39 | #


Il faudrait remplacer les références avec des # au lieu des : pour que ce soit plus intuitif.
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE
Dark storm En ligne Membre d'honneur Points: 11088 Défis: 176 Message

Citer : Posté le 03/02/2018 13:26 | #


Je trouve ça moins classe, et pour le coup ça peut interférer avec du texte légitime. Qu'est ce que tu fait d'un message du type ?
J'ai refait l'interface du jeu, j'espère que ça ira. #usermod


Ajouté le 03/02/2018 à 13:28 :
L'avantage des deux points, c'est que ça ne génére aucun conflit avec les messages déjà écris. Le problème du croisillon, c'est qu'il est déjà utilisé légitimement.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Zezombye Hors ligne Rédacteur Points: 1715 Défis: 13 Message

Citer : Posté le 03/02/2018 13:47 | #


Mouais, c'est plus que les autres forums utilisent généralement le # pour un tel usage (par exemple #123 pour le message n°123).
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE
Lephenixnoir Hors ligne Administrateur Points: 18119 Défis: 142 Message

Citer : Posté le 03/02/2018 14:11 | #


À vrai dire je suis d'acord que "#" est plus intuitif pour ça. Il n'y a pas de conflit avec les titres parce qu'il suffit d'imposer aux titres de commencer au tout début de la ligne pour se désambiguer :

# Ceci est un titre
  -- titre de niveau 1
#uTotoyo est notre grand manitou à tous.
  -- référence au profil de Totoyo (notez l'espace avant le #)

Par contre je n'avais pas pensé à l'exemple de Dark Storm :

J'ai refait l'interface du jeu, j'espère que ça ira. #usermod

Pour le coup, ça m'embête un peu. N'oubliez pas qu'on a d'autres caractères disponibles. J'en cite quelques-uns :

&uZezombye |uZezombye \uZezombye ^uZezombye
%uZezombye !uZezombye /uZezombye _uZezombye

On peut certainement trouver une alternative à la fois correcte et sans conflit ("%", "^" et "!" me plaisent bien par exemple).
Zezombye Hors ligne Rédacteur Points: 1715 Défis: 13 Message

Citer : Posté le 03/02/2018 14:14 | #


Darks a fait une recherche, et il n'y a pas de problème avec les anciens messages.
(puis franchement, les hashtags quand il y a pas de système de hashtags, ça a rien à foutre là )
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE
Dark storm En ligne Membre d'honneur Points: 11088 Défis: 176 Message

Citer : Posté le 03/02/2018 14:15 | #


Pour le ^ les utilisateurs de Windows vont raler. Ben oui, c'est encore une touche morte

Je maintiens que je préfère le :, plus léger et "classe" selon moi

Et aussi que c'est juste une question d'habitude. Donc une fois en place, en deux semaines on se demandera juste pourquoi on a pas fait ça plus tôt.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir Hors ligne Administrateur Points: 18119 Défis: 142 Message

Citer : Posté le 03/02/2018 14:17 | #


Ah puis je suis con, on peut 100% écrire la quote de Darks même si le "#" est utilisé pour les références. x)

Honnêtement, les deux me vont. Si vraiment vous pouvez pas vous mettre d'accord, on peut mettre les deux...

Je me permets de remettre mes suggestions sur le liens, que j'aimerais voir commentées avant de les fixer dans le draft :

<http://example.org>
[lien externe](http://example.org)
[lien interne](#compilation-et-installation)
[lien par référence][ref-name]
[lien vers ressource][:uLephenixnoir]
[lien vers le wiki][[Basic Fx-CG]]

Avec les abréviations suivantes :

[Compilation et Installation](#)
  -- la cible est déduite du nom, ici "#compilation-et-installation"
[Tutoriel FA-124][]
  -- pareil, pointe vers la référence nommée "tutoriel-fa-124"
:uLephenixnoir
  -- c'était l'usage que je pensais en faire à l'origine
[[Basic FX-CG]]
  -- le nom de la page Wiki devient le label du lien
Dark storm En ligne Membre d'honneur Points: 11088 Défis: 176 Message

Citer : Posté le 03/02/2018 15:53 | #


+1
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir Hors ligne Administrateur Points: 18119 Défis: 142 Message

Citer : Posté le 06/02/2018 09:50 | #


Comme on ne peut pas passer des années à en discuter, je vais freezer la spec' pour l'instant le temps que j'implémente proprement ce qu'on a.

Je m'occuperai essentiellement des extensions plus tard. Pour l'instant, voici une liste (partielle) de ce que je propose comme références aux objets de Planète Casio (que j'appellerai pc-refs pour des raisons évidentes) :

Lettre/Exemple              Signification  Description
----------------------------------------------------------------
f   :f458                   (forum)        Page du forum
p   :p64                    (program)      Programme
t   :t987                   (tutorial)     Contenu d'un tuto
a   :a457                   (art)          Partage de graphismes
m   :m741                   (message)      Message précis

u   :uLephenixnoir          (user)         Profil
g   :gmod                   (group)        Page de groupe

r   :rlephe/gint            (repository)   Dépôt git
i   :ilephe/gint#4          (issue)        Rapport de bug
c   :clephe/gint#131b432c   (commit)       Détail de commit

Si vous en voyez d'autres, allez-y ! En cas de conflit, on peut passer aux majuscules.
Zezombye Hors ligne Rédacteur Points: 1715 Défis: 13 Message

Citer : Posté le 06/02/2018 17:17 | #


Je propose t pour topic et T pour tutoriel. f pour forum ça m'a pas l'air intuitif.
Et rien (par exemple :123) pour le message n°123.
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE
Dark storm En ligne Membre d'honneur Points: 11088 Défis: 176 Message

Citer : Posté le 06/02/2018 17:20 | #


Arf, je suis moyen chaud pour mélanger la casse…
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir Hors ligne Administrateur Points: 18119 Défis: 142 Message

Citer : Posté le 06/02/2018 19:28 | #


Ah oui, j'ai oublié le numéro de message. C'était :m, on peut mettre un raccourci.

Pour le topic, je suis pas très chaud. Parce que le forum de la v5 aura des pages dans les topics, dans les commentaires de programmes, dans les commentaires de tutoriels, etc. Tout sera géré de la même manière et aura la même apparence.

Donc j'aimerais éviter de mélanger le forum (gestionnaire de messages qui sera partout) des topics (boards de discussion).
Dark storm En ligne Membre d'honneur Points: 11088 Défis: 176 Message

Citer : Posté le 06/02/2018 19:39 | #


J'ai ajouté ça à ton message du coup
Finir est souvent bien plus difficile que commencer. — Jack Beauregard

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
Pour coloriser votre code, cliquez ici.
Sinon cliquez sur le bouton ci-dessous.
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2020 | Il y a 60 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd