--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "lescastcodeurs".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse lescastcodeur...@googlegroups.com.
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/lescastcodeurs/CAEW2RjK%3DZcmix356actOb3r4NqNBkK39WOGU0SvYZYkDhBqfng%40mail.gmail.com.
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/lescastcodeurs/1202714002.527921.1623071063835.JavaMail.zimbra%40u-pem.fr.
De: "Henri Tremblay" <henri.t...@gmail.com>
À: "lescastcodeurs" <lescast...@googlegroups.com>
Envoyé: Mardi 8 Juin 2021 04:45:51
Objet: Re: [LCC] LCC 257 - Interview Java 16 avec José Paumard et Henri Tremblay - partie 2
Super intéressant. Merci Rémi.Je ne sais pas quelle niaiserie j'ai dit mais oui, l'histoire de la mémoire c'est sur GPU, pas sur Intel.Je ne comprends pas ton exemple du Lookup. Quand tu crées un mock, il n'est jamais dans le package du test. Donc tu as EasyMock dans org.easymock qui doit créer un mock d'une classe dans le package x.y.z et le test est dans a.b.c. Idéalement la classe créée devrait être dans x.y.z. Ce qui est impossible car on a pas le Lookup de la classe à mocker.
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/lescastcodeurs/CADZL2%3DvxRhtc-eUx5Z77eE%2BVV-OE-7JgBDam0vkkwdFz7HBYbg%40mail.gmail.com.
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/lescastcodeurs/1300020072.1296258.1623157250267.JavaMail.zimbra%40u-pem.fr.
De: "Henri Tremblay" <henri.t...@gmail.com>
À: "lescastcodeurs" <lescast...@googlegroups.com>
Envoyé: Mardi 8 Juin 2021 19:02:15
Objet: Re: [LCC] LCC 257 - Interview Java 16 avec José Paumard et Henri Tremblay - partie 2
En fait, pour limiter les différences entre un mock et la vraie classe (par exemple, si la classe fait un getClass().getPackage() ou pour OSGi, ou autres hacks comme ça), je crée dans le package de la classe mockée.
Ce qui est en effet plus puissant que ce que peut faire un mock à la main.Mais là on me l'interdit.
Je n'appelle jamais le constructeur (sauf pour des mocks partiels bien sûr)J'utilise ReflectionFactory parce que la dernière fois que j'ai fait un benchmark, c'était beaucoup plus rapide que Unsafe.allocateInstance qui est le fallback.Et je me bats depuis 20 ans pour dire que d'ajouter des interfaces juste pour le plaisir de mocker c'est une énorme complexité inutile.Une interface quand il n'y a qu'une seule implémentation c'est juste du bruit. Et c'est 95% des classes.Être capable de mocker des classes c'est nécessaire.
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/lescastcodeurs/CADZL2%3Dvjt%2BQjh_Gk5xnWr0cmZbxaX%2B5iYXEvhs0rFvCvRO_G0A%40mail.gmail.com.
De: "Henri Tremblay" <henri.t...@gmail.com>
À: "lescastcodeurs" <lescast...@googlegroups.com>
Envoyé: Mardi 8 Juin 2021 23:19:51
Objet: Re: [LCC] LCC 257 - Interview Java 16 avec José Paumard et Henri Tremblay - partie 2
On va être pas d'accord :-)
Upton Sinclair ne s'applique pas. J'ai développé des concepts parce que je suis pragmatique et que c'est utile.Ça a simplifié ma vie et celle de milliers de développeurs.Par exemple, je n'utilise EasyMock que quand c'est nécessaire.Je fais beaucoup de mock à la main.En 2000, quand Tammo Freese a créé EasyMock, il était opiniâtre. On ne mock qui les interfaces.Moi pendant ce temps, je construisais des applications financières avec des milliers de classes... et des milliers d'interfaces juste pour le plaisir de tester.C'était l'enfer.Quand l'idée des mocker des classes est venue, c'était easymock-classextension pendant des années.Le marketing était: C'est mal mais si vous en avez besoin, allez-y.Sauf que en 2005, Tammo s'est rendu compte que ce n'était pas vrai.Que c'est bien mignon la pureté théorique mais en pratique, c'est tannant et contre-productif.Le mock partiel c'est pareil. C'était le mal pendant un moment (même pour moi).Mais on a fini par trouver des cas d'usage légitimes.Donc dans Mockito, ils en ont mis direct.C'est un peu pareil avec Hibernate et Spring.Ils font plein de trucs louches d'un point de vue design mais c'est drôlement pratique.
Le concept de package en java n'a jamais très bien marché. Donc tout le monde s'en fout. On essaie de mettre les choses à un endroit pertinent.En particulier comme un package n'a pas accès à un sous-package, ça fait rapidement un gros tas de classe dans un package.Les modules sont mieux.
Ce qui a toujours bien marché en Java et qui est selon moi la principale raison de son succès, à part la simplicité historique (qui l'est de moins en moins), c'est qu'il y a toujours un moyen de s'en sortir.
Une classe est boguée, pas de problème, j'en mets une devant dans le classpath.Un valeur est tout pourri, pas de problème je vais arranger ça avec un petit coup de réflection.Par exemple, le driver JDBC Oracle a leaké un thread pendant des années.Un machin pour nettoyant les connections avec un timeout.Donc, la solution, changer un flag à la dure pour faire sortir le thread.
Tranquillement, on rend ça très très compliqué.Et je voulais bien dire "security", car c'est l'argument.De la réflection c'est dangereux parce qu'on peut tirer sur n'importe quoi dans le JDK.Et oui on a eu des failles de type serialization injectés qui exécute du code.Donc oui, réduisant les possibilités, on réduit la surface d'attaque.Mais on réduit aussi ma joie de vivre.Et celle de tous les développeurs.Et le côté magique de Java qui a amené Groovy, Lombok, Hibernate, EasyMock, XStream, ByteBuddy et je ne sais quoi d'autre.
Parce que l'autre truc c'est qu'il faut être drôlement intelligent de nos jours pour faire quelque chose.
Avant: Je vais générer dynamiquement une classe qui va en étendre une autre et appeler le même truc que la sérialization pour créer la classe dans constructeur. C'était déjà pas facile mais ça se fait.Aujourd'hui: Pareil mais en plus je vais le mettre en nestmate dans mon package. JUnit ayant fait un patch au-dessus de mon projet. Et je vais la faire hidden parce que c'est mieux caché. Et si je veux faire plus compliqué je prend ByteBuddy et je crée un processus externe qui va s'enregistrer comme agent pour ajouter de l'instrumentation sur ma JVM pour être capable d'injecter du code dans les classes existantes pour pouvoir mocker... Vive le progrès.
--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "lescastcodeurs".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse lescastcodeur...@googlegroups.com.
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/lescastcodeurs/1565838837.1600874.1623194547060.JavaMail.zimbra%40u-pem.fr.
Un épisode particulièrement intéressant.
J'ai beaucoup aimé la râlerie d'Henri contre les modules et
l'encapsulation apparue depuis Java 11 parce que, sur deux
applications que j'ai migré (une vieillerie Java 6 et un projet
open-source qui lance du CDI dans un exec-maven-plugin maven),
j'ai été putain de mordu A CHAQUE FOIS par les modules. Et même si
j'ai eu la discussion il y a des années à Devoxx avec Rémi, le
fait que, pour des raisons politiques, Oracle ait remplacé OSGi
par une solution à moitié aussi subtile, et offrant le quart des
fonctionnalités, ben franchement, pour les modules, je suis
clairement dans la team "jamais de modules dans mon code".
Et va-t-en lire le blog de Nicolai Parlog qui te donne des astuces louches pour faire marcher maven à grands coups de fichiers non documentés (là : https://nipafx.dev/maven-on-java-9/).
Et va-t-en découvrir la "magie" des split packages avec des
messages de compilation pénibles. A ce sujet, je trouve que les
équipes qui font évoluer le JDK devraient se soucier un poil plus
de l'expérience développeur en s'inspirant, par exemple, de ce que
font les gens de Rust.
Et va-t-en découvrir que les dernières versions du JDK virent des classes comme s'il en pleuvaient. sur ce point spécifique, ça me rend dingue : pendant mes quinze premières années de développeur Java, je pouvais passer d'une version à la suivante limite les yeux fermés. Et maintenant, comme on est dans l'informatique en tant que mode, il faut absolument supprimer chaque référence au mot XML. Et du coup aux saloperies SOAP. Alors d'accord, c'était de la merde, mais on se retrouve avec des migrations poussées de force dans lesquelles on perd en features. Et ça, c'est fatiguant.
Oui, je râle fort. Mais c'est parce que j'aime beaucoup continuer à bosser en Java, et je n'aime spécialement pas l'idée de ce tweet https://twitter.com/scanlime/status/1405259826964307970 (je cite "went from a dream of "write once, run anywhere" to "write yearly, runs in chrome") que semble adopter même l'équipe définissant les évolutions.
En tout cas, encore merci pour le podcast, et pour les notes de
Rémi !
--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "lescastcodeurs".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse lescastcodeur...@googlegroups.com.
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/lescastcodeurs/CAEW2RjK%3DZcmix356actOb3r4NqNBkK39WOGU0SvYZYkDhBqfng%40mail.gmail.com.
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/lescastcodeurs/f2a68fc6-4eaf-5124-3168-9675053ea293%40gmx.fr.
Je fais déja du Rust (et j'aime beaucoup ça). Malheureusement, on ne va pas se mentir, les objectifs de sûreté d'exécution et leurs impacts sur le code sont incompatibles avec les applications de gestion qu'on écrit habituellement chez les clients des ESN françaises ...
Quant à Kotlin, j'ai des réserves liées non pas à Ceylon, mais à
Groovy, qui faisait déja presque tout ce que fait Kotlin, mais qui
semble avoir une mauvaise image auprès des développeurs, pour la
raison traditionnelle : ils ont dû en faire sans avoir choisi d'en
faire.
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/lescastcodeurs/CAOphgJBaMr%3DvOyRwA6JxGMo4dXabYOUgosj_RrFMjY7mnoCbdQ%40mail.gmail.com.
De: "Nicolas Delsaux" <nicolas...@gmx.fr>
À: "lescastcodeurs" <lescast...@googlegroups.com>
Envoyé: Jeudi 17 Juin 2021 18:59:07
Objet: Re: [LCC] LCC 257 - Interview Java 16 avec José Paumard et Henri Tremblay - partie 2
Un épisode particulièrement intéressant.
J'ai beaucoup aimé la râlerie d'Henri contre les modules et l'encapsulation apparue depuis Java 11 parce que, sur deux applications que j'ai migré (une vieillerie Java 6 et un projet open-source qui lance du CDI dans un exec-maven-plugin maven), j'ai été putain de mordu A CHAQUE FOIS par les modules.
Et même si j'ai eu la discussion il y a des années à Devoxx avec Rémi, le fait que, pour des raisons politiques, Oracle ait remplacé OSGi par une solution à moitié aussi subtile, et offrant le quart des fonctionnalités, ben franchement, pour les modules, je suis clairement dans la team "jamais de modules dans mon code".
Et va-t-en lire le blog de Nicolai Parlog qui te donne des astuces louches pour faire marcher maven à grands coups de fichiers non documentés (là : https://nipafx.dev/maven-on-java-9/).
Et va-t-en découvrir la "magie" des split packages avec des messages de compilation pénibles. A ce sujet, je trouve que les équipes qui font évoluer le JDK devraient se soucier un poil plus de l'expérience développeur en s'inspirant, par exemple, de ce que font les gens de Rust.
Et va-t-en découvrir que les dernières versions du JDK virent des classes comme s'il en pleuvaient. sur ce point spécifique, ça me rend dingue : pendant mes quinze premières années de développeur Java, je pouvais passer d'une version à la suivante limite les yeux fermés. Et maintenant, comme on est dans l'informatique en tant que mode, il faut absolument supprimer chaque référence au mot XML. Et du coup aux saloperies SOAP. Alors d'accord, c'était de la merde, mais on se retrouve avec des migrations poussées de force dans lesquelles on perd en features. Et ça, c'est fatiguant.
Oui, je râle fort. Mais c'est parce que j'aime beaucoup continuer à bosser en Java, et je n'aime spécialement pas l'idée de ce tweet https://twitter.com/scanlime/status/1405259826964307970 (je cite "went from a dream of "write once, run anywhere" to "write yearly, runs in chrome") que semble adopter même l'équipe définissant les évolutions.
En tout cas, encore merci pour le podcast, et pour les notes de Rémi !
Le 07/06/2021 à 10:38, Emmanuel Bernard a écrit :
----José (maintenant Java Advocate chez Oracle - le cachotier) et Henri échangent avec Emmanuel sur la sortie de Java 16.
Cette deuxième partie voit l'équipe discuter de la propriété illegal access (JEP 396), de l'API vectorielle, de la foreign linker API et d'autres choses.
Emmanuel
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "lescastcodeurs".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse lescastcodeur...@googlegroups.com.
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/lescastcodeurs/CAEW2RjK%3DZcmix356actOb3r4NqNBkK39WOGU0SvYZYkDhBqfng%40mail.gmail.com.
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "lescastcodeurs".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse lescastcodeur...@googlegroups.com.
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/lescastcodeurs/f2a68fc6-4eaf-5124-3168-9675053ea293%40gmx.fr.
J'ai beaucoup aimé la râlerie d'Henri contre les modules et l'encapsulation apparue depuis Java 11 parce que, sur deux applications que j'ai migré (une vieillerie Java 6 et un projet open-source qui lance du CDI dans un exec-maven-plugin maven), j'ai été putain de mordu A CHAQUE FOIS par les modules.
C'est le but des modules, c'est un vigile à l'entrée d'une boite et tu as des baskets ...
Plus sérieusement, pour une application, si tu utilises des modules c'est que tu es pret à en payer le cout car ton code est suffisamment compliqué pour que tu ne veuilles pas que n'importe qu'elle partie puisse accéder à n'importe quelle autre partie.
Sinon, arrête d'utiliser des modules, cela ne vaut pas la complexité que tu introduits. Java marche très bien avec les applis PAS modulaire.
Il y a une doc lisible qui explique comment dire à Java
"n'utilise pas les modules dans ce cas" ?
Pour ce qui est de CDI, je crois beaucoup plus en l'approche de Quarkus ou maintenant Micronaut, tu fais toutes la partie "bean discovery" à compile time et pas à runtime.
Comme cela, tu as pas besoin de permissions spéciales quand tu exécutes ton code.
Et même si j'ai eu la discussion il y a des années à Devoxx avec Rémi, le fait que, pour des raisons politiques, Oracle ait remplacé OSGi par une solution à moitié aussi subtile, et offrant le quart des fonctionnalités, ben franchement, pour les modules, je suis clairement dans la team "jamais de modules dans mon code".
Cela c'est pas passé comme cela, Oracle a payé 2 ingés, Alan Bateman et Mandy Chung, pendant 3 mois pour faire un proto de modules qui bootait le JDK basé sur OSGi.Après, ironiquement vu de maintenant, il y a eu une bataille rangée entre RedHat qui était furieusement contre et IBM.
Je suis arrivé dans le projet a ce moment là, j'avais l'impression d'être à la maternelle.
Ca s'appelle la politique, ça, non ? 😋
Et va-t-en lire le blog de Nicolai Parlog qui te donne des astuces louches pour faire marcher maven à grands coups de fichiers non documentés (là : https://nipafx.dev/maven-on-java-9/).
C'est plus un truc historique qu'autre chose, il veut faire marcher Maven avec Java 9 avant que Maven ait été patché pour Java 9.
Beeeeen quand tu migres un vieux projet, tu en passes par ces
trucs louches.
Et va-t-en découvrir la "magie" des split packages avec des messages de compilation pénibles. A ce sujet, je trouve que les équipes qui font évoluer le JDK devraient se soucier un poil plus de l'expérience développeur en s'inspirant, par exemple, de ce que font les gens de Rust.
Heu tu veux parler d'Elm ici, non.
Pour l'anectote, il a 2 semaine, j'ai passé une demi journée avec un prof de système sur une page de Rust, l'idée était juste de pouvoir de façon asynchrone arréter une tâche asynchrone, bah c'est super dure.Je sais que je vis un peu dans le futur mais avec Loom c'est un try() et c'est fini.
Non, je n'ai pas été clair.
Je voulais parler de la lisibilité des messages d'erreur. L'un des gros avantages de Rust, c'est que les messages d'erreurs sont bien plus clairs que ... dans tous les autres langages que je connaisse, en fait. A chaque fois, il t'explique où ça a merdé, pourquoi ça a merdé, et essaye de te proposer une solution.
Et typiquement, pour les split packages, j'ai bien l'impression
qu'il est possible à la JVM de me dire "je ne démarre pas parce
que le package A est défini dans bidule.jar et machin.jar. Essaye
de renommer tes packages ou relance ton appli sans les
fonctionnalités de modules"
Et va-t-en découvrir que les dernières versions du JDK virent des classes comme s'il en pleuvaient. sur ce point spécifique, ça me rend dingue : pendant mes quinze premières années de développeur Java, je pouvais passer d'une version à la suivante limite les yeux fermés. Et maintenant, comme on est dans l'informatique en tant que mode, il faut absolument supprimer chaque référence au mot XML. Et du coup aux saloperies SOAP. Alors d'accord, c'était de la merde, mais on se retrouve avec des migrations poussées de force dans lesquelles on perd en features. Et ça, c'est fatiguant.
Je suppose que tu parles du fait que JAXB est plus intégré avec le JDK et que tu as besoin de l'ajouter en dépendance dans ton pom.xml.
Exactement ça.
A chaque fois je trouve les chemins de migration. Mais je
ronchonne parce que la migration vers les nouvelles versions
commence à bien piquer.
De: "Nicolas Delsaux" <nicolas...@gmx.fr>
À: "lescastcodeurs" <lescast...@googlegroups.com>
Envoyé: Vendredi 18 Juin 2021 10:30:00
Objet: Re: [LCC] LCC 257 - Interview Java 16 avec José Paumard et Henri Tremblay - partie 2
Le 18/06/2021 à 09:18, Remi Forax a écrit :
J'ai beaucoup aimé la râlerie d'Henri contre les modules et l'encapsulation apparue depuis Java 11 parce que, sur deux applications que j'ai migré (une vieillerie Java 6 et un projet open-source qui lance du CDI dans un exec-maven-plugin maven), j'ai été putain de mordu A CHAQUE FOIS par les modules.
C'est le but des modules, c'est un vigile à l'entrée d'une boite et tu as des baskets ...
Plus sérieusement, pour une application, si tu utilises des modules c'est que tu es pret à en payer le cout car ton code est suffisamment compliqué pour que tu ne veuilles pas que n'importe qu'elle partie puisse accéder à n'importe quelle autre partie.
Sinon, arrête d'utiliser des modules, cela ne vaut pas la complexité que tu introduits. Java marche très bien avec les applis PAS modulaire.
Il y a une doc lisible qui explique comment dire à Java "n'utilise pas les modules dans ce cas" ?
Pour ce qui est de CDI, je crois beaucoup plus en l'approche de Quarkus ou maintenant Micronaut, tu fais toutes la partie "bean discovery" à compile time et pas à runtime.
Comme cela, tu as pas besoin de permissions spéciales quand tu exécutes ton code.
Moi aussi, mais on commence à avoir un poids de l'existant assez fort. Et pour l'instant, je me vois mal réécrire mon bout de code qui me génère une doc d'architecture sympa avec Quarkus/Micronaut (quoique dans la mesure où Quarkus implémente une part significative de CDI https://quarkus.io/guides/cdi-reference, ça me semble possible, faudrait que je teste).
Et même si j'ai eu la discussion il y a des années à Devoxx avec Rémi, le fait que, pour des raisons politiques, Oracle ait remplacé OSGi par une solution à moitié aussi subtile, et offrant le quart des fonctionnalités, ben franchement, pour les modules, je suis clairement dans la team "jamais de modules dans mon code".
Cela c'est pas passé comme cela, Oracle a payé 2 ingés, Alan Bateman et Mandy Chung, pendant 3 mois pour faire un proto de modules qui bootait le JDK basé sur OSGi.Après, ironiquement vu de maintenant, il y a eu une bataille rangée entre RedHat qui était furieusement contre et IBM.
Je suis arrivé dans le projet a ce moment là, j'avais l'impression d'être à la maternelle.
Ca s'appelle la politique, ça, non ? \uD83D\uDE0B
Et va-t-en lire le blog de Nicolai Parlog qui te donne des astuces louches pour faire marcher maven à grands coups de fichiers non documentés (là : https://nipafx.dev/maven-on-java-9/).
C'est plus un truc historique qu'autre chose, il veut faire marcher Maven avec Java 9 avant que Maven ait été patché pour Java 9.
Beeeeen quand tu migres un vieux projet, tu en passes par ces trucs louches.
Et va-t-en découvrir la "magie" des split packages avec des messages de compilation pénibles. A ce sujet, je trouve que les équipes qui font évoluer le JDK devraient se soucier un poil plus de l'expérience développeur en s'inspirant, par exemple, de ce que font les gens de Rust.
Heu tu veux parler d'Elm ici, non.
Pour l'anectote, il a 2 semaine, j'ai passé une demi journée avec un prof de système sur une page de Rust, l'idée était juste de pouvoir de façon asynchrone arréter une tâche asynchrone, bah c'est super dure.Je sais que je vis un peu dans le futur mais avec Loom c'est un try() et c'est fini.
Non, je n'ai pas été clair.
Je voulais parler de la lisibilité des messages d'erreur. L'un des gros avantages de Rust, c'est que les messages d'erreurs sont bien plus clairs que ... dans tous les autres langages que je connaisse, en fait. A chaque fois, il t'explique où ça a merdé, pourquoi ça a merdé, et essaye de te proposer une solution.
Et typiquement, pour les split packages, j'ai bien l'impression qu'il est possible à la JVM de me dire "je ne démarre pas parce que le package A est défini dans bidule.jar et machin.jar. Essaye de renommer tes packages ou relance ton appli sans les fonctionnalités de modules"
Et va-t-en découvrir que les dernières versions du JDK virent des classes comme s'il en pleuvaient. sur ce point spécifique, ça me rend dingue : pendant mes quinze premières années de développeur Java, je pouvais passer d'une version à la suivante limite les yeux fermés. Et maintenant, comme on est dans l'informatique en tant que mode, il faut absolument supprimer chaque référence au mot XML. Et du coup aux saloperies SOAP. Alors d'accord, c'était de la merde, mais on se retrouve avec des migrations poussées de force dans lesquelles on perd en features. Et ça, c'est fatiguant.
Je suppose que tu parles du fait que JAXB est plus intégré avec le JDK et que tu as besoin de l'ajouter en dépendance dans ton pom.xml.
Exactement ça.
A chaque fois je trouve les chemins de migration. Mais je ronchonne parce que la migration vers les nouvelles versions commence à bien piquer.
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/lescastcodeurs/CAOphgJBaMr%3DvOyRwA6JxGMo4dXabYOUgosj_RrFMjY7mnoCbdQ%40mail.gmail.com.
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/lescastcodeurs/CAEW2Rj%2B6vhnL96EFA19KifYBrwDcm_pvOgRzZrmmeV%3Dckv1mog%40mail.gmail.com.
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/lescastcodeurs/CAOphgJDQEocSQkaK5sZa8AMdrNDeREaDi8Z4cCVqhx3_WVHX2A%40mail.gmail.com.
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/lescastcodeurs/CAFNCU-9nbR-s9hMg7OW7S4WggZRsDfACFwT4PNVabhHUq1UTKg%40mail.gmail.com.