Discussion:
Paquet(s) gérant le pliage et le dépliage de listes dans un tampon.
(trop ancien pour répondre)
Valrik
2021-12-21 17:35:32 UTC
Permalink
Déjà paru dans :
Newsgroups: fr.comp.lang.lisp
Date: Tue, 21 Dec 2021 01:24:27 +0100 (17 hours, 5 minutes, 53 seconds ago)


Bonjour à tous,

je souhaiterais développer une petite application permettant l'écoute
des antennes de Radio France.

je dispose pour cela d'une clé afin de me connecter sur leur serveur
GRAPHQL grâce à une API. j'ai effectué des essais, et j'ai pu afficher
quelques informations telles que la liste des antennes, l'adresse des
flux et une présentation pour chacune.

Mon premier reflex a été d'utiliser org-mode et cela donne un résultat,
moyennant quelques « regex », tout à fait convenable. Voilà ce que cela
donne :

* France Inter
- description : Joyeuse, savante et populaire, France Inter est la
radio généraliste de service public
- liveStream : https://icecast.radiofrance.fr/franceinter-midfi.mp3?id=radiofrance
* franceinfo

* France Bleu
- description:
- liveStream : null


Mais je me demande s'il n'existe pas un mode équivalent plus
générique. J'ai effectué une recheche sur Internet, mais je n'ai pas
trouvé, pour l'instant, d'explication claire… Enfin pour moi ;-)

Merci pour votre attention.
yves
2021-12-21 18:37:15 UTC
Permalink
Post by Valrik
Mais je me demande s'il n'existe pas un mode équivalent plus
générique. J'ai effectué une recheche sur Internet, mais je n'ai pas
trouvé, pour l'instant, d'explication claire… Enfin pour moi ;-)
Peux-tu mieux définir ce qui te pose problème avec org-mode ?

Mode plus générique, pour qui ?

Par exemple, je pense que beaucoup d'utilisateurs d'emacs sont familiers
d'org-mode (et l'apprécient beaucoup).
Valrik
2021-12-27 22:36:33 UTC
Permalink
Post by Valrik
Bonjour à tous,
je souhaiterais développer une petite application permettant l'écoute
des antennes de Radio France.
je dispose pour cela d'une clé afin de me connecter sur leur serveur
GRAPHQL grâce à une API. j'ai effectué des essais, et j'ai pu afficher
quelques informations telles que la liste des antennes, l'adresse des
flux et une présentation pour chacune.
Mon premier reflex a été d'utiliser org-mode et cela donne un résultat,
moyennant quelques « regex », tout à fait convenable. Voilà ce que cela
[...]
Mais je me demande s'il n'existe pas un mode équivalent plus
générique. J'ai effectué une recheche sur Internet, mais je n'ai pas
trouvé, pour l'instant, d'explication claire
Enfin pour moi ;-)
https://github.com/olavfosse/eradio
https://git.savannah.gnu.org/cgit/emms.git/tree/emms-streams.el
Pour le fait de plier et déplier, il existe Hideshow (plutôt pour du
https://www.gnu.org/software/emacs/manual/html_node/emacs/Hideshow.html
https://www.gnu.org/software/emacs/manual/html_node/emacs/Outline-Mode.html
https://github.com/zenozeng/yafolding.el
Si les réponses de l'API sont en Json, cela vaut sans doute la peine
d'essayer ces trois modes afin d'évaluer leur comportement. On peut
aussi tester une conversion en Yaml (par exemple avec l'outil yq,
https://mikefarah.gitbook.io/yq/usage/convert), mais il y aura
https://github.com/yoshiki/yaml-mode/issues/25
Bonjour Damien,

Merci pour cette réponse très fournie. Je vais investiguer de ce pas… Et
essayer de faire un choix pertinent ! :-)
Damien Wyart
2021-12-28 07:02:29 UTC
Permalink
Post by Valrik
Pour le fait de plier et déplier, il existe Hideshow (plutôt pour du
https://www.gnu.org/software/emacs/manual/html_node/emacs/Hideshow.html
https://www.gnu.org/software/emacs/manual/html_node/emacs/Outline-Mode.html
https://github.com/zenozeng/yafolding.el
Si les réponses de l'API sont en Json, cela vaut sans doute la peine
d'essayer ces trois modes afin d'évaluer leur comportement. [...]
Bonjour Damien,
Merci pour cette réponse très fournie. Je vais investiguer de ce pas. Et
essayer de faire un choix pertinent ! :-)
Bonjour,

Entre temps j'ai également repensé à Origami, qui devrait sans doute
être mieux adapté à du contenu au format JSON.

https://github.com/gregsexton/origami.el
--
DW
Damien Wyart
2021-12-29 07:47:55 UTC
Permalink
Post by Damien Wyart
Entre temps j'ai également repensé à Origami, qui devrait sans doute
être mieux adapté à du contenu au format JSON.
https://github.com/gregsexton/origami.el
J'ai regardé sur Github. Cela semble très complet et adaptable. Par
contre, il n'y a pas de support natif annoncé de « Json ».
Le sujet est vraiment très vaste, j'ai encore trouvé de nouvelles
informations ;-)

