# G1Liens - Desktop et mobile

**URL:** https://forum.duniter.org/t/g1liens-desktop-et-mobile/8499
**Category:** R&D
**Tags:** g1lien
**Created:** [2 June 2021 17:13 UTC](https://forum.duniter.org/t/g1liens-desktop-et-mobile/8499 "2021-06-02T17:13:50Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![poka](https://forum.duniter.org/user_avatar/forum.duniter.org/poka/32/6827_2.png) [@poka](https://forum.duniter.org/u/poka)
#### Post date: [2 June 2021 17:13 UTC](https://forum.duniter.org/t/g1liens-desktop-et-mobile/8499/1 "2021-06-02T17:13:50Z")

</div>

@kimamila @ManUtopiK@1000i100 @elois @matograine @vit j’aimerais bien relancer le sujets des G1liens.

Comme ces liens sont différents entre mobile et desktop, on peut détecter au niveau du site si on est sur desktop ou mobile, non ?

Donc du coup, ont peut changer les liens hypertextes du sites en fonctions de si on est sur desktop ou mobile, non ?

---

<div class="post-metadata">

### Author: ![elois](https://forum.duniter.org/user_avatar/forum.duniter.org/elois/32/1541_2.png) [@elois](https://forum.duniter.org/u/elois)
#### Post date: [2 June 2021 18:00 UTC](https://forum.duniter.org/t/g1liens-desktop-et-mobile/8499/2 "2021-06-02T18:00:47Z")

</div>

Coté mobile c’est les développeurs de chaque application mobile qui doivent indiquer à l’OS quels URI sont prises en charge par leur application.

Dans le cas de ğecko par exemple, c’est aux dev de ğecko d’indiquer à Android et iOS que ğecko prend en charge les g1lien :

> **[Deep linking](https://flutter.dev/docs/development/ui/navigation/deep-linking)**
>
> Navigate to routes when the app receives a new URL

---

<div class="post-metadata">

### Author: ![poka](https://forum.duniter.org/user_avatar/forum.duniter.org/poka/32/6827_2.png) [@poka](https://forum.duniter.org/u/poka)
#### Post date: [2 June 2021 20:04 UTC](https://forum.duniter.org/t/g1liens-desktop-et-mobile/8499/3 "2021-06-02T20:04:28Z")

</div>

D’accords, mais si l’utilisateur va sur rbnG1 par exemple.  
Sur mobile, les g1liens hypertext ne seront pas les mêmes que sur desktop si j’ai bien compris, on est d’accords ?

Dans l’optique que rbng1 n’est pas d’app mobiles, mais un super responsive.

---

<div class="post-metadata">

### Author: ![elois](https://forum.duniter.org/user_avatar/forum.duniter.org/elois/32/1541_2.png) [@elois](https://forum.duniter.org/u/elois)
#### Post date: [2 June 2021 20:13 UTC](https://forum.duniter.org/t/g1liens-desktop-et-mobile/8499/4 "2021-06-02T20:13:40Z")

</div>

C’est pire que ça, il faut différencier 3 mondes différents: mobile, web et desktop.

De ce que j’en est compris @1000i100 explorait surtout le monde web, donc ça marcherait qu’avec un plugin navigateur (où en configurant son navigateur à la main, mais seuls les geeks feront ça donc je ne tiens pas compte de cette possibilité).

En desktop je sais pas ce qui existe ni si c’est possible, et je pense qu’il faut différencier les 3 mondes linux, windows et mac… bref, c’est compliqué !

---

<div class="post-metadata">

### Author: ![matograine](https://forum.duniter.org/letter_avatar/matograine/32/5_5575768a8748004e209b776fc1b2916d.png) [@matograine](https://forum.duniter.org/u/matograine)
#### Post date: [3 June 2021 05:43 UTC](https://forum.duniter.org/t/g1liens-desktop-et-mobile/8499/5 "2021-06-03T05:43:22Z")

</div>

Parce qu’il faut différencier web, mobile et desktop, (la declaration du custom protocol se fait de differentes facons), la syntaxe des liens et le nom du protocole doivent-ils être différents ? Je ne vois pas de raison particulière à ça.

J’ai trouvé cette [ressource](https://support.shotgunsoftware.com/hc/en-us/articles/219031308-Launching-applications-using-custom-browser-protocols) concernant la gestion de custom protocoles sur desktop.

---

<div class="post-metadata">

### Author: ![1000i100](https://forum.duniter.org/user_avatar/forum.duniter.org/1000i100/32/825_2.png) [@1000i100](https://forum.duniter.org/u/1000i100)
#### Post date: [3 June 2021 22:50 UTC](https://forum.duniter.org/t/g1liens-desktop-et-mobile/8499/6 "2021-06-03T22:50:10Z")

</div>

Idéalement, on devrait pouvoir utiliser des liens `g1:syntaxe-à-normaliser` pour tous les environnements.

En pratique, de ce que j’ai suivi, sur mobile, l’usage est de surcharger un lien de type `https://domaine.specifique/syntaxe-à-normaliser` comme «&nbsp;protocole&nbsp;» à utiliser dans une app et qui à défaut d’une app valide pour le prendre en charge propose un fallback dans le navigateur… Mais cette approche n’est pas pensé pour du décentralisé.  
Après, il y a peutêtre quand même moyen d’utiliser un protocole `g1:syntaxe-à-normaliser` sur mobile. Je ne sais juste pas comment faire.

Effectivement, la piste que j’ai exploré c’est celle en web. Comment faire pour que, depuis le navigateur sur un ordi, un clic sur un `g1:syntaxe-à-normaliser` pointe sur un le service web défini par l’utilisateur, et pour ça il y a des contraintes qui l’empèche et m’on amener à utiliser une solution insatisfaisante : `web+g1:syntaxe-à-normaliser` solution qui pourrait devenir satisfaisante si c’est une extension navigateur qui ajoute elle-même aux pages le `web+`.

Sur desktop, j’ai vu que ça dépendait des OS, mais aussi des navigateurs. Certains navigateurs ne passe pas la main à l’OS sans avoir ajouté une configuration spécifique si j’ai bien suivi.

Face à cette complexité l’approche qui me parle est la suivante :

- Si dans Gecko tu souhaites utiliser des G1Liens et les prendre en charge dans son périmètre (application mobile), alors fait le et ça fera référence pour le cadre mobile si ça fonctionne bien.
- Si tu souhaite que d’autres outils propose des G1Liens alors qu’ils ne sont pas exclusivement utilisé en duo avec Gecko, alors dans un premier temps, ils auront besoin d’un lien alternatif pour les écosystème ne gérant pas les G1Liens.
- Idéalement, chaque outil qui propose des G1lien sans les gérer lui même devrait tester si l’utilisateur à de quoi interpréter le G1lien et en cas d’échec proposer :
  1. d’installer de quoi gérer les G1lien dans l’environnement de l’usager
  2. une solution alternative au G1lien si pertinant (genre page consultative centralisé pour le profil d’un usager)

---

<div class="post-metadata">

### Author: ![matograine](https://forum.duniter.org/letter_avatar/matograine/32/5_5575768a8748004e209b776fc1b2916d.png) [@matograine](https://forum.duniter.org/u/matograine)
#### Post date: [4 June 2021 01:58 UTC](https://forum.duniter.org/t/g1liens-desktop-et-mobile/8499/7 "2021-06-04T01:58:49Z")

</div>

On peut peut-être regarder ce que font les voisins ? Le protocole gemini par exemple est très jeune, je doute fort qu’unê gestion du protocole ait été implémentée dans Firefox, ni à fortiori dans aucun navigateur web.

Je viens d’installer le navigateur [deedum](https://github.com/snoe/deedum) pour Gemini sur Android. Tiens, comme par hasard c’est du Flutter 😉

Le clic sur ce lien :  
gemini://gemini.circumlunar.space/  
ouvre deedum, que ce soit depuis FF ou le browser natif. Je suis certain que ce dernier ne gère pas gemini nativement. La déclaration de gestion du protocole est donc faite niveau OS.

édit - ne marche pas depuis Discourse (?) Mais depuis le site [original](https://gemini.circumlunar.space/) (descendre tout en bas pour trouver le lien)

Android 4.4.4, FF 68.11.

Il est 4h du mat et j’ecris depuis mon télécran, mais on peut faire des tests similaires sur desktop : comment les browsers Gemini gerent-ils le fait que gemini soit un custom protocol, pour toutes les plateformes ?
