Essai Agent Unicode Extension beta version 0.3.2020.700
80 réponses
Otomatic
Pour essai de :
Agent Unicode Extension (AgtEx) beta version 0.3.2020.700
English
All human beings are born free and equal in dignity and rights. They are
endowed with reason and conscience and should act towards one another in
a spirit of brotherhood.
French
Les hommes naissent et demeurent libres et égaux en droits. Les
distinctions sociales ne peuvent être fondées que sur l'utilité
commune.
Georgian
ყველა ადამიანი იბადება
თავისუფალი და თანასწორი
თავისი ღირსებითა და
უფლებებით. მათ მინიჭებული
აქვთ გონება და სინდისი და
ერთმანეთის მიმართ უნდა
იქცეოდნენ ძმობის
სულისკვეთებით.
--
Aujourd'hui, l'idéal du progrès est remplacé par l'idéal de l'innovation :
il ne s'agit pas que ce soit mieux, il s'agit seulement que ce soit
nouveau, même si c'est pire qu'avant et cela de toute évidence.
Henry de Montherlant - Va jouer avec cette poussière
Salut, Olivier Miakinen a tapoté le 19/10/2020 21:29:
C'est fait. Il y a un fichier mime.inc.php à inclure. Ce fichier fait 550 lignes dont un bon tiers de commentaires explicatifs au début − sans compter les autres commentaires parsemés un peu partout dans le code.
J'ai fait un premier test et je le trouve très concluant! Je n'ai pas encore publié le code. <rmme1c$v8c$ <news:rmme1c$v8c$ -- Stéphane
Salut,
Olivier Miakinen a tapoté le 19/10/2020 21:29:
C'est fait.
Il y a un fichier mime.inc.php à inclure. Ce fichier fait 550 lignes dont
un bon tiers de commentaires explicatifs au début − sans compter les autres
commentaires parsemés un peu partout dans le code.
J'ai fait un premier test et je le trouve très concluant!
Je n'ai pas encore publié le code.
<rmme1c$v8c$1@pasdenom.info>
<news:rmme1c$v8c$1@pasdenom.info>
Salut, Olivier Miakinen a tapoté le 19/10/2020 21:29:
C'est fait. Il y a un fichier mime.inc.php à inclure. Ce fichier fait 550 lignes dont un bon tiers de commentaires explicatifs au début − sans compter les autres commentaires parsemés un peu partout dans le code.
J'ai fait un premier test et je le trouve très concluant! Je n'ai pas encore publié le code. <rmme1c$v8c$ <news:rmme1c$v8c$ -- Stéphane
yamo'
yamo' a tapoté le 20/10/2020 12:26:
Premier test : Example 3: fwrite($out, new MimeEncodeHeader("Subject", $subject) . "rn"); Pour comparer, j'ai laissé l'ancien encodage dans X-Subject.
Dernière version de NewsPortal avec le code d'Olivier : Subject: Re: Essai avec le mot =?UTF-8?Q?«_Nullième_»_Agent? Unicode Extension beta version 0.3.2020.700 Pan 0.146 : Subject: Re: Essai avec le mot =?iso-8859-1?B?qyBOdWxsaehtZSC7?= Agent Unicode Extension beta version 0.3.2020.700 -- Stéphane
yamo' a tapoté le 20/10/2020 12:26:
Premier test :
Example 3:
fwrite($out, new MimeEncodeHeader("Subject", $subject) . "rn");
Pour comparer, j'ai laissé l'ancien encodage dans X-Subject.
Dernière version de NewsPortal avec le code d'Olivier :
Subject: Re: Essai avec le mot =?UTF-8?Q?«_Nullième_»_Agent? Unicode Extension beta version 0.3.2020.700
Pan 0.146 :
Subject: Re: Essai avec le mot =?iso-8859-1?B?qyBOdWxsaehtZSC7?= Agent
Unicode
Extension beta version 0.3.2020.700
Premier test : Example 3: fwrite($out, new MimeEncodeHeader("Subject", $subject) . "rn"); Pour comparer, j'ai laissé l'ancien encodage dans X-Subject.
Dernière version de NewsPortal avec le code d'Olivier : Subject: Re: Essai avec le mot =?UTF-8?Q?«_Nullième_»_Agent? Unicode Extension beta version 0.3.2020.700 Pan 0.146 : Subject: Re: Essai avec le mot =?iso-8859-1?B?qyBOdWxsaehtZSC7?= Agent Unicode Extension beta version 0.3.2020.700 -- Stéphane
Je m'astreins à poster avec newsportal mais, je préfère utiliser la couche mailnews de Seamonkey...
Pas que ce soit très important, mais selon les cas, ton : Newsportal-HTTP-Posting-Host: est en IPv6 ou en IPv4. Message-ID: <rmjh4n$1gs$ User-Agent: NewsPortal/0.50.1c Newsportal-HTTP-Posting-Host: 2a01:e35:2e9c:92b0:3188:96c9:3b25:7127 Message-ID: <rmk7au$oin$ User-Agent: NewsPortal/0.50.1c Newsportal-HTTP-Posting-Host: 192.168.0.254
Je m'astreins à poster avec newsportal mais, je préfère utiliser la couche mailnews de Seamonkey...
Pas que ce soit très important, mais selon les cas, ton : Newsportal-HTTP-Posting-Host: est en IPv6 ou en IPv4. Message-ID: <rmjh4n$1gs$ User-Agent: NewsPortal/0.50.1c Newsportal-HTTP-Posting-Host: 2a01:e35:2e9c:92b0:3188:96c9:3b25:7127 Message-ID: <rmk7au$oin$ User-Agent: NewsPortal/0.50.1c Newsportal-HTTP-Posting-Host: 192.168.0.254
Je m'astreins à poster avec newsportal mais, je préfère utiliser la couche mailnews de Seamonkey...
Pas que ce soit très important, mais selon les cas, ton : Newsportal-HTTP-Posting-Host: est en IPv6 ou en IPv4. Message-ID: <rmjh4n$1gs$ User-Agent: NewsPortal/0.50.1c Newsportal-HTTP-Posting-Host: 2a01:e35:2e9c:92b0:3188:96c9:3b25:7127 Message-ID: <rmk7au$oin$ User-Agent: NewsPortal/0.50.1c Newsportal-HTTP-Posting-Host: 192.168.0.254
Oui, c'est par je suis dans le LAN où est le raspberry donc des fois ipv4 des fois ipv6... Même phénomène en NNTP pur. Je ne sais pas comment modifier ça sur la box ou le serveur. -- Stéphane
Oui, c'est par je suis dans le LAN où est le raspberry donc des fois
ipv4 des fois ipv6... Même phénomène en NNTP pur.
Je ne sais pas comment modifier ça sur la box ou le serveur.
Je m'astreins à poster avec newsportal mais, je préfère utiliser la couche mailnews de Seamonkey...
Pas que ce soit très important, mais selon les cas, ton : Newsportal-HTTP-Posting-Host: est en IPv6 ou en IPv4. Message-ID: <rmjh4n$1gs$ User-Agent: NewsPortal/0.50.1c Newsportal-HTTP-Posting-Host: 2a01:e35:2e9c:92b0:3188:96c9:3b25:7127 Message-ID: <rmk7au$oin$ User-Agent: NewsPortal/0.50.1c Newsportal-HTTP-Posting-Host: 192.168.0.254
Oui, c'est par je suis dans le LAN où est le raspberry donc des fois ipv4 des fois ipv6... Même phénomène en NNTP pur. Je ne sais pas comment modifier ça sur la box ou le serveur. -- Stéphane
Olivier Miakinen
Le 20/10/2020 10:34, yamo' m'a répondu :
Note que je n'utilise aucune fonction de gestion des charsets, ni rien pour encoder en QP ou en Base64, tout est fait à la mimine. Les fonctions externes que j'utilise sont : - pour les chaînes de caractères : strlen(), substr(), sprintf() et ord() ; - pour les regexp : preg_match() et preg_split() ; - pour les tableaux : count() ; et je crois bien que c'est tout.
J'avais oublié au moins une fonction : - pour les nombres flottants : ceil() Ça c'est pour le calcul de la taille d'un encodage en base64.
Mais je ne suis pas encore au point pour utiliser Git, alors pour le moment j'ai mis le fichier mime.inc.php sur cjoint :
C'est assez simple d'ouvrir un compte sur gitlab (mon compte de github a été utilisé pour ça). Et tu peux faire les manipulations en web ou en vraies commandes git. Le simple fait de vouloir éditer le code de mon dépôt va te proposer de faire un fork où tu pourras éditer le code dans ton coin.
Il faudrait vraiment que je m'y mette. J'ai eu un cours à distance il y a quelques semaines avec un utilisateur de LilyPond, mais je ne prends jamais le temps de le mettre en pratique.
Je vais mettre un peu de temps à lire ton code et les commentaires.
J'ai mis pas mal de temps à les écrire ! D'ailleurs j'aurais quelques modifications à y apporter, sans incidence majeure. Essentiellement ce sont des commentaires que je voudrais modifier, mais aussi supprimer le code suivant aux alentours de la ligne 320 ou bien le rendre optionnel : if ($this->word_count == 0) { // Avoid an error $this->words = array("(NULL)"); $this->word_count = 1; } Ce que font ces 5 lignes (que j'ai oublié de documenter dans le gros pavé d'explications au début), c'est éviter d'avoir un contenu vide puisque c'est interdit dans le champ Subject − mais peut-être que c'est autorisé pour d'autres champs. Dans ce cas précis, au lieu d'avoir : Subject: on aurait : Subject: (NULL) -- Olivier Miakinen
Le 20/10/2020 10:34, yamo' m'a répondu :
Note que je n'utilise aucune fonction de gestion des charsets, ni rien pour
encoder en QP ou en Base64, tout est fait à la mimine. Les fonctions externes
que j'utilise sont :
- pour les chaînes de caractères : strlen(), substr(), sprintf() et ord() ;
- pour les regexp : preg_match() et preg_split() ;
- pour les tableaux : count() ;
et je crois bien que c'est tout.
J'avais oublié au moins une fonction :
- pour les nombres flottants : ceil()
Ça c'est pour le calcul de la taille d'un encodage en base64.
Mais je ne suis pas encore au point pour utiliser Git, alors pour le moment
j'ai mis le fichier mime.inc.php sur cjoint :
C'est assez simple d'ouvrir un compte sur gitlab (mon compte de github a
été utilisé pour ça).
Et tu peux faire les manipulations en web ou en vraies commandes git. Le
simple fait de vouloir éditer le code de mon dépôt va te proposer de
faire un fork où tu pourras éditer le code dans ton coin.
Il faudrait vraiment que je m'y mette. J'ai eu un cours à distance il y
a quelques semaines avec un utilisateur de LilyPond, mais je ne prends
jamais le temps de le mettre en pratique.
Je vais mettre un peu de temps à lire ton code et les commentaires.
J'ai mis pas mal de temps à les écrire !
D'ailleurs j'aurais quelques modifications à y apporter, sans incidence
majeure. Essentiellement ce sont des commentaires que je voudrais
modifier, mais aussi supprimer le code suivant aux alentours de la
ligne 320 ou bien le rendre optionnel :
if ($this->word_count == 0) {
// Avoid an error
$this->words = array("(NULL)");
$this->word_count = 1;
}
Ce que font ces 5 lignes (que j'ai oublié de documenter dans le gros
pavé d'explications au début), c'est éviter d'avoir un contenu vide
puisque c'est interdit dans le champ Subject − mais peut-être que
c'est autorisé pour d'autres champs.
Dans ce cas précis, au lieu d'avoir :
Subject:
on aurait :
Subject: (NULL)
Note que je n'utilise aucune fonction de gestion des charsets, ni rien pour encoder en QP ou en Base64, tout est fait à la mimine. Les fonctions externes que j'utilise sont : - pour les chaînes de caractères : strlen(), substr(), sprintf() et ord() ; - pour les regexp : preg_match() et preg_split() ; - pour les tableaux : count() ; et je crois bien que c'est tout.
J'avais oublié au moins une fonction : - pour les nombres flottants : ceil() Ça c'est pour le calcul de la taille d'un encodage en base64.
Mais je ne suis pas encore au point pour utiliser Git, alors pour le moment j'ai mis le fichier mime.inc.php sur cjoint :
C'est assez simple d'ouvrir un compte sur gitlab (mon compte de github a été utilisé pour ça). Et tu peux faire les manipulations en web ou en vraies commandes git. Le simple fait de vouloir éditer le code de mon dépôt va te proposer de faire un fork où tu pourras éditer le code dans ton coin.
Il faudrait vraiment que je m'y mette. J'ai eu un cours à distance il y a quelques semaines avec un utilisateur de LilyPond, mais je ne prends jamais le temps de le mettre en pratique.
Je vais mettre un peu de temps à lire ton code et les commentaires.
J'ai mis pas mal de temps à les écrire ! D'ailleurs j'aurais quelques modifications à y apporter, sans incidence majeure. Essentiellement ce sont des commentaires que je voudrais modifier, mais aussi supprimer le code suivant aux alentours de la ligne 320 ou bien le rendre optionnel : if ($this->word_count == 0) { // Avoid an error $this->words = array("(NULL)"); $this->word_count = 1; } Ce que font ces 5 lignes (que j'ai oublié de documenter dans le gros pavé d'explications au début), c'est éviter d'avoir un contenu vide puisque c'est interdit dans le champ Subject − mais peut-être que c'est autorisé pour d'autres champs. Dans ce cas précis, au lieu d'avoir : Subject: on aurait : Subject: (NULL) -- Olivier Miakinen
Non, parce que mon code mime.inc.php ne concerne actuellement que l'encodage avant envoi d'un nouvel article, alors qu'ici c'est quelque chose à faire à la réception d'un article venu de l'extérieur, avant de décoder les entêtes. Mais si tu veux je peux aussi prévoir une partie décodage, avec une nouvelle classe MimeDecodeHeader en plus de MimeEncodeHeader. -- Olivier Miakinen
Non, parce que mon code mime.inc.php ne concerne actuellement que l'encodage
avant envoi d'un nouvel article, alors qu'ici c'est quelque chose à faire
à la réception d'un article venu de l'extérieur, avant de décoder les entêtes.
Mais si tu veux je peux aussi prévoir une partie décodage, avec une nouvelle
classe MimeDecodeHeader en plus de MimeEncodeHeader.
Non, parce que mon code mime.inc.php ne concerne actuellement que l'encodage avant envoi d'un nouvel article, alors qu'ici c'est quelque chose à faire à la réception d'un article venu de l'extérieur, avant de décoder les entêtes. Mais si tu veux je peux aussi prévoir une partie décodage, avec une nouvelle classe MimeDecodeHeader en plus de MimeEncodeHeader. -- Olivier Miakinen
Olivier Miakinen
Le 20/10/2020 12:43, yamo' a écrit :
J'ai fait un premier test et je le trouve très concluant!
Moi aussi !
Je n'ai pas encore publié le code.
Note que tu pourras l'utiliser non seulement pour Subject, mais aussi pour Comments si tu en mets un (qui devrait avantageusement remplacer X-Comment) et Organization. *ATTENTION* : contrairement à ce qui est fait dans le code actuellement sur gitlab, il ne faut surtout pas encoder User-Agent car les caractères '=' et '?' utilisés pour l'encodage MIME (et '/' seulement pour base64) sont tous les trois interdits dans un 'token' de User-Agent. C'est pour ça que Forté Agent s'y appelle ForteAgent et que MacCafé s'y appelle MacCafe. -- Olivier Miakinen
Le 20/10/2020 12:43, yamo' a écrit :
J'ai fait un premier test et je le trouve très concluant!
Moi aussi !
Je n'ai pas encore publié le code.
Note que tu pourras l'utiliser non seulement pour Subject, mais aussi pour
Comments si tu en mets un (qui devrait avantageusement remplacer X-Comment)
et Organization.
*ATTENTION* : contrairement à ce qui est fait dans le code actuellement sur
gitlab, il ne faut surtout pas encoder User-Agent car les caractères '='
et '?' utilisés pour l'encodage MIME (et '/' seulement pour base64) sont
tous les trois interdits dans un 'token' de User-Agent. C'est pour ça que
Forté Agent s'y appelle ForteAgent et que MacCafé s'y appelle MacCafe.
J'ai fait un premier test et je le trouve très concluant!
Moi aussi !
Je n'ai pas encore publié le code.
Note que tu pourras l'utiliser non seulement pour Subject, mais aussi pour Comments si tu en mets un (qui devrait avantageusement remplacer X-Comment) et Organization. *ATTENTION* : contrairement à ce qui est fait dans le code actuellement sur gitlab, il ne faut surtout pas encoder User-Agent car les caractères '=' et '?' utilisés pour l'encodage MIME (et '/' seulement pour base64) sont tous les trois interdits dans un 'token' de User-Agent. C'est pour ça que Forté Agent s'y appelle ForteAgent et que MacCafé s'y appelle MacCafe. -- Olivier Miakinen
Olivier Miakinen
Le 20/10/2020 12:26, yamo' a écrit :
Premier test : Example 3: fwrite($out, new MimeEncodeHeader("Subject", $subject) . "rn"); Pour comparer, j'ai laissé l'ancien encodage dans X-Subject.
Subject: Re: Essai avec le mot =?UTF-8?Q?«_Nullième_»_Agent? Unicode Extension beta version 0.3.2020.700 X-Subject: Re: Essai avec le mot =?UTF-8?Q?« Nullième » Agent? =?UTF-8?Q? Unicode Extension beta version 0.3.202? =?UTF-8?Q?0.700? Ça me semble bien, surtout concernant la longueur de la première ligne... en fait je t'ai déjà répondu sur fr.comp.lang.php. -- Olivier Miakinen
Le 20/10/2020 12:26, yamo' a écrit :
Premier test :
Example 3:
fwrite($out, new MimeEncodeHeader("Subject", $subject) . "rn");
Pour comparer, j'ai laissé l'ancien encodage dans X-Subject.
Subject: Re: Essai avec le mot =?UTF-8?Q?«_Nullième_»_Agent? Unicode Extension beta version 0.3.2020.700
X-Subject: Re: Essai avec le mot
=?UTF-8?Q?« Nullième » Agent? =?UTF-8?Q? Unicode Extension beta version 0.3.202? =?UTF-8?Q?0.700?
Ça me semble bien, surtout concernant la longueur de la première ligne...
en fait je t'ai déjà répondu sur fr.comp.lang.php.
Premier test : Example 3: fwrite($out, new MimeEncodeHeader("Subject", $subject) . "rn"); Pour comparer, j'ai laissé l'ancien encodage dans X-Subject.
Subject: Re: Essai avec le mot =?UTF-8?Q?«_Nullième_»_Agent? Unicode Extension beta version 0.3.2020.700 X-Subject: Re: Essai avec le mot =?UTF-8?Q?« Nullième » Agent? =?UTF-8?Q? Unicode Extension beta version 0.3.202? =?UTF-8?Q?0.700? Ça me semble bien, surtout concernant la longueur de la première ligne... en fait je t'ai déjà répondu sur fr.comp.lang.php. -- Olivier Miakinen
Olivier Miakinen
Le 20/10/2020 16:09, je répondais à yamo' :
Je vais mettre un peu de temps à lire ton code et les commentaires.
J'ai mis pas mal de temps à les écrire !
Si jamais tu n'as pas encore commencé à lire le code de la fonction how_many_encodable(), ou si tu n'y comprends rien parce qu'elle retourne un tableau lu avec l'instruction list(...), alors il est temps que je t'envoie ma nouvelle version de mime.inc.php. En effet, j'ai remplacé cette longue fonction par deux fonctions plus courtes et plus faciles à comprendre, tout en laissant le reste du code à peu près intact. Mais si tu l'as déjà lue et que tu es sur le reste, rien ne presse. Cordialement, -- Olivier Miakinen
Le 20/10/2020 16:09, je répondais à yamo' :
Je vais mettre un peu de temps à lire ton code et les commentaires.
J'ai mis pas mal de temps à les écrire !
Si jamais tu n'as pas encore commencé à lire le code de la fonction
how_many_encodable(), ou si tu n'y comprends rien parce qu'elle
retourne un tableau lu avec l'instruction list(...), alors il est
temps que je t'envoie ma nouvelle version de mime.inc.php.
En effet, j'ai remplacé cette longue fonction par deux fonctions
plus courtes et plus faciles à comprendre, tout en laissant le
reste du code à peu près intact.
Mais si tu l'as déjà lue et que tu es sur le reste, rien ne presse.
Je vais mettre un peu de temps à lire ton code et les commentaires.
J'ai mis pas mal de temps à les écrire !
Si jamais tu n'as pas encore commencé à lire le code de la fonction how_many_encodable(), ou si tu n'y comprends rien parce qu'elle retourne un tableau lu avec l'instruction list(...), alors il est temps que je t'envoie ma nouvelle version de mime.inc.php. En effet, j'ai remplacé cette longue fonction par deux fonctions plus courtes et plus faciles à comprendre, tout en laissant le reste du code à peu près intact. Mais si tu l'as déjà lue et que tu es sur le reste, rien ne presse. Cordialement, -- Olivier Miakinen
yamo'
Salut, Olivier Miakinen a tapoté le 20/10/2020 16:13:
Non, parce que mon code mime.inc.php ne concerne actuellement que l'encodage avant envoi d'un nouvel article, alors qu'ici c'est quelque chose à faire à la réception d'un article venu de l'extérieur, avant de décoder les entêtes. Mais si tu veux je peux aussi prévoir une partie décodage, avec une nouvelle classe MimeDecodeHeader en plus de MimeEncodeHeader.
Si tu veux, et que ça ne te demande pas trop de temps. Tu me diras quel message de commit de je mets sur git pour ton fichier php : juste la partie copyright? -- Stéphane
Non, parce que mon code mime.inc.php ne concerne actuellement que l'encodage
avant envoi d'un nouvel article, alors qu'ici c'est quelque chose à faire
à la réception d'un article venu de l'extérieur, avant de décoder les entêtes.
Mais si tu veux je peux aussi prévoir une partie décodage, avec une nouvelle
classe MimeDecodeHeader en plus de MimeEncodeHeader.
Si tu veux, et que ça ne te demande pas trop de temps.
Tu me diras quel message de commit de je mets sur git
pour ton fichier php : juste la partie copyright?
Non, parce que mon code mime.inc.php ne concerne actuellement que l'encodage avant envoi d'un nouvel article, alors qu'ici c'est quelque chose à faire à la réception d'un article venu de l'extérieur, avant de décoder les entêtes. Mais si tu veux je peux aussi prévoir une partie décodage, avec une nouvelle classe MimeDecodeHeader en plus de MimeEncodeHeader.
Si tu veux, et que ça ne te demande pas trop de temps. Tu me diras quel message de commit de je mets sur git pour ton fichier php : juste la partie copyright? -- Stéphane