Browse Source

Refactores the French documentation

dev
Christophe HENRY 3 months ago
parent
commit
76b27065ac
  1. 2
      README.md
  2. 26
      css/index.gmi
  3. 110
      docs/BNF-fr.gmi
  4. 54
      docs/configuration-fr.gmi
  5. 42
      docs/index-fr.gmi
  6. 45
      docs/presentation-fr.gmi
  7. 10
      docs/tutogemtext-fr.gmi
  8. 22
      index-fr.gmi
  9. 135
      index.gmi

2
README.md

@ -1,6 +1,6 @@
# HtmGem
HtmGem is Php program whose goal is to make Gemini files reachable through HTTP. It can be used on a shared host.
HtmGem makes your **Gemini** pages reachable on the web. It can be used on a shared host.
You can see a demo on the main page of HtmGem:

26
css/index.gmi

@ -1,17 +1,14 @@
# Changer le style d’affichage
😎 Il faut avoir configuré le changement de style !
=> .. Page d’installation
# Styles
=> index.gmi|black_wide black_wide.css
=> index.gmi|raw raw.css
=> index.gmi|simple simple.css
=> index.gmi|htmgem htmgem.css
=> index.gmi|terminal terminal.css
=> index.gmi|pre code source préformaté
=> index-fr.gmi|black_wide black_wide.css
=> index-fr.gmi|raw raw.css
=> index-fr.gmi|simple simple.css
=> index-fr.gmi|htmgem htmgem.css
=> index-fr.gmi|terminal terminal.css
=> index-fr.gmi|pre code source préformaté
Simple ligne de texte
Décoration de texte : **gras** //italique// __souligné__ ~~barré~~
Lorem ipsum dolor sit amet.
//Lorem// **ipsum** __dolor__ ~~sit amet~~.
* ligne un de liste non ordonnée
* ligne deux de liste non ordonnée
@ -19,8 +16,9 @@ Décoration de texte : **gras** //italique// __souligné__ ~~barré~~
> Citation : Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
```
< Texte préformaté >
------------------
---------------------------
< Lorem ipsum dolor sit amet >
---------------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\

110
docs/BNF-fr.gmi

@ -0,0 +1,110 @@
# BNF
### aka Backus-Naur Form
=> https://en.wikipedia.org/wiki/Backus%E2%80%93Naur_form Wikipedia / BNF
The purpose of this document is to show the BNF that HtmGem uses and the way it determines the line type and what information it fetches from. For this, it uses **curly brackets** to explicitely show what information it takes. In addition to this, the **canonical form** shows how it should be displayed.
———————————————————— ✀ ————————————————————
textgemini = *(link / preformat / heading / ulist / quoted / plain)
; Preformat toggle starts as 'false'.
plain = **{[WSP] text} [WSP]** end-of-line
; If preformat toggle is false, wrap text to the
; width of the display. Otherwise, do no wrapping.
; canonical form = {[WSP] text}
preformat = "```" **[WSP]** [{alt-text}] **[WSP]** end-of-line
; Preformat toggle set to opposite state:
; false goes to true
; true goes to false
; While in preformat toggle is true, link, heading,
; ulist and quoted lines are NOT interpreted, but
; displayed as is to the user.
; canonical form = ``` [SP {alt-text}]
link = '=>' **[WSP]** [{URI-reference}] [**[WSP]** {text}] end-of-line
; canonical form = '=>' SP {uri-reference} [SP {text}]
heading = '#' **[WSP]** [{text}] **[WSP]** end-of-line
/ '##' **[WSP]** {text} **[WSP]** end-of-line
/ '###' **[WSP]** {text} **[WSP]** end-of-line
; canonical form = ('#' / '##' / '###') [SP {text}]
ulist = '*' **[WSP]** {text} **[WSP]** end-of-line
; canonical form = '*' SP {text}
quoted = '>' **[WSP]** {text} **[WSP]** end-of-line
; canonical form = '>' SP {text}
alt-text = text
text = ***UVCHAR**
end-of-line = [CR] LF
UVCHAR = VCHAR / UTF8-2v / UTF8-3 / UTF8-4
UTF8-2v = %xC2 %xA0-BF UTF8-tail ; no C1 control set
/ %xC3-DF UTF8-tail
; CRLF from RFC-5234
; DIGIT from RFC-5234
; SP from RFC-5234
; VCHAR from RFC-5234
; OCTET from RFC-5234
; WSP from RFC-5234
;
; UTF8-3 from RFC-3629
; UTF8-4 from RFC-3629
; UTF8-tail from RFC-3629
———————————————————— ✀ ————————————————————
This BNF was taken from the working group and adapted to HtmGem's implementation.
=> https://gitlab.com/gemini-specification/gemini-text/-/issues/7 Gitlab / Original ticket
Changes:
* white space management
* capture of text {}
* canonical form
The white spaces that end a line are never used. See the definition of //text// in the BNF, which no longer contains //SP//.
# Examples
## => links
### Normal link
> link = '=>' [WSP] [{URI-reference}] [[WSP] {text}] end-of-line
> ; canonical form = '=>' SP {uri-reference} [SP {text}]
Source: => foo.invalid text of the link
Data: '=>' {'foo.invalid'} {'text of the link'}
Canonical: => foo.invalid text of the link
Html: <a href="foo.invalid">text of the link</a>
Source: =>foo.invalid text of the link
Data: '=>' {'foo.invalid'} {'text of the link'}
Canonical: => foo.invalid text of the link
Html: <a href="foo.invalid">text of the link</a>
Source: => just_a_page
Data: '=>' {'just_a_page'} {}
Canonical: => just_a_page
Html: <a href="just_a_page">just_a_page</a>
Source: =>
Data: '=>' {''} {''}
Canonical: =>
Html: <a href="">&nbsp;</a>
## # Headings
> heading = '#' **[WSP]** [{text}] **[WSP]** end-of-line
> (…)
> ; canonical form = ('#' / '##' / '###') [SP {text}]
Source: #title
Data: '#' {"title"}
Canonical: # title
Source: # title with two spaces between title and with
Data: '#' {"title with spaces"}
Canonical: # title with two spaces between title and with

54
docs/configuration-fr.gmi

@ -0,0 +1,54 @@
# Configuration avancée
Par défaut, le style est incorporé dans chaque page récupérée par le navigateur web. Le même style est utilisé pour toutes les pages, //htmgem/css/htmgem.css//, sauf lorsqu’un fichier ayant le même nom que la page mais avec l’extension **.css** existe dans le même répertoire. Dans ce cas, il est utilisé.
Lorsque l’option css est activé dans la configuration (voir //rewrite// plus haut) d’autres comportements sont possibles. **Attention**, cela ne fonctionnera pas avec un client Gemini puisque HtmGem n’est accessible que via un navigateur web.
* &style=**htmgem** : Utilise le style par défaut, mais en tant que fichier externe.
* &style=**none** : La page HTML est envoyée sans style.
* &style=**<autre nom>** : Le fichier htmgem/css/<autre nom>.css est utilisé en tant que style externe.
* &style=**/<path>** : Le fichier indiqué (chemin absolu) est utilisé en tant que style externe.
* &style=**source** : Le code source de la page est envoyée au navigateur, voir ci-après…
* &style=**pre** : Le code source de la page est envoyée au navigateur encadré par des //<pre>//, voir ci-après…
## Réécriture d’URL pour préciser le style à utiliser
Modifier la configuration du serveur web fonctionne mais est assez lourd. On peut tester un style en particulier de la façon suivante :
> https:/​/site.tld/htmgem/index.php?url=/url/page.gmi&style=<…>
Il est aussi possible de faire une réécriture d’URL qui intègre le style :
> rewrite ^(.+\.gmi)$ /htmgem/?url=$1;
> rewrite ^(.+\.gmi)\ *\|\ *([\w_]+)$ /htmgem/?url=$1&style=$2;
Par exemple, lorsque ce sera activé :
=> index-fr.gmi%20|%20pre Produit le code source de façon lisble à l’écran en utilisant la balise **<pre>**.
=> index-fr.gmi%20|%20source Le lien index-fr.gmi | source Téléverse le code source.
=> ../css Sélecteur de style : la page contenant les styles permet de les essayer 😎
### Avec les styles déjà fournis…
=> index-fr.gmi%20|%20none Style //none//
=> index-fr.gmi%20|%20terminal Style //terminal//
=> index-fr.gmi%20|%20black_wide Style //black wide//
=> index-fr.gmi%20|%20simple Style //simple//
## Décoration du texte
La décoration du texte, qui interprête le **gras** par exemple, ne fait pas partie de la définition de GemText. La décoration du texte s’applique partout sauf sur les titres et blocs préformatés.
### Désactiver la décoration du texte
On peut :
* désactiver et activer la décoration du texte avec une ligne **^^^**,
* ajouter ce qui suit à la **réécriture** d’URL :
> &textDecoration=0
=> tutogemtext-fr.gmi Comment faire des pages GemText ?
———————————————————— ————————————————————
Parmi les fichiers et répertoires distribués, seuls sont utiles pour le fonctionnement de HtmGem :
* **htmgem/*.php** : Ces fichiers se chargent de traduire le gemtext en HTML.
* **htmgem/css/htmgem.css** : S’il manque, l’affichage sera dépourvu de style — littéralement.
* **htmgem/css/…** : Conservez les styles que vous utilisez.
Les autres peuvent être supprimés (y compris ce présent fichier //index-fr.gmi//) bien qu’ils ne présentent aucun danger.

42
docs/index-fr.gmi

@ -0,0 +1,42 @@
# HtmGem, installation
Pour faire fonctionner HtmGem — après avoir copié les fichiers — il ne reste qu’à ajouter une règle de ré-écriture d’URL (//URL Rewriting//).
## Prérequis
* Php v7.3 minimum
* Module **Php-mbstring** pour gérer l’unicode
* Un serveur web (Apache et Nginx testés)
* Module **mod-rewrite** pour lire les pages Gemini
## Installation
### Téléchargement
=> https://tildegit.org/sbgodin/HtmGem/archive/master.zip Version stable
=> https://tildegit.org/Sbgodin/htmgem Dépôt du projet
### Nginx
```
# Ce texte doit être placé dans la configuration du serveur.
index index.php index.gmi index.html
rewrite ^(.+\.gmi)$ htmgem/?url=$1;
```
### Apache
```
# Ce texte peut se placer à la racine du site dans un fichier ".htaccess".
DirectoryIndex index.php index.gmi index.html
RewriteEngine on
RewriteRule ^(.+\.gmi)$ htmgem/?url=$1
```
Par la suite,
* Quand un fichier se terminant par **.gmi** sera demandé, HtmGem l’affichera dans le navigateur.
* Quand seul le répertoire sera demandé (http:/​/site.tld/path) le fichier //index.gmi// sera automatiquement choisi.
=> tutogemtext-fr.gmi Comment faire des pages GemText ?
## Configuration avancée
Ajoutez des styles supplémentaires en paramètre de lien ou adaptez la décoration du texte :
=> configuration-fr.gmi Configuration avancée

45
docs/presentation-fr.gmi

@ -0,0 +1,45 @@
# HtmGem, voir Gemini via le web
HtmGem permet d’héberger des pages Gemini et de les publier sur un serveur web muni de **Php**. À l’ouverture d’une page ***.gmi**, il la traduit pour le navigateur web. Cette présente page est affichée de cette façon. Gemini utilise son propre protocole, format, clients et serveurs ; HtmGem permet d’en utiliser le format (Gemtext) via le web.
```
Gemini est un nouveau protocole internet qui :
* est plus lourd que gopher,
* est plus léger que le web,
* n’en remplacera aucun,
* vise le rapport puissance sur poids maximum,
* prend la vie privée très sérieusement.
```
=> https://gemini.circumlunar.space/
=> https://tildegit.org/sbgodin/HtmGem/archive/master.zip Téléchargez la branche courante pour l’installer
=> https://tildegit.org/Sbgodin/htmgem Code source, rapports de bug, commentaires…
=> https://gmi.sbgodin.fr/htmgem Page principale de HtmGem via le web
=> gemini://gmi.sbgodin.fr/htmgem Page principale de HtmGem via Gemini
=> CHANGELOG.gmi Journal des modifications (//changelog//)
=> COPYING.gmi GNU Affero General Public License (AGPLv3)
Ceci est la page d’installation et de présentation d’**HtmGem**.
=> docs/tutogemtext-fr.gmi Cliquez ici pour voir le tutoriel pour écrire des pages Gemini.
=> docs/index-fr.gmi Installation
# HtmGem, voir Gemini via le web
HtmGem permet d’héberger des pages Gemini et de les publier sur un serveur web muni de **Php**. À l’ouverture d’une page ***.gmi**, il la traduit pour le navigateur web. Cette présente page est affichée de cette façon. Gemini utilise son propre protocole, format, clients et serveurs ; HtmGem permet d’en utiliser le format (Gemtext) via le web.
=> https://tildegit.org/sbgodin/HtmGem/archive/master.zip Téléchargez la branche courante pour l’installer
=> https://tildegit.org/Sbgodin/htmgem Code source, rapports de bug, commentaires…
=> https://gmi.sbgodin.fr/htmgem Page principale de HtmGem via le web
=> gemini://gmi.sbgodin.fr/htmgem Page principale de HtmGem via Gemini
=> CHANGELOG.gmi Journal des modifications (//changelog//)
=> COPYING.gmi GNU Affero General Public License (AGPLv3)
Ceci est la page d’installation et de présentation d’**HtmGem**.
=> docs/tutogemtext-fr.gmi Cliquez ici pour voir le tutoriel pour écrire des pages Gemini.
=> docs/index-fr.gmi Installation

10
tutogemtext.gmi → docs/tutogemtext-fr.gmi

@ -44,7 +44,7 @@ Les blocs préformatés sont des lignes encadrées par un ``` sur une ligne avan
Il ne peut exister qu’un lien par ligne. Et la ligne est dédiée à ça ! Voici par exemple un lien vers le site centralisant pour le moment les informations sur Gemini :
​=> gemini:/​/gemini.circumlunar.space/docs/specification.gmi Spécifications de Gemini
=> gemini://gemini.circumlunar.space/docs/specification.gmi Spécifications de Gemini
=> gemini://gemini.circumlunar.space/docs/specification.gmi Spécifications de Gemini
​=> https:/​/gemini.circumlunar.space/docs/specification.gmi
=> https://gemini.circumlunar.space/docs/specification.gmi
@ -58,8 +58,7 @@ Cette **ligne** utilise la //décoration du texte// qui peut ~~barrer~~ ou __sou
On peut désactiver et activer la décoration du texte avec **^^^** sur une ligne.
Et voilà ! Vous savez tout ce qui est à savoir 🥳 Les spécifications complètes sont sur le site de Gemini :
=> https://gemini.circumlunar.space/docs/specification.gmi
Et voilà ! Vous savez tout ce qui est à savoir 🥳
———————————————————— ————————————————————
@ -71,8 +70,5 @@ HtmGem permet d’héberger des pages Gemini et de les publier sur un serveur we
### License de cette page
Cette page est sous licence libre **CC BY-SA 2.0 FR**.
=> https://creativecommons.org/licenses/by-sa/2.0/fr/ Texte de la licence CC BY-SA 2.0 FR
=> https://creativecommons.org/licenses/by-sa/2.0/fr/ Texte sous licence CC BY-SA 2.0 FR
=> gemini://gmi.sbgodin.fr/ gemini:/​/gmi.sbgodin.fr/ ⸻ Christophe HENRY
### Navigation
=> index.gmi

