Salut Raphaël,

From: Raphaël POITEVIN <[EMAIL PROTECTED]>
Subject: Re: [CBLX] Lecteur d'ecran en console
Date: Sun, 17 Aug 2008 17:28:54 +0200

> Bonjour Pierre,
> ---- Original Message ----- 
> From: "Pierre Lorenzon" <[EMAIL PROTECTED]>
> To: <carrefourblinux@lists.freearchive.org>; <[EMAIL PROTECTED]>
> Sent: Friday, August 15, 2008 3:27 PM
> Subject: Re: [CBLX] Lecteur d'ecran en console
> 
> 
> > From: [EMAIL PROTECTED]
> > Subject: [CBLX] Lecteur d'ecran en console
> > Date: Fri, 15 Aug 2008 12:46:42 +0200 (CEST)
> >
> >> Bonjour, qui utilise un lecteur d'écran vocal en console ?
> >
> >  À mon avis pas grand monde. Et tout simplement parce qu'il
> >  faudrait avoir de bonne raisons de faire ça. Mon opinion
> >  c'est que c'est rigoureusement impraticable pour utiliser des
> >  applis. Ca se justifierait à la limite pour des opérations de
> >  maintenance système de très bas niveau et si on n'a pas de
> >  braille. Sans quoi, lesdites opérations se font plus aisément
> >  avec un afficheur braille. Pour de l'utilisation courante, il
> >  faut selon moi utiliser des environnements intégrés : deux
> >  philosophies alors : emacs+speechd-el ou apparenté ou gnome+
> >  orca.
> Excuses-moi Pierre, mais tu es là pour me persuader et je suis sûr que tu 
> vas finir par y arriver car j'ai beaucoup de mal à me faire à l'idée de me 
> calfeutrer dans un environnement dit "fermé" comme Emacs, meme si tu jures 
> que ça ne l'est pas. J'avoue ne pas avoir eu le temps encore de m'y mettre 
> mais ça va venir. Cependant, il y a des choses qui me
> chifonnent lorsqu'on 

  Rassure-toi Raphaël, j'ai eu la même réaction que toi quand
  je suis arrivé à Linux : et pour cause je venais du dos où
  j'avais l'impression de pouvoir tout contrôler à travers
  sonolect, et philosophiquement ça me gênait de voir emacs
  m'"écranter" le système. Jusqu'au jour où j'ai compris que
  sous emacs on ne se calfeutre pas mais qu'au contraire on
  s'ouvre des horizons. 

  Il faut distinguer suivant le niveau avec lequel on interagit
  avec le système. Pourquoi s'évertuer à faire indéfiniment un
  ls -al en console et à se débrouiller comme on peut pour lire
  la sortie, (ce qui devient une vraie galère si elle dépasse
  un écran) plutôt que d'utiliser m-x dired sous emacs dont la
  sortie est rigoureusement la même que celle de ls -al sauf
  qu'on peut naviguer dedans (avec écho sonore grâce à
  speech-el) et éventuellement utiliser les possibilités du
  file manager.

  Si vraiment on a l'impression qu'emacs nous cache quelque
  chose (et je crois que c'est ça, le fond de l'affaire, on
  aurait l'impression qu'emacs fait des choses pour nous alors
  qu'on est bien assez grand pour les faire) et bien reste
  toujours le M-x shell qui ouvre un buffer shell dans lequel
  on est exactement comme dans la console sauf que c'est
  sonore. On s'apperçoit à termes qu'il est bien plus efficace
  d'utiliser, quand elle existe, la surcouche emacs prévue pour
  piloter l'application qu'on a en vue. En fait les concepteurs
  de ces interfaces jouent rarement à dissimuler : il
  restituent peu ou prou l'output de la commande mais en
  donnant au texte des "properties" (dans le jargon emacs) qui
  permettent de déclencher un certain nombre d'actions 
  lorsque on fait return sur une portion du texte.  



> veut utiliser d'autres softs que Emacs n'intègre pas comment fait-on ? Par 
> exemple, un logiciel pour écouter du son qui n'a pas l'air d'exister même si 
> tu y travailles, un logiciel de conversation sur internet, un logiciel de 
> voix sur IP et j'en passe. Pour le moment, j'avoue pour le
> peu de choses que 

  D'abord, il y a un certain nombre de choses qu'emacs intègre
  et il serait à mon avis dommage de se priver de
  celles-là. Pour celles qu'il n'intègre pas, M-x shell ne sera
  sans doute pas pire que yasr. Il y a un certain nombre
  d'applis pour lesquelles il faut effectivement encore &écrire
  des interfaces. 

  Pour le son tu peux utiliser un play, aplay standard. Le plus
  simple c'est d'ouvrir le file manager d'emacs : M-x dired
  <nom du dir> <ret> (ou C-x d) de placer le curseur sur le
  fichier que tu veux jouer et de faire M-! on te demande le
  nom de la commande à exécuter et là tu entres ton player
  favoris : play, aplay ou que sais-je. Problème, c'est en mode
  synchrone donc emacs n'est plus utilisable tant que tu n'as
  pas interrompu le programme (avec C-g par ex) ou qu'il n'est
  pas terminé. Cela dit si tu veux le faire jouer en mode
  asynchrone et faire du java avec (euh je ne sais pas ce que
  tu écoutes) dans les oreilles, je peux te faire les 4 lignes
  de code pour faire ça :

  (defvar player "alsaplayer"
  "Nom de l'exécutable à utiliser")

(defun play ()
  (interactive)
  (start-process "Play"
                 nil
                 player
                 (dired-get-file-for-visit)))


Tu vas dans le répertoire où est ton fichier à jouer, tu mets
le curseur sur la ligne où est le fichier que tu veux jouer et
tu fais M-x play et c'et polié !

Tu as là une réponse à une de tes questions ultérieures : vas
t'en demander à bash après avoir fait un ls quel est le fichier
sur la ligne où se trouve le curseur ... Emacs est ainsi fait
que le langage de programmation est bourré de routines qui te
permettent grosso-modo d'interroger emacs sur ce qu'il fait, ce
qu'il a fait (et n'exagérons rien mais dans une certaine mesure
ce qu'il va faire.) Note que je crois que gnome est
suffisamment bien conçu pour que ce soit à peu près pareil. 
> je fais, c'est-à-dire de la découverte avec mes vieilles habitudes du dos, 
> n'utiliser que la console et ne pas passer par Emacs même si ça me dérrange 
> de nepas avoir le vocal pour travailler à toutes vitesse comme je le fais 
> d'habitude.

  Ben essaye au moins le emacs plus M-x shell tu auras au moins
  une console vocale brute de décoffrage. 


> >
> >  Oui on l'a fait par le passé, sonolect n'était rien d'autre
> >  qu'un lecteur d'écran en console sous dos mais quand on songe
> >  aux acrobaties qu'il fallait faire pour fabriquer des modules
> >  qui pilotent plus ou moins bien les applis qu'on voulait
> >  utiliser on est content du confort qu'on a aujourd'hui en
> >  passant par des intégrateurs de tâches.
> Et on aurait pas ce problème de sonorisation avec Emacs pour utiliser un 
> autre logiciel ? Il ne me semblait pas si complexe d'écrire un fichier pour 
> sonoact mis à part un coût en temps. Bon tu vas me dire que je mélange tout 
> et ça ... c'est certainement vrai.

  Non je t'ai expliqué plus haut que quand emacs lance un
  sous-process (la méthode pour contrôler une appli) il garde
  un contrôle très serré sur les flux entrant et sortant à tout
  le moins. avec une fonction comme start-process qui permet
  par exemple de filtrer les entrées et les sorties. 


> 
> Concernant YASR, d'après toi ça serait une solution au pied levé ? Ca ne 
> vaudrait pas le coup de s'y pencher un peu pour voir ?

  Moi en tout cas je ne me pencherai pas: je resterai "droit
  dans mes bottes!"  Bah psychorigide diront certains ! Mon
  opinion est que yasr ne fera jamais mieux que le M-x shell
  sous emacs et ça c'est ce qu'on a de pire sous emacs : moralité
  le mieux de yasr ne sera jamais que le pire d'emacs.Euh euh,
  il faut savoir raison garder, si on doit faire de l'admin
  système sans braille, on est peut-être obligé d'avoir recours
  à des trucs comme yasr plus économiques qu'emacs. Lorsque
  j'installe une linux from scratch je ne peux avoir emacs qu'à
  la fin de la phase de base : le début ça se fait avec
  brltty. J'avoue que là ça pourrait être délicat d'être dans
  un shell qu'on ne contrôle pas dans le moindre détail : une
  variable d'environnement de travers et tout est par terre.  


> >
> >  Petit point d'histoire qu'il est toujours important de
> >  rappeler, et dont je dois faire mention au moins une fois par
> >  mois sur cette liste : si Raman a choisi de sonoriser emacs
> >  et pas bash c'est qu'il y avait, et qu'il y a toujours de
> >  bonnes raisons à ça. Il est techniquement très difficile
> >  d'interagir avec bash alors que c'est un jeu d'enfant avec
> >  emacs et qu'apparemment ça n'est pas si compliqué que ça sous
> >  gnome.
> Et pourquoi est-il difficile d'interragire avec bash ?

  Parce que le langage est horrible ! Bon ça c'est peut-être un
  avis personnel: et puis ça n'est pas la vrai question : non
  c'est juste qu'il est trivial d'interagir avec emacs. On peut
  se glisser sans difficulté dans la main loop et réagir à peu
  près à chaque changement de l'environnement qu'emacs vous
  signale gentiment. C'est comme ça qu'est fait speechd-el par
  exemple. Il y a d'autres mecanismes subtiles comme le fait
  d'"adviser" une fonction qui consiste essentiellement à
  l'embaler dans un morceau de code sans la modifier : pour la
  maintenance c'est tout bénef si la fonction change un peu
  (pas trop bien sûr) l'embalage peut rester valable. Et puis
  dernier point et non des moindres, tout ça est fait dans le
  langage d'emacs et pas dans le code du moteur principal. Donc
  pas besoin de recompilations aussi douteuses que coûteuses
  pour que ça marche. 

  Et puis rien ne vaut ce que les concepteurs d'emacs disent de
  lui : "Emacs is the extensible, customizable, self-documenting real-time
display editor. " Et moi qui le pratique depuis près de 10 ans
  maintenant, je dis que ce n'est pas que de la pub ! 

  Pierre

_______________________________________________
Liste de diffusion CarrefourBLinuX 
    CarrefourBLinuX@lists.freearchive.org
    http://lists.freearchive.org/mailman/listinfo/carrefourblinux
Pour s'inscrire par courriel : 
    'mailto:[EMAIL PROTECTED]'
Pour se retirer de la liste par courriel : 
    'mailto:[EMAIL PROTECTED]'

Archives : http://lists.freearchive.org/pipermail//carrefourblinux
Anciennes archives (Yahoogroupes) :
    http://fr.groups.yahoo.com/group/carrefourblinux/messages
Rechercher : http://lists.freearchive.org/cgi-bin/search.cgi

Signets : http://fr.groups.yahoo.com/group/carrefourblinux/links/
Fiches EDU : http://blinuxwiki.pbwiki.com/FichesEdu

Répondre à