Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Essai Agent Unicode Extension beta version 0.3.2020.700

80 réponses
Avatar
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
ყველა ადამიანი იბადება
თავისუფალი და თანასწორი
თავისი ღირსებითა და
უფლებებით. მათ მინიჭებული
აქვთ გონება და სინდისი და
ერთმანეთის მიმართ უნდა
იქცეოდნენ ძმობის
სულისკვეთებით.

Greek (polytonic)
Ὅλοι οἱ ἄνθρωποι γεννιοῦνται
ἐλεύθεροι καὶ ἴσοι στὴν
ἀξιοπρέπεια καὶ τὰ δικαιώματα.
Εἶναι προικισμένοι μὲ λογικὴ καὶ
συνείδηση, καὶ ὀφείλουν νὰ
συμπεριφέρονται μεταξύ τους μὲ
πνεῦμα ἀδελφοσύνης.

--
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

10 réponses

Avatar
Olivier Miakinen
Le 18/10/2020 10:52, yamo' a écrit :
[...]
ni ½ (dans ISO-8859-1 uniquement) et encore moins √ (dans aucune des

deux).

Tiens, voilà un autre petit bug : en coupant la ligne à cause du format
flowed, la fin de la ligne citée s'est retrouvée non citée.
Il aurait mieux valu ne pas la couper du tout (puisque moi je n'étais pas
en format flowed et que même en rajoutant un chevron ça reste très loin
des 998 caractères maximum), ou au pire rajouter un chevron devant le
« deux). » aussi.
Grâce à toi, j'ai nettoyé le code et je suis arrivé à quelque chose
de plus logique :
<URL:https://gitlab.com/yamo-nntp/newsportal/-/blob/master/lib/post.inc.php>
Mais je suis bien conscient que c'est encore très perfectible... Mais au
moins c'est d'après mes tests fonctionnel...

§
fputs($ns,'Subject: ' . mb_encode_mimeheader( $subject,mb_internal_encoding(), "Q", " rn"). "rn");

§
L'idéal serait quand même que tout soit en UTF-8 le plus tôt possible, et
d'avoir :
mb_internal_encoding("UTF-8");
ainsi que :
mb_encode_mimeheader($subject, "UTF-8", "Q", "rn");
Est-ce que tu as essayé de mettre un « √ » dans le titre ? Tiens, j'en ajoute
un avant que tu me répondes.
--
Olivier Miakinen
Avatar
yamo'
Olivier Miakinen a écrit :
Le 18/10/2020 10:52, yamo' a écrit :
[...]
ni ½ (dans ISO-8859-1 uniquement) et encore moins √ (dans aucune des

deux).

Tiens, voilà un autre petit bug : en coupant la ligne à cause du format
flowed, la fin de la ligne citée s'est retrouvée non citée.

Oui, ce n'est pas la première fois que je vois le bug.
Je ne pense pas que ce soit du à une mauvaise saisie sur smartphone.
Tout comme Newsportal a tendance a ajouter une ligne entre les niveaux de
citations différents.
C'est une partie du code que je n'ai pas du tout regardé.
Il aurait mieux valu ne pas la couper du tout (puisque moi je n'étais pas
en format flowed et que même en rajoutant un chevron ça reste très loin
des 998 caractères maximum), ou au pire rajouter un chevron devant le
« deux). » aussi.
Grâce à toi, j'ai nettoyé le code et je suis arrivé à quelque chose
de plus logique :
<URL:https://gitlab.com/yamo-nntp/newsportal/-/blob/master/lib/post.inc.php>
Mais je suis bien conscient que c'est encore très perfectible... Mais au
moins c'est d'après mes tests fonctionnel...

§
fputs($ns,'Subject: ' . mb_encode_mimeheader(


$subject,mb_internal_encoding(), "Q", " rn"). "rn");
§
L'idéal serait quand même que tout soit en UTF-8 le plus tôt possible, et
d'avoir :
mb_internal_encoding("UTF-8");

Je vais le mettre au niveau de config.inc.php qui est toujours inclus.
Je l'avais fait mais comme je n'avais pas vu de changement...
ainsi que :
mb_encode_mimeheader($subject, "UTF-8", "Q", "rn");