22
index-fr.gmi

@ -0,0 +1,22 @@
# HtmGem, voir Gemini via le web
HtmGem rend vos pages **Gemini** accessibles sur le web. Il fonctionne aussi sur un hébergement mutualisé.
# Installation
* Copier les fichiers.
* Configurer la réécriture d’url.
=> docs/index-fr.gmi Installer HtmGem
# Gemini…
Gemini est un protocole, une syntaxe, des serveurs et des clients. C’est le même principe que le web, en plus rudimentaire et stable. Sa syntaxe est le **GemText**. Son principe est que c’est le navigateur Gemini de l’utilisateur qui décide de l‘affichage. La police de caractère, la taille, le fond d‘écran, tout.
=> docs/tutogemtext-fr.gmi Tutoriel **Gemtext** et exemples
———————————————————— ————————————————————
=> https://gmi.sbgodin.fr/htmgem Page principale du projet
=> https://tildegit.org/Sbgodin/htmgem Code source, commentaires
=> https://gemini.circumlunar.space Capsule principale Gemini
=> CHANGELOG.gmi Journal des modifications
=> COPYING.gmi Licence Gnu Affero General Public License v3 — 19 november 2007

135
index.gmi

@ -1,133 +1,8 @@
# HtmGem, voir Gemini via le web
# HtmGem
Ceci est la page d’installation et de présentation d’**HtmGem**.
=> tutogemtext.gmi Cliquez ici pour voir le tutoriel pour écrire des pages Gemini.
HtmGem permet d’héberger des pages Gemini et de les publier sur un serveur web muni de **Php**. À l’ouverture d’une page ***.gmi**, il la traduit pour le navigateur web. Cette présente page est affichée de cette façon. Gemini utilise son propre protocole, format, clients et serveurs ; HtmGem permet d’en utiliser le format (Gemtext) via le web.
=> index-fr.gmi **Français**
HtmGem rend vos pages **Gemini** accessibles sur le web. Il fonctionne aussi sur un hébergement mutualisé.
```
Gemini est un nouveau protocole internet qui :
* est plus lourd que gopher,
* est plus léger que le web,
* n’en remplacera aucun,
* vise le rapport puissance sur poids maximum,
* prend la vie privée très sérieusement.
```
=> https://gemini.circumlunar.space/
=> https://tildegit.org/sbgodin/HtmGem/archive/master.zip Téléchargez la branche courante pour l’installer
=> https://tildegit.org/Sbgodin/htmgem Code source, rapports de bug, commentaires…
=> https://gmi.sbgodin.fr/htmgem Page principale de HtmGem via le web
=> gemini://gmi.sbgodin.fr/htmgem Page principale de HtmGem via Gemini
=> CHANGELOG.gmi Journal des modifications (//changelog//)
=> COPYING.gmi GNU Affero General Public License (AGPLv3)
———————————————————— ————————————————————
# Installation
Pour faire fonctionner HtmGem — après avoir copié les fichiers — il ne reste qu’à ajouter une règle de ré-écriture d’URL (//URL Rewriting//). Si vous pouvez lire ce texte en ayant demandé //htmgem.php// avec le navigateur, il ne reste que cette dernière étape à franchir 😄
## Prérequis
* Php v7.3 minimum
* Module **Php-mbstring** pour gérer l’unicode
* Un serveur web (Apache et Nginx testés)
* Module **mod-rewrite** pour intercepter les pages Gemini
### Nginx
```
# Ce texte doit être placé dans la configuration du serveur.
index index.php index.gmi index.html
rewrite ^(.+\.gmi)$ htmgem/?url=$1;
```
### Apache
```
# Ce texte peut se placer à la racine du site dans un fichier ".htaccess".
DirectoryIndex index.php index.gmi index.html
RewriteEngine on
RewriteRule ^(.+\.gmi)$ htmgem/?url=$1
```
Par la suite,
* Quand un fichier se terminant par **.gmi** sera demandé, HtmGem le traduira à la volée en HTML.
* Quand seul le répertoire sera demandé (http:/​/site.tld/path) le fichier //index.gmi// sera automatiquement choisi.
Le paramétrage d’Apache et de Nginx est similaire. Par la suite, la syntaxe Nginx sera utilisée.
## Tester HtmGem
Il est supposé que HtmGem est installé à la racine du site dans un répertoire //HtmGem//. Sinon, il faudra simplement adapter les liens.
Chargez cette présente page directement, en cliquant ci-après.
=> index.gmi
Enfin, pour vérifier que le fichier //index.gmi// est automatiquement appelé quand le fichier **.gmi** n’est pas indiqué :
=> /htmgem
L’installation est terminée 🥳 La suite du texte donne des informations complémentaires, et n’est pas nécessaire dans l’immédiat. Les fichiers **.gmi** que vous créerez seront disponibles dès maintenant.
=> tutogemtext.gmi Inspirez-vous du tutoriel
———————————————————— ————————————————————
# Configuration avancée
Par défaut, le style est incorporé dans chaque page récupérée par le navigateur web. Le même style est utilisé pour toutes les pages, //htmgem/css/htmgem.css//, sauf lorsqu’un fichier ayant le même nom que la page mais avec l’extension **.css** existe dans le même répertoire. Dans ce cas, il est utilisé.
Lorsque l’option css est activé dans la configuration (voir //rewrite// plus haut) d’autres comportements sont possibles. **Attention**, cela ne fonctionnera pas avec un client Gemini puisque HtmGem n’est accessible que via un navigateur web.
* &style=**htmgem** : Utilise le style par défaut, mais en tant que fichier externe.
* &style=**none** : La page HTML est envoyée sans style.
* &style=**<autre nom>** : Le fichier htmgem/css/<autre nom>.css est utilisé en tant que style externe.
* &style=**/<path>** : Le fichier indiqué (chemin absolu) est utilisé en tant que style externe.
* &style=**source** : Le code source de la page est envoyée au navigateur, voir ci-après…
* &style=**pre** : Le code source de la page est envoyée au navigateur encadré par des //<pre>//, voir ci-après…
## Réécriture d’URL pour préciser le style à utiliser
Modifier la configuration du serveur web fonctionne mais est assez lourd. On peut tester un style en particulier de la façon suivante :
> https:/​/site.tld/htmgem/index.php?url=/url/page.gmi&style=<…>
Il est aussi possible de faire une réécriture d’URL qui intègre le style :
> rewrite ^(.+\.gmi)$ /htmgem/?url=$1;
> rewrite ^(.+\.gmi)\ *\|\ *([\w_]+)$ /htmgem/?url=$1&style=$2;
Par exemple, lorsque ce sera activé :
=> index.gmi%20|%20source Le lien index.gmi | source Produit le code source, pas bien lisible à l’écran. À utiliser avec //wget//.
=> index.gmi%20|%20pre Produit le code source de façon lisble à l’écran en utilisant la balise **<pre>**.
=> index.gmi Ouvre la page avec le style par défaut, avec le style importé dans l’en-tête.
=> css Sélecteur de style : une page de démo pour essayer chaque style 😎
### Avec les styles déjà fournis
=> index.gmi%20|%20htmgem Ouvre la page avec le style par défaut (//htmgem.css//), mais le style est importé dans l’en-tête.
=> index.gmi%20|%20none Ouvre la page courante avec le style //none//. Aucune CSS utilisée.
=> index.gmi%20|%20terminal Style //terminal//
=> index.gmi%20|%20black_wide Style //black wide//
=> index.gmi%20|%20simple Style //simple//
## Décoration du texte
La décoration du texte, qui interprête le **gras** par exemple, ne fait pas partie de la définition de GemText. La décoration du texte s’applique partout sauf sur les titres et blocs préformatés.
### Désactiver la décoration du texte
On peut :
* désactiver et activer la décoration du texte avec une ligne **^^^**,
* ajouter ce qui suit à la **réécriture** d’URL :
> &textDecoration=0
———————————————————— ————————————————————
# Quand tout marche…
Parmi les fichiers et répertoires distribués, seuls sont utiles pour le fonctionnement de HtmGem :
* **htmgem/index.php** : Il se charge de traduire le gemtext en HTML.
* **htmgem/css/htmgem.css** : S’il manque, l’affichage sera dépourvu de style — littéralement.
* **htmgem/css/… : Conservez les styles que vous utilisez.
Les autres peuvent être supprimés (y compris ce présent fichier //index.gmi//) bien qu’ils ne présentent aucun danger.
=/> **English**
HtmGem makes your **Gemini** pages reachable on the web. It can be used on a shared host.
Loading…
Cancel
Save