Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Paquet(s) gérant le pliage et le dépliage de listes dans un tampon.

7 réponses
Avatar
Valrik
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.

7 réponses

Avatar
yves
Valrik writes:
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).
Avatar
Valrik
Damien Wyart writes:
* Valrik in fr.comp.applications.emacs:
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 :

[...]

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 ;-)

Voici quelques pistes qui me viennent en tête :
Pour la partie écoute radio, peut-être s'inspirer de :
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
code) et Outline (plutÍ´t pour du texte) :
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
Yafolding était également réputé mais ne semble plus vraiment évoluer :
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
sans doute besoin d'ajustements manuels :
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 ! :-)
Avatar
Valrik
yves writes:
Valrik writes:
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.
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.
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.
Avatar
Damien Wyart
Pour le fait de plier et déplier, il existe Hideshow (plutÍ´t pour du
code) et Outline (plutÍ´t pour du texte) :
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

Yafolding était également réputé mais ne semble plus vraiment évoluer :
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. [...]


* Valrik in fr.comp.applications.emacs:
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
Avatar
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


* Valrik in fr.comp.applications.emacs:
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
Avatar
Valrik
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. :-)
Avatar
Damien Wyart
* Valrik in fr.comp.applications.emacs:
Et bien, tu as sacrément bien travaillé !

;-)
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.

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