J'ai essayé un peu toutes les options sauf celle là.
J'essayerais demain.
Est-ce que tu as essayé de mettre un « √ » dans le titre ? Tiens, j'en

ajoute
un avant que tu me répondes.

On va voir...
--
Stephane sur smartphone, l'interface est encore à améliorer en cas de
longues lignes
Avatar
Olivier Miakinen
Le 18/10/2020 19:35, yamo' m'a répondu :
Est-ce que tu as essayé de mettre un « √ » dans le titre ? Tiens, j'en

ajoute
un avant que tu me répondes.

On va voir...

C'est parfait, et j'ai aussi vu les tests que tu as faits dans fr.test.
Quant à moi, j'ai presque fini de coder ma fonction améliorée. J'en suis
déjà à plus de 300 lignes (code et commentaires) et je teste cette fonction
avec un PHP 7.2.
--
Olivier Miakinen
Avatar
yamo'
Salut,
Je m'astreins à poster avec newsportal mais, je préfère utiliser la
couche mailnews de Seamonkey...
Olivier Miakinen a écrit :
Le 18/10/2020 10:52, yamo' a écrit :
[...]
ni ½ (dans ISO-8859-1 uniquement) et encore moins √ (dans aucune des

deux).

Tiens, voilà un autre petit bug : en coupant la ligne à cause du format
flowed, la fin de la ligne citée s'est retrouvée non citée.
Il aurait mieux valu ne pas la couper du tout (puisque moi je n'étais pas
en format flowed et que même en rajoutant un chevron ça reste très loin
des 998 caractères maximum), ou au pire rajouter un chevron devant le
« deux). » aussi.

Je pense que le coupable est là :
for ($i=0; $i<count($b); $i++) {
if ((strpos(substr($b[$i],0,strpos($b[$i]," ")),">") != false) |
(strcmp(substr($b[$i],0,1),">") == 0)) {
$body .= textwrap(stripSlashes($b[$i]),78," rn")."rn";
} else {
$body .= textwrap(stripSlashes($b[$i]),74," rn")."rn";
}
}
Et je pense que les retours de chariots en trop viennent aussi de là.
Pour moi dans le body c'est des 'n' et pas "rn"? Ou c'est comme dans les
entêtes? Je n'ai pas trouvé la RFC. Nemo avait évité ce bug, la
solution a peut-être été postée ici-même.
<URL:https://gitlab.com/yamo-nntp/newsportal/-/blob/master/lib/post.inc.php>
Grâce à toi, j'ai nettoyé le code et je suis arrivé à quelque chose
de plus logique :
<URL:https://gitlab.com/yamo-nntp/newsportal/-/blob/master/lib/post.inc.php>
Mais je suis bien conscient que c'est encore très perfectible... Mais au
moins c'est d'après mes tests fonctionnel...

§
fputs($ns,'Subject: ' . mb_encode_mimeheader( $subject,mb_internal_encoding(), "Q", " rn"). "rn");

§

Grâce au code de Julien Élie les '' devant r et n sont de retour dans
l'affichage de ton post et la réponse. Le bug des coupures est aussi là.
Newsportal devrait laisser les citations intactes comme le fait par
exemple Pan.
L'idéal serait quand même que tout soit en UTF-8 le plus tôt possible, et
d'avoir :
mb_internal_encoding("UTF-8");

C'est fait.
Je ne sais pas si c'est lié mais la liste des groupes a au moins un bug
d'encodage : <http://news2web.pasdenom.info/index.php>
Le code de news2web.pasdenom.info n'est pas tout le temps à jour : je
suis fâché avec git et je fais les mises à jours à coup de rm et de
git clone...
Les méthodes normales me donnent des messages d'erreur mais je suis plus
à l'aise avec svn que git...
ainsi que :
mb_encode_mimeheader($subject, "UTF-8", "Q", "rn");

Pas encore adopté. Je me demande si c'est utile par rapport au code
existant.
Est-ce que tu as essayé de mettre un « √ » dans le titre ? Tiens, j'en ajoute
un avant que tu me répondes.

