La Fibre

Fonctionnement du forum => A lire avant de commencer... => profile Évolution de LaFibre.info, bugs et critiques => Discussion démarrée par: vivien le 22 février 2016 à 08:33:21

Titre: Tutoriel pour poster une URL avec des crochets
Posté par: vivien le 22 février 2016 à 08:33:21
http://www.cpubenchmark.net/compare.php?cmp[]=2075&cmp[]=1304  (comment on crée un lien ici avec ] dans l'url ?)
SMF ne permet pas de créer d'URL avec des crochets dans l'URL [ ]

L'ARCEP utilise régulièrement des crochets dans ses URL et pour mettre un lien vers une IPv6 sans nom de domaine, il faut aussi des crochets  >:(.
Titre: Tutoriel pour poster une URL avec des crochets
Posté par: Hugues le 22 février 2016 à 10:08:34
Ben faites des bit.ly et un lien HTML après, non ?
Titre: Tutoriel pour poster une URL avec des crochets
Posté par: kgersen le 22 février 2016 à 14:01:23
Solution :

Remplacer [ par %5B
Remplacer ] par %5D


Exemple : http://www.cpubenchmark.net/compare.php?cmp%5B%5D=2075&cmp%5B%5D=1304
Titre: Tutoriel pour poster une URL avec des crochets
Posté par: vivien le 22 février 2016 à 18:33:47
Merci kgersen !

Cela ne semble pas fonctionner pour l'IPv6 : http://%5B2a01:6e00:10:410::2%5D/

