Documentation Edbrowse, guide de l'utilisateur

Chapitre 0, Table des matières

Chapitre 1, préface

Chapitre 2, guide de référence rapide

Chapitre 3, l'éditeur

Chapitre 4, navigateur web

Chapitre 5, Javascript

Chapitre 6, scripts d'Edbrowse et le fichier de configuration

Chapitre 7, client de courrier

Chapitre 8, Accéder aux bases de données


Chapitre 1, Préface

Mainteneur

Le site de Edbrowse est Edbrowse.org. Chris Brannon est l'actuel mainteneur du projet et le webmaster.

Auteur

Karl Dahlke a écrit la première version de Edbrowse en perl, en 2001, et reste le principal développeur du projet. Consultez SVP l'article wikipedia pour l'historique de Edbrowse, et un aperçu de ses possibilités.

Copyright

Ce programme est copyright (c) (c) Karl Dahlke (et d'autres auteurs et contributeurs), 2000-2018. Il est mis à disposition par les auteurs sous la licence publique générale GNU (GPL), définie par la Free Software Fondation. Il peut être utilisé dans n'importe quel but, et redistribué, à condition d'y adjoindre le présent copyright.

Avertissement

Edbrowse est fourni tel quel, sans garantie de fonctionnement dans tous les cas. Il peut effacer vos précieux fichiers. Il peut envoyer des données erronées sur l'Internet, provoquant l'achat d'un éléphant à 37000 dollars au lieu de fournitures d'impression à 37 dollars. Il peut effacer toutes les lignes de votre table mysql clients. C'est un projet développé par des bénévoles sur leur temps libre, qui (en principe) ne peut atteindre la qualité et la rigueur des logiciels institutionnels ou gouvernementaux. En utilisant ce programme, vous l'acceptez en l'état.

Remerciements

Chris Brannon a écrit ou modifié au moins 20% du code, et a fourni de bonnes idées pour l'architecture générale. Adam Thompson a porté l'interface javascript de C à C++, portage requis par les versions 2 de Mozilla JS, et il continue à superviser l'architecture générale du projet. Kevin Carhart a déchiffré les mystères de jquery, et mis à jour le DOM pour l'implémenter. Jeremy O'Brien a porté le programme sur Mac OS X. et Geoff McLane a fourni le portage Windows, une configuration cmake et un système de compilation généraux. Plusieurs personnes ont traduit les sorties et messages d'erreur en d'autres langues, et elles sont créditées de leur travail dans la section "Langages" ci-dessous.

Vue d'ensemble

Ce programme est, à première vue, un ré-implémentation de /bin/ed. En fait vous pourriez utiliser quelques commandes d'Ed sans vous rendre compte que vous exécutez réellement mon programme.Mais à mesure que vous l'utiliserez, vous découvrirez quelques différences, secteurs où mon programme diffère de Ed. (Ceux-ci sont discutés ci-dessous.)

Réinventer ed semble être une perte de temps, jusqu'à ce que vous vous rendiez compte que ce programme fonctionne également comme un navigateur - un navigateur inclus dans ed. Vous pouvez éditer une URL aussi facilement qu'un fichier local, et activer le mode navigation pour afficher le HTML d'une façon appropriée pour un programme en ligne de commande. En d'autres termes, nous ignorons la majeure partie des informations de formatage, maintenons les liens et remplissons les formulaires. Ceci permet aux utilisateurs aveugles d'accéder à l'Internet par l'intermédiaire d'une application qui est entièrement compatible avec la nature linéaire de la parole ou du braille.

Si Edbrowse n'est pas fourni par votre distribution, il existe une version en Perl, avec des fonctionnalités moindres, que vous pouvez utiliser sur n'importe quel ordinateur : Linux, Unix, Mac, Windows, etc. Essayez Edbrowse.pl, et si vous l'appréciez, vous pourrez récupérer le package git et compiler les sources pour construire la version C complète.

Si vous êtes un utilisateur de Linux, et que votre distribution de fournisse pas Edbrowse, vous pouvez - bien sûr - utiliser la version Perl mentionnée ci-dessus, mais vous pouvez égalemnt utiliser la version complète en C, en évitant les tracas de la compilation. Des versions liées statiquement pour les architectures 32 bits et 64 bits sont maintenues sur la home page d'Edbrowse.

Cette documentation suppose que vous connaissez ed. En fait, elle aide si vous êtes à l'aise dans ed. Une expérience des navigateurs d'Internet et de la terminologie associée est également utile.

Autres langues

D'abord, quelques mots sur les jeux de caractères. L'anglais est facilement géré par un flot d'octets, une lettre par octet. En fait, chaque lettre tient sur 7 bits; le huitième bit, non utilisé, est mis à 0. Ce système est appelé ASCII et, comme vous pouvez le voir, il est spécifique à l'anglais.

Les langues indo-européens comportent plus de caractères, comme ñ (espagnol), è (français), et ö (allemand). Ceux-ci peuvent tenir sur un octet, en mettant le 8ème bit à 1, selon le standard iso8859-1. D'autres langues, comme le tchèque et le hongrois, se conforment au standard iso8859-2, qui assigne d'autres caractères aux octets supérieurs à 127. Et ensuite il y a l'iso8859-3, et ainsi de suite. Sélectionnez votre page de codes, et toutes les lettres de vore langue tiennent sur un octet.C'est le standard iso8859, rétro-compatible avec l'ASCII. En d'autres termes, z est 122 en ASCII et dans toutes les pages de codes iso8859-x, mais les codes plus élevés, au-dessus de 127, peuvent représenter des lettres différentes dans des langues différentes.

Ceci a fonctionné pendant longtemps, mais que se passe-t-il si vous désirez écrire un paragraphe en français et un autre en tchèque ? Vous pouvez passer de l'iso8859-1 à l'iso8859-2 au milieu du document, ou bien utiliser un nouveau standard qui représente toutes les lettres dans toutes les langues simultanément. Ce jeu de caractères, qui ne code plus les caractères sur un seul octet, est connu sous le terme utf8, lequel est devenu le nouveau standard dans l'industrie informatique. Les logiciels n'ont plus à sélectionner une page iso8859 et assigner des nombres aux lettres dans un synthétiseur vocal. Ainsi, dans votre ordinateur, ñ est représenté par deux octets, et non un seul. C'est transparent pour vous; vous voyez la même lettre sur l'écran, et vous entendez le même son (si votre lecteur d'écran envoie ces lettres à votre synthétiseur). Une façon simple de savoir sur quel système vous êtes est de faire "echo $LANG". Si la réponse contient la chaîne utf8, ou utf-8, en minuscules ou majuscules, votre console utilise utf8, et attend des séquences de 2 octets. Vos fichiers contiendront ces séquences, sans que vous en soyez (probablement) informé. Des systèmes plus anciens (pré utf-8) codent chaque caractère sur un seul octet, et utilisent une page de codes iso8859 pour les traduire.

Il y aurait beaucoup plus à dire sur les jeux de caractères : ceci est juste une brève introduction au sujet. Je n'ai pas besoin d'aller plus loin, parce que Edbrowse ne supporte actuellement que iso8859 ⇔ utf8 . Le chinois, par exemple, requiert des séquences de 3 ou 4 octets, intégrées dans unicode. Edbrowse, pour l'heure, ne peut gérer ce niveau de complexité.

Les sorties et messages d'erreur ont été "internationalisés", comme "chaîne recherchée non trouvée". Positionnez la variable d'environnement LANG pour interagir avec Edbrowse dans votre langue. Les langues acceptées sont listées ci-dessous. Si vous pouvez traduire Edbrowse dans d'autres langues, prière de me le faire savoir.

Anglais: LANG=en (c'est la langue par défaut)

Français: LANG=fr par Erwin Bliesenick avec la documentation

Portuguais brésilien: LANG=pt_br par Cleverson Casarin Uliana

Polonais: LANG=pl_pl par Wojciech Gac

Allemand: LANG=de par Sebastian Humenda

Italien: LANG=it par Enrico Mioso

Lorsqu'un message d'erreur est affiché, les lettres accentuées sont affichées sur un octet, c'est-à-dire en iso8859, à moins que la chaîne utf8 ou utf-8 soit présente dans $LANG, auquel cas les caractères non-ascii sont générés en utf8. LANG=fr_FR.UTF-8 est un réglage usuel en France. De même, le contenu d'un tampon, qu'il soit un fichier local ou un site internet, est affiché en séquences de 8 bits ou en séquences de 2 octets, conformément à $LANG. Gardez à l'esprit que utf8 est devenu le standard, et Edbrowse ne pourra plus afficher de texte ou des messages d'erreur en iso8859 dans quelque temps. En d'autres termes, iso8859 est obsolète.

Si Edbrowse lit un ancien fichier, c'est-à-dire qu'il le charge dans un tampon vide, et qu'il soit codé en iso8859, alors que votre ordinateur est configuré en UTF-8, ce fichier est alors converti à la volée, bien avant que vous vous en aperceviez. Ainsi, il aura l'air normal. Si j'ai tout fait correctement, vous ne verrez aucune différence. (Utilisez la commande iu pour désactiver cette fonctionnalité.)

Quand vous sauvegardez vos données dans le même fichier, c'est-à-dire si vous avez fait quelques ajouts ou modifications, je reconvertis le fichier dans son jeu de caractères original iso8859. Ainsi, vous pouvez renvoyer le fichier modifié à votre correspondant, et ce fichier sera dans son jeu de caractères, comme il l'escompte. Cependant, si vous sauvegardez vos données, ou une partie de vos données, sous un nouveau nom de fichier, il restera dans le jeu de caractères utilisé par votre ordinateur.

Ces conversions ne devraient jamais intervenir sur des fichiers zip, ou des exécutables, ou d'autres types de données binaires. Si vous voyez les mots "conversion en iso8859" ou "conversion en utf8", alors que le fichier n'est pas du texte internationalisé, il y a un problème. N'essayez pas de lancer l'exécutable converti; cela ne marchera pas.

Si votre environnement est en utf8, la fonction de recherche peut amener à quelques confusions. Considérons le mot espagnol niño (petit garçon). Si vous recherchez ni.o, vous ne trouverez pas la ligne contenant ce texte. Le point remplace un caractère, et devrait correspondre à ñ, mais cette lettre accentuée tient sur deux octets. Ironiquement, vous devrez chercher ni..o, et vous trouverez ce que vous cherchez. Nul besoin de dire que ceci est vraiment déroutant.

La recherche/remplacement est effectuée par la librairie pcre et, heureusement pour nous, la dernière version supporte l'utf8. En d'autres termes, je peux passer à pcre l'option qui lui dira de rechercher certaine séquence sur deux octets comme un caractère unique, et pcre se comportera comme attendu. La recherche de ni.o fonctionnera de nouveau. Pour désactiver temporairement l'utf8 dans la recherche/remplacement, utilisez la commande su8.

Quelques pages internet peuvent s'afficher en plusieurs langues. Par exemple, twitter.com a une version anglaise, une version française, et ainsi de suite. Il est possible de sélectionner la langue à l'appel d'une page. Edbrowse l'implémente via le mot-clé localizeweb dans son fichier de configuration. Par exemple, la ligne qui suit dans .ebrc indique que vous désirez la version française, si elle est disponible.

localizeweb = fr

Si non précisé, Edbrowse se réfère à la variable d'environnement $LANG, laquelle est positionnée sur pratiquement tous les systèmes. Ainsi vous n'aurez que rarement besoin de préciser localizeweb dans votre fichier de configuration. Si $LANG n'est pas défini, c'est de l'anglais par défaut. Edbrowse envoie toujours une désignation de langage aux serveurs web, parce que certains sites, comma amazon.con, ne fonctionnent pas correctement sans. If you do set localizeweb yourself, be sure to set it to language code hyphen territory code. Si vous définissez localizeweb, assurez-vous de définir avec le code de langue le code de région ou département (ex. FR-NAQ Fr Nouvelle-Aquitaine ou FR-33 Gironde)


Chapitre 2, Guide de référence rapide

Guide de référence rapide

Liste de toutes les commandes d'ed et d'Edbrowse, toutes regroupées. C'est un guide de référence rapide. La plupart de ces commandes n'auront pas de sens si vous ne lisez pas le reste de la documentation. Les commandes "bascule" comme js pour activer ou désactiver javascript, admettent également en suffixe un + ou un - pour activer ou désactiver explicitement la fonctionnalité. Les variantes + et - ne sont pas listées. La commande "bascule" affiche l'état de la fonctionnalité, active ou non, si les messages d'aide sont activés ou si le niveau de déboguage esu au moins à 1. Activer ou désactiver un mode n'affiche le message que si les messages d'aide sont activés.

Quitter le programme

q : quitte la session courante
qt : quitte le programme complètement, que vous ayez sauvegardé vos fichiers ou non
bw : tampon sauvegardé; vous pouvez quitter n'importe quand
!commande : commande shell
! : shell interactif
cd : change de répertoire
config : relit le fichier de configuration

Entrées

rl : utilise readline() en entrée (bascule)

Affichage des lignes dans le tampon

p : affiche la ligne courante
4,7p : affiche les lignes 4 à 7
+3p : avance de 3 lignes et affiche
3 : idem +3p, print est la commande par défaut
- : ligne précédente
--- : recule de 3 lignes
'a,'bp : affiche les lignes repérées par les étiquettes a et b
kb : marque la ligne courante avec l'étiquette b
l : liste la ligne courante, affichant les caractères invisibles et les marqueurs de fin de ligne
endm : afficher les marqueurs de début et fin de lignes ^$ des lignes listées (bascule)
lna : affiche les caractères nonascii en hexadécimal uand une ligne est listée (bascule)
n : affiche la ligne courante avec son numéro de ligne
ll 1000 : longueur de ligne 1000, affiche les 1000 premiers caractères de chaque ligne
z22 : affiche les 22 prochaines lignes
z : affiche encore 22 lignes
= : affiche le nombre de