JKB wrote:La lecture se fait en plusieurs étapes :
1/ lecture du fichier en mode binaire, stockage dans une table et
analyse de la table à grands coups de métriques pour savoir dans
quel encodage est le fichier.
2/ récupération de l'encodage ayant le meilleur taux de
vraisemblance.
3/ si le taux est de 1, le fichier est correct. S'il est différent
de 1, il y a une erreur et on envoie un message d'insulte en
refusant de continuer.
4/ on relit le fichier en mode caractère (octet ou non) en
fonctionde l'encodage trouvé en supprimant les commentaires et les retours
àla ligne.
5/ on convertit le fichier lu dans un encodage fixe et connu (par
exemple UTF-8) en vérifiant soit que tous les caractères sont
convertibles, soit qu'on remplace les caractères non convertibles
par le caractère le plus proche dans l'encodage cible.
6/ on analyse la structure pour voir si ce contenu est
cohérent (ne pas avoir par exemple de lignes comme A=1=1... Ou des
délimiteurs qui ne sont pas fermés... Ça dépend de la syntaxe
utilisée).7/ on analyse le contenu.
Donc si je résume, on part d'un bête fichier de configuration.
On fout un gros coup d'analyse de grammaire contextuelle là dedans, une des
pires à analyser informatiquement.
On balance des probas dignes d'un docteur de mathématiques avancées pour
l'informatique, à grand coup de calcul de vraisemblances, de probabilités...
On fait un programme en logique floue pour être capable de gérer le cas du
"proba encodage < 1" ou même "plusieurs encodages à proba maximale
identique".
On fait bien sûr 4 ou 5 lectures du fichier, et on prend bien soin de
stocker tout ça dans de superbes grosses structures de données (qui pèseront
100x le fichier à lui tout seul), histoire qu'on ne puisse pas faire de
lecture en flux continu (qui a dit SAX?).
Ensuite là on prend son pied à gros coup d'algos bien goulus qui vont
tripatouiller les structures dans tous les coins, histoire de trouver ce que
ce fichier veut bien dire (ou pas).
Et voila, on a un joli fichier de conf de 10ko........ et un algo
probabilistique contextuel de 140MO qui ne peut pas tourner sur une machine
à moins de 3Go de RAM et 4Ghz de CPU. Et encore, il n'a même pas le luxe
d'avoir 100% de probabilité d'avoir détecter le bon encodage!
Je ne parle même pas de la complexité à y intégrer un nouvel encodage,
à
être robuste aux changements (oups, j'ai changé le format de mon fichier, je
rappelle le docteur es Math et le linguisticien?),
à résister à l'analyse
d'un fichier de 10Mo (oups, NotEnoughMemoryException...), à avoir un code
portable (oups, j'ai compilé sur une machine UTF8 mais je l'exécute sur une
machine ISO88591).
JKB wrote:
La lecture se fait en plusieurs étapes :
1/ lecture du fichier en mode binaire, stockage dans une table et
analyse de la table à grands coups de métriques pour savoir dans
quel encodage est le fichier.
2/ récupération de l'encodage ayant le meilleur taux de
vraisemblance.
3/ si le taux est de 1, le fichier est correct. S'il est différent
de 1, il y a une erreur et on envoie un message d'insulte en
refusant de continuer.
4/ on relit le fichier en mode caractère (octet ou non) en
fonction
de l'encodage trouvé en supprimant les commentaires et les retours
à
la ligne.
5/ on convertit le fichier lu dans un encodage fixe et connu (par
exemple UTF-8) en vérifiant soit que tous les caractères sont
convertibles, soit qu'on remplace les caractères non convertibles
par le caractère le plus proche dans l'encodage cible.
6/ on analyse la structure pour voir si ce contenu est
cohérent (ne pas avoir par exemple de lignes comme A=1=1... Ou des
délimiteurs qui ne sont pas fermés... Ça dépend de la syntaxe
utilisée).
7/ on analyse le contenu.
Donc si je résume, on part d'un bête fichier de configuration.
On fout un gros coup d'analyse de grammaire contextuelle là dedans, une des
pires à analyser informatiquement.
On balance des probas dignes d'un docteur de mathématiques avancées pour
l'informatique, à grand coup de calcul de vraisemblances, de probabilités...
On fait un programme en logique floue pour être capable de gérer le cas du
"proba encodage < 1" ou même "plusieurs encodages à proba maximale
identique".
On fait bien sûr 4 ou 5 lectures du fichier, et on prend bien soin de
stocker tout ça dans de superbes grosses structures de données (qui pèseront
100x le fichier à lui tout seul), histoire qu'on ne puisse pas faire de
lecture en flux continu (qui a dit SAX?).
Ensuite là on prend son pied à gros coup d'algos bien goulus qui vont
tripatouiller les structures dans tous les coins, histoire de trouver ce que
ce fichier veut bien dire (ou pas).
Et voila, on a un joli fichier de conf de 10ko........ et un algo
probabilistique contextuel de 140MO qui ne peut pas tourner sur une machine
à moins de 3Go de RAM et 4Ghz de CPU. Et encore, il n'a même pas le luxe
d'avoir 100% de probabilité d'avoir détecter le bon encodage!
Je ne parle même pas de la complexité à y intégrer un nouvel encodage,
à
être robuste aux changements (oups, j'ai changé le format de mon fichier, je
rappelle le docteur es Math et le linguisticien?),
à résister à l'analyse
d'un fichier de 10Mo (oups, NotEnoughMemoryException...), à avoir un code
portable (oups, j'ai compilé sur une machine UTF8 mais je l'exécute sur une
machine ISO88591).
JKB wrote:La lecture se fait en plusieurs étapes :
1/ lecture du fichier en mode binaire, stockage dans une table et
analyse de la table à grands coups de métriques pour savoir dans
quel encodage est le fichier.
2/ récupération de l'encodage ayant le meilleur taux de
vraisemblance.
3/ si le taux est de 1, le fichier est correct. S'il est différent
de 1, il y a une erreur et on envoie un message d'insulte en
refusant de continuer.
4/ on relit le fichier en mode caractère (octet ou non) en
fonctionde l'encodage trouvé en supprimant les commentaires et les retours
àla ligne.
5/ on convertit le fichier lu dans un encodage fixe et connu (par
exemple UTF-8) en vérifiant soit que tous les caractères sont
convertibles, soit qu'on remplace les caractères non convertibles
par le caractère le plus proche dans l'encodage cible.
6/ on analyse la structure pour voir si ce contenu est
cohérent (ne pas avoir par exemple de lignes comme A=1=1... Ou des
délimiteurs qui ne sont pas fermés... Ça dépend de la syntaxe
utilisée).7/ on analyse le contenu.
Donc si je résume, on part d'un bête fichier de configuration.
On fout un gros coup d'analyse de grammaire contextuelle là dedans, une des
pires à analyser informatiquement.
On balance des probas dignes d'un docteur de mathématiques avancées pour
l'informatique, à grand coup de calcul de vraisemblances, de probabilités...
On fait un programme en logique floue pour être capable de gérer le cas du
"proba encodage < 1" ou même "plusieurs encodages à proba maximale
identique".
On fait bien sûr 4 ou 5 lectures du fichier, et on prend bien soin de
stocker tout ça dans de superbes grosses structures de données (qui pèseront
100x le fichier à lui tout seul), histoire qu'on ne puisse pas faire de
lecture en flux continu (qui a dit SAX?).
Ensuite là on prend son pied à gros coup d'algos bien goulus qui vont
tripatouiller les structures dans tous les coins, histoire de trouver ce que
ce fichier veut bien dire (ou pas).
Et voila, on a un joli fichier de conf de 10ko........ et un algo
probabilistique contextuel de 140MO qui ne peut pas tourner sur une machine
à moins de 3Go de RAM et 4Ghz de CPU. Et encore, il n'a même pas le luxe
d'avoir 100% de probabilité d'avoir détecter le bon encodage!
Je ne parle même pas de la complexité à y intégrer un nouvel encodage,
à
être robuste aux changements (oups, j'ai changé le format de mon fichier, je
rappelle le docteur es Math et le linguisticien?),
à résister à l'analyse
d'un fichier de 10Mo (oups, NotEnoughMemoryException...), à avoir un code
portable (oups, j'ai compilé sur une machine UTF8 mais je l'exécute sur une
machine ISO88591).
La structure XML, c'est la structure du XML.
<EOT>
La structure XML, c'est la structure du XML.
<EOT>
La structure XML, c'est la structure du XML.
<EOT>
Les deux sont du XML bien formé (à moins d'une erreur de frappe de ma part),
les deux disent la même chose, mais le premier est parfaitement lisible, et
pas le second.
Les deux sont du XML bien formé (à moins d'une erreur de frappe de ma part),
les deux disent la même chose, mais le premier est parfaitement lisible, et
pas le second.
Les deux sont du XML bien formé (à moins d'une erreur de frappe de ma part),
les deux disent la même chose, mais le premier est parfaitement lisible, et
pas le second.
qui n'ont rien de plus pressé que
d'appliquer froidement les dernières fadaises qu'on leur a enseigné es
à la fac.
qui n'ont rien de plus pressé que
d'appliquer froidement les dernières fadaises qu'on leur a enseigné es
à la fac.
qui n'ont rien de plus pressé que
d'appliquer froidement les dernières fadaises qu'on leur a enseigné es
à la fac.
Michel Talon a écrit :
> qui n'ont rien de plus pressé que
> d'appliquer froidement les dernières fadaises qu'on leur a enseignées
> à la fac.
>
>
bon ok
le xml est un méta format
et que tu le veuilles ou pas ,c'est très puissant
c'est la mise en application du design pattern mcv
et pour faire passer la pilule aux vieux râleurs impénitents il
suffirait de leur dire que le xml et le Latext c'est exactement la même
chose ben là subitement cela devient super puissant, super vieux, et
l'on se demande même comment on a pu s'en passer
Michel Talon a écrit :
> qui n'ont rien de plus pressé que
> d'appliquer froidement les dernières fadaises qu'on leur a enseignées
> à la fac.
>
>
bon ok
le xml est un méta format
et que tu le veuilles ou pas ,c'est très puissant
c'est la mise en application du design pattern mcv
et pour faire passer la pilule aux vieux râleurs impénitents il
suffirait de leur dire que le xml et le Latext c'est exactement la même
chose ben là subitement cela devient super puissant, super vieux, et
l'on se demande même comment on a pu s'en passer
Michel Talon a écrit :
> qui n'ont rien de plus pressé que
> d'appliquer froidement les dernières fadaises qu'on leur a enseignées
> à la fac.
>
>
bon ok
le xml est un méta format
et que tu le veuilles ou pas ,c'est très puissant
c'est la mise en application du design pattern mcv
et pour faire passer la pilule aux vieux râleurs impénitents il
suffirait de leur dire que le xml et le Latext c'est exactement la même
chose ben là subitement cela devient super puissant, super vieux, et
l'on se demande même comment on a pu s'en passer
JKB , dans le message , a
écrit :La structure XML, c'est la structure du XML.
Tu es fatiguant à asséner des platitudes sur des sujets que tu ignores comme
si c'étaient des arguments. La structure du XML, c'est aussi bien :
<convert
input="some_file"
output="some_other_file"
mode="auto"
quality="10"
/>
Que :
<convert:convert xmlns:convert="http://www.example.com/xmlns/convert>
<convert:param>
<convert:param-name>input</convert:param-name>
<convert:param-type>string</convert:param-type>
<convert:param-value>some_file</convert:param-value>
</convert:param>
<convert:param>
<convert:param-name>output</convert:param-name>
<convert:param-type>string</convert:param-type>
<convert:param-value>some_other_file</convert:param-value>
</convert:param>
<convert:param>
<convert:param-name>mode</convert:param-name>
<convert:param-type>enum</convert:param-type>
<convert:param-value>auto</convert:param-value>
</convert:param>
<convert:param>
<convert:param-name>quality</convert:param-name>
<convert:param-type>integer</convert:param-type>
<convert:param-value>10</convert:param-value>
</convert:param>
</convert:convert>
Les deux sont du XML bien formé (à moins d'une erreur de frappe de ma part),
les deux disent la même chose, mais le premier est parfaitement lisible, et
pas le second.
<EOT>
You keep using that word. I do not think it means what you think it means.
JKB , dans le message <slrnibrisq.gq8.jkb@rayleigh.systella.fr>, a
écrit :
La structure XML, c'est la structure du XML.
Tu es fatiguant à asséner des platitudes sur des sujets que tu ignores comme
si c'étaient des arguments. La structure du XML, c'est aussi bien :
<convert
input="some_file"
output="some_other_file"
mode="auto"
quality="10"
/>
Que :
<convert:convert xmlns:convert="http://www.example.com/xmlns/convert>
<convert:param>
<convert:param-name>input</convert:param-name>
<convert:param-type>string</convert:param-type>
<convert:param-value>some_file</convert:param-value>
</convert:param>
<convert:param>
<convert:param-name>output</convert:param-name>
<convert:param-type>string</convert:param-type>
<convert:param-value>some_other_file</convert:param-value>
</convert:param>
<convert:param>
<convert:param-name>mode</convert:param-name>
<convert:param-type>enum</convert:param-type>
<convert:param-value>auto</convert:param-value>
</convert:param>
<convert:param>
<convert:param-name>quality</convert:param-name>
<convert:param-type>integer</convert:param-type>
<convert:param-value>10</convert:param-value>
</convert:param>
</convert:convert>
Les deux sont du XML bien formé (à moins d'une erreur de frappe de ma part),
les deux disent la même chose, mais le premier est parfaitement lisible, et
pas le second.
<EOT>
You keep using that word. I do not think it means what you think it means.
JKB , dans le message , a
écrit :La structure XML, c'est la structure du XML.
Tu es fatiguant à asséner des platitudes sur des sujets que tu ignores comme
si c'étaient des arguments. La structure du XML, c'est aussi bien :
<convert
input="some_file"
output="some_other_file"
mode="auto"
quality="10"
/>
Que :
<convert:convert xmlns:convert="http://www.example.com/xmlns/convert>
<convert:param>
<convert:param-name>input</convert:param-name>
<convert:param-type>string</convert:param-type>
<convert:param-value>some_file</convert:param-value>
</convert:param>
<convert:param>
<convert:param-name>output</convert:param-name>
<convert:param-type>string</convert:param-type>
<convert:param-value>some_other_file</convert:param-value>
</convert:param>
<convert:param>
<convert:param-name>mode</convert:param-name>
<convert:param-type>enum</convert:param-type>
<convert:param-value>auto</convert:param-value>
</convert:param>
<convert:param>
<convert:param-name>quality</convert:param-name>
<convert:param-type>integer</convert:param-type>
<convert:param-value>10</convert:param-value>
</convert:param>
</convert:convert>
Les deux sont du XML bien formé (à moins d'une erreur de frappe de ma part),
les deux disent la même chose, mais le premier est parfaitement lisible, et
pas le second.
<EOT>
You keep using that word. I do not think it means what you think it means.
Ça n'engage que toi. Sur un truc trivial, tu as raison. Sur un
fichier de conf standard (comme celui que je t'ai indiqué plus
haut), tu as trivialement tort parce que la structure XML la plus
lisible est la _seconde_,
que tu le veuilles ou non, parce que ton
fichier de conf peut être assez long pour ne pas tenir sur ton
écran.
J'attends toujours que tu me montres par A+B que
ton exemple de redondance sur une trame réseau est identique à une
redondance d'information dans un fichier modifié par _bloc_.
Ça n'engage que toi. Sur un truc trivial, tu as raison. Sur un
fichier de conf standard (comme celui que je t'ai indiqué plus
haut), tu as trivialement tort parce que la structure XML la plus
lisible est la _seconde_,
que tu le veuilles ou non, parce que ton
fichier de conf peut être assez long pour ne pas tenir sur ton
écran.
J'attends toujours que tu me montres par A+B que
ton exemple de redondance sur une trame réseau est identique à une
redondance d'information dans un fichier modifié par _bloc_.
Ça n'engage que toi. Sur un truc trivial, tu as raison. Sur un
fichier de conf standard (comme celui que je t'ai indiqué plus
haut), tu as trivialement tort parce que la structure XML la plus
lisible est la _seconde_,
que tu le veuilles ou non, parce que ton
fichier de conf peut être assez long pour ne pas tenir sur ton
écran.
J'attends toujours que tu me montres par A+B que
ton exemple de redondance sur une trame réseau est identique à une
redondance d'information dans un fichier modifié par _bloc_.
rien d'autre que ce que TeX fait avec des {}, c'est à dire d'un coté tu
as le truc pondu par un génie, de l'autre la version gros plouc pondue
par des nullards.
rien d'autre que ce que TeX fait avec des {}, c'est à dire d'un coté tu
as le truc pondu par un génie, de l'autre la version gros plouc pondue
par des nullards.
rien d'autre que ce que TeX fait avec des {}, c'est à dire d'un coté tu
as le truc pondu par un génie, de l'autre la version gros plouc pondue
par des nullards.
remy wrote:Michel Talon a écrit :qui n'ont rien de plus pressé que
d'appliquer froidement les dernières fadaises qu'on leur a enseigné es
à la fac.
bon ok
le xml est un méta format
et que tu le veuilles ou pas ,c'est très puissant
c'est la mise en application du design pattern mcv
J'aurais cru t'avoir fait comprendre ce que je pensais des "design
patterns". En tant que scientifique je laisse la propagande et la pseud o
philosophie aux charlatans.
et pour faire passer la pilule aux vieux râleurs impénitents il
suffirait de leur dire que le xml et le Latext c'est exactement la mê me
chose ben là subitement cela devient super puissant, super vieux, et
l'on se demande même comment on a pu s'en passer
Tu me le retires de la bouche, j'ai failli le dire la dernière fois,
donc en effet je confirme, le html le xml et autres fadaises, ce n'est
rien d'autre que ce que TeX fait avec des {}, c'est à dire d'un coté tu
as le truc pondu par un génie, de l'autre la version gros plouc pondu e
par des nullards.
remy <remy@fctpas.fr> wrote:
Michel Talon a écrit :
qui n'ont rien de plus pressé que
d'appliquer froidement les dernières fadaises qu'on leur a enseigné es
à la fac.
bon ok
le xml est un méta format
et que tu le veuilles ou pas ,c'est très puissant
c'est la mise en application du design pattern mcv
J'aurais cru t'avoir fait comprendre ce que je pensais des "design
patterns". En tant que scientifique je laisse la propagande et la pseud o
philosophie aux charlatans.
et pour faire passer la pilule aux vieux râleurs impénitents il
suffirait de leur dire que le xml et le Latext c'est exactement la mê me
chose ben là subitement cela devient super puissant, super vieux, et
l'on se demande même comment on a pu s'en passer
Tu me le retires de la bouche, j'ai failli le dire la dernière fois,
donc en effet je confirme, le html le xml et autres fadaises, ce n'est
rien d'autre que ce que TeX fait avec des {}, c'est à dire d'un coté tu
as le truc pondu par un génie, de l'autre la version gros plouc pondu e
par des nullards.
remy wrote:Michel Talon a écrit :qui n'ont rien de plus pressé que
d'appliquer froidement les dernières fadaises qu'on leur a enseigné es
à la fac.
bon ok
le xml est un méta format
et que tu le veuilles ou pas ,c'est très puissant
c'est la mise en application du design pattern mcv
J'aurais cru t'avoir fait comprendre ce que je pensais des "design
patterns". En tant que scientifique je laisse la propagande et la pseud o
philosophie aux charlatans.
et pour faire passer la pilule aux vieux râleurs impénitents il
suffirait de leur dire que le xml et le Latext c'est exactement la mê me
chose ben là subitement cela devient super puissant, super vieux, et
l'on se demande même comment on a pu s'en passer
Tu me le retires de la bouche, j'ai failli le dire la dernière fois,
donc en effet je confirme, le html le xml et autres fadaises, ce n'est
rien d'autre que ce que TeX fait avec des {}, c'est à dire d'un coté tu
as le truc pondu par un génie, de l'autre la version gros plouc pondu e
par des nullards.
JKB , dans le message , a
écrit :Ça n'engage que toi. Sur un truc trivial, tu as raison. Sur un
fichier de conf standard (comme celui que je t'ai indiqué plus
haut), tu as trivialement tort parce que la structure XML la plus
lisible est la _seconde_,
Preuve ?
que tu le veuilles ou non, parce que ton
fichier de conf peut être assez long pour ne pas tenir sur ton
écran.
Si l'information à exprimer est complexe, le fichier qui l'exprime sera
complexe, quelle que soit la syntaxe. La belle affaire !
J'attends toujours que tu me montres par A+B que
ton exemple de redondance sur une trame réseau est identique à une
redondance d'information dans un fichier modifié par _bloc_.
Ce n'est pas ce que j'ai dit, apprends à lire.
JKB , dans le message <slrnibt8uc.gq8.jkb@rayleigh.systella.fr>, a
écrit :
Ça n'engage que toi. Sur un truc trivial, tu as raison. Sur un
fichier de conf standard (comme celui que je t'ai indiqué plus
haut), tu as trivialement tort parce que la structure XML la plus
lisible est la _seconde_,
Preuve ?
que tu le veuilles ou non, parce que ton
fichier de conf peut être assez long pour ne pas tenir sur ton
écran.
Si l'information à exprimer est complexe, le fichier qui l'exprime sera
complexe, quelle que soit la syntaxe. La belle affaire !
J'attends toujours que tu me montres par A+B que
ton exemple de redondance sur une trame réseau est identique à une
redondance d'information dans un fichier modifié par _bloc_.
Ce n'est pas ce que j'ai dit, apprends à lire.
JKB , dans le message , a
écrit :Ça n'engage que toi. Sur un truc trivial, tu as raison. Sur un
fichier de conf standard (comme celui que je t'ai indiqué plus
haut), tu as trivialement tort parce que la structure XML la plus
lisible est la _seconde_,
Preuve ?
que tu le veuilles ou non, parce que ton
fichier de conf peut être assez long pour ne pas tenir sur ton
écran.
Si l'information à exprimer est complexe, le fichier qui l'exprime sera
complexe, quelle que soit la syntaxe. La belle affaire !
J'attends toujours que tu me montres par A+B que
ton exemple de redondance sur une trame réseau est identique à une
redondance d'information dans un fichier modifié par _bloc_.
Ce n'est pas ce que j'ai dit, apprends à lire.