À priori c'est bon.
J'ai quelques bugs sur des messages de Pan et Gnus mais je n'arrive pas à
trouver une cause crédible.
--
Stéphane
Avatar
yamo'
Olivier Miakinen a écrit :
Le 18/10/2020 19:35, yamo' m'a répondu :
Est-ce que tu as essayé de mettre un « √ » dans le titre ? Tiens, j'en

ajoute
un avant que tu me répondes.

On va voir...

C'est parfait, et j'ai aussi vu les tests que tu as faits dans fr.test.
Quant à moi, j'ai presque fini de coder ma fonction améliorée. J'en suis
déjà à plus de 300 lignes (code et commentaires) et je teste cette fonction
avec un PHP 7.2.

Merci d'avance :)
Avatar
yamo'
yamo' a écrit :
Olivier Miakinen a écrit :
Le 18/10/2020 19:35, yamo' m'a répondu :
Est-ce que tu as essayé de mettre un « √ » dans le titre ? Tiens, j'en

ajoute
un avant que tu me répondes.

On va voir...

C'est parfait, et j'ai aussi vu les tests que tu as faits dans fr.test.
Quant à moi, j'ai presque fini de coder ma fonction améliorée. J'en suis
déjà à plus de 300 lignes (code et commentaires) et je teste cette fonction
avec un PHP 7.2.

Merci d'avance :)

Pour information, en adaptant un code perl dont j'ai eu besoin.
Je vais permettre l'envoi comme un "serveur" nntp avec les entêtes
injection-* correctement mises à jour. Cette idée m'a été soufflée
par Gérald sur fr.usenet.distribution.
--
Stéphane
Avatar
Olivier Miakinen
Bonjour,
Je rappelle ici le lien :
<URL:https://gitlab.com/yamo-nntp/newsportal/-/blob/master/lib/post.inc.php>
Le 19/10/2020 10:01, yamo' a écrit :
Tiens, voilà un autre petit bug : en coupant la ligne à cause du format
flowed, la fin de la ligne citée s'est retrouvée non citée.

Il aurait mieux valu ne pas la couper du tout (puisque moi je n'étais pas
en format flowed et que même en rajoutant un chevron ça reste très loin
des 998 caractères maximum), ou au pire rajouter un chevron devant le
« deux). » aussi.

Je pense que le coupable est là :
for ($i=0; $i<count($b); $i++) {
if ((strpos(substr($b[$i],0,strpos($b[$i]," ")),">") != false) |
(strcmp(substr($b[$i],0,1),">") == 0)) {
$body .= textwrap(stripSlashes($b[$i]),78," rn")."rn";
} else {
$body .= textwrap(stripSlashes($b[$i]),74," rn")."rn";
}
}

En effet. Je ne sais pas si c'est autorisé en format flowed, mais au
moins en format fixed il ne faut faire aucun textwrap sur une ligne
qui commence par un ">".
Par ailleurs, tu as un autre problème quand tu écris avec NewsPortal,
à savoir que tous les antislashs () se font bouffer.
Et je pense que les retours de chariots en trop viennent aussi de là.
Pour moi dans le body c'est des 'n' et pas "rn"? Ou c'est comme dans les
entêtes? Je n'ai pas trouvé la RFC. Nemo avait évité ce bug, la
solution a peut-être été postée ici-même.

C'est pour ça que tu as cette instruction en ligne 125 ?
$body=str_replace("r",'',$body);
Je crois que tous les protocoles TCP/IP en mode texte définis par des RFC
standards demandent que *toutes* les lignes soient délimitées par CR+LF
(rn) et jamais par LF seul. Donc oui, le body aussi.
Mais en général on programme avec des n seuls, et c'est seulement au moment
d'envoyer le résultat en TCP/IP que l'on transforme les n en rn. Je ne sais
pas si c'est facile à faire dans NewsPortal.
L'idéal serait quand même que tout soit en UTF-8 le plus tôt possible, et
d'avoir :
mb_internal_encoding("UTF-8");

C'est fait.

Ok.
Je ne sais pas si c'est lié mais la liste des groupes a au moins un bug
d'encodage : <http://news2web.pasdenom.info/index.php>

