This is the old SliTaz forum - Please use the main forum.slitaz.org

man.sh: lecteur de manpages françaises
  • babaorumbabaorum December 2009
    Voilà un point noir de taille chez SliTaz: pas de manpages. Bon je comprends, elles prennent un peu de place.
    Par conséquent vous ne trouverez pas, ni par Busybox ni autrement, d'utilitaire "man".
    Voilà son remplaçant, le script le plus simple et le plus stupide qui soit, qui va chercher la page sur le net, et l'affiche avec le navigateur prédéfini (je conseille retawq qui s'accord bien de la ligne de commande et dont le mode texte enrichi ne nuiera pas à l'affichage de ce type de contenu).
    La configuration se fait au sein du script, réduit à sa portion congrue: éditer la commande qui lance la page web.


    #!/bin/sh
    # man.sh - substitut à la commande man

    # ici je choisis le navigateur texte retawq ouvert dans un nouveau terminal personnifié,
    # mais ça pourrait être firefox, midori, ce qu'on veut...
    xterm -T "Manpage for $1" -e "retawq http://www.linuxmanpages.com/man1/"$1".1.php"
  • LuXLuX December 2009
    Bonjour Baborum,

    j'ai écrit il y a quelques mois un script légèrement moins court pour répondre à la même carence. Il se trouve encore quelque part dans l'ancien forum... :-(

    Plus exactement j'ai réalisé deux variantes du script entre lesquelles je n'ai jamais pu trancher : l'une qui donne à l'utilisateur la possibilité de choisir facilement sur quel site web de pages de manuel le programme ira piocher par le biais de 'plugins' (un plugin = un site) au prix d'une certaine complexité, et l'autre qui ne les prend que sur un seul site (multilingue bien sûr) mais là, j''hésite toujours sur le site à retenir.

    Ta commande (qui aurait bien sa place dans un .profile sous la forme d'un 'alias') tranche le dilemne : plus KISS que ça, tu meures ! Cela dit elle ne permet quand même pas tout-à-fait la même chose. Parmi les principales fonctionnalités que je proposais (outre le choix du site web) et qui m'avaient motivé à écrire ce(s) script(s) :

    - Recherches de pages de man prioritairement dans la langue déterminée par les locales de l'utilisateur (si une traduction est trouvée, sinon page en anglais of course) converties en texte et affichées avec less.

    - Recherche de pages dans toutes les sections du manuel (ta commande ne fonctionne que pour la section 1).

    - Support de la plupart des options courantes de la commande 'man' et notamment : -L pour forcer la langue anglaise (ou une autre), -S pour limiter la section, -a pour afficher toutes les pages d'une commande donnée, -H pour choisir un affichage dans un navigateur graphique.

    - Mise en cache des N dernières pages trouvées (un cache par utilisateur, N réglable).

    - Recherche préalable parmi les éventuelles pages de manuel locales, notamment celles des commandes de Slitaz (et oui...).

    Est-ce que ça intéresse quelqu'un ?

    Cordialement,

    LuX.

  • babaorumbabaorum December 2009
    LuX a écrit:

    Est-ce que ça intéresse quelqu'un ?


    Ben moi forcément. ^^

    Mais j'ai les deux sur mon dur, mannet et mansquad, et si le second me permet d'avoir les manpages depuis le net dans less, avec les codes de formatage en littéral et une mauvaise mise en pages, le premier n'a jamais donné aucun résultat, même après avoir trituré le code.

    Je suis d'ailleurs incapable de dire pourquoi.
    Mon script fonctionne à tous les coups jusqu'à présent (tant que le site web perdure). :P

    -- Babaorum
  • LuXLuX December 2009
    Bonjour Babaorum,

    Babaorum a écrit
    Mais j'ai les deux sur mon dur, mannet et mansquad


    Ah, je ne savais pas. Désolé pour les problèmes que tu rencontres avec ces scripts, mais je ne vois pas trop pourquoi : chez moi ils fonctionnaient tous les deux et sur l'ancien forum je ne me souviens pas avoir eu de retour négatif (j'ai pu en oublier, je te l'accorde).

    - Peux-tu me dire quelle version tu as (j'espère avoir mis une date en commentaire en tête de programme) ?

    - Sais-tu si chez toi les scripts utilisent retawq ou links ou rien du tout ? Si links est installé, normalement c'est lui qui est utilisé car il gère beaucoup mieux les accents que retawq (au moins chez moi, en UTF-8) mais ça dépend des versions.

    - Peux-tu me donner un ou deux exemples de commandes dont les pages de man s'affichent mal via ces scripts, et les défauts que tu y vois (sur ces pages) ?

    Merci,

    LuX.

    PS : Cette discussion n'a peut-être pas vraiment sa place dans ce forum, mais je n'ai pas vu comment écrire directement à l'un des membres sans faire un post global (on pouvait faire ça dans l'ancien forum).

  • babaorumbabaorum December 2009
    Ils n'utilisent ni links ni retawq, c'est less qui tente de sortir quelque chose: échec pour mannet, réussite mitigée pour mansquad (le contenu est là, lisible mais la mise en page est un peu chaotique); ça concerne toutes les commandes: man, echo, ln, ce que tu veux, j'en ai essayé plein.

    Si j'y pense, je te ferai une capture d'écran.

    Malheureusement pas de numéro de version dans le source pour l'un ou pour l'autre :-/

    Je ne pense pas qu'on nous en veuille de discuter ici... on reste tout de même dans le bon sujet. ;-)
  • LuXLuX December 2009
    Pas de retawq ni links = version proche de la dernière version que je possède.

    Pas de date de version = version non définitive.

    Bon, cela dit qu'entends-tu par "mise en page un peu chaotique" ? S'il s'agit seulement de la taille des lignes qui est supérieure à celle de la fenêtre de terminal, il suffit de l'élargir un peu avant d'appeler mansquad. Ou bien s'agit-il d'autre chose ?

    D'autre part, je suis surpris que tu conseilles retawq. Chez moi, ce navigateur traite TRÈS mal tous les caractères non ascii, ce qui est TRÈS génant pour tout le monde sauf les anglophones. J'ai bien vu que tu les lisais en anglais, mais les pages de man en français c'est quand même bien sympa aussi... et c'est d'ailleurs le titre que tu as donné à cette discussion !

    Par exemple pour lire http://www.linux-france.org/article/man-fr/man1/mv-1.html avec retawq je dois être capable de déchiffrer :

    Si le dernier argument est le nom d'un rM-ipertoire exisM--
    tant, mv placera tous les autres fichiers M-` l'intM-irieur de
    ce rM-ipertoire, en conservant leurs noms.


    Avec links, c'est déjà beaucoup mieux, mais pas encore parfait :

    Si le dernier argument est le nom d'un repertoire exis
    tant, mv placera tous les autres fichiers `a l'interieur de
    ce repertoire, en conservant leurs noms.


    Est-ce que cette page s'affiche mieux chez toi avec ces navigateurs ? Et si oui, quel encodage utilises-tu (je suis en UTF-8) ?

  • babaorumbabaorum December 2009
    LuX a écrit:
    J'ai bien vu que tu les lisais en anglais, mais les pages de man en français c'est quand même bien sympa aussi... et c'est d'ailleurs le titre que tu as donné à cette discussion !



    Enfer et damnation... effectivement j'ai dû coquiller (="faire une coquille") sérieusement ^^ Effectivement l'anglais ne me pose aucun problème et je lis les docs en natif... mais à la base, les pages devaient tout de même être en français dans mon exemple ! Je crois que je me suis trompé de site, il y a un strict équivalent en français, mais mes signets Internet ne m'aident pas du tout à le retrouver. :-/
    Hélas la confusion anglais-français est fréquente chez moi, d'autant plus facile dans le jargon technico-informatique. Même mon système est un gigantesque foutoir mi-français mi-anglais.

    Pour le reste: oui, il y a d'une part la largeur des lignes qui est doublée (certains passages à la ligne, \n ou \r je ne sais pas, ne passent pas et la largeur totale de l'écran n'y suffit pas si la ligne est grande à la base) à certains endroits et surtout ce qui me semble être un problème de mauvais encodage des caractères.

    Alors si on parle d'encodage heu... je viens de réaliser avec une certaine honte que non, je ne suis pas en Unicode 8-bit ! 0_o
    Damnit... encore un truc à refaire.

    Je viens d'essayer de lire la même page que tu proposes:

    - avec retawq: http://www.hiboox.fr/go/images/informatique/20091207-1219-retawq-manpages,d45c7bf09994aa38b199f56424deda2c.png.html

    - avec links: http://www.hiboox.fr/go/images/informatique/20091207-1219-links-manpages,8ff80ffc88b2a33542fe82cdcb78055f.png.html

    Comme tu pourras le voir, du coup, il n'y a pas de problème. D'ailleurs il me semble que le site que j'utilisais était bien Linux-France `^_^

    Regards
  • LuXLuX December 2009
    Bonjour Babaorum

    Baborum a écrit
    Pour le reste: oui, il y a d'une part la largeur des lignes qui est doublée (certains passages à la ligne, \n ou \r je ne sais pas, ne passent pas et la largeur totale de l'écran n'y suffit pas si la ligne est grande à la base) à certains endroits et surtout ce qui me semble être un problème de mauvais encodage des caractères.


    "Enfer et damnation"... comme tu dis. Si on compare les résultats des mêmes commandes chez toi et chez moi on obtient des résultats opposés :

    - retawq : parfait chez toi, très mauvais chez moi (encodage pourri)

    - links : moyen chez toi comme chez moi (conversion en ascii pur un peu sauvage)

    - mansquad, c-à-d wget+less : très mauvais chez toi, presque parfait chez moi.

    Par "presque parfait" je veux dire que d'une part les lignes sont 10% plus longues que la largeur par défaut du terminal, mais il suffit de l'agrandir un peu et c'est bon, et que d'autre part certaines pages de man sur ce site sont buggées (tronquées, ou contenant des caractères �, visibles aussi bien avec firefox).

    Comme heureusement ce défaut n'est pas trop fréquent et que c'est le seul site multilingue que j'ai trouvé dont les pages de man soient entre balises <pre>...</pre> (condition nécessaire pour m'épargner les problèmes posés par retawq et links), je m'en accomodais jusqu'ici, le résultat pour les autres pages (la grande majorité) étant parfait chez moi.

    Ça va donc être dur de trouver une solution universelle... Chez toi comme chez moi il doit bien s'agir avant tout d'un problème d'encodage, mais une fois qu'on a dit ça on n'est pas bien avancé.

  • LuXLuX December 2009
    Pour trouver une meilleure solution (j'entends par là une solution qui ait des chances de fonctionner pour tout le monde) il faudrait sans doute savoir répondre à au moins l'une des questions suivantes.

    retawq peut-il supporter l'UTF-8 ? Chez moi il ne le supporte pas, mais c'est peut-être résoluble par un réglage ou une recompilation ad hoc Je n'ai rien vu à ce sujet sur leur site. Peut-être qu'un expert en retawq pourrait nous renseigner. (Y'a quelqu'un ?...)

    Pourquoi wget te donne-t-il des fichiers sans retour-chariot ? J'imagine que les fichiers sur le site de mangnusquad sont en UTF-8 et que wget les convertit à la volée en Latin1 chez toi, puisque c'est ton encodage, et que dans cette conversion les retour-chariots sont (bizarrement) abimés. Peux-tu vérifier en lisant avec less un fichier de mangnusquad téléchargé à la main avec wget ?

    $ wget http://man.gnusquad.org/ls/section-1/fr/

    Chez moi le fichier obtenu a les retour-chariots et les accents à leur place entre les balises <pre>...</pre>. À comparer avec :

    $ wget http://www.linux-france.org/article/man-fr/man1/ls-1.html

    Là, par contre, le fichier a des � partout à la place des caractères accentués. Cependant les retour-chariots sont à leur place. D'où la double question subsidiaire :

    wget fait-il des conversions d'encodage sans qu'on le lui demande ? Peut-on le forcer à en faire de telle ou telle façon en fonction du site et de l'encodage local ?

    Note : La lecture d'une page de mangnusquad avec retawq donne chez moi un résultat encore pire que sur linuxfrance :

    Afficher les informations des FICHIERs (du rM-CM-)pertoire courant par
    dM-CM-)faut). Les entrM-CM-)es sont triM-CM-)es alphabM-CM-)tiquement si aucune des options
    -cftuvSUX ou --sort nM-b~@~Yest utilisM-CM-)e.


    Pas beau à voir, hein ?

    Cordialement,

    LuX.



  • babaorumbabaorum December 2009
    Salut, et bien écoute oui: wget fait des conversions "en douce":

    - en téléchargeant http://man.gnusquad.org/ls/section-1/fr/ j'ai less qui me foire certains retours chariot ET les caractères non ASCII

    - en téléchargeant http://www.linux-france.org/article/man-fr/man1/ls-1.html less m'affiche correctement les caractères non ASCII mais toujours pas les retours chariot

    Au sujet des retours chariot

    En fait tout tient dans la largeur de l'écran du terminal de commande (xterm dans mon cas). Si j'agrandis sa largeur, les lignes foireuses complètent exactement le supplément de largeur, mais ne dépassent pas.

    C'est exactement le même cas que pour mansquad.

    Les lignes ne dépassent plus la largeur de l'écran du terminal de commandes car j'ai repris la configuration par défaut d'xterm. J'ai essayé "pour voir", sans trop savoir ce que j'avais mal configuré (mais j'avais trifouillé le comportement par défaut d'xterm au tout début, probablement sans trop en maîtriser les effets). Ca venait donc de moi... Le problème persiste, mais un peu différemment de ce que j'ai décrit au début.

    Le seul réel problème *important* reste les caractères spéciaux/non ASCII/accentués.

    La piste de wget est la bonne. ;-]

    -- Babaorum
  • LuXLuX December 2009
    Bonjour Babaorum,

    Babaorum a écrit
    Salut, et bien écoute oui: wget fait des conversions "en douce":


    Et bien écoute, non: je n'ai pas l'impression.

    J'ai du mal à saisir ce que tu me dis sur les retour-chariots, mais apparemment avec le réglage par défaut du xterm les lignes ne dépassent plus une fois que tu agrandis un peu le terminal, ce qui me parait un comportement normal. Je considère donc qu'il n'y a plus vraiment de problème de ce côté-là.

    En revanche pour les accents, je ne crois pas que ce soit wget qui fasse des conversions, au contraire : un coup d'oeil au menu "Affichage->Encodage des caractères" de Firefox permet de vérifier que mangnusquad est en utf8 et linuxfrance en latin1 (iso-8859-1).

    Or si on télécharge leurs pages de manuel par wget, chez moi qui suis en utf8 celles de mangnusquad sont bien (à quelques exceptions près) et celles de linuxfrance sont nazes, tandis que chez toi qui est un latin1 c'est le contraire. C'est parfaitement cohérent avec l'encodage initial de ces pages, qui n'est donc sans doute pas converti par wget (ce qui parait normal).

    En conclusion, je réalise un peu tard que mon script qui téléchargeait par wget la page sur mangnusquad pour en extraire le texte sans autre conversion fournit forcément un texte en utf8, lequel n'est pas lisible dans un système en latin1 (et pas lisible dans xterm de toutes façon, il faut un terminal supportant l'unicode comme celui que j'utilise).

    Pour avoir un script qui fonctionne indépendamment de l'encodage local, il faut donc soit post-traité tout ça à coup de iconv pour reconvertir d'utf8 en latin1 ou le contraire, selon l'encodage local et celui de la page initiale, ce qui est une bidouille assez casse-gueule, soit passer par un navigateur web qui sache faire cela tout seul correctement or je n'en connais aucun en mode texte !

  • LuXLuX December 2009
    En effet :

    - retawq fonctionne vraiment mal dans ma Slitaz en utf-8.

    - links fonctionne raisonnablement, et de la même façon chez toi que chez moi, mais au prix de l'élimination de tous les accents (et qu'est-ce que ça doit être pour les pages en chinois !).

    Il n'y a donc sans doute pas de solution universelle simple, à moins de passer par un affichage dans un navigateur graphique plus évolué, voire de laisser à l'utilisateur le choix entre plusieurs modes d'affichage et plusieurs sites de pages de man (ayant des encodages différents) comme j'avais essayé de le faire avec mes "plugins".

    Mais cette dernière solution me semble aujourd'hui bien lourde... :-(

    Cordialement,

    Lux.
  • LuXLuX December 2009
    Bonjour Babaorum,

    les problèmes d'encodage dont je parle plus haut ne concernent évidemment pas les pages de manuel en anglais. Pour celles-ci, le script ci-dessous est tout aussi court que celui que tu proposais (seule l'URL est plus longue) avec en plus :

    - pas de dépendance à un navigateur (comme dans mannet on utilise wget pour récupérer la page et less pour la visualiser, mais bien sûr on pourrait utiliser un navigateur web si on voulait) ;

    - fonctionne pour toutes les sections (essaye par exemple 'man2.sh malloc').

    #!/bin/sh
    # man2.sh - un autre substitut a la commande man (en anglais)

    wget -O - "http://manpages.debian.net/cgi-bin/man.cgi?query=$1&apropos=0&sektion=0&manpath=Debian+5.0+lenny&format=ascii&locale=en" 2> /dev/null | less


    Cordialement,

    LuX
  • babaorumbabaorum December 2009
    Très bien !
    Tu sais moi je suis adepte de la plus grande simplicité. "Des utilitaires simples pour faire correctement des tâches simples" est une doctrine que je ne prends pas à la légère.

    Sans vouloir te vexer (je pense que tu comprendras le trait d'humor): ce script est la meilleure version de substitut de man que tu aies pondue. ^^

    Cordialement,

    -- Babaorum
  • LuXLuX December 2009
    Bonjour Babaorum !

    Merci du compliment... à double sens. ;-) Cela dit :

    1) Je n'ai aucun mérite, je suis juste tombé (enfin) sur LE site qui fournit exactement ce qu'on attends d'un service de ce type. Merci Debian !

    2) Je reste frustré de ne pouvoir obtenir aussi simplement les traductions quand elles existent, à cause de cette stupide histoire d'encodage. Les autres options n'étaient pas vitales mais la traduction, ça me manque vraiment.

    Cordialement,

    LuX.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In Apply for Membership

SliTaz Social