Pour rappel, les IPv6 doivent être mises entre crochets ( cela correspond à http://[2a01:6e00:10:410::2]/ )
Titre: Tutoriel pour poster une URL avec des crochets
Posté par: Hugues le 22 février 2016 à 18:37:11
Marche pas chez moi. Le lien ne se clique même pas, sur Firefox, Mac avec IPv6 sur mon réseau
Titre: Tutoriel pour poster une URL avec des crochets
Posté par: kgersen le 22 février 2016 à 20:40:53
oui ca ne marche pour une adresse IPv6.

Pourtant la norme d'encodage d'url ( http://www.w3schools.com/tags/ref_urlencode.asp) couvre toute l'url , pas juste la partie du 'path'.

et si on passe "http://[2a01:6e00:10:410::2]/" a la fonction JavaScript encodeURI ca donne bien "http://%5B2a01:6e00:10:410::2%5D/"

c'est donc que les navigateurs ont décidé de ne pas respecter la norme ?
Titre: Tutoriel pour poster une URL avec des crochets
Posté par: le 23 février 2016 à 17:36:03
oui ca ne marche pour une adresse IPv6.

Pourtant la norme d'encodage d'url ( http://www.w3schools.com/tags/ref_urlencode.asp) couvre toute l'url , pas juste la partie du 'path'.

et si on passe "http://[2a01:6e00:10:410::2]/" a la fonction JavaScript encodeURI ca donne bien "http://%5B2a01:6e00:10:410::2%5D/"

c'est donc que les navigateurs ont décidé de ne pas respecter la norme ?
Qu'est-ce qui te fait penser que c'est autorisé?
Titre: Tutoriel pour poster une URL avec des crochets
Posté par: kgersen le 23 février 2016 à 18:14:54
Qu'est-ce qui te fait penser que c'est autorisé?

je posais la question donc.

en regardant: https://url.spec.whatwg.org/#host-parsing

effectivement les "[" et "]" de l'IPv6 ne font pas l'objet d'un UTF-8 decode.

la fonction encodeURI est donc fausse ?

edit: dixit mozilla, encodeURI date d'avant donc n'a pas été retro-corrigée. ils proposent :

Also note that if one wishes to follow the more recent RFC3986 for URLs, which makes square brackets reserved (for IPv6) and thus not encoded when forming something which could be part of a URL (such as a host), the following code snippet may help:

function fixedEncodeURI (str) {
    return encodeURI(str).replace(/%5B/g, '[').replace(/%5D/g, ']');
}

source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURI

ce qui n'est pas bon non plus car replace tout les crochets et pas que ceux de l'IPv6...

tst sous F12 , console:

console.log(encodeURI("http://[2a01:6e00:10:410::2]/hello[world]").replace(/%5B/g, '[').replace(/%5D/g, ']'));
affiche http://[2a01:6e00:10:410::2]/hello[world]
au lieu de http://[2a01:6e00:10:410::2]/hello%5Bworld%5D
Titre: Tutoriel pour poster une URL avec des crochets
Posté par: le 23 février 2016 à 18:29:25
À la réflexion :

Request for Comments: 3986 (https://tools.ietf.org/html/rfc3986)

           Uniform Resource Identifier (URI): Generic Syntax

      host        = IP-literal / IPv4address / reg-name

   The syntax rule for host is ambiguous because it does not completely
   distinguish between an IPv4address and a reg-name.  In order to
   disambiguate the syntax, we apply the "first-match-wins" algorithm:
   If host matches the rule for IPv4address, then it should be
   considered an IPv4 address literal and not a reg-name.  Although host
   is case-insensitive, producers and normalizers should use lowercase
   for registered names and hexadecimal addresses for the sake of
   uniformity, while only using uppercase letters for percent-encodings.

   A host identified by an Internet Protocol literal address, version 6
   [RFC3513] or later, is distinguished by enclosing the IP literal
   within square brackets ("[" and "]").  This is the only place where
   square bracket characters are allowed in the URI syntax.  In
   anticipation of future, as-yet-undefined IP literal address formats,
   an implementation may use an optional version flag to indicate such a
   format explicitly rather than rely on heuristic determination.

      IP-literal = "[" ( IPv6address / IPvFuture  ) "]"

      IPvFuture  = "v" 1*HEXDIG "." 1*( unreserved / sub-delims / ":" )


C'est clair : il faut mettre [ et ] et pas %machin et %chose.
Titre: Tutoriel pour poster une URL avec des crochets
Posté par: kgersen le 23 février 2016 à 18:52:29
dans la partie 'host' oui mais ailleurs ?

Ce qui n'est pas clair c'est dans le reste de l'URL: les [ ] ne sont pas autorisés sauf si encodés ? ou pas du tout ?

This is the only place where square bracket characters are allowed in the URI syntax

http://[2a01:6e00:10:410::2]/hello%5Bworld%5D c'est légal ou pas ?

dixit https://validator.w3.org ca l'est.

avec par exemple:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>test</title>
</head>
<body>
<p>
<a href="http://[2a01:6e00:10:410::2]/hello%5Bworld%5D">test</a>
</p>
</body>
</html>
Titre: Tutoriel pour poster une URL avec des crochets
Posté par: le 23 février 2016 à 19:22:18
Dans le reste, tu encodes ce que tu veux (je pense).
Titre: Tutoriel pour poster une URL avec des crochets
Posté par: le 25 février 2016 à 21:18:40
Ben faites des bit.ly et un lien HTML après, non ?
Comme ça on rend les liens sortants dépendants de
- de l'infrastructure de bit.ly
- du registre ly
- du pays (très stable et pacifié) correspondant à ce registre
Titre: Tutoriel pour poster une URL avec des crochets
Posté par: vivien le 25 février 2016 à 21:38:27
Ben faites des bit.ly et un lien HTML après, non ?
Comme ça on rend les liens sortants dépendants de
- de l'infrastructure de bit.ly
- du registre ly
- du pays (très stable et pacifié) correspondant à ce registre
".ly" correspond à la Libye
L’extension .ly est soumise à un contrat de respect de la Charia. Aucun nom de domaine ne peut donc contenir des mots obscènes, indécents et contraires à la loi islamique.
Titre: Tutoriel pour poster une URL avec des crochets
Posté par: alegui le 26 février 2016 à 12:44:13
Dans ce cas-là il faut utiliser goo.gl
Le nom de domaine est celui du Groenland, et le service est géré par Google.
Ça donne encore plus d'importance à cette société  :-[ mais ses services marchent quand même plutôt pas mal il faut l'avouer
Titre: Tutoriel pour poster une URL avec des crochets
Posté par: Marin le 26 février 2016 à 12:55:29
Le nom de domaine est celui du Groenland, et le service est géré par Google.
Ça donne encore plus d'importance à cette société  :-[

1984 avait vrai tout le long (https://i.imgur.com/lBHe7yL.jpg)
Titre: Tutoriel pour poster une URL avec des crochets
Posté par: kgersen le 26 février 2016 à 15:40:56
j'aime bien goo.gl , ca fait plein de stats donc on sait si le lien qu'on a raccourci est utilisé ou pas, par combien et d'ou,etc. En plus ces stats sont  publiques. Par exemple: https://goo.gl/#analytics/goo.gl/LWwuc/all_time

Titre: Tutoriel pour poster une URL avec des crochets
Posté par: alegui le 26 février 2016 à 22:25:54
j'aime bien goo.gl , ca fait plein de stats donc on sait si le lien qu'on a raccourci est utilisé ou pas, par combien et d'ou,etc. En plus ces stats sont  publiques. Par exemple: https://goo.gl/#analytics/goo.gl/LWwuc/all_time
C'est pas un peu dangereux les stats publiques? Pour un partage en famille pourquoi pas, mais pour un gros site c'est pas un problème de donner toutes les informations à ses concurrents?

[/size]1984 avait vrai tout le long
Ce serait plutôt le meilleur des mondes que 1984 ici, dans 1984, les liens ne pourraient être créés que par l'Etat. :-X
Titre: Tutoriel pour poster une URL avec des crochets
Posté par: Marin le 26 février 2016 à 22:30:11
pour un gros site c'est pas un problème de donner toutes les informations à ses concurrents?

Tu as des cas d'usage concrets ? dans lesquels la donnée ne peut pas être reproduite approximativement par l'observation d'indicateurs connexes tels que le rang Alexa, le nombre de commentaires, l'activité des liens relatifs sur les réseaux sociaux, où la pertinence de l'information peut être largement établi par le partage du contenu en question spécifiquement par ce raccourcisseurs, et où il y a une vraie question de concurrence ?
Titre: Tutoriel pour poster une URL avec des crochets
Posté par: alegui le 26 février 2016 à 23:12:16
Tu as des cas d'usage concrets ? dans lesquels la donnée ne peut pas être reproduite approximativement par l'observation d'indicateurs connexes tels que le rang Alexa, le nombre de commentaires, l'activité des liens relatifs sur les réseaux sociaux, où la pertinence de l'information peut être largement établi par le partage du contenu en question spécifiquement par ce raccourcisseurs, et où il y a une vraie question de concurrence ?
Non je n'ai pas de cas concret, c'est vrai que l'on peut estimer les partages par des moyens détournés, juste que là on a quand même des stats précises et complètes.
Moi je trouve ça plutôt bien d'avoir les données, je pense à ceux qui ne veulent pas les publier, après c'est sûr qu'il y a la solution de ne pas utiliser le service c'est plus radical.

...Et voilà comment on commence un superbe HS  8)
Titre: Tutoriel pour poster une URL avec des crochets
Posté par: vivien le 27 février 2016 à 08:22:25
Sur Youtube, tu as toujours le nb de vues d'une vidéo (et pour certaines vidéos, de stats bien plus précises).

Ici, tout est public : https://lafibre.info/stats/ et il y a le nb de vue sur chaque post