Ah oui : « fr.* (hiérarchie francophone) »
Généralement c'est dû au résultat d'un iconv ou d'un utf8_encode sur un
texte qui était déjà en UTF-8. À terme, lorsque tout sera nativement
en UTF-8, il ne devrait plus y avoir aucun appel à ces fonctions de
transcodage hormis lors de la lecture d'un article venant de l'extérieur
et déclarant un autre charset.
ainsi que :
mb_encode_mimeheader($subject, "UTF-8", "Q", "rn");

Pas encore adopté. Je me demande si c'est utile par rapport au code
existant.

À partir du moment où tu as fait mb_internal_encoding("UTF-8"), et donc
que mb_internal_encoding() retorune "UTF-8", c'est équivalent à ton code
actuel.
De toute façon, quand j'aurai fini de coder, il n'y aura plus aucun appel
à mb_encode_mimeheader() puisque j'ai codé moi-même les encodages QP et
Base64.
Est-ce que tu as essayé de mettre un « √ » dans le titre ? Tiens, j'en ajoute
un avant que tu me répondes.

À priori c'est bon.
J'ai quelques bugs sur des messages de Pan et Gnus mais je n'arrive pas à
trouver une cause crédible.

Peut-être un titre en 8-bits brut ? Si tu me donnes des MID je peux regarder.
--
Olivier Miakinen
Avatar
yamo'
Olivier Miakinen a écrit :
Bonjour,
Je rappelle ici le lien :
<URL:https://gitlab.com/yamo-nntp/newsportal/-/blob/master/lib/post.inc.php>
Le 19/10/2020 10:01, yamo' a écrit :
Tiens, voilà un autre petit bug : en coupant la ligne à cause du format
flowed, la fin de la ligne citée s'est retrouvée non citée.

Il aurait mieux valu ne pas la couper du tout (puisque moi je n'étais pas
en format flowed et que même en rajoutant un chevron ça reste très loin
des 998 caractères maximum), ou au pire rajouter un chevron devant le
« deux). » aussi.

Je pense que le coupable est là :
for ($i=0; $i<count($b); $i++) {
if ((strpos(substr($b[$i],0,strpos($b[$i]," ")),">") != false) |
(strcmp(substr($b[$i],0,1),">") == 0)) {
$body .= textwrap(stripSlashes($b[$i]),78," rn")."rn";
} else {
$body .= textwrap(stripSlashes($b[$i]),74," rn")."rn";
}
}

En effet. Je ne sais pas si c'est autorisé en format flowed, mais au
moins en format fixed il ne faut faire aucun textwrap sur une ligne
qui commence par un ">".

C'est ce qu'il me semblait.
Par ailleurs, tu as un autre problème quand tu écris avec NewsPortal,
à savoir que tous les antislashs () se font bouffer.

Oui, normalement c'est résolu : j'ai reporté le code ee Julien Élie sur
la version que j'utilise.
Et je pense que les retours de chariots en trop viennent aussi de là.
Pour moi dans le body c'est des 'n' et pas "rn"? Ou c'est comme dans les
entêtes? Je n'ai pas trouvé la RFC. Nemo avait évité ce bug, la
solution a peut-être été postée ici-même.

C'est pour ça que tu as cette instruction en ligne 125 ?
$body=str_replace("r",'',$body);

Je ne sais pas, je pense que ça fait partie du code historique.
Je crois que tous les protocoles TCP/IP en mode texte définis par des RFC
standards demandent que *toutes* les lignes soient délimitées par CR+LF
(rn) et jamais par LF seul. Donc oui, le body aussi.

Merci, comme c'est super général je ne l'avais pas trouvé.
Mais en général on programme avec des n seuls, et c'est seulement au moment
d'envoyer le résultat en TCP/IP que l'on transforme les n en rn. Je ne sais
pas si c'est facile à faire dans NewsPortal.
L'idéal serait quand même que tout soit en UTF-8 le plus tôt possible, et
d'avoir :
mb_internal_encoding("UTF-8");

C'est fait.

Ok.
Je ne sais pas si c'est lié mais la liste des groupes a au moins un bug
d'encodage : <http://news2web.pasdenom.info/index.php>