- Json (Javascript Object Notation) est très lié à Javascript et comme
Origami annonce un support Javascript, j'avais supposé que cela
fonctionnerait peut-être, éventuellement en activant le mode JS
(intégré à Emacs) ou JS2 (plus complet) ; mais ça n'est effectivement
sans doute pas le cas d'après ce j'ai lu ensuite (j'ai eu un peu la
flemme de tester, je n'utilise pas JS ni Json dans Emacs)

- il existe un "fork" du mode origami avec un support additionnel pour
Json :
https://github.com/elp-revive/origami.el
https://github.com/elp-revive/origami.el/blob/master/origami-parsers.el#L926

- j'ai également trouvé sur un vieux forum ceci qui améliore la prise en
charge de Json par le mode hideshow :

(setcdr (assoc 'js-mode hs-special-modes-alist) '("[{[]" "[}\\]]" "/[*/]" nil))

(par défaut, seules les {} sont prises en compte, ici on ajoute [])

- puisque l'on parle de Json, le mode le plus connu pour ça est
https://github.com/joshwnj/json-mode mais il n'y a rien concernant le
masquage d'éléments, il s'agit uniquement d'améliorer la visualisation ;
cet autre mode a bien cette fonctionnalité mais il n'est plus
maintenu : https://github.com/UwUnyaa/json-mode

- il existe un mode dédié à la "navigation" Json mais qui travaille avec
un buffer additionnel donc sans doute pas adapté au besoin initial ;
je le cite juste pour être complet :-)
https://github.com/DamienCassou/json-navigator
--
DW
Valrik
2021-12-30 00:01:33 UTC
Permalink
Et bien, tu as sacrément bien travaillé !
J'ai fait une copie locale de ton message.

Pour ma modeste part, en compulsant l'outil de paquets (que je ne
connais pas du tout), j'ai trouvé un peu par hasard les choses
suivantes:

- allout : built-in
- foldout : built-in
- loccur : available, recherche d'occurrences.

Les deux premiers ont l'avantage d'être installés sur ma distribution
(Debian). On les retrouve d'ailleurs mentionnés dans les pages info
d'Emacs. Pfff… Lorsque on ne veut pas voir !

Quant au troisième, c'est original et à garder sous le coude.

Encore merci pour ton aide efficace. :-)
Damien Wyart
2021-12-30 07:38:22 UTC
Permalink
Post by Valrik
Et bien, tu as sacrément bien travaillé !
;-)
Post by Valrik
Pour ma modeste part, en compulsant l'outil de paquets (que je ne
connais pas du tout), j'ai trouvé un peu par hasard les choses
- allout : built-in
- foldout : built-in
- loccur : available, recherche d'occurrences.
Je ne connaissais pas, c'est impressionnant le nombre de modules/paquets
différents qui ont été cité dans cette discussion ! Le monde Emacs est
vraiment d'une grande richesse !
--
DW
Valrik
2021-12-27 22:38:32 UTC
Permalink
Post by yves
Post by Valrik
Mais je me demande s'il n'existe pas un mode équivalent plus
générique. J'ai effectué une recheche sur Internet, mais je n'ai pas
trouvé, pour l'instant, d'explication claire… Enfin pour moi ;-)
Peux-tu mieux définir ce qui te pose problème avec org-mode ?
Mode plus générique, pour qui ?
Par exemple, je pense que beaucoup d'utilisateurs d'emacs sont familiers
d'org-mode (et l'apprécient beaucoup).
Désolé pour les non-utilisateurs de Free, cet article est un doublon pour
eux.
@+
Hello Yves, merci pour ta réponse.
Post by yves
Peux-tu mieux définir ce qui te pose problème avec org-mode ?
Mode plus générique, pour qui ?
Ben en fait, je tâtonne un peu… je voulais juste connaître toutes les
possibilités offertes et me lancer d'emblée avec la bonne technologie.
Le serveur semble répondre en « Json » (j'aurais du le préciser), mais
je ne connais pas bien cette technologie. Je me demandais donc si un
paquet était plus adapté pour cette situation.
Post by yves
Par exemple, je pense que beaucoup d'utilisateurs d'emacs sont familiers
d'org-mode (et l'apprécient beaucoup).
Effectivement et, moi-même, je l'utilise beaucoup. Ce serait donc un
choix sans doute pertinent.


Sinon, il y a Damien qui propose d'autres choix : à creuser donc.
Loading...