Ah oui : « fr.* (hiérarchie francophone) »
Généralement c'est dû au résultat d'un iconv ou d'un utf8_encode sur un
texte qui était déjà en UTF-8. À terme, lorsque tout sera nativement
en UTF-8, il ne devrait plus y avoir aucun appel à ces fonctions de
transcodage hormis lors de la lecture d'un article venant de l'extérieur
et déclarant un autre charset.

Oui, ce serait bien d'avoir quelque chose de plus logique.
ainsi que :
mb_encode_mimeheader($subject, "UTF-8", "Q", "rn");

Pas encore adopté. Je me demande si c'est utile par rapport au code
existant.

À partir du moment où tu as fait mb_internal_encoding("UTF-8"), et donc
que mb_internal_encoding() retorune "UTF-8", c'est équivalent à ton code
actuel.
De toute façon, quand j'aurai fini de coder, il n'y aura plus aucun appel
à mb_encode_mimeheader() puisque j'ai codé moi-même les encodages QP et
Base64.

Ah tant mieux!
Est-ce que tu as essayé de mettre un « √ » dans le titre ? Tiens, j'en ajoute
un avant que tu me répondes.

À priori c'est bon.
J'ai quelques bugs sur des messages de Pan et Gnus mais je n'arrive pas à
trouver une cause crédible.

Peut-être un titre en 8-bits brut ? Si tu me donnes des MID je peux regarder.

J'en avais mais la suppression des fichiers dans spool a corrigé le
problème (ce devait être un cache d'une version d'une début).
Par contre, j'ai trouvé un cas :
http://news2web.pasdenom.info/article.php?idR56&group=fr.comp.usenet.lecteurs-de-news#5256
<rj2lip$274l$
C'est sur une autre partie du code que ça déconne : l'affichage du
thread lié à l'article.
Sur fr.test, je ne sais pas si c'est une référence en ce moment :P
<http://news2web.pasdenom.info/article.php?id0322&group=fr.test#30322>
Grace au Xref voici l'URL (lien absent car thread.inc.php a échoué) :
<http://news2web.pasdenom.info/article.php?id0362&group=fr.test#30322>
<http://news2web.pasdenom.info/article.php?id0363&group=fr.test>
Un que tu connais :
<http://news2web.pasdenom.info/article.php?id0308&group=fr.test#30308>
Le code source est artistique : <rmjtgj$dbf$
<rmhoqv$1q5r$
Le carré blanc (!) :
<http://news2web.pasdenom.info/article.php?id0339&group=fr.test#30341>
Il y avait aussi les posts de Dom Féranpière©® et les réponses avant
qu'il ne corrige son lecteur de news...
--
Stéphane
Avatar
yamo'
yamo' a écrit :
Pour information, en adaptant un code perl dont j'ai eu besoin.
Je vais permettre l'envoi comme un "serveur" nntp avec les entêtes
injection-* correctement mises à jour. Cette idée m'a été soufflée
par Gérald sur fr.usenet.distribution.

Ça va être plus compliqué que prévu...
Je n'ai pas trouvé la fonction Ihave et mon essai avec command a échoué.
Avatar
Gérald Niel
Le Lundi 19 octobre 2020 à 15:44 UTC, yamo' écrivait sur
fr.comp.lang.php :
Pour information, en adaptant un code perl dont j'ai eu besoin.
Je vais permettre l'envoi comme un "serveur" nntp avec les entêtes
injection-* correctement mises à jour. Cette idée m'a été soufflée
par Gérald sur fr.usenet.distribution.

Ça va être plus compliqué que prévu...
Je n'ai pas trouvé la fonction Ihave et mon essai avec command a échoué.

Ce n'est pas ce que j'ai suggéré, et ça n'est pas une bonne idée.
NewsPortal est un client NNTP.
Il est fort possible qu'à l'époque de l'écriture de NewsPortal les
fonctions IMAP de PHP n'existaient pas.
https://www.php.net/manual/fr/ref.imap.php
Hors ces fonctions permettent de se connecter à un serveur nntp en
mode client.
À explorer…
@+
--
On ne le dira jamais assez, l'anarchisme, c'est l'ordre sans le
gouvernement ; c'est la paix sans la violence. C'est le contraire
précisément de tout ce qu'on lui reproche, soit par ignorance, soit
par mauvaise foi. -+- Hem Day -+-