<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://keul.fr/feed/rss2/xslt" ?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>keul.fr - du web et du code</title>
    <link>https://keul.fr/</link>
    <atom:link href="https://keul.fr/feed/rss2" rel="self" type="application/rss+xml" />
    <description></description>
    <language>fr</language>
    <pubDate>Wed, 14 Jun 2023 20:23:10 +0200</pubDate>
    <copyright></copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>Dotclear</generator>
          <item>
        <title>Le «push to talk»</title>
        <link>https://keul.fr/post/75</link>
        <guid isPermaLink="false">urn:md5:53fb633048b2dd8a6947eec12f08360d</guid>
        <pubDate>Sun, 03 May 2020 18:38:00 +0200</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          &lt;p&gt;Dans les logiciels de discussion audio, il est souvent utile d’utiliser une touche «Appuyer pour parler» ou «Push to talk» afin de n’activer son micro que lorsque l’on veut être entendu. Pratique pour éviter de faire entendre à tout le monde son éthernuement pendant une réunion.&lt;/p&gt;

&lt;p&gt;Mais une problème apparait: quelle touche à utiliser? La plupart effectuent des actions non voulues. La solution? Utiliser la touche F13. Elle n’est plus présente sur les anciens claviers mais aucun logiciel actuel ne l’utilise et conviens parfaitement.&lt;/p&gt;

&lt;p&gt;Du coup, l’astuce consiste à rediriger une touche existante peu utilisée vers la touche F13.Par exemple, j’ai redigiré ma touche CTRL droite vers la touche F13. Dans mon logiciel de gestion de souris, j’ai mis pour les touches latérales de souris «utiliser une touche du clavier» puis j’ai appuyé sur la touche CTRL droite de mon clavier, qui pour mon PC correspondait à la touche F13, et cela fonctionne parfaitement après l’avoir configuré dans le logiciel de discussion audio. Il est possible de retirer le mappage par la suite.&lt;/p&gt;

&lt;p&gt;&lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/sourisf13.png&quot;&gt;&lt;img alt=&quot;&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/.sourisf13_s.png&quot; style=&quot;margin: 0 auto; display: table;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pour rediriger une touche vers F13, deux solations:&lt;/p&gt;

&lt;p&gt;La plus simple, exetuter l'un de ces fichiers:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://fichiers.keul.fr/pushtotalk/touche_ctrl_droite_vers_f13.reg&quot;&gt;touche_ctrl_droite_vers_f13.reg&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://fichiers.keul.fr/pushtotalk/touche_popupmenu_vers_f13.reg&quot;&gt;touche_popupmenu_vers_f13.reg&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://fichiers.keul.fr/pushtotalk/touche_windows_droite_vers_F13.reg&quot;&gt;touche_windows_droite_vers_F13.reg&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://fichiers.keul.fr/pushtotalk/touche_windows_gauche_vers_F13.reg&quot;&gt;touche_windows_gauche_vers_F13.reg&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Et pour retirer le mappage&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://fichiers.keul.fr/pushtotalk/retirer_le_mappage.reg&quot;&gt;retirer_le_mappage.reg&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Un peut plus complexe: le logiciel &lt;a href=&quot;https://github.com/randyrants/sharpkeys/releases&quot;&gt;SharpKey.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Attention, il faut redémarrer windows (ou la session windows) pour que ce soit pris en compte&lt;/p&gt;

&lt;p&gt;Article inspiré par &lt;a href=&quot;http://www.grismar.net/ventrilocapsfix/&quot;&gt;http://www.grismar.net/ventrilocapsfix/&lt;/a&gt;&lt;/p&gt;</description>
        
              </item>
          <item>
        <title>Les coulisses d'une convention - Partie 1</title>
        <link>https://keul.fr/post/72</link>
        <guid isPermaLink="false">urn:md5:43211f7b871bf859ee6c8b4aa3610b39</guid>
        <pubDate>Sun, 10 Feb 2019 15:28:00 +0100</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          &lt;p&gt;&lt;a href=&quot;https://keul.fr/post/74&quot;&gt;Aller à la partie 2&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Cliquez sur les images pour les voir en grand, cliquez à nouveau dessus pour fermer.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Les conventions de fan sont des évènements organisés sur un ou plusieurs jours, un peu comme un festival ou un salon, et concernent des thèmes tels que les manga, l'animation, les jeux vidéos, la science-fiction, les comics, le cosplay, etc.&lt;/p&gt;

&lt;p&gt;On y retrouve principalement divers stands gérés par des professionnels, des associations ou des particuliers, sur lesquels on peut trouver des activités (jeux, tournois...), de la vente de produits ou diverses créations&lt;/p&gt;

&lt;figure class=&quot;figure&quot; style=&quot;margin: 0 auto; display: table;&quot;&gt;
&lt;p&gt;&lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/backstageconv/conv_stands.jpg&quot;&gt;&lt;img alt=&quot;conv_stands.jpg&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/backstageconv/.conv_stands_m.jpg&quot; /&gt;&lt;/a&gt; &lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/backstageconv/conv_acti.jpg&quot;&gt;&lt;img alt=&quot;conv_acti.jpg&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/backstageconv/.conv_acti_m.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Jonetsu 3.33, salle Les Colonnes. Credit: &lt;a href=&quot;https://yotsubaandtheworld.tumblr.com/&quot;&gt;Corti&lt;/a&gt;&lt;/p&gt;
&lt;/figure&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Il peut aussi y avoir des conférences, projections ou concours, le plus souvent organisés sur une scène ou dans un amphithéâtre.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;figure class=&quot;figure&quot; style=&quot;margin: 0 auto; display: table;&quot;&gt;&lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/backstageconv/2018-04-08_14-59-05_Keul.jpg&quot;&gt;&lt;img alt=&quot;2018-04-08 14-59-05 Keul.jpg&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/backstageconv/.2018-04-08_14-59-05_Keul_m.jpg&quot; /&gt;&lt;/a&gt; &lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/backstageconv/DSC01114_resultat.JPG&quot;&gt;&lt;img alt=&quot;DSC01114_resultat.JPG&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/backstageconv/.DSC01114_resultat_m.jpg&quot; /&gt;&lt;/a&gt;

&lt;figcaption&gt;Jonetsu 3.33, salle Agoreine. Credit:Keul&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;J'avais rejoint en 2009 l'association &lt;a href=&quot;http://www.brigade-sos.fr/&quot;&gt;Brigade SOS francophone&lt;/a&gt; qui a organisé jusqu'en 2016 des activités dans différentes conventions (principalement &lt;a href=&quot;http://convention.epitanime.com/&quot;&gt;Epitanime&lt;/a&gt; et &lt;a href=&quot;http://www.japan-expo-paris.com/fr/&quot;&gt;Japan-Expo&lt;/a&gt;). Celle-ci regroupait alors différent membres avec des compétences variées: des jeunes créateurs, des graphistes, des concepteurs de logiciels, des musiciens...&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;figure class=&quot;figure&quot; style=&quot;margin: 0 auto; display: table;&quot;&gt;&lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/backstageconv/P1010515.jpg&quot;&gt;&lt;img alt=&quot;Noizi Itô avec les membres de l'association à Epitanime 2010&quot; class=&quot;media&quot; height=&quot;399&quot; src=&quot;https://keul.fr/public/backstageconv/.P1010515_m.jpg&quot; width=&quot;531&quot; /&gt;&lt;/a&gt;

&lt;figcaption&gt;
&lt;p&gt;&lt;a href=&quot;https://fr.wikipedia.org/wiki/Noizi_It%C3%B4&quot;&gt;Noizi Itô&lt;/a&gt;, dessinatrice japonaise, invitée à &lt;a href=&quot;http://convention.epitanime.com/&quot;&gt;Epitanime&lt;/a&gt; 2010,&lt;br /&gt;
en photo avec les membres de l'association Brigade SOS. Credit:&lt;a href=&quot;https://twitter.com/SmogShadowSeth&quot;&gt;@Smog&lt;/a&gt;&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Les membres de la Brigade SOS francophone mais aussi d'autres associations telles que Forum Thalie, Kawasoft et Mono-type ont ainsi acquis peu à peu de l'expérience sur le fonctionnement des conventions.&lt;/p&gt;

&lt;p&gt;En voyant les problèmes rencontrés par les autres conventions et les directions vers lesquelles elles se dirigeaient, les membres de ces associations ont annoncé lors d'un premier avril qu'ils allaient créer leur propre convention. Le poisson s'étant révélé finalement pas si impossible, l'association Nijikai fut créée.&lt;br /&gt;
C'est donc Nijikai, une association de loi 1901, donc le but est de promouvoir la culture visuelle japonaise moderne, qui organise en plus d'autres projets, la convention Jonetsu.&lt;br /&gt;
Convention de la Passion (Jōnetsu signifiant Passion en japonais), celle-ci est basée sur deux axes :&lt;br /&gt;
- la pédagogie, avec des conférences qui expliquent par exemple les problèmes du piratage, le fonctionnement de l'édition et de la création des oeuvres&lt;br /&gt;
- la mise en valeur des jeunes créateurs&lt;br /&gt;
Le tout avec des tarifs accessibles et une bonne ambiance.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;figure class=&quot;figure&quot; style=&quot;margin: 0 auto; display: table;&quot;&gt;&lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/backstageconv/Affiche_1.0_redim.jpg&quot;&gt;&lt;img alt=&quot;Affiche 1.0 redim.jpg&quot; class=&quot;media&quot; height=&quot;330&quot; src=&quot;https://keul.fr/public/backstageconv/.Affiche_1.0_redim_m.jpg&quot; width=&quot;233&quot; /&gt;&lt;/a&gt; &lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/backstageconv/affiche_2.0_redim.jpg&quot;&gt;&lt;img alt=&quot;affiche 2.0 redim.jpg&quot; class=&quot;media&quot; height=&quot;330&quot; src=&quot;https://keul.fr/public/backstageconv/.affiche_2.0_redim_m.jpg&quot; width=&quot;233&quot; /&gt;&lt;/a&gt; &lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/affiche_3.33_SD.png&quot;&gt;&lt;img alt=&quot;affiche_3.33_SD.png&quot; class=&quot;media&quot; height=&quot;330&quot; src=&quot;https://keul.fr/public/.affiche_3.33_SD_m.png&quot; width=&quot;233&quot; /&gt;&lt;/a&gt;

&lt;figcaption&gt;Les affiches des trois premières éditions. Credit: &lt;a href=&quot;https://twitter.com/Al_Grimm&quot;&gt;@Al_Grimm&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;L’avantage du statut associatif (association de loi 1901, à but non lucratif) est d'avoir une base légale solide pour la communication et la gestion: on gagne en crédibilité avec les éditeurs et professionnels, on clarifie la communication avec les organisateurs et différentes entités et on se défini un objectif: promouvoir une série, promouvoir l'ensemble de la culture visuelle japonaise moderne, informer sur le fonctionnement de celle-ci...&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
&lt;strong&gt;Le départ pour Jonetsu&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;La veille de la convention, la plupart des membres se rendent sur place par différents moyens. Voitures, train, RER, Gundam...&lt;/p&gt;

&lt;p&gt;Dans mon cas, lors de la première édition, j'avais fait le trajet en train, mais vu la quantité de matériel à transporter et l'arrivée à Strasbourg d'un autre membre de l'association, les années suivantes ont été faites en voiture. M'occupant de l'enregistrement des conférences, j'ai pas mal de matériel à transporter depuis la première édition, et en venant à 2, le coffre se remplit du coup vraiment bien, jugez plutôt :&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;figure class=&quot;figure&quot; style=&quot;margin: 0 auto; display: table;&quot;&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/backstageconv/A.jpg&quot;&gt;&lt;img alt=&quot;A.jpg&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/backstageconv/.A_s.jpg&quot; /&gt;&lt;/a&gt; &lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/backstageconv/IMG_20180406_115439.jpg&quot;&gt;&lt;img alt=&quot;IMG_20180406_115439.jpg&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/backstageconv/.IMG_20180406_115439_s.jpg&quot; /&gt;&lt;/a&gt; &lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/backstageconv/IMG_20180406_115444.jpg&quot;&gt;&lt;img alt=&quot;IMG_20180406_115444.jpg&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/backstageconv/.IMG_20180406_115444_s.jpg&quot; /&gt;&lt;/a&gt;&lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/backstageconv/IMG_20180406_115439.jpg&quot;&gt; &lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Beaucoup de matériel à transporter. Credit: Keul&lt;/p&gt;
&lt;/figure&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;L'installation&lt;/strong&gt;&lt;br /&gt;
Arrivé à destination le vendredi après un trajet plus ou moins long, le régisseur nous ouvre les portes de la salle. Le matériel des différents membres qui arrivent au fur et à mesure est rassemblé devant l'accueil avant de se lancer dans l'installation.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;figure class=&quot;figure&quot; style=&quot;margin: 0 auto; display: table;&quot;&gt;
&lt;p&gt;&lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/backstageconv/IMG_20180406_140940.jpg&quot;&gt;&lt;img alt=&quot;IMG_20180406_140940.jpg&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/backstageconv/.IMG_20180406_140940_m.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Credit:Keul&lt;/p&gt;
&lt;/figure&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Il y a en effet beaucoup de matériel: le nécessaire pour la cuisine, le matériel pour la billetterie, l'affichage, l'enregistrement des conférences, les consommables (scotch, sachet poubelle, feutres...).&lt;/p&gt;

&lt;p&gt;Une fois les salutations faites et les discussions finies, l'installation commence avec la mise en place des panneaux, des tables et chaises pour les différents stands. Les affiches sont fixées aux murs et chacun procède à son rôle (tests techniques, installation de l'estrade du stand activité Forum Thalie et d'autres stands)&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;figure class=&quot;figure&quot; style=&quot;margin: 0 auto; display: table;&quot;&gt;&lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/backstageconv/2018-04-06_16-16-49_Keul.jpg&quot;&gt;&lt;img alt=&quot;2018-04-06 16-16-49 Keul.jpg&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/backstageconv/.2018-04-06_16-16-49_Keul_m.jpg&quot; /&gt;&lt;/a&gt; &lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/backstageconv/2018-04-06_16-17-58_Keul.jpg&quot;&gt;&lt;img alt=&quot;2018-04-06 16-17-58 Keul.jpg&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/backstageconv/.2018-04-06_16-17-58_Keul_m.jpg&quot; /&gt;&lt;/a&gt;

&lt;figcaption&gt;Mise en place des panneaux, tables et chaises pour les stands exposants.. Credit:Keul&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;L'équipe cuisine effectue le tri et commence à remplir le frigo.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;figure class=&quot;figure&quot; style=&quot;margin: 0 auto; display: table;&quot;&gt;&lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/backstageconv/2018-04-06_16-19-42_Keul.jpg&quot;&gt;&lt;img alt=&quot;2018-04-06 16-19-42 Keul.jpg&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/backstageconv/.2018-04-06_16-19-42_Keul_m.jpg&quot; /&gt;&lt;/a&gt; &lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/backstageconv/2018-04-07_10-11-56_Trit.jpg&quot;&gt;&lt;img alt=&quot;2018-04-07 10-11-56 Trit.jpg&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/backstageconv/.2018-04-07_10-11-56_Trit_m.jpg&quot; /&gt;&lt;/a&gt;

&lt;figcaption&gt;Une cuisine qui commence à bien se remplir. Credit:Keul - &lt;a href=&quot;https://twitter.com/TritTriton&quot;&gt;@TritTriton&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Le matin de la convention, avant l'ouverture, les membres préparent les sandwichs au thon et au fameux poulet.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;figure class=&quot;figure&quot; style=&quot;margin: 0 auto; display: table;&quot;&gt;&lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/backstageconv/2018-04-11_15-32-09_Chocolatine.jpg&quot;&gt;&lt;img alt=&quot;2018-04-11 15-32-09 Chocolatine.jpg&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/backstageconv/.2018-04-11_15-32-09_Chocolatine_m.jpg&quot; /&gt;&lt;/a&gt; &lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/backstageconv/2018-04-08_10-27-21_Corti.jpg&quot;&gt;&lt;img alt=&quot;2018-04-08 10-27-21 Corti.jpg&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/backstageconv/.2018-04-08_10-27-21_Corti_m.jpg&quot; /&gt;&lt;/a&gt;

&lt;figcaption&gt;Crédit: &lt;a href=&quot;https://twitter.com/Chocolatine_tan&quot;&gt;@Chocolatine&lt;/a&gt; - &lt;a href=&quot;https://yotsubaandtheworld.tumblr.com/&quot;&gt;Corti&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Lors de la troisième édition, les conférences se sont déroulées dans une salle à part: le théâtre de l'Agoreine.&lt;br /&gt;
Or celui-ci n'était pas disponible le vendredi soir. Il a donc fallu transporter des ameublements et installer le matériel technique pour les conférences le samedi matin, quelques heures avant l'ouverture&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;figure class=&quot;figure&quot; style=&quot;margin: 0 auto; display: table;&quot;&gt;&lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/backstageconv/2018-04-07_09-18-15_Corti.jpg&quot;&gt;&lt;img alt=&quot;2018-04-07 09-18-15 Corti.jpg&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/backstageconv/.2018-04-07_09-18-15_Corti_m.jpg&quot; /&gt;&lt;/a&gt; &lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/backstageconv/2018-04-07_09-13-39_Corti.jpg&quot;&gt;&lt;img alt=&quot;2018-04-07 09-13-39 Corti.jpg&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/backstageconv/.2018-04-07_09-13-39_Corti_m.jpg&quot; /&gt;&lt;/a&gt;

&lt;figcaption&gt;Une belle salle bien vide où le matériel devra être installé rapidement. Crédit: &lt;a href=&quot;https://yotsubaandtheworld.tumblr.com/&quot;&gt;Corti&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Une fois installé, voici ce que l'on peut voir de la régie: un bel écran qui affiche:&lt;br /&gt;
- le planning de conférences&lt;br /&gt;
- l'enregistrement des microphones et du son de l'ordinateur de conférence&lt;br /&gt;
- l'affichage de l'ordinateur du conférencier qui est transmis au vidéoprojecteur de la salle&lt;br /&gt;
Une table de mixage pour régler le volume des microphones et de l'ordinateur, qui renvoie le son sur les haut-parleurs de la salle et sur les cartes sont d'enregistrement du PC&lt;br /&gt;
Astuce pratique: chaque microphone à un bout de scotch de couleur à sa base pour pouvoir savoir rapidement auquel il correspond la ligne sur la table de mixage.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;figure class=&quot;figure&quot; style=&quot;margin: 0 auto; display: table;&quot;&gt;&lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/backstageconv/DSC01178_resultat.JPG&quot;&gt;&lt;img alt=&quot;DSC01178_resultat.JPG&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/backstageconv/.DSC01178_resultat_m.jpg&quot; /&gt;&lt;/a&gt; &lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/backstageconv/DSC01412_resultat.JPG&quot;&gt;&lt;img alt=&quot;DSC01412_resultat.JPG&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/backstageconv/.DSC01412_resultat_m.jpg&quot; /&gt; &lt;/a&gt;&lt;/figure&gt;

&lt;p&gt;Pour ceux qui ne sont pas au courant, nous enregistrons les conférences à l'aide de caméras (prêtés par des membres et par une association amie, notre budget ne nous permettant pas un tel investissement) ainsi que les microphones. On enregistre aussi ce qui est affiché sur le vidéoprojecteur de la salle en local pour pouvoir l'intégrer efficacement dans les vidéos des conférences (ça fait plus propre que de voir des diapositives filmées sur un écran avec une caméra.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
Petite anecdote: Pour éviter le piratage, les ayant droit ont mis en place pas mal de restrictions pour empêcher les copies de leurs oeuvres, plus connues sous le nom de DRM.&lt;br /&gt;
Problème: les ordinateurs et tablettes Apple activent par défaut la protection anticopie, même si vous n'êtes pas en train de regarder un Blu-Ray ou NetFlix. Du coup, lorsqu'un conférencier est arrivé avec son Mac pour faire une conférence sur les bruitages dans l'animation, et donc montrer le logiciel qui permet de gérer ces bruitages, ma carte d'acquisition vidéo m'a affiché un écran noir avec en bien grand dessus &quot;HDCP Content protection&quot;. Un peu comme si en tentant de prendre votre maison en photo à Noël, votre appareil se mettait à dire: &quot;Les photos des illuminations de la tour Eiffel sont sous droit d'auteur, du coup je ne pends plus de photos d'illuminations&quot;.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;figure class=&quot;figure&quot; style=&quot;margin: 0 auto; display: table;&quot;&gt;
&lt;p&gt;&lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/backstageconv/IMG_20180408_094043.jpg&quot;&gt;&lt;img alt=&quot;IMG_20180408_094043.jpg&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/backstageconv/.IMG_20180408_094043_m.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Comment enregistrer une démonstration d'animation sur un iPad faite par un conférencier? Avec des adaptateurs :D&lt;/p&gt;
&lt;/figure&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Solution déployée dans l'urgence: un adaptateur HDMI vers VGA (qui n'est pas protégé par les DRM) branché à un adaptateur VGA vers HDMI, sans oublier l'adaptateur lightning HDMI et la batterie USB pour l'adaptateur VGA/HDMI. Merci Apple.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Le travail en amont:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Oui, parce que si vous voulez un évènement réussi, il faut absolument s'organiser si vous ne voulez pas vous retrouver avec des problèmes inacceptables tels que &lt;a href=&quot;https://www.no-xice.com/sugoi-jamais-connu-ca/&quot;&gt;des exposants qui se retrouvent sans table&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;En coulisses, il n'y a en fait rien de vraiment spectaculaire avant la convention elle-même, oubliez les voyages d'affaire en jet privé.Vous aurez en revanche pour ceux qui s'en occupent, de nombreux appels téléphoniques, des courriers, des emails et quelques rendez-vous sur place.&lt;/p&gt;

&lt;p&gt;Les tâches à prévoir au moins une bonne dizaine de mois à l'avance concerne le démarchage des potentiels invités pour les conférences, les demandes de locations de la salle à la mairie, les demandes de subventions et les demandes de partenariats, parce que:&lt;/p&gt;

&lt;p&gt;Pas de budget: pas de salle. Pas de salle: pas de convention. Pas de convention ... pas de convention.&lt;/p&gt;

&lt;p&gt;Et plus les mois approchent de la date fatidique, plus vous aurez de réunions, comptez au moins une réunion par semaine dans les 5-6 mois précédents la convention.&lt;/p&gt;

&lt;p&gt;En effet, il faut gérer: gérer le site web, la communication sur les réseaux sociaux, ouvrir les inscriptions des exposants, démarcher les professionnels, gérer les repas et le matériel, gérer les staffs(membres) et bénévoles qui viennent en renfort et voir leurs rôles. Ce point n'est pas à négliger, avoir un responsable de stand exposant de qualité qui arrive à gérer des problèmes d'exposant qui se retrouve avec une mauvaise commande est vraiment le bienvenu.(pour l'anecdote, un des exposants s'était retrouvé avec un sandwich &quot;poulet végétarien sans poulet&quot; (pour ceux qui font les commandes, gérez les sandwich spéciaux en premier et à part SVP :/ et pour les exposants, hésitez surtout pas à signaler les problème)&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;La communication&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Indispensable à l'organisation, celle-ci se fait surtout via internet, vu l'éloignement géographique de la plupart des membres. Elle se fait sur différents canaux: sur un forum, via des logiciels de messagerie texte et audio et via des espaces de stockage de documents partagés.&lt;/p&gt;

&lt;p&gt;Chacun ayant ses avantages et inconvénients : un forum est assez pratique pour organiser des informations, en les regroupant par sujets de discussion, alors qu'une messagerie, moins organisée, sera par contre plus réactive et spontanée. Les réunions se font en audio afin de pouvoir avoir des discussions efficaces et de pouvoir libérer les mains pour pouvoir travailler en même temps.&lt;/p&gt;

&lt;p&gt;En interne, nous utilisons du coup Discord pour les discussions instantanées orales et écrites, Google Drive pour gérer les fichiers et un serveur web qui héberge le site sous Wordpress ainsi qu'un forum SMF (Simple Machines Forum).&lt;/p&gt;

&lt;p&gt;Si vous comptez utiliser Google, je vous conseille de créer un compte associatif GSuite gratuit (il faudra diverses informations telles qu'un N° de SIRET) pour pouvoir gérer plus facilement les fichiers et les accès.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Des exemples de choix&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Nous avons aussi fait plusieurs choix:&lt;/p&gt;

&lt;p&gt;Ne pas accepter les stands de contrefacon ou qui n'ont rien à voir avec notre thématique.&lt;/p&gt;

&lt;p&gt;Ne pas trop aller dans la thématique des jeux vidéos, on cherche à se concentrer sur la culture visuelle moderne japonaise.&lt;/p&gt;

&lt;p&gt;Pour la nourriture, Jonetsu à choisi de proposer des sandwichs: Certes, ce n'est pas très japonais, mais ça a de nombreux avantages: pas de problème de cuisson, pas de problèmes de couverts et ça permet de nourrir le staff et les exposants sans trop se ruiner.&lt;br /&gt;
Nous n'avons pas pour objectif de fournir de la nourriture japonaise en tapant sur le porte monnaie des visiteurs.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
&lt;strong&gt;La trésorerie et le budget&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Organiser un tel évènement demande un gros budget et il sera obligatoire de bien s'organiser.&lt;/p&gt;

&lt;p&gt;Le plus difficile généralement est de réussir à trouver des sponsors et des subventions, mais aussi de réussir à les maintenir et même d'en trouver de nouveaux au fils des années. Garder un bon dialogue avec ses contacts, les municipalités et l'administration en montrant la solidité du projet pourra heureusement bien aider. Il ne faudra en tout cas jamais délaisser ce point.&lt;/p&gt;

&lt;p&gt;L'un des fichiers parmi les plus importants sur notre drive est le Google-sheet du budget, contenant différentes feuilles de calculs.&lt;/p&gt;

&lt;p&gt;On liste alors dans la première feuille/onglet:&lt;br /&gt;
- les recettes: les entrées visiteurs, les ventes de nourriture, les prix payés par les exposants professionnels et jeunes créateurs, les sponsors et donations.&lt;br /&gt;
- les dépenses: la salle, la nourriture, le matériel, l'affichage/publicité, les frais de gestion.&lt;br /&gt;
On utilisera les autres feuilles pour les détails de chaque section (entrées, repas, stands...)&lt;/p&gt;

&lt;p&gt;On y ajoutera des impondérables: c'est une marge que l'on prévoit dans le cas où il y aurait des imprévus tels qu'un trajet en train ou une nuit d'hôtel à rembourser, ou du matériel à acheter en dernier instant.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;figure class=&quot;figure&quot; style=&quot;margin:0 auto; display:table&quot;&gt;
&lt;p&gt;&lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/backstageconv/budget333.png&quot;&gt;&lt;img alt=&quot;budget333.png&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/backstageconv/.budget333_m.png&quot; /&gt;&lt;/a&gt; &lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/backstageconv/budget_repas_333.png&quot;&gt;&lt;img alt=&quot;budget repas 333.png&quot; class=&quot;media&quot; height=&quot;369&quot; src=&quot;https://keul.fr/public/backstageconv/.budget_repas_333_m.png&quot; width=&quot;349&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Aperçu du budget de Jonetsu 3.33 avec l'onglet de gestion des repas (je vous épargne les formules de l'enfer)&lt;/p&gt;
&lt;/figure&gt;

&lt;p&gt;Il faudra aussi prendre soin de bien souscrire à une assurance, au cas où il y aurait du vol ou de la casse de matériel. Il serait intolérable de voir un membre qui ne soit pas remboursé en cas de problèmes avec le matériel qu'il prête (ordinateur portable, tablette Cintiq Wacom, télé...).&lt;/p&gt;

&lt;p&gt;À vous de trouver ensuite comment la mettre en forme et de prévoir les dates auxquelles vous recevrez les paiements des stands, des préventes et à quel moment vous aurez à payer les factures et rembourser d'éventuels emprunts.&lt;/p&gt;

&lt;p&gt;Et pour résumer, le résultat des dépenses et recettes des trois premières éditions:&lt;/p&gt;

&lt;figure class=&quot;figure&quot; style=&quot;margin: 0 auto; display: table;&quot;&gt;
&lt;p&gt;&lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/backstageconv/graph.png&quot;&gt;&lt;img alt=&quot;graph.png&quot; class=&quot;media&quot; height=&quot;575&quot; src=&quot;https://keul.fr/public/backstageconv/graph.png&quot; width=&quot;751&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Recettes et dépenses des trois premières éditions, sans les flux temporaires (prêts, cautions, fonds de caisse ...).&lt;/p&gt;

&lt;p&gt;Sachant que la première avait eu 545 visiteurs, 565 visiteurs pour la seconde et 850 visiteurs pour la troisième.&lt;/p&gt;
&lt;style type=&quot;text/css&quot;&gt;.tableau_coulisses_jon th, td {
    font-size: 0.8em;
    border: 1px solid #666666;
}
.tableau_coulisses_jon {
  border-collapse: collapse;
  width:100%;
}
&lt;/style&gt;
&lt;table class=&quot;tableau_coulisses_jon&quot;&gt;
	&lt;thead&gt;
		&lt;tr&gt;
			&lt;th&gt;Edition&lt;/th&gt;
			&lt;th&gt;type4&lt;/th&gt;
			&lt;th&gt;repas&lt;/th&gt;
			&lt;th&gt;billets&lt;/th&gt;
			&lt;th&gt;stands pro&lt;/th&gt;
			&lt;th&gt;stands crea&lt;/th&gt;
			&lt;th&gt;sponsors&lt;/th&gt;
			&lt;th&gt;salle&lt;/th&gt;
			&lt;th&gt;equipement salle&lt;/th&gt;
			&lt;th&gt;invités&lt;/th&gt;
			&lt;th&gt;autres&lt;/th&gt;
			&lt;th&gt;impondérables&lt;/th&gt;
		&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
		&lt;tr&gt;
			&lt;td&gt;1&lt;/td&gt;
			&lt;td&gt;recettes&lt;/td&gt;
			&lt;td&gt;1627&lt;/td&gt;
			&lt;td&gt;4115&lt;/td&gt;
			&lt;td&gt;1680&lt;/td&gt;
			&lt;td&gt;1155&lt;/td&gt;
			&lt;td&gt;5750&lt;/td&gt;
			&lt;td&gt;0&lt;/td&gt;
			&lt;td&gt;0&lt;/td&gt;
			&lt;td&gt;0&lt;/td&gt;
			&lt;td&gt;0&lt;/td&gt;
			&lt;td&gt;0&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;1&lt;/td&gt;
			&lt;td&gt;dépenses&lt;/td&gt;
			&lt;td&gt;2022&lt;/td&gt;
			&lt;td&gt;0&lt;/td&gt;
			&lt;td&gt;0&lt;/td&gt;
			&lt;td&gt;0&lt;/td&gt;
			&lt;td&gt;0&lt;/td&gt;
			&lt;td&gt;9900&lt;/td&gt;
			&lt;td&gt;918&lt;/td&gt;
			&lt;td&gt;0&lt;/td&gt;
			&lt;td&gt;1244&lt;/td&gt;
			&lt;td&gt;0&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;2&lt;/td&gt;
			&lt;td&gt;recettes&lt;/td&gt;
			&lt;td&gt;968&lt;/td&gt;
			&lt;td&gt;2825&lt;/td&gt;
			&lt;td&gt;830&lt;/td&gt;
			&lt;td&gt;890&lt;/td&gt;
			&lt;td&gt;2900&lt;/td&gt;
			&lt;td&gt;0&lt;/td&gt;
			&lt;td&gt;0&lt;/td&gt;
			&lt;td&gt;0&lt;/td&gt;
			&lt;td&gt;0&lt;/td&gt;
			&lt;td&gt;0&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;2&lt;/td&gt;
			&lt;td&gt;dépenses&lt;/td&gt;
			&lt;td&gt;920&lt;/td&gt;
			&lt;td&gt;0&lt;/td&gt;
			&lt;td&gt;0&lt;/td&gt;
			&lt;td&gt;0&lt;/td&gt;
			&lt;td&gt;0&lt;/td&gt;
			&lt;td&gt;2336&lt;/td&gt;
			&lt;td&gt;582&lt;/td&gt;
			&lt;td&gt;0&lt;/td&gt;
			&lt;td&gt;1994&lt;/td&gt;
			&lt;td&gt;317&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;3&lt;/td&gt;
			&lt;td&gt;recettes&lt;/td&gt;
			&lt;td&gt;1598&lt;/td&gt;
			&lt;td&gt;3717&lt;/td&gt;
			&lt;td&gt;302&lt;/td&gt;
			&lt;td&gt;1460&lt;/td&gt;
			&lt;td&gt;2820&lt;/td&gt;
			&lt;td&gt;0&lt;/td&gt;
			&lt;td&gt;0&lt;/td&gt;
			&lt;td&gt;0&lt;/td&gt;
			&lt;td&gt;0&lt;/td&gt;
			&lt;td&gt;0&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;3&lt;/td&gt;
			&lt;td&gt;dépenses&lt;/td&gt;
			&lt;td&gt;1399&lt;/td&gt;
			&lt;td&gt;0&lt;/td&gt;
			&lt;td&gt;0&lt;/td&gt;
			&lt;td&gt;0&lt;/td&gt;
			&lt;td&gt;0&lt;/td&gt;
			&lt;td&gt;3013&lt;/td&gt;
			&lt;td&gt;0&lt;/td&gt;
			&lt;td&gt;1148&lt;/td&gt;
			&lt;td&gt;2116&lt;/td&gt;
			&lt;td&gt;213&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;/figure&gt;

&lt;p&gt;On voit assez vite que la première édition avait un budget assez conséquent, dû au prix de location de la salle qui était assez élevé. Il a pu y avoir des bénéfices (différence de hauteur entre 2 colonnes) grâce aux donations et sponsors.&lt;br /&gt;
Sachant qu'il serait plus difficile de trouver des sponsors et donations pour l'édition suivante, il a fallu changer de salle, un peu plus éloignée de paris (mais accessible en RER) mais qui a permis d'être plus confortable financièrement. C'est d'ailleurs qui a permis de baisser le prix de l'entrée de 8€ à 5€ et d'investir plus dans les invités. Nos bonnes relations avec la mairie de Bourg-la-Reine nous a aussi permis utiliser la salle du théâtre de l'Agoreine pour les conférences à un tarif attractif, merci encore à elle!&lt;/p&gt;

&lt;p&gt;On notera aussi la diminution de stands professionnels, vu la taille de notre convention, il est difficile pour eux d'être rentable. En effet, contrairement aux stands qui vendent de la contrefaçon (que nous refusons), les stands professionnels légitimes payent les droits d'auteur et s'assurent de fournir des produits de qualité. Du progrès à ce niveau serait en tout cas le bienvenu.&lt;/p&gt;

&lt;p&gt;Pour les repas, nous réalisons peu de bénéfices dessus. En effet, en plus du tarif attractif, les bénéfices sur les ventes de boissons et de la nourriture nous servent surtout à payer les menus (sandwich, boisson et barre chocolatée) des membres, des bénévoles, des conférenciers et des exposants (oui, même nos exposants ont le repas offert :D).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Les membres et la transparence&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Si l'argent est nécessaire pour pouvoir organiser une convention, les membres sont nécessaires &lt;a href=&quot;http://champdenavet.free.fr/index.php?post/2018/05/22/Les-Invisibles-de-la-PASSION&quot;&gt;(même s'ils paraissent invisibles, cliquez ici pour un article bien interessant sur les membres de Nijikai)&lt;/a&gt; pour pouvoir faire fonctionner une association. Et pour organiser une convention, il faut assez de membres actifs qui puissent s'occuper de l'organisation en amont et pas uniquement de l'évènement sur place le jour J.&lt;/p&gt;

&lt;p&gt;Il faudra donc penser à régulièrement faire des campagnes de recrutement pour s'assurer d'avoir une association pérenne, où les membres peuvent participer à la vie de l'association avec une hiérarchie dont le rôle est de guider et de pardonner (vos membres ont le droit de faire des erreurs, ce sont des bénévoles, ne l'oubliez pas), pas de régner.&lt;/p&gt;

&lt;p&gt;La transparence devrait être de mise, c'est la politique que nous avons adopté: en dehors des informations sensibles (les codes de carte bancaire ou accès aux virements, les données personnelles des membres ou contacts externes), une association n'a pas à avoir de secret.&lt;br /&gt;
Si une association ne peut vous fournir ses relevés bancaires ou garde secrets certains projets ou problèmes à ses membres (après un certain délai), c'est qu'il y a sûrement anguille sous roche.&lt;/p&gt;

&lt;p&gt;Pour plus de détails, je vous laisse lire cet article sur ce qu'il faut éviter dans une association pour ne pas perdre des membres:&amp;nbsp;&lt;a href=&quot;http://association1901.fr/management/6-raisons-benevoles-rejoindre-association-loi-1901/&quot;&gt;6 bonnes raisons de fuir votre association loi 1901&lt;/a&gt;&lt;/p&gt;

&lt;p style=&quot;text-align: center;&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://keul.fr/post/74&quot;&gt;Aller à la partie 2&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;</description>
        
              </item>
          <item>
        <title>Les coulisses d'une convention - Partie 2</title>
        <link>https://keul.fr/post/74</link>
        <guid isPermaLink="false">urn:md5:f14e09de5546cbd307d6e4241f108f47</guid>
        <pubDate>Sun, 10 Feb 2019 15:26:00 +0100</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          &lt;p&gt;&lt;a href=&quot;https://keul.fr/post/72&quot;&gt;Aller à la partie 1&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Cliquez sur les images pour les voir en grand, cliquez à nouveau dessus pour fermer.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Le gestionnaire de conférences et d'activités&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Lors de la première édition de la convention Jonetsu, &lt;a href=&quot;http://champdenavet.free.fr/&quot;&gt;Kabu&lt;/a&gt; s'était occupé de publier sur le site le planning de conférence et le détail de chacune d'entre elles, avec leur description et celles de chaque intervenant. Les visiteurs ayant de plus en plus tendance à consulter les sites web sur leurs mobiles, il devenait aussi obligatoire le support du responsive et d'avoir une présentation agréable.&lt;/p&gt;

&lt;p&gt;Mais modifier un tableau complexe en HTML dans l'interface de wordpress peut vite devenir compliqué, surtout quand il s'agit de mettre à jour des informations, telles qu'un changement d'horaires ou de la modification d'un intervenant.&lt;/p&gt;

&lt;p&gt;J'avais du coup développé un gestionnaire à l'occasion de la seconde édition de la convention, qui s'avéra très pratique, bien qu'un peu austère.&lt;/p&gt;

&lt;p&gt;Une version 2 fût donc développée pour la troisième édition, avec une interface plus accessible&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;figure class=&quot;figure&quot; style=&quot;margin: 0 auto; display: table;&quot;&gt;&lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/gestionnaireacticonf/ancien_gestionnaire.png&quot;&gt;&lt;img alt=&quot;ancien gestionnaire.png&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/gestionnaireacticonf/.ancien_gestionnaire_m.png&quot; /&gt;&lt;/a&gt; &lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/gestionnaireacticonf/planning.png&quot;&gt;&lt;img alt=&quot;planning.png&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/gestionnaireacticonf/.planning_m.png&quot; /&gt;&lt;/a&gt;

&lt;figcaption&gt;L'ancien et le nouveau gestionnaire, le fonctionnement a été amélioré et le visuel grandement amélioré.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;Fonctionnement du gestionnaire&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1° les entités&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Le gestionnaire est un espace à part sur le site (protégé par un mot de passe) où les membres de l'association peuvent gérer les conférences, mais aussi les activités, les stands et les partenaires.&lt;/p&gt;

&lt;p&gt;Pour fonctionner, on commence par renseigner le système en ajoutant plusieurs entités: ce sont des entreprises, des associations, des personnes...&lt;/p&gt;

&lt;figure class=&quot;figure&quot; style=&quot;margin: 0 auto; display: table;&quot;&gt;&lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/gestionnaireacticonf/entite_liste.png&quot;&gt;&lt;img alt=&quot;entite liste.png&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/gestionnaireacticonf/.entite_liste_m.png&quot; /&gt;&lt;/a&gt;

&lt;figcaption&gt;Affichage des entités filtrées par type: professionnel.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Chaque entité à un logo/avatar (avec une version en ratio 2:1), une description, et des informations telles que les réseaux sociaux. Exemple:&lt;/p&gt;

&lt;figure class=&quot;figure&quot; style=&quot;margin: 0 auto; display: table;&quot;&gt;&lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/gestionnaireacticonf/entite_modif.png&quot;&gt;&lt;img alt=&quot;entite modif.png&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/gestionnaireacticonf/.entite_modif_m.png&quot; /&gt;&lt;/a&gt;

&lt;figcaption&gt;Création/modification d'une entité&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Le gros avantage est de pouvoir facilement modifier les informations d'un conférencier ou d'une entité sans devoir modifier chaque endroit où elle pourrait se retrouver (dans un article du blog, sur la page de planning, dans la page de détails des conférences).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2° les conférences&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;On va ensuite créer des conférences, un peu comme les entités, mais avec des détails en plus tels que le type de la conférence et sa catégorie, ainsi que la durée de celle-ci.&lt;/p&gt;

&lt;p&gt;La partie des assignations en bas permet d'indiquer les intervenants, chaque ligne correspondant à une entité intervenante (une personne, une association, un professionnel...) et à droite de la ligne, on pourra ajouter des sous-entités (intervenant faisant partie d'une entité).&lt;/p&gt;

&lt;p&gt;Cela permet d'avoir des conférences où l'on a à la fois des personnes indépendantes (un traducteur par exemple), ainsi que des personnes liées à un groupe (les employés d'une entreprise par exemple)&lt;/p&gt;

&lt;figure class=&quot;figure&quot; style=&quot;margin: 0 auto; display: table;&quot;&gt;
&lt;p&gt;&lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/gestionnaireacticonf/conference_modif.png&quot;&gt;&lt;img alt=&quot;conference modif.png&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/gestionnaireacticonf/.conference_modif_m.png&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;figcaption&gt;Création/modification d'une conférence&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Un menu déroulant propose les résultats au cours de la frappe pour pouvoir ajouter facilement un intervenant parmi la longue liste des entités.&lt;/p&gt;

&lt;p&gt;Vous noterez en haut de page un encart indiquant le code à copier/coller dans le wordpress pour afficher cette conférence, dans un des articles d'actualité par exemple (un plugin wordpress appellera le gestionnaire pour afficher la page générée correspondante)&lt;/p&gt;

&lt;p&gt;On obtiendra alors une liste de conférences ressemblant à ceci:&lt;/p&gt;

&lt;figure class=&quot;figure&quot; style=&quot;margin: 0 auto; display: table;&quot;&gt;&lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/gestionnaireacticonf/conferences_liste.png&quot;&gt;&lt;img alt=&quot;conferences liste.png&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/gestionnaireacticonf/.conferences_liste_m.png&quot; /&gt;&lt;/a&gt;

&lt;figcaption&gt;La liste des conférences, un clic sur l'une d'entre elles permet de la modifier ou supprimer&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;3° les plannings&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;On ira ensuite créer un planning journalier:&lt;/p&gt;

&lt;figure class=&quot;figure&quot; style=&quot;margin: 0 auto; display: table;&quot;&gt;&lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/gestionnaireacticonf/planning.png&quot;&gt;&lt;img alt=&quot;planning.png&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/gestionnaireacticonf/.planning_m.png&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;

&lt;p&gt;En haut de la page, on a un menu déroulant permettant de choisir le planning (le planning de conférences du samedi, le planning du stand activité du dimanche ...) ou de créer un nouveau planning. Le bouton modifier permettant de changer le titre et la couleur du planning ou de le supprimer.&lt;/p&gt;

&lt;p&gt;On pourra alors y ajouter des conférences ou activités en cliquant sur le bouton rouge, et modifier leurs horaires ou les retirer du planning en cliquant dessus.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4° les exposants&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;La page des exposants se base sur le même principe que la page de planning à quelques détails près (pas d'horaires), idem pour la page des partenaires.&lt;/p&gt;

&lt;figure class=&quot;figure&quot; style=&quot;margin: 0 auto; display: table;&quot;&gt;&lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/gestionnaireacticonf/exposants_liste.png&quot;&gt;&lt;img alt=&quot;exposants liste.png&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/gestionnaireacticonf/.exposants_liste_m.png&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;

&lt;p&gt; &lt;/p&gt;

&lt;figure class=&quot;figure&quot; style=&quot;margin: 0 auto; display: table;&quot;&gt;&lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/gestionnaireacticonf/partenaires_liste.png&quot;&gt;&lt;img alt=&quot;partenaires liste.png&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/gestionnaireacticonf/.partenaires_liste_m.png&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;

&lt;p&gt;Ce gestionnaire est amené à évoluer. Je compte transformer ce gestionnaire de conférences et d'activités en gestionnaire de convention. En effet, j'ai aussi codé quelques outils pour gérer les repas et les inscriptions des stands exposants ainsi que les inscriptions au concours de cosplay (a l'origine pour l'association Forum Thalie).&lt;br /&gt;
Je compte les rassembler dans ce nouvel outil qui sera un gestionnaire de convention.&lt;/p&gt;

&lt;figure class=&quot;figure&quot; style=&quot;margin: 0 auto; display: table;&quot;&gt;
&lt;figcaption&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/gestionnaireacticonf/Screenshot_2019-02-09_Gestionnaire_de_stands.png&quot;&gt;&lt;img alt=&quot;Screenshot_2019-02-09 Gestionnaire de stands.png&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/gestionnaireacticonf/.Screenshot_2019-02-09_Gestionnaire_de_stands_m.png&quot; /&gt;&lt;/a&gt; &lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/gestionnaireacticonf/Screenshot_2019-02-09_Gestionnaire_de_repas.png&quot;&gt;&lt;img alt=&quot;Screenshot_2019-02-09 Gestionnaire de repas.png&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/gestionnaireacticonf/.Screenshot_2019-02-09_Gestionnaire_de_repas_m.png&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Petit aperçu du gestionnaire de stands et de repas&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Les réponses soumises sont insérées dans un gsheet (nous ne passons plus par google forms pour ces formulaires, car ils sont trop limités au niveau interactivité et ne permettent pas l'envoi d'images sans compte google).&lt;/p&gt;

&lt;p&gt;MAJ: Cette nouvelle version retravaillée est en cours de développement mais le site et les infos sur celui-ci sont déjà disponibles ici: &lt;a href=&quot;https://keikaku.keul.fr/&quot;&gt;https://keikaku.keul.fr/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Les autres outils&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Afin de gérer la liste des membres plus facilement, une autre page a aussi été mise en place. Le système se base sur la base des utilisateurs du forum SMF et des groupes liés: cela permet d'afficher les avatars et d'utiliser la gestion des groupes du forum pour pouvoir gérer les droits d'accès et les statuts des membres. Il permet aussi de gérer les cotisations, bien que Nijikai n'ait plus de cotisation pour les membres depuis la seconde édition. (Vu les sommes en jeu, on préfère se concentrer sur les subventions et sponsorats, les membres ont déjà assez de travail)&lt;/p&gt;

&lt;p&gt;* pas de screenshot, les informations personnelles des membres sont privées *&lt;/p&gt;

&lt;p&gt;Astuces, en plus de l'adresse email, nous demandons aussi si possible l'adresse Google, afin de faciliter la gestion des invitations dans l'agenda Google, des droits du drive et autre...&lt;/p&gt;

&lt;p&gt;Il y a aussi un racourcisseur d'URL (utilisé pour générer les QR-code des affiches situées dans la verrière).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Le Poulet Code&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Un petit jeu que j'ai créé, qui a un double usage: La chasse au poulet code.&lt;/p&gt;

&lt;p&gt;Il s'agit en fait de petites cartes cartonnées avec un QR-Code imprimé dessus que nos donnons aux exposants qui le souhaitent et qui les cachent sur leur stand. Les visiteurs doivent alors les chercher et les scanner avec leur smartphone. Chaque code scanné fait alors apparaitre dans le navigateur une question avec 4 réponses possibles et les gagnants ont droit à un petit cadeau au bar.&lt;/p&gt;

&lt;figure class=&quot;figure&quot; style=&quot;margin: 0 auto; display: table;&quot;&gt;&lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/gestionnaireacticonf/Screenshot__9_fevr._2019_23_30_40_.jpg&quot;&gt;&lt;img alt=&quot;Screenshot (9 févr. 2019 23_30_40).jpg&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/gestionnaireacticonf/.Screenshot__9_fevr._2019_23_30_40__m.jpg&quot; /&gt;&lt;/a&gt;

&lt;figcaption&gt;
&lt;p&gt;Utilisation de l'API webcam des navigateurs récents pour scanner le code via le smartphone.&lt;br /&gt;
(le navigateur demande bien entendu l'autorisation nécessaire, visible dans la barre des notifications)&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;L'avantage est qu'en plus de divertir les visiteurs, cette activité permet aussi de pousser les visiteurs à s'intéresser au contenu des stands&lt;/p&gt;

&lt;p&gt;Je recommande d'ailleurs chaudement aux exposants de lire cette série d'articles de Raynart: &lt;a href=&quot;http://www.enchanted-destinies.com/diary/2019/01/13/manga-artist-life-introduction/&quot;&gt;MANGA ARTIST LIFE&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;</description>
        
              </item>
          <item>
        <title>La communication web</title>
        <link>https://keul.fr/post/71</link>
        <guid isPermaLink="false">urn:md5:5f6bd8fb70214bfe01c07b756bf29bdd</guid>
        <pubDate>Thu, 16 Mar 2017 20:25:00 +0100</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>&lt;p&gt;Concevoir un site web, c'est créer des pages web à afficher aux visiteurs pour leur donner des informations ou leur faire réaliser une action (poster un commentaire, dialoguer, acheter...) via une interface utilisateur.&lt;/p&gt;

&lt;p&gt;Ces interfaces peuvent être efficaces ou mal faites (tel que celles rencontrées &lt;a href=&quot;http://keul.fr/post/69&quot;&gt;dans mon dernier article&lt;/a&gt;), être plus ou moins adaptées pour &lt;a href=&quot;http://www.meido-rando.net/post/2017/02/28/la-malvoyance-et-le-numerique-cest-pas-tous-les-jours-facile/&quot;&gt;les handicapés&lt;/a&gt; et utilisé avec des objets connectés, mais pas &lt;a href=&quot;https://twitter.com/internetofshit&quot;&gt;dans le bon sens&lt;/a&gt;. Le web regorge d'articles, avec par exemple le&amp;nbsp; &lt;a href=&quot;https://www.isotoma.com/blog/2014/02/03/hold-the-hamburger/&quot;&gt;problème des icônes de menu&lt;/a&gt; et beaucoup d'&lt;a href=&quot;http://newflux.fr/2017/03/03/82-resultats-de-tests-ab-sur-des-principes-dinterface/&quot;&gt;autres&lt;/a&gt; &lt;a href=&quot;https://www.goodui.org/&quot;&gt;conseils&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Sauf qu'au-delà de ces interfaces se cache aussi un autre aspect: la relation et l'image retournée.&lt;/p&gt;

&lt;p&gt;Regardons ça de plus près.&lt;/p&gt;          &lt;p&gt;Tout le monde connaît le logiciel libre Mozilla Firefox. C'est un logiciel que vous pouvez librement utiliser, étudier, modifier et redistribuer. À un détail près: vous ne pouvez pas utiliser les dénominations &lt;a href=&quot;https://www.mozilla.org/en-US/foundation/trademarks/policy/&quot;&gt;Mozilla ou Firefox&lt;/a&gt; qui ont été déposées comme marques. En effet, Paint.net qui était sous licence libre MIT permettait à n'importe qui de modifier le logiciel et même de le revendre, ce qui pouvait porter atteinte à l'image du logiciel d'origine (&lt;a href=&quot;https://framablog.org/2009/12/20/paint-net-change-de-licence-et-devient-proprietaire/&quot;&gt;qui est du coup passé carrément en logiciel propriétaire&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;Apple soigne d'ailleurs bien son image de marque: avec un contrôle strict sur son appstore et son suivi du matériel, ils peuvent éviter des problèmes assez gênants qu'a pu avoir Microsoft. En effet, qui n'a jamais pesté devant un écran bleu et maudit Windows? Sauf qu'en réussissant à décortiquer le message qui indiquait une erreur (violation d'accès mémoire) dans le code de driver de mon clavier qui provoquait cet écran bleu, j'ai vite compris que le fautif n'était du coup pas vraiment Microsoft mais plutôt le fabricant du clavier. Ce qui a d'ailleurs poussé Microsoft à revoir sa gestion des drivers.&lt;/p&gt;

&lt;p&gt;C'est aussi un peu ce qui permet à Nintendo de survivre : même en ayant une qualité graphique moins bonne que ses concurrents, elle s'en démarque en retournant une image d'innovation et de recherche d'un autre public pour ne pas avoir à se battre sur le terrain de la course à la puissance qu'elle aurait du mal à gérer.&lt;/p&gt;

&lt;p&gt;Avoir un bon suivi permet aussi &lt;a href=&quot;https://medium.com/axiomzenteam/i-almost-lost-10-000-users-369fe9e60abc&quot;&gt;d'éviter des drames&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Du coup, que se passe-t-il quand on ne soigne pas son image et où l'on cherche comme unique but la rentabilité et les affaires? On se tire une balle dans le pied. Au début, ça peut fonctionner, mais sur le long terme ça peut devenir catastrophique.&lt;/p&gt;

&lt;p&gt;En effet, si pour l'instant les personnes ont du mal à s'en rendre compte &lt;a href=&quot;http://www.culturepub.fr/videos/google-analytics-online-checkout-in-real-life/&quot;&gt;sans passer par du visuel&lt;/a&gt;, cela devient vite dangereux.&lt;/p&gt;

&lt;p&gt;Exemple: exiger des clients d'envoyer une lettre recommandée avec accusée de réception pour annuler un abonnement peut sembler une bonne idée pour les dissuader de se désabonner, mais la méthode devient dangereuse: les clients commencent à avoir peur de ne pouvoir facilement annuler leurs abonnements et décident de passer par d'autres solutions, dont une assez pratique : Paypal. En effet, pour pouvoir arrêter de payer, il suffit de se rendre dans l'interface web plutôt que de devoir s'embêter à passer par un courrier postal. Maintenant, regardez les frais de transaction Paypal et pleurez.&lt;/p&gt;

&lt;p&gt;Pareil pour la publicité: inonder les visiteurs de publicité sans même contrôler qu'elle n'était pas vérolée et remplie d'arnaque à poussé ceux-ci à se méfier et à installer des ad-blockers.&lt;/p&gt;

&lt;p&gt;Même combat pour les opérateurs téléphoniques qui en prenant leurs clients pour des pigeons ont fait le pari très risqué de se retrouver dans une situation difficile, qui est arrivé le jour de la sortie de freemobile.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Ceux qui me suivent sur Twitter ont dû remarquer d'ailleurs ce qui m'est arrivé et qui m'a même poussé à écrire ce billet.&lt;/p&gt;

&lt;p&gt;Mon hébergeur a implémenté une fonctionnalité payante (76€/an environ) intéressante: le support d'anciennes versions du langage de programmation PHP en corrigeant eux même les failles de sécurité plutôt que de devoir rendre leurs applis compatibles avec les nouvelles versions de PHP (mettre à jour une appli pour qu'elle supporte une version plus récente de PHP peut coûter plusieurs milliers d'euros, en fonction du code deprecated qui peut se trouver dedans), ce qui est plutôt cool.&lt;/p&gt;

&lt;p&gt;Ce qui est moins cool, enfin, très dangereux même, c'est d'activer l'option par défaut. Vous souscrivez à un service et on vous ajoute une option sans vous demander votre accord (opt-out) et où la désactivation doit se faire de manière active (qui en plus ne se fait pas simplement, car exigeant changement de configuration des versions avant de devoir faire une désinscription).&lt;/p&gt;

&lt;p&gt;Alors bon, quand on se fait avoir parce qu'on faisait confiance au prestataire (étant client depuis 10ans) au lieu de vérifier chacune des dernières factures en détail, et qu'en plus c'est dans un domaine qu'on est censé gérer, ça fout bien la rage. Il y'a bien eu un geste pour annuler la dernière facture, mais pas les précédentes, ce qui m'a donc coûté l'équivalent de 6 mois d'hébergement. Et qui leur coûte un client fidèle aussi qui repart bien dégoûté.&lt;/p&gt;

&lt;p&gt;Il ne leurs restera plus qu'a mesurer les conséquences de ces effets, à savoir si ça va rester minoritaire ou si le jeu risque de devenir dangereux pour la suite, mais qui saurait réellement capable de mesurer ça et de prédire l'avenir?&lt;/p&gt;</description>
        
              </item>
          <item>
        <title>L'interface utilisateur</title>
        <link>https://keul.fr/post/69</link>
        <guid isPermaLink="false">urn:md5:e56a7cadcc7cff56d09b1fc0ad65a83e</guid>
        <pubDate>Fri, 02 Dec 2016 00:00:00 +0100</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>&lt;p&gt;Suite à la sortie d'un film sacrément attendu, je suis passé sur le site d'UGC pour réserver ma place de cinéma.&lt;/p&gt;

&lt;p&gt;Armé de ma carte bancaire, d'une carte de fidélité UGC basique (je vais 2-3 fois par an au cinéma) et d'un compte que j'avais créé sur le site à l'époque, je m'apprête à réserver ma place.Généralement, j'achète sur place, mais vu qu'il s'agit d'une avant-première de Your Name, la réservation était nécessaire.&lt;/p&gt;

&lt;p&gt;Et là, c'est le drame.&lt;/p&gt;          &lt;figure style=&quot;margin: 0 auto; display: table;&quot;&gt;&lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/ugc/UGC_1_-_abus.png&quot;&gt;&lt;img alt=&quot;UGC_1_-_abus.png&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/ugc/.UGC_1_-_abus_m.png&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;

&lt;p&gt;&quot;Pas assez de places chargées sur la carte&quot;?&lt;/p&gt;

&lt;p&gt;What? La salle de cinéma est pleine et sur la carte de la salle ils ne trouvent plus de place??? Y'a des places dans ma carte bancaire?&lt;/p&gt;

&lt;p&gt;Après discussion avec le CM d'UGC, il s'avère que le système a cherché des places dans ma carte de fidélité, qui n'a pas de crédits de place étant donné qu'il s'agit d'une carte basique. Si le message d'erreur avait précisé qu'il s'agissait d'une carte de fidélité, ça aurait déjà plus aidé.&lt;/p&gt;

&lt;p&gt;Enfin, le drame, c'est surtout de tomber sur ce genre d'erreur APRÈS avoir saisi ses données bancaires sur le site de paiement.&lt;/p&gt;

&lt;p&gt;Et comment cette erreur est-elle possible? Grâce à une interface utilisateur vraiment mal faite.&lt;/p&gt;

&lt;p style=&quot;text-align: center;&quot;&gt;Cliquez sur l'image pour agrandir.&lt;/p&gt;

&lt;figure style=&quot;margin: 0 auto; display: table;&quot;&gt;&lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/ugc/UGC_2.png&quot;&gt;&lt;img alt=&quot;UGC_2.png&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/ugc/.UGC_2_m.png&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;

&lt;p&gt;En effet, entre le mélange des places, des cartes de fidélité et des cartes de paiement on ne s'en sort plus. On se retrouve avec des cartes de fidélitée &quot;dans le panier&quot;, la section ajouter une carte dont l'intitulé prête à confusion.&lt;/p&gt;

&lt;p&gt;C'est tellement peu clair que du texte explicatif a dû être ajouté, un comble.&lt;/p&gt;

&lt;p&gt;Et pourtant, utiliser 3 sections auraient suffit: Panier, Méthode de paiement, et bonus point de fidélité.&lt;/p&gt;

&lt;p&gt;Et puis bon sang, est-ce vraiment nécessaire d'avoir autant de cartes de fidélité? Une par personne suffit, on met un identifiant client dessus et on dématérialise ses forfaits/options.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Enfin, l'étape de paiement est assez habituelle par contre.&lt;/p&gt;

&lt;figure style=&quot;margin: 0 auto; display: table;&quot;&gt;
&lt;p&gt;&lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/ugc/UGC_3.png&quot;&gt;&lt;img alt=&quot;UGC_3.png&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/ugc/.UGC_3_s.png&quot; /&gt;&lt;/a&gt; &lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/ugc/UGC_4.png&quot;&gt;&lt;img alt=&quot;UGC_4.png&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/ugc/.UGC_4_s.png&quot; /&gt;&lt;/a&gt; &lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/ugc/UGC_5.png&quot;&gt;&lt;img alt=&quot;UGC_5.png&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/ugc/.UGC_5_s.png&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/figure&gt;

&lt;p&gt;Pour ceux qui veulent rigoler, 3D secure n'est pas là pour protéger les clients, mais les vendeurs (&lt;a href=&quot;http://www.leolagrange-conso.org/les-failles-du-systeme-3d-secure/&quot;&gt;en plus de ne pas être vraiment secure&lt;/a&gt;). En effet, le vendeur qui utilise 3D secure s'assure à peu près que la banque ne lui demandera pas un remboursement pour un paiement effectué avec une carte volée. Sauf que 3D secure n'étant pas obligatoire, &lt;a href=&quot;http://www.hardcoregamer.com/2016/02/15/mangagamer-hit-by-payment-fraud-no-longer-offering-steam-keys/193140/&quot;&gt;les voleurs peuvent toujours utiliser les cartes bancaires chez les vendeurs n'ayant pas adopté ce système&lt;/a&gt; (paie ta logique d'ailleurs, quand une voiture est volée, le concessionnaire doit rembourser???).&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Bon, votre paiement est effectué? Tout se passe bien? Affichons un peu de publicité, l'utilisateur aime bien les agressions visuelles (à lire avec un ton ironique).&lt;/p&gt;

&lt;figure style=&quot;margin: 0 auto; display: table;&quot;&gt;
&lt;p&gt;&lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/ugc/UGC_6.png&quot;&gt;&lt;img alt=&quot;UGC_6.png&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/ugc/.UGC_6_m.png&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/figure&gt;

&lt;p&gt;Parfait, il est temps de vérifier qu'il reste des places libres.&lt;/p&gt;

&lt;p&gt;...&lt;/p&gt;

&lt;p&gt;...&lt;/p&gt;

&lt;p&gt;Je rappelle qu'un produit non disponible alors que l'utilisateur à validé le paiement est l'une des pires expériences utilisateur.&lt;/p&gt;

&lt;p&gt;Surtout que la solution est assez simple, réserver la place AVANT la demande de paiement, quitte à l'annuler si le paiement n'est pas effectué dans les 5 minutes.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p style=&quot;text-align: center;&quot;&gt;Enfin, la délivrance.&lt;/p&gt;

&lt;figure style=&quot;margin: 0 auto; display: table;&quot;&gt;&lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/ugc/UGC_7.png&quot;&gt;&lt;img alt=&quot;UGC_7.png&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/ugc/.UGC_7_s.png&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;Frais de gestion : 1€&lt;/strong&gt;&lt;/p&gt;</description>
        
              </item>
          <item>
        <title>Mise en place d'un Wiki</title>
        <link>https://keul.fr/post/68</link>
        <guid isPermaLink="false">urn:md5:42c0c32500575a6e15d97c464ffb3df8</guid>
        <pubDate>Thu, 27 Oct 2016 22:05:00 +0200</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          &lt;p&gt;CodePen est pratique pour partager des astuces mais il se limite à ce qui est JavaScript, CSS et HTML.&lt;/p&gt;

&lt;p&gt;J'ai une collection de fichiers textes qui contiennent des bouts de code, astuces et autres exemples de script ainsi que de la documentation que j'utilise assez souvent.&lt;/p&gt;

&lt;p&gt;J'ai donc installé un wiki histoire d'avoir une interface plus agréable et facile à gérer pour administrer tout ça.&lt;/p&gt;

&lt;p&gt;C'est disponible en lecture seule ici: &lt;a href=&quot;http://wiki.keul.fr&quot;&gt;http://wiki.keul.fr&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Bien entendu, je vais importer et trier au fur et à mesure de mon temps libre mes fichiers.&lt;/p&gt;</description>
        
              </item>
          <item>
        <title>Auto-complete en JavaScript</title>
        <link>https://keul.fr/post/67</link>
        <guid isPermaLink="false">urn:md5:28e4473ecf3665baf7cc0c36fc876e9b</guid>
        <pubDate>Fri, 02 Sep 2016 20:18:00 +0200</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          &lt;p&gt;S'il existe des systèmes pour faire de l'autocomplétion en javascript, tous ont le même défaut: ils ne sont pas capable de detecter des fautes de frappe ou de proposer des résultats qui s'approchent de la recherche voulue.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/mailcheck/mailcheck&quot;&gt;Mailcheck&lt;/a&gt; propose un système qui s'en approche: il permet de corriger les fautes de frappe dans un nom de domaine par exemple. Il utilise une fonction venant de &lt;a href=&quot;http://siderite.blogspot.com/2007/04/super-fast-and-accurate-string-distance.html&quot;&gt;sift3 : Super Fast and Accurate string distance algorithm&lt;/a&gt;. Dans la version 4 (sift4), la version Simplest gère les rempalcement/ajout/suppression de caractère (Distance de Levenshtein) . La version common gérant les transpositions (Distance de Damerau-Levenshtein).&lt;/p&gt;

&lt;p&gt;Cet algorythme se base sur le calcul de la plus longue &lt;a href=&quot;https://fr.wikipedia.org/wiki/Plus_longue_sous-cha%C3%AEne_commune&quot;&gt;distance de chaine commune&lt;/a&gt;. Hors il reste un problème : imaginons que notre mot à chercher dans une liste de phrase ne soit pas unique mais que l'on souhaites chercher plusieurs mots, avec d'éventuelles fautes de frappe.&lt;/p&gt;

&lt;p&gt;J'ai donc mis en place un petit script qui calcule pour un mot chercher un score pour chaque phrase d'une liste. Ce score est d'autant plus élevé que les sous-chaines de la recherches trouvées dans les phrases sont longues et nombreuses.&lt;/p&gt;

&lt;p&gt;Il est disponible ici: &lt;a href=&quot;http://codepen.io/keul/pen/rrNpAA&quot;&gt;http://codepen.io/keul/pen/rrNpAA&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;</description>
        
              </item>
          <item>
        <title>Bouts de code javascript: on va passer par codpen</title>
        <link>https://keul.fr/post/64</link>
        <guid isPermaLink="false">urn:md5:e5776db57131e0e72dffc7df1b210ecb</guid>
        <pubDate>Fri, 13 May 2016 14:03:00 +0200</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          &lt;p&gt;Les blogs ne sont pas très efficaces pour afficher du code et en faire des démo rapidement, j'ai donc préféré mettre quelques-uns de mes bouts de code javascript sur codepen: &lt;a href=&quot;http://codepen.io/keul/&quot;&gt;http://codepen.io/keul/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Bien entendu, c'est du &lt;a href=&quot;http://vanilla-js.com/&quot;&gt;Vanilla JS&lt;/a&gt;, donc pas besoin de JQuery ou autres librairies javascript et s'assurer de bonnes performances.&lt;/p&gt;

&lt;p&gt;Un des scripts permet d'avoir des cases à cocher dans un menu déroulant (dont la version native est assez moche, n'étant aps déroulante): &lt;a href=&quot;http://codepen.io/keul/pen/bdaGPK&quot;&gt;c'est dispo ici&lt;/a&gt;.&lt;/p&gt;

&lt;figure style=&quot;{figureStyle}&quot;&gt;&lt;img alt=&quot;dropdown_checkbox.png&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/dropdown_checkbox.png&quot; /&gt;
&lt;figcaption&gt; &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Un second script permet d'avoir des entêtes de tableau fixes comme dans els tableurs. &lt;a href=&quot;http://codepen.io/keul/pen/yYjvQo&quot;&gt;disponible ici&lt;/a&gt;, et une variante pour les tableaux trop larges est &lt;a href=&quot;http://codepen.io/keul/pen/mVqNwR&quot;&gt;disponible là&lt;/a&gt;.&lt;/p&gt;

&lt;figure style=&quot;{figureStyle}&quot;&gt;&lt;img alt=&quot;fixedheader.png&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/fixedheader.png&quot; /&gt;
&lt;figcaption&gt; &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;J'ai fait une &lt;a href=&quot;http://keul.fr/codepenbackup/&quot;&gt;sauvegarde ici&lt;/a&gt; au cas où ils ne seraient plus accessibles sur codepen&lt;/p&gt;</description>
        
              </item>
          <item>
        <title>L'accélération du web</title>
        <link>https://keul.fr/post/66</link>
        <guid isPermaLink="false">urn:md5:ed0949d2366f26ca3118df8e65cf56b2</guid>
        <pubDate>Thu, 21 Apr 2016 12:20:00 +0200</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          &lt;figure style=&quot;margin: 0 auto; display: block;&quot;&gt;
&lt;p&gt;&lt;img alt=&quot;ampcar.png&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/ampcar.png&quot; /&gt;&lt;/p&gt;
&lt;/figure&gt;

&lt;p&gt;À gauche, une voiture qui peut être moins performante dû à la grosse remorque qu'on peut lui atteler grâce à son attache remorque&lt;br /&gt;
À droite, une voiture performante qui vous assure par son absence d'attache remorque que rien ne vous ralentira.&lt;/p&gt;

&lt;p&gt;Qui irait acheter une nouvelle voiture sans attache-remorque pour s'assurer que celle-ci a toujours de bonnes performances? Personne?&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
Maintenant, si l'on suit cet article de Génération-nt: &lt;a href=&quot;http://www.generation-nt.com/amp-html-google-web-mobile-presse-actualite-1920203.html&quot;&gt;&quot;AMP HTML : Google dope le Web mobile&quot;&lt;/a&gt;&lt;br /&gt;
On se rend compte que Google propose un &quot;&lt;em&gt;sous-ensemble de HTML avec par exemple des restrictions fortes au niveau de JavaScript&lt;/em&gt;&quot;&lt;br /&gt;
Grosso-modo, en retirant les scripts (souvent dispensables, charger jQuery, un script d'une centaine de Ko pour animer un menu déroulant), la plupart des pubs (avec script qui font de l'analyse, du tracking et plus) et d'autres idioties, HTML AMP permet de meilleures performances.&lt;/p&gt;

&lt;p&gt;&amp;lt;putaclick&amp;gt; Vous ne devinerez jamais ce qu'a fait Google pour accélérer le web &amp;lt;/putaclick&amp;gt;&lt;/p&gt;

&lt;figure style=&quot;{figureStyle}&quot;&gt;&lt;img alt=&quot;desactiver_javascript.png&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/desactiver_javascript.png&quot; /&gt;
&lt;figcaption&gt; &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Qui irait refaire son site web dans une version sans attache-remorque pour s'assurer que celle-ci a toujours de bonnes performances?&lt;br /&gt;
&quot;&lt;em&gt;Twitter, Pinterest, WordPress.com ou encore LinkedIn sont de premiers partenaires technologiques qui vont intégrer des pages AMP HTML. Une trentaine d'éditeurs sont d'ores et déjà dans la boucle parmi lesquels la BBC, BuzzFeed, Financial Times, The Guardian, Mashable, The Washington Post ainsi que Les Échos.&lt;/em&gt;&quot;&lt;/p&gt;

&lt;figure style=&quot;{figureStyle}&quot;&gt;&lt;a class=&quot;media-link&quot; href=&quot;https://keul.fr/public/meme/pokerface.jpg&quot;&gt;&lt;img alt=&quot;pokerface.jpg&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/meme/.pokerface_s.jpg&quot; /&gt;&lt;/a&gt;

&lt;figcaption&gt; &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Est-ce que ça va marcher?&lt;br /&gt;
Je ne sais pas, &lt;a href=&quot;https://keul.fr/post/ http://www.nextinpact.com/news/99553-google-news-va-aussi-mettre-en-avant-contenus-amp-en-priorite-via-carrousel.htm&quot;&gt;google fait son forcing&lt;/a&gt;, mais comme google plus, ça n'attirera que ceux qui se soucient de leurs référencements.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Comment en est-on arrivé là?&amp;nbsp;&lt;br /&gt;
Est-ce un problème technologique?&lt;br /&gt;
Non, c'est le résultat de personnes bornées, qui ne réfléchissent pas à l'avenir et qui comprennent mal ce qui se passe réellement.&lt;br /&gt;
Se retrouvant face à un mur, elles ne se remettent pas en question, n'admettent pas leurs erreurs et préfèrent accuser la technologie.&lt;/p&gt;

&lt;p&gt;Prenons une image bien connue:&lt;/p&gt;

&lt;p&gt;&lt;!--EndFragment--&gt;&lt;/p&gt;

&lt;figure style=&quot;margin: 0 auto; display: block;&quot;&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;free-model.jpg&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/.free-model_m.jpg&quot; /&gt;&lt;/p&gt;

&lt;figcaption&gt;N'est-ce pas super? On n'a rien à payer pour la grange.&lt;br /&gt;
Ouais! Et même la nourriture est gratuite.&lt;br /&gt;
Cochons discutant du modèle &quot;Gratuit&quot;&lt;!--EndFragment--&gt;&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;La plupart des sites web gratuits affichent de la pub aux visiteurs et essayent de récolter leurs données personnelles afin de les revendre aux publicitaires. Le visiteur est donc comparé à un cochon, à un produit qu'on vend au &quot;client&quot;, le &quot;publicitaire&quot;.&lt;br /&gt;
Puis, il y a eu des incidents: à force de mal nourrir et entretenir les animaux, ceux-si sont devenu malades et de piètre qualité.&lt;br /&gt;
Pour le web, c'est pareil, à force de mal respecter les visiteurs, en leurs mettant des publicités abusives,contenant des virus, ralentissant la navigation et bourrant les quotas, ceux-ci ont commencé à s'équiper en logiciels de blocage de publicité.&lt;br /&gt;
Et plutôt que de se remettre en question, ceux-ci persévèrent et se mettent à bloquer ceux qui bloquent la publicité, ce qui les risque de mener à la pire des solutions pour eux, non plus le retrait des publicités, mais le retrait des liens menant vers des pubs qui abusent avec la publicité. (à l'image de &lt;a href=&quot;https://www.mywot.com/&quot;&gt;WoT&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
 &lt;/p&gt;</description>
        
              </item>
          <item>
        <title>Hacking da HTeuMeuLeu</title>
        <link>https://keul.fr/post/4</link>
        <guid isPermaLink="false">urn:md5:da9c78f93aacd3a66a13930ae408359d</guid>
        <pubDate>Mon, 29 Oct 2012 13:57:00 +0100</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          &lt;p&gt;&lt;img alt=&quot;ls.png&quot; src=&quot;https://keul.fr/public/ls.png&quot; style=&quot; display: block;&quot; /&gt;1. Installez &lt;a href=&quot;https://addons.mozilla.org/en-US/firefox/addon/stylish/&quot;&gt;Stylish pour Firefox&lt;/a&gt; (ou&lt;a href=&quot;https://chrome.google.com/webstore/detail/stylish/fjnbnpbmkenffdnngjfgmeleoegfcffe&quot;&gt; Stylish pour Chrome&lt;/a&gt;). (&lt;a href=&quot;https://addons.mozilla.org/fr/firefox/addon/styl-us/&quot;&gt;Sytlus pour Firefox&lt;/a&gt; et &lt;a href=&quot;https://chrome.google.com/webstore/detail/stylus/clngdbkpkpeebahjckkjfobafhncgmne&quot;&gt;Chrome&lt;/a&gt;, version open-source)&lt;br /&gt;
2. Cliquez sur le bouton &quot;Installer&quot; dans &lt;a href=&quot;http://userstyles.org/styles/76745/mfw?r=1350460039&quot;&gt;cette page&lt;/a&gt;&lt;br /&gt;
3. Allez sur un skyblog&lt;br /&gt;
4. ????&lt;br /&gt;
5. PROFIT!!!&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h3&gt;Complément&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;http://userstyles.org/styles/76746/google-tan&quot;&gt;Changer le logo google&lt;/a&gt;&lt;br /&gt;
&lt;img alt=&quot;stylish-ex1.png&quot; src=&quot;http://keul.fr/public/.stylish-ex1_m.jpg&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://userstyles.org/styles/76747/wikipe-tan&quot;&gt;Changer le logo de Wikipédia&lt;/a&gt;&lt;br /&gt;
&lt;img alt=&quot;stylish-ex2.png&quot; src=&quot;http://keul.fr/public/.stylish-ex2_m.jpg&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://userstyles.org/styles/76748/phpmyadmin-nagato-yuki&quot;&gt;Mettre Yuki Nagato dans PhpMyAdmin&lt;/a&gt;&lt;br /&gt;
&lt;img alt=&quot;stylish-ex3.png&quot; src=&quot;http://keul.fr/public/.stylish-ex3_m.jpg&quot; /&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h3&gt;Explications&lt;/h3&gt;

&lt;p&gt;Les pages web sont basées sur le langage HTML qui est prévu pour s'adapter au support.&lt;br /&gt;
Les navigateurs peuvent ainsi se débrouiller pour afficher la page web sur votre ordinateur, smartphone, tablette ou tout autre appareil.&lt;br /&gt;
Ils redimensionnent alors les blocs de texte pour les adapter à la taille de l'écran et peuvent aussi s'adapter aux &lt;a href=&quot;http://www.meido-rando.net/post/2011/08/16/le-vrac/&quot;&gt;utilisateurs ayant des handicaps (voir la section Chrome)&lt;/a&gt;, en mettant un fond sombre, en imposant une taille de texte minimale, en permettant la synthèse vocale...&lt;br /&gt;
Certains navigateurs vont plus loin, et rendent le bidouillage possible en modifiant leurs configuration et en gérant des &lt;a href=&quot;https://addons.mozilla.org/&quot;&gt;modules supplémentaires&lt;/a&gt;. Le module Stylish permet par exemple de facilement modifier l'apparence et la mise en forme du contenu grâce à des règles CSS (note: c'est aussi possible sans module en modifiant le fichier userContent.css, mais c'est moins pratique, vu qu'il faut redémarrer le navigateur à chaque modification).&lt;br /&gt;
&lt;br /&gt;
En quoi est-ce utile? En quoi est-ce pratique?&lt;br /&gt;
Pour mes parents, j'ai configuré leur navigateur en utilisant &lt;a href=&quot;http://userstyles.org/styles/77274/visible-links&quot;&gt;ce style&lt;/a&gt;, Il retire tout soulignage et force le soulignage de tous les liens cliquables. Ils peuvent donc facilement savoir ce qui est cliquable en naviguant sur internet.&lt;br /&gt;
Certes, tous les liens dans les menus sont soulignés, ça devient moche à en tuer des graphistes mais bon.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h3&gt;Un peu de philosophie&lt;/h3&gt;

&lt;p&gt;En fin de compte, ce qui est très intéressant, c'est que HTML est un langage ouvert, documenté et librement utilisable, qui devient ainsi plein de possibilités:&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;les webmasters peuvent inclure des données et modules d'autres sites, gérer une &lt;a href=&quot;http://www.mozilla.org/en-US/persona/&quot;&gt;identification externe&lt;/a&gt;...&lt;/li&gt;
	&lt;li&gt;les créateurs de logiciels peuvent effectuer des traitements de &lt;a href=&quot;http://keul.fr/post/13&quot;&gt;manière automatique&lt;/a&gt; (les linuxiens adorent l'outil &lt;a href=&quot;http://doc.ubuntu-fr.org/wget&quot;&gt;wget&lt;/a&gt;)&lt;/li&gt;
	&lt;li&gt;les visiteurs peuvent très facilement profiter du bidouillage des codeurs grâce aux extensions des navigateurs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bien entendu, tout ceci n'est possible facilement qu'avec des protocoles et logiciels libres. Apple ne vous &lt;a href=&quot;http://standblog.org/blog/post/2012/10/25/La-liberte-de-bidouiller-fonctionnalit%C3%A9-manquante-des-tablettes-et-smartphones&quot;&gt;laisse pas la possibilité de bidouiller&lt;/a&gt; dans sa cage dorée iOS, contrairement à Google qui permet un minimum le bidouillage sous Android en autorisant l’installation applications tierces, même si les bidouilles restent assez limitées, par la volonté des constructeurs.&lt;br /&gt;
&lt;br /&gt;
En effet, les constructeurs sont des sociétés capitalistes dont le but est la recherche du profit et l'accumulation du capital, en concevant certes de beaux produits qui &quot;it just works&quot;, abrités des virus et des bidouilles, mais qui ne font pas forcément avancer l’humanité.&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Avec un système libre, vous enverrez un &lt;a href=&quot;http://www.lemondeinformatique.fr/actualites/lire-des-smartphones-android-pour-gerer-des-mini-satellites-de-la-nasa-50163.html&quot;&gt;satellite dans l'espace&lt;/a&gt;. Avec un système verrouillé, vous enverrez des piafs sur des cochons.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h3&gt;Le coté technique&lt;/h3&gt;

&lt;p&gt;&lt;br /&gt;
Mettez dans un nouveau style sous stylish les lignes suivantes:&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;div style=&quot;border:solid 1px grey;&quot;&gt;* {background:grey !important;}&lt;br /&gt;
a {border:1px solid red !important;}&lt;/div&gt;

&lt;p&gt;&lt;br /&gt;
Si vous relancez le navigateur, vous verrez que la couleur de fond à changée et que les liens sont encadrés en rouge&lt;br /&gt;
&lt;br /&gt;
Explications:&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;A gauche, nous avons l'élément HTML modifié: &quot;*&quot; corresponds à tous les éléments, &quot;a&quot; aux liens, &quot;img&quot; aux images (&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/HTML/Element&quot; hreflang=&quot;en&quot;&gt;liste des tags&lt;/a&gt;)...&lt;/li&gt;
	&lt;li&gt;Nous avons ensuite une accolade indiquant ce qui sera affecté à l'élément HTML&lt;/li&gt;
	&lt;li&gt;Nous avons ensuite une ou plusieurs propriété(s) (&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/CSS/CSS_Reference&quot; hreflang=&quot;en&quot;&gt;liste des propriétés&lt;/a&gt;) et ses(leurs) valeurs&amp;nbsp;&lt;/li&gt;
	&lt;li&gt;Puis le mot clef &quot;!important&quot;, qui force la valeur à être appliqué (on augmente son importance)&lt;/li&gt;
	&lt;li&gt;Puis la fin de l'accolade&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Essayez maintenant de mettre tous les textes en noir et les liens en bleu.&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;addspoiler&quot;&gt;&lt;a onclick=&quot;javascript:this.parentNode.childNodes[0].style.display='none';this.parentNode.childNodes[1].style.display='';this.parentNode.childNodes[2].style.display='';return false;&quot; href=&quot;https://keul.fr/post/4#&quot;&gt;Afficher Solution&lt;/a&gt;&lt;a style=&quot;display:none;&quot; onclick=&quot;this.parentNode.childNodes[0].style.display='';this.parentNode.childNodes[1].style.display='none';this.parentNode.childNodes[2].style.display='none';return false;&quot; href=&quot;https://keul.fr/post/4#&quot;&gt;Masquer Solution&lt;/a&gt;&lt;div style=&quot;display:none;&quot;&gt;&lt;p&gt;&lt;/p&gt;

&lt;div style=&quot;border:solid 1px grey;&quot;&gt;* {color:black!important;}&lt;br /&gt;
a {color:blue !important;}&lt;/div&gt;

&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;
 &lt;/p&gt;</description>
        
              </item>
          <item>
        <title>It's Time for Some Piracy!</title>
        <link>https://keul.fr/post/50</link>
        <guid isPermaLink="false">urn:md5:81838bb29cc0541103f68a4d037a55c3</guid>
        <pubDate>Thu, 06 Sep 2012 13:18:00 +0200</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          &lt;div style=&quot;text-align:center&quot;&gt;&lt;a href=&quot;https://keul.fr/public/mouretsu-pirates.jpg&quot; title=&quot;mouretsu-pirates.jpg&quot;&gt;&lt;img alt=&quot;mouretsu-pirates.jpg&quot; src=&quot;https://keul.fr/public/.mouretsu-pirates_m.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
source : &lt;span style=&quot;font-weight: normal&quot;&gt;&lt;em&gt;&lt;span class=&quot;t_nihongo_romaji&quot; title=&quot;Transcription Hepburn&quot;&gt;&lt;a href=&quot;http://fr.wikipedia.org/wiki/Bodacious_Space_Pirates&quot;&gt;Mōretsu Pairētsu&lt;/a&gt;&lt;/span&gt;&lt;/em&gt;&lt;/span&gt; &lt;a href=&quot;http://altairandvega.wordpress.com/2012/01/11/moretsu-pirates-episode-1/&quot;&gt;screenshot&lt;/a&gt;&lt;/div&gt;

&lt;p&gt;&lt;br /&gt;
En France, nous avons droit à la Hadopi, la &quot;Haute Autorité pour &lt;del&gt;la Création,&lt;/del&gt; la Distribution&lt;del&gt;Diffusion&lt;/del&gt; des Œuvres, &lt;del&gt;du Savoir&lt;/del&gt; et la Protection des ayants-droits sur Internet.&quot;&lt;br /&gt;
Je sais pas si les artistes arrivent à mieux remplir leurs frigo et si la culture est accessible à tous ou si ce sont juste de riches qui parviennent à s'enrichir encore plus.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;div style=&quot;text-align:center&quot;&gt;&lt;a href=&quot;https://keul.fr/public/namethese.png&quot; title=&quot;namethese.png&quot;&gt;&lt;img alt=&quot;namethese.png&quot; src=&quot;https://keul.fr/public/.namethese_m.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
source: &lt;a href=&quot;http://www.quantumdiaries.org/2012/04/17/name-these-brandsplants-name-these-particles/&quot;&gt;Quantum Diaries&lt;/a&gt;&lt;br /&gt;
Parce que le savoir est relatif et à toute son importance&lt;/div&gt;

&lt;p&gt;&lt;br /&gt;
Ce que je sais en tout cas, c'est que pour mener leur mission à bien et s'assurer qu'internet ne soit plus utilisé pour télécharger illégalement, la Hadopi a décidé de responsabiliser le titulaire de l'abonnement internet face à un défaut de sécurisation.&lt;br /&gt;
Sauf que là, la Hadopi veut punir le titulaire au bout de trois avertissement par une coupure de la ligne pendant au minimum un mois, parce qu'il n'a pas réussi à sécuriser sa connexion.&lt;br /&gt;
Bon ben entendu, on ne va pas punir &lt;a href=&quot;http://fr.wikipedia.org/wiki/Piratage_du_PlayStation_Network&quot;&gt;Sony&lt;/a&gt;, &lt;a href=&quot;http://www.spi0n.com/compte-facebook-de-nicolas-sarkozy-pirate/&quot;&gt;Sarkozy&lt;/a&gt;, &lt;a href=&quot;http://www.chris-kutschera.com/Serge%20Humpich.htm&quot;&gt;les banquiers&lt;/a&gt;, &lt;a href=&quot;http://www.numerama.com/magazine/23263-un-virus-diffusant-acdc-a-fond-aurait-touche-le-programme-nucleaire-iranien.html&quot;&gt;les techniciens des centrales nucléaires iraniennes&lt;/a&gt;... Et ne pensez pas qu'ils veulent juste vous mettre &lt;a href=&quot;http://www.journaldugeek.com/2012/07/23/nue-pour-manifester-contre-piratage-livres/&quot;&gt;à poil&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Enfin, si vous lisez cet article, je pense que vous êtes plus intéressés par la sécurité que la Hadopi et ses histoires de piratage. Entrons donc dans le vif du sujet.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h3&gt;Internet et la sécurité&lt;/h3&gt;

&lt;p&gt;Les ordinateurs, prévus à l'origine pour faire fonctionner de gros systèmes dans des entreprises, se sont forgés une place dans les foyers grâce aux progrès technologiques et à leurs polyvalence: jeux, traitement de texte, tableurs, retouche d'images, lecteur multimédia, connexions en réseau local.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;div style=&quot;text-align:center&quot;&gt;&lt;img alt=&quot;ancien-imac.jpg&quot; src=&quot;https://keul.fr/public/ancien-imac.jpg&quot; /&gt;&lt;br /&gt;
(Ancien modèle d'iMac - &lt;a href=&quot;http://www.configmac.com/imac.php&quot;&gt;source&lt;/a&gt;)&lt;/div&gt;

&lt;p&gt; 
&lt;p&gt;&lt;br /&gt;
Mais c'est surtout l'arrivée du réseau mondial Internet qui les ont rendu plus populaires.&lt;br /&gt;
&lt;br /&gt;
Celui-ci a en effet de gros arguments: le savoir et les idées d'une personne pouvaient alors êtres transmises vers une audience mondiale, limités par la seule barrière physique de la langue.&amp;nbsp; Le courrier électronique, les groupes de discussionla messagerie instantanée, les sites web, les forums... n'ont alors cessé de se développer.&lt;br /&gt;
&lt;br /&gt;
Hors, si les ordinateurs n'avaient à l'origine pas besoin d'une grande sécurité, étant isolé dans leurs entreprise et foyer, celle-ci s'est révélé indispensable avec Internet et l’arrivée des hacker et crackers, débutants ou vrais experts.&lt;br /&gt;
&lt;br /&gt;
Le hacker, souvent confondu avec le cracker, se caractérise par l'informaticien qui cherche à agir pour le bien d'autrui.&lt;br /&gt;
Son but sera donc&lt;/p&gt;
&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;D'informer l'utilisateur des risques de sécurité&lt;/li&gt;
	&lt;li&gt;D'améliorer la sécurité des systèmes existants&lt;/li&gt;
	&lt;li&gt;D'aider le peuple et les journalistes en proposant des systèmes anonymes, cryptés et décentralisés...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Le cracker lui se caractérise par l'informaticien qui cherche à agir uniquement pour lui.&lt;br /&gt;
Son but sera:&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;D'utiliser des systèmes anonymes pour agir sans se faire repérer et identifier.&lt;/li&gt;
	&lt;li&gt;De causer des dommages en détruisant des données ou du matériel&lt;/li&gt;
	&lt;li&gt;De dérober des données, souvent dans un but lucratif&lt;/li&gt;
	&lt;li&gt;D'usurper une identité...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Avec l'arrivée des tablettes, plus simple d'utilisation pour Mme Michu, qui n'a plus à savoir comment insérer un CD d'installation, la sécurité s'est faussement accrue en en empêchant certes les logiciels tiers d’accéder trop facilement à tout le système, mais en autorisant le vendeur à faire ce qu'il veut, ce qui est &lt;a href=&quot;http://obsession.nouvelobs.com/hacker-ouvert/20120807.OBS9091/quand-apple-laisse-un-journaliste-americain-se-faire-pirater.html&quot;&gt;gênant&lt;/a&gt; en cas de piratage et même &lt;a href=&quot;http://techno.lapresse.ca/nouvelles/produits-electroniques/200907/24/01-887034-retrait-du-livre-1984-amazon-sexcuse.php&quot;&gt;dangereux&lt;/a&gt; quand c'est volontaire.Les serveurs avec leurs bases de données deviennent aussi la proie des crackers.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h3&gt;Le piratage&lt;/h3&gt;

&lt;p&gt;ATTENTION: le faite de s'introduire dans un système informatique est illégal et est puni par la loi.&lt;br /&gt;
Si vous voulez acquérir des connaissances en piratage, vous ne pourrais le faire que sur le matériel vous appartenant, ou uniquement dans le cadre d'un audit de sécurité (renseignez-vous sur le sujet).&lt;br /&gt;
&lt;br /&gt;
On va parler de trois cas que j'ai pu rencontrer.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h4&gt;Premier cas: défaçage de blog.&lt;/h4&gt;

&lt;p&gt;C'est arrivé à un ami, qui utilisait un blog basé sur Nucleus et qui n'avais pas été mis à jour suite à la découverte d'une faille de sécurité.&lt;br /&gt;
Le hacker ayant simplement recherché l’exploit permettant d'utiliser la faille de sécurité, puis recherché sur google les blogs qui utilisent une version qui n'est pas à jour.&lt;br /&gt;
Il a ensuite utilisé l'exploit pour défaçer le site web&lt;br /&gt;
&lt;a href=&quot;http://www.raton-laveur.net/post/657&quot;&gt;Lire l'article&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h4&gt;Second cas: faille Cross Site Scripting&lt;/h4&gt;

&lt;p&gt;J'avais découvert par hasard qu'un site contenait une faille de type Cross Site Scripting.&lt;br /&gt;
Des entrées de formulaires ne filtraient pas le caractère &amp;lt;, et permettaient donc d'afficher du code javascript sur le site.&lt;br /&gt;
Je les ai contacté par e-mail et ils ont pu corriger rapidement la faille de sécurité.&lt;br /&gt;
&lt;br /&gt;
Attention par contre: si vous trouvez une faille de sécurité par hasard, et même si vous ne l'exploitez pas, faites attention en contactant la société gérant le site web.&lt;br /&gt;
Car même si vous n'avez rien fait de moralement répréhensible, elle pourrait tenter de vous attaquer.&lt;br /&gt;
Il peut être intéressant dans ce cas de passer par un intermédiaire comme &lt;a href=&quot;http://www.zataz.com/&quot;&gt;zataz&lt;/a&gt; qui vous protégera et qui saura traiter le cas correctement (&lt;a href=&quot;http://www.zataz.com/news/19240/&quot;&gt;il vaut mieux être équipé en huissier et avocat&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h4&gt;Troisième cas: défaçage de site.&lt;/h4&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Attention, c'est du lourd. Un jour, je reçois le mail suivant avec un fichier en attache:&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;auth.png&quot; src=&quot;https://keul.fr/public/auth.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Oui, il a bien mis dans l'URL la variable &quot;auth&quot; que le visiteur peut modifier à loisir.&lt;br /&gt;
&lt;br /&gt;
Après un gros &lt;a href=&quot;http://knowyourmeme.com/memes/facepalm&quot;&gt;facepalm&lt;/a&gt;, je lui demande si je peux récupérer le reste du site pour vérifier si c'est bien ça la faille.&lt;br /&gt;
&lt;img alt=&quot;auth2.png&quot; src=&quot;https://keul.fr/public/auth2.png&quot; /&gt;&lt;br /&gt;
Fausse alerte, la variable &quot;auth&quot; était juste là pour indiquer au visiteur que le mot de passe est incorrect dans l'interface de connexion.&lt;br /&gt;
&lt;br /&gt;
Je regarde les autres fichier pour voir s'il n'y aurais pas un problème et ...&lt;br /&gt;
&lt;img alt=&quot;auth3.png&quot; src=&quot;https://keul.fr/public/auth3.png&quot; /&gt;&lt;br /&gt;
$_GET['id'] est le contenu de la variable transmise dans l'URL. Donc si j'ai: monsite.com/repertoire/page.php?id=42 ma variable $_GET['id'] aura la valeur 42.&lt;br /&gt;
Sauf qu'il n'a absolument pas protégé sa requête contre les injections SQL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Après avoir récupéré le fichier &lt;a href=&quot;https://keul.fr/public/access_filtred.log&quot;&gt;access.log&lt;/a&gt;, j'ai vu de belles requêtes. Vous pouvez regarder un extrait (j'ai retiré le nom de domaine)&lt;br /&gt;
Problème trouvé, faille comblée, je pensais que s'en était fini là.&lt;br /&gt;
On y voies donc les injections sql, et même l'utilisation d'un logiciel qui cherche toutes les pages d'administration qui pourraient exister.&lt;br /&gt;
&lt;br /&gt;
Et pourtant, le délir continue.&lt;br /&gt;
Si on regarde bien dans le fichier access.log, on voie clairement dans le champ user-agent qu'il utilise ...&lt;br /&gt;
... Internet Explorer 8!&lt;br /&gt;
&lt;img alt=&quot;disgusted-mother-of-god.png&quot; height=&quot;149&quot; src=&quot;https://keul.fr/public/meme/disgusted-mother-of-god.png&quot; width=&quot;148&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai aussi récupéré l'URL d'une image envoyée par le hacker sur la page de défacage et pointant vers cette image : &lt;a href=&quot;https://keul.fr/public/up312971987391.jpg&quot;&gt;/public/up312971987391.jpg&lt;/a&gt;&lt;br /&gt;
Donc le cracker à comme pseudo &quot;Morrocan-alien&quot;, et si on faisait une &lt;a href=&quot;https://www.google.fr/search?q=Morrocan-alien&quot;&gt;recherche sur google&lt;/a&gt;?&lt;br /&gt;
&lt;a href=&quot;http://www.experienzia.com/Newsletter/&quot;&gt;http://www.experienzia.com/Newsletter/&lt;/a&gt;&lt;br /&gt;
&quot;always able te break the security&quot;&lt;br /&gt;
&lt;a href=&quot;https://keul.fr/post/&quot;&gt;http://www.semia-autun.com/&lt;/a&gt;&lt;br /&gt;
&quot;hacking is my game&quot;&lt;br /&gt;
Bon&lt;br /&gt;
Point commun entre toutes les pages hackées?&lt;br /&gt;
la MÊME faille, la même injection SQL.&lt;br /&gt;
Donc son &quot;always&quot;, j'en doute très fortement.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.atcoroglio.it/interni/aziend.php?id_azi=1&quot;&gt;http://www.atcoroglio.it/interni/aziend.php?id_azi=1&lt;/a&gt;&lt;br /&gt;
&quot;hello admin&quot;&lt;br /&gt;
&quot;this is just a minor warning&quot;&lt;br /&gt;
&quot;just to let you know how weak your&quot;&lt;br /&gt;
&quot;security is&quot;&lt;br /&gt;
Bon, vous remarquez les problèmes de formatage de page?&lt;br /&gt;
Regardez la source de la page, et vous devriez voir rapidement un :&lt;br /&gt;
&quot;urn:schemas-microsoft-com:office:word&quot;&lt;br /&gt;
&lt;img alt=&quot;OhCrap.png&quot; src=&quot;https://keul.fr/public/meme/OhCrap.png&quot; /&gt;&lt;br /&gt;
Il utilise des documents MICROSOFT WORD pour insérer son texte dans des pages web!!!&lt;br /&gt;
&lt;br /&gt;
Un script kiddie qui utilise Word et IE8? Manquerait plus qu'il installe OpenOffice comme pare-feu.&lt;br /&gt;
&lt;br /&gt;
 &lt;/p&gt;

&lt;h4&gt;Conclusion :&lt;/h4&gt;

&lt;p&gt;Si vous créez un programme local, il n'y a généralement pas trop de risque, l'utilisateur cherchant rarement à causer des dommages à sa propre machine. Par contre, si votre programme doit traiter des fichiers téléchargés ou se connecter à internet, faites attention à les traiter avec prudence.&lt;br /&gt;
Si vous créez un programme/site pour un serveur, le risque sera plus grand et il vous faudra à tout prix respecter cette règle:&lt;br /&gt;
NE FAITES CONFIANCE A PERSONNE.&lt;br /&gt;
Le visiteur vous envoie une requête? un fichier? dites-vous qu'il peut contenir n'importe-quoi, c'est le visiteur qui choisit ce qu'il vous envoie.&lt;br /&gt;
Il convient donc de traiter avec la plus grande prudence les variables $_GET, $_POST, $_FILES, $_COOKIE, $argc, $agrv... et de ne pas oublier que si vous comptez afficher du texte dans une page web, Un javascript contenu dans celui-ci pourrait aussi être exécuté.&lt;br /&gt;
&lt;br /&gt;
J'expliquerai dans un prochain article comment sécuriser son code PHP.&lt;/p&gt;

&lt;h4&gt;Bonux:&lt;/h4&gt;

&lt;p&gt;&lt;a href=&quot;http://hmm-la-bd.eu/&quot;&gt;http://hmm-la-bd.eu&lt;/a&gt;&lt;br /&gt;
Cliquez sur le bouton admin en haut à droite&lt;br /&gt;
Regardez l'URL&lt;br /&gt;
testez&lt;br /&gt;
...&lt;/p&gt;</description>
        
              </item>
          <item>
        <title>Conseil aux blogeurs</title>
        <link>https://keul.fr/post/49</link>
        <guid isPermaLink="false">urn:md5:2f75fe3851f6f7177b0ffbc7adc4a96b</guid>
        <pubDate>Sat, 31 Mar 2012 23:58:00 +0200</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          &lt;p&gt;L'article de ce mois est publié ur le blog &lt;a href=&quot;http://www.meido-rando.net&quot;&gt;Meido-Rando&lt;/a&gt; pour son quartier libre.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.meido-rando.net/post/2012/03/31/conseils-aux-blogeurs/&quot;&gt;Consulter l'article&lt;/a&gt;&lt;/p&gt;</description>
        
              </item>
          <item>
        <title>LibreScale [fr]</title>
        <link>https://keul.fr/post/46</link>
        <guid isPermaLink="false">urn:md5:0de2e09d1ab6a76fd793257e8e2ddb49</guid>
        <pubDate>Wed, 29 Feb 2012 13:11:00 +0100</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          On utilise souvent des échelles de notation pour pouvoir donner rapidement un avis sur quelque-chose.&lt;br /&gt;&lt;br /&gt;Certains sont automatiques, comme l'&lt;a hreflang=&quot;en&quot; href=&quot;http://www.acidtests.org/&quot;&gt;Acid test&lt;/a&gt; et d'autres dépendent plus d'un jugement personnel (notation de jeux vidéos).&lt;br /&gt;&lt;br /&gt;Or si on commence à avoir une évolution sur le point de vue écologique (capacité de recyclage, consommation énergétique, ...), on ne dispose pas vraiment de système de notation pour juger si un système électronique/informatique est ouvert ou fermé/propriétaire.&lt;br /&gt;&lt;br /&gt;J'ai décidé d'inventer donc une échelle, qui bien entendu sera amenée à évoluer :&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://fichiers.keul.fr/librescale.php&quot;&gt;librescale.php&lt;/a&gt; [en+fr] V1.0&lt;br /&gt;</description>
        
              </item>
          <item>
        <title>LibreScale [en]</title>
        <link>https://keul.fr/post/48</link>
        <guid isPermaLink="false">urn:md5:41e2293b023d557313cffcf9e2b8fe90</guid>
        <pubDate>Wed, 29 Feb 2012 13:10:00 +0100</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          &lt;p&gt;We frequently use notation scales to give an opinion on something.&lt;/p&gt;
&lt;p&gt;Some are automatic, like the Acid test, and some depends more on personal opinion (like video games).&lt;/p&gt;
Or if we get a better evolution on the ecological side (recyclable, power consumption, ...), we don't have a scaling system to define if an electronic/informatics&amp;nbsp; is open or closed/proprietary.&lt;br /&gt;&lt;br /&gt;So I've decided to create a scale, and it will evolve :&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://fichiers.keul.fr/librescale.php&quot;&gt;librescale.php&lt;/a&gt; [en+fr] V1.0&lt;/p&gt;</description>
        
              </item>
          <item>
        <title>Internet mobile</title>
        <link>https://keul.fr/post/45</link>
        <guid isPermaLink="false">urn:md5:49b81328bc921fa46b73710a1ec63c87</guid>
        <pubDate>Fri, 27 Jan 2012 08:15:00 +0100</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          &lt;h3&gt;Internet&lt;/h3&gt;
&lt;p&gt;Internet est un réseau mondial comparable aux réseau routier, crée par des scientifiques pour faciliter la communication de l'information entres différents ordinateurs. Reliant au début les laboratoires militaires, scientifiques, ainsi que les universités et les écoles, il se rependit ensuite au grand public avec les cybercafés et l'arrivée chez les particuliers en utilisant les réseaux téléphoniques existants. Il permet de transférer de la voix, des images, du texte, des vidéos ou tout autre donnée à travers le monde en utilisant un protocole (langage) commun appelé IP, (Internet Protocol).&lt;/p&gt;
&lt;p&gt;Or, les différents gouvernements, à la ramasse et obéissant plus aux commerciaux et entreprises qu'aux scientifiques causèrent quelques problèmes: un manque de législation efficace contre les problèmes de peering, de spam, d'arnaques et une absence d'éducation contre les dangers (on n'accepte pas de &quot;bonbons&quot; d'un inconnu, donc on fait aussi attention aux réseaux sociaux).&lt;/p&gt;
&lt;h3&gt;Les mobiles&lt;/h3&gt;
&lt;p&gt;Des version mobile de sites web furent disponibles, dans un &lt;a href=&quot;http://www.raton-laveur.net/post/594&quot;&gt;format WAP&lt;/a&gt;, version ultra allégée d'HTML prévu pour des téléphones de l'époque, qui coutaient une centaine d'euros. La performance exceptionnelle (une minute pour charger une page WAP de 10Ko) allié à des prix comparables au minitel (1€ la dizaine de pages) attira peu le grand public en dehors des geeks curieux.&lt;/p&gt;
&lt;p&gt;Un climat sans concurrence stabilisa les prix et laissa les responsable marketing faire joujou avec leurs délires. Pendant que l'ADSL passais de 512k à 30Méga, en incluant le téléphone, la télé, puis la fibre optique, les offres mobile évoluaient peux, proposant difficilement les appels illimités* (dans la limite de 3 correspondants) et de l'internet illimité* et des SMS illimités*&lt;/p&gt;
&lt;p&gt;Avec l'arrivée du wifi, de forfaits 2G/3G et des écrans tactiles (bien mieux qu'un clavier) et d'un gros budget, l'HTML amputé de flash pouvais se pointer sur smartphone. Pour mieux faire passer le budget, les opérateurs &lt;del&gt;planquèrent du crédit sur&lt;/del&gt; subventionnèrent le smartphone dans des offres avec engagement.&lt;/p&gt;
&lt;p&gt;Internet n'est pas que l'affichage de pages web avec une option mail. Internet, c'est: le web, le mail, les discussion en direct, les visioconférences, les jeux, les newsgroups, le P2P, le partage de connexion (ou &lt;a hreflang=&quot;fr&quot; href=&quot;http://www.tux-planet.fr/android-utiliser-le-tethering-partage-de-connexion-internet/&quot;&gt;thethering&lt;/a&gt;), le cryptage, le respect des protocoles.&lt;/p&gt;
&lt;p&gt;On pourra donc féliciter Free d'être le premier opérateur téléphonique à fournir une véritable connexion Internet en dehors des offres professionnelles précises (les offres grand-public étant pour moi une pauvre rustine), en plus de l'illimité à bas pris. Ils auront été plus efficace que l'état pour aller dans al bonne voie et éviter les problèmes que j'avais déjà souligné dans mon &lt;a href=&quot;https://keul.fr/post/26&quot;&gt;article sur IPV6&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Les limitations&lt;/h3&gt;
&lt;p&gt;On pourrait se demander pourquoi ces limitations? Les réponses sont simples:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Le blocage du partage de connexion leurs a permis de vendre des forfaits clefs 3G pour plusieurs dizaines d'euros par mois&lt;/li&gt;
&lt;li&gt;Le blocage des e-mails a évité la mort du MMS et des sms payés à l'unité&lt;/li&gt;
&lt;li&gt;Le blocage de la VOIP leurs a permis d'éviter la baisse de prix de la
communication audio. Une heure d'audio, c'est environ une trentaine de
méga en qualité téléphonique (64kb/s = 8Ko/s = 28Mo/h).&lt;/li&gt;
&lt;li&gt;Le blocage de la VOIP leurs a aussi permis de faire payer des suppléments
pour l’international à prix démentiel (a croire que les entreprises
profitent bien du mondialisme pour faire travailler des petits chinois
avec des salaires ridicules, et ne se privent absolument pas pour
imposer un zonage)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;J'en profiterai aussi pour féliciter Orange qui m'a bien fait rigoler en ventant ses boutiques qui ne m'ont pas vraiment servi, avec les conseillers ne vous aident pas à trouver le meilleur forfait et vous renvoient systématiquement vers le service client surtaxé pour les problèmes techniques.&lt;/p&gt;</description>
        
              </item>
          <item>
        <title>Vous aimez spammer?</title>
        <link>https://keul.fr/post/44</link>
        <guid isPermaLink="false">urn:md5:f6c837babb1284ad53d69ff728237b95</guid>
        <pubDate>Tue, 17 Jan 2012 13:38:00 +0100</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          Si vous êtes tombé sur cette page parce qu'on vous a donné un lien, c'est que vous avez fait fait une grosse erreur: &lt;strong&gt;vous avez envoyé du SPAM&lt;/strong&gt;, généralement appelé &quot;courrier indésirable&quot;. Pour les autres, ça sera de la prévention.&lt;br /&gt;&lt;br /&gt;Afin de ne plus recommencer, suivez ces conseils:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Si vous envoyez un e-mail à une seule personne, il n'y a généralement pas de problèmes, vous contactez la personne pour une raison précise et elle a donc de forte chance d'être intéressée.&lt;/li&gt;
&lt;li&gt;Si vous envoyez un e-mail à plusieurs personnes, vous risquez très fortement d'envoyer un spam. Tournez donc votre mulot trois fois autour du clavier et posez-vous la question suivante : Suis-je sûr que &lt;strong&gt;TOUS &lt;/strong&gt;les destinataires &lt;strong&gt;désirent recevoir&lt;/strong&gt; cet e-mail?&lt;/li&gt;
&lt;/ul&gt;
La règle d'or est de&lt;strong&gt; RÉFLÉCHIR&lt;/strong&gt;. Ne faites pas &lt;strong&gt;CONFIANCE&lt;/strong&gt;, les ragots et arnaques sont monnaie courante et un peu de bon sens suffit à les éviter.&lt;br /&gt;&lt;br /&gt;Une petite aide :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Si vous voulez envoyez une blague (à plusieurs personnes), c'est généralement du spam.&lt;/li&gt;
&lt;li&gt;Si vous voulez envoyer une combine pour gagner de l'argent facilement, c'est du spam. Allez plutôt voir l'&lt;a href=&quot;http://pole-emploi.fr&quot;&gt;ANPE&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Si vous n'avez pas vérifié l'information (avec &lt;a href=&quot;http://google.fr&quot;&gt;google&lt;/a&gt;), c'est du spam&lt;/li&gt;
&lt;li&gt;Si vous voulez les prévenir qu'un virus va tout faire péter, c'est du spam&lt;/li&gt;
&lt;li&gt;Si vous l'envoyez à tout votre carnet d'adresse, c'est du spam (hors changement d'e-mail)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En cas de doute, &lt;strong&gt;demandez à votre entourage&lt;/strong&gt;.&lt;/p&gt;</description>
        
              </item>
          <item>
        <title>Les noms de domaine</title>
        <link>https://keul.fr/post/37</link>
        <guid isPermaLink="false">urn:md5:6d3d4bf37b1c628ec12f67b94bc00dcb</guid>
        <pubDate>Sat, 31 Dec 2011 16:10:00 +0100</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          Petit résumé rapide: Les différents ordinateurs et appareils peuvent communiquer sur internet grâce à des adresse IP, un peu équivalent aux numéros de téléphone. (exemple : 176.31.232.221 ou 2001:41d0:2:f9dd::1).&lt;br /&gt;Vu la difficulté pour retenir, un système de nom de domaine, équivalent à l'annuaire a été crée et permet de remplacer une adresse IP par un nom plus facile à retenir (exemple: nanami.fr).&lt;br /&gt;Lorsque l'on possède un nom de domaine, on peux créer des sous-domaines, gérés par le possesseur du nom de domaine d'origine. (exemple: forum.nanami.fr).&lt;br /&gt;&lt;br /&gt;Lorsque l'on crée un compte sur un site pour avoir une adresse e-mail, un site web, un blog ou tout autre service, on deviens généralement dépendant de son fournisseur de service. Si je crée un site chez Free, je deviens dépendant de l'administrateur du nom de domaine free.fr. SI je me crée une adresse Gmail, je deviens dépendant de gmail.com et de leurs service (donc de leurs éventuels dérapages...).&lt;br /&gt;Pour éviter de changer de nom de domaine, on pourrait être tenté de prendre un service de redirection. Un tel service à déjà existé : &lt;a href=&quot;http://www.01net.com/article/154576.html&quot;&gt;@fairesuivre.com&lt;/a&gt;. Manque de bol, ils ont fermé, laissant leurs clients dans l'impasse.&lt;br /&gt;Or, le système de nom de domaine possède un attribut non négligeable: le transfert de nom de domaine. En effet, si vous achetez un nom de domaine chez un fournisseur et que celui-ci ne vous conviens plus ou fait faillite, vous pouvez alors transférer le nom de domaine chez un autre fournisseur.&lt;br /&gt;&lt;br /&gt;Un nom de domaine permet alors d'avoir une identité (e-mail, site internet, ...) et son indépendance à vie pour une dizaine d'euros par an. Il ne vous reste plus qu'à savoir si vous êtes prêt à mettre un peu d'argent pour être certain de garder votre identité et votre indépendance.&lt;br /&gt;</description>
        
              </item>
          <item>
        <title>Chargement d'une image avec Ajax</title>
        <link>https://keul.fr/post/43</link>
        <guid isPermaLink="false">urn:md5:0c9c4d6a7cd8f578042bb90b066116ef</guid>
        <pubDate>Wed, 30 Nov 2011 19:20:00 +0100</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          &lt;p&gt;Dans mon &lt;a href=&quot;https://keul.fr/post/15&quot;&gt;précédent billet&lt;/a&gt;, j'expliquais comment charger du texte avec Ajax.&lt;/p&gt;
&lt;br /&gt;Pour charger de l'XML avec, il suffit de remplacer responseText par responseXml, retournant alors un objet javascript plutôt que du texte.&lt;br /&gt;&lt;br /&gt;AJAX n'est pas prévu pour transférer des données binaires mais uniquement du texte. Une solution pourrait être de transférer l'image en l'encodant en base64 et de l'intégrer via les data-uri en utilisant un code ressemblant à ceci :&lt;br /&gt;&lt;pre&gt;imgtest=new Image();&lt;br /&gt;imgtest.src=&quot;data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHV...&quot;&lt;/pre&gt;Problème : une image encodé en base64 prends 33% de place en plus.&lt;br /&gt;&lt;br /&gt;La solution est en fait plus simple et était déjà utilisa avant l'apparition d'ajax: le préchargement d'images avec l'utilisation d'onload pour s'avoir quand elle a fini son chargement&lt;br /&gt;&lt;pre&gt;imgtest=new Image();
imgtest.src=&quot;https://keul.fr/post/example.com/image.jpg&quot;&lt;br /&gt;imgtest.onload=function(){ imgtest.style.display='block'; }&lt;/pre&gt;&lt;br /&gt;On pourra alors combiner les deux méthodes pour charger par exemple une image et sa description.&lt;br /&gt;</description>
        
              </item>
          <item>
        <title>Les données dans &quot;le cloud&quot;</title>
        <link>https://keul.fr/post/39</link>
        <guid isPermaLink="false">urn:md5:bb8793727181e764fddb2787818e3208</guid>
        <pubDate>Tue, 04 Oct 2011 13:07:00 +0200</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          &lt;p&gt;Suite à &lt;a href=&quot;http://standblog.org/blog/post/2011/10/03/adieu-pc-bonjour-cloud#comments&quot;&gt;un article&lt;/a&gt; de &lt;a href=&quot;http://standblog.org&quot;&gt;Tristan Nitot&lt;/a&gt;, j'ai pas mal réfléchi sur le sujet et j'ai donc décidé de publier un article sur les données dans le cloud et la vie privée.&lt;/p&gt;
&lt;p&gt;Quand on veux mettre ses données dans le cloud pour pouvoir y accéder de partout, on se retrouve face à plusieurs solutions :&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;un système tel que forumactif/skyblog ne vous permet pas d’accéder à vos données (certains s'en approprient même les droits comme un certain réseau social)&amp;nbsp; (vie privée : catastrophe)&lt;/li&gt;
&lt;li&gt;un système tel que googledoc permet d'acceder à vos données, mais de
manière peu pratique : il faut passer par l'interface web pour
télécharger un .zip&amp;nbsp; (vie privée : pas terrible du tout)&lt;/li&gt;
&lt;li&gt;un système tel que gmail permet de sauvegarder facilement et
régulièrement ses mails en local via imap/pop, mais l'hébergeur peux
facilement exploiter les données (vie privée : pas terrible du tout)&lt;/li&gt;
&lt;li&gt;un système tel qu'un forum SMF/PHPBB hébergé chez un hébergeur gratuit
ou payant permet de sauvegarder facilement les fichiers via SFTP et la
base de donnée&amp;nbsp; (vie privée : je ne connais pas d'hébergeur s’autorisant
dans ses GCU la fouille d'un FTP à des fins publicitaires, c'est donc
pas mal au niveau vie privée)&lt;/li&gt;
&lt;li&gt;un système ftp/dropbox/ubuntuone avec une surcouche de cryptage (vie privée : le must)&lt;/li&gt;
&lt;li&gt;un système de fichier, décrypté coté navigateur, avec des applications
certifiées et que l'on peux CHOISIR (par la communauté, pas par un
market ou un certain UEFI avec des certificats non gérables par
l'utilisateur (contrairement au certificats dans firefox, totalement
éditables)) : (ultime)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Le problème est ensuite celui de l'application qui va utiliser ces données :&lt;br /&gt;&lt;br /&gt;Quand un ami partage un album photo via un service web, je suis obligé de passer par l'application web de visualisation des photos, alors qu'à la base, il devrait uniquement indiquer un répertoire web avec un système de métadonnées standardisé et ouvert.&lt;br /&gt;&lt;br /&gt;Plutôt que de chercher à utiliser des surcouches de logiciel, je pense qu'il vaudrait mieux revoir l'architecture des OS qui ne permettent pas avec une interface &quot;user friendly&quot;&lt;br /&gt;&lt;br /&gt;En effet, l'idée du chromebook est une mauvaise idée, on transforme le navigateur en gestionnaire d'applications qui deviens un intercepteur d'applications javascript. Chaque application est téléchargée par le fournisseur de service qui se retrouve à avoir un contrôle total sur l'application et les données!&lt;br /&gt;&lt;br /&gt;Pour moi, chaque ordinateur devrait avoir un système d'exploitation qui va s'occuper de la gestion des drivers, des programmes, des utilisateurs et du système de fichier.&lt;br /&gt;Quand un utilisateur se connecte à l'ordinateur, il se connecte à son profil crypté sur le web, qui:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;va indiquer quels applications installer en local en supplément (si elles ne sont pas déjà disponibles)&lt;/li&gt;
&lt;li&gt;va gérer un cache local crypté (un peu comme un GIT crypté)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Quand l'utilisateur quitte le poste, il peux choisir :&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;de supprimer ses données locales&lt;/li&gt;
&lt;li&gt;de les conserver en cache en évitant des les effacer (pour ceux qui compte le réutiliser)&lt;/li&gt;
&lt;li&gt;de les conserver en cache, mais qu'ils peuvent êtres effacés (pour ceux qui veulent garder un cache mais ne pas gêner le propriétaire s'il a besoin de place&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour l'instant, on en est loin et le libre à du mal à rattraper les commerciaux avec leurs services privatifs en ligne où les utilisateurs ne voient pas les problèmes futurs, en espérant que les commerciaux n'arriveront pas à se débarrasser du libre en revendant de l'&lt;a href=&quot;http://www.generation-nt.com/windows-8-uefi-secure-boot-linux-actualite-1259881.html&quot;&gt;UEFI avec la liste de certificats non éditable&lt;/a&gt; alors qu'ils n'hésitent pas à faire tourner leurs serveurs sous linux.&lt;/p&gt;
&lt;p&gt;(personnellement, ce n'est pas à Microsoft de demander aux constructeurs de pouvoir désactiver l'UEFI ou mettre un certificat custom, mais à l'État d'interdire la vente de carte mères avec UEFI ne prenant que des certificats Microsoft, et interdire la vente de téléphone portable sans procédure pour le rootkiter (quitte à perdre la garantie) après un certain délai comme le désimlocage)&lt;/p&gt;</description>
        
              </item>
          <item>
        <title>Stockage de mots de passe</title>
        <link>https://keul.fr/post/40</link>
        <guid isPermaLink="false">urn:md5:559b91c73c252cd9b156e08abf73afc4</guid>
        <pubDate>Tue, 04 Oct 2011 13:01:00 +0200</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          &lt;p&gt;En informatique, il deviens très rapidement nécessaire de gérer son identités sur plusieurs sites et systèmes.&lt;/p&gt;
&lt;p&gt;Et actuellement, on se retrouve à retenir plein de mots de passe, vu qu'il n'existe pas encore de solution unique et complète. En effet, j’estime qu'il faut :&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;un système pérenne qui résiste à la suppression de compte mail (en quittant son ancien FAI), du nom de domaine (comme un certain wikileaks), de son téléphone...&lt;/li&gt;
&lt;li&gt;un système qui permettes un certain anonymat : si mon compte ebay et mon compte google utilisent la même adresse e-mail ou la même URL pour openID, ils peuvent me suivre à la trace.&lt;/li&gt;
&lt;li&gt;un système blindé : en cas de vol/perte de mot de passe, il doit y avoir des systèmes de révocation.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;OpenID et BrowserID n'y répondent pas vraiment et pour moi, la solution réside dans les certificats GPG et un principe de fonctionnement tel que décrit :&lt;/p&gt;
&lt;p&gt;Sur un PC (de préférence sécurisé, en live CD et non connecté au net), on génère un trousseau de clef A B C D (qu'on peux imprimer voir une master qui signe toutes ces clefs) ... chacune signe des clefs A1 B1 C1 D1 qu'on stocke sur une clef USB&lt;/p&gt;
&lt;p&gt;On utilise alors les clefs A1 B1 C1 D1 pour s'authentifier sur les sites. Si la clef B1 est corrompue, on retourne sur le netbook et on génère une clef B2 qui révoquera la clef B1 et qui servira de nouvelle clef d'authentification.&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;Le système est indépendant d'un quelconque compte mail ou nom de domaine&lt;/li&gt;
&lt;li&gt;un système qui permettes un certain anonymat : si mon compte ebay
et mon compte google utilisent la même adresse e-mail ou la même URL
pour openID, ils peuvent me suivre à la trace.&lt;/li&gt;
&lt;li&gt;un système blindé : en cas de vol/perte de mot de passe, il doit y avoir des systèmes de révocation.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;En attendant qu'un tel système soit utilisable, on se retrouve à gérer plein de mots de passe. Problème, je n'ai pas de serveur chez moi où héberger en permanence ce fichier, et je n'ai pas envie de le stocker en clair chez mon hébergeur. Je pourrais le crypter chez mon hébergeur, mais ça signifierais envoyer le mot de passe par le réseau (et je n'ai pas de https disponible dans mon offre).&lt;/p&gt;
Solution: effectuer le cryptage/décryptage coté navigateur. Ceux-ci ne gérant pas les fonctions cryptographiques en natif, j'ai dû recourir à une librairie en javascript.&lt;br /&gt;Le script ci dessous effectue des copies de sauvegardes du fichier crypté.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://fichiers.keul.fr/motsdepasse.php.txt&quot;&gt;Télécharger le script&lt;/a&gt; (&lt;a href=&quot;http://fr.wikipedia.org/wiki/WTFPL&quot;&gt;WTFPL&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Ce script php génère donc une page HTML avec un champ textarea crypté, qui se décrypte via javascript quand vous aurez saisi la bonne clé. Vous pouvez saisir de nouvelles informations , une autre clef et cliquer sur save pour envoyer la nouvelle version cryptée sur le serveur.&lt;br /&gt;Le script est fourni sans garantie (ne l'utilisez pas pour des trucs trop importants sans vérifier le code source)&lt;br /&gt;</description>
        
              </item>
          <item>
        <title>Démontage de netbook Acer eMachines M350</title>
        <link>https://keul.fr/post/38</link>
        <guid isPermaLink="false">urn:md5:24e8e15e9ba4449fb07826f3c1bfe0a2</guid>
        <pubDate>Wed, 28 Sep 2011 13:23:00 +0200</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>&lt;p&gt;Ayant du démonter mon netbook récemment, j'en profite pour mettre quelques photos ici.&lt;/p&gt;          &lt;p&gt;&lt;a title=&quot;e01.jpg&quot; href=&quot;https://keul.fr/public/netbook/e01.jpg&quot;&gt;&lt;img alt=&quot;e01.jpg&quot; src=&quot;https://keul.fr/public/netbook/.e01_m.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;e02.jpg&quot; href=&quot;https://keul.fr/public/netbook/e02.jpg&quot;&gt;&lt;img alt=&quot;e01.jpg&quot; src=&quot;https://keul.fr/public/netbook/.e02_m.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;e03.jpg&quot; href=&quot;https://keul.fr/public/netbook/e03.jpg&quot;&gt;&lt;img alt=&quot;e01.jpg&quot; src=&quot;https://keul.fr/public/netbook/.e03_m.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;e04.jpg&quot; href=&quot;https://keul.fr/public/netbook/e04.jpg&quot;&gt;&lt;img alt=&quot;e01.jpg&quot; src=&quot;https://keul.fr/public/netbook/.e04_m.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Il y a 2 attaches qui coulissent à droite, il faut commencer à le détacher par la gauche pour libérer l'emplacement du HDD.&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;e05.jpg&quot; href=&quot;https://keul.fr/public/netbook/e05.jpg&quot;&gt;&lt;img alt=&quot;e01.jpg&quot; src=&quot;https://keul.fr/public/netbook/.e05_m.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Ici, il faut forcer un peu sur le haut pour soulever la plaque, les attaches du bas coulissent&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;e06.jpg&quot; href=&quot;https://keul.fr/public/netbook/e06.jpg&quot;&gt;&lt;img alt=&quot;e01.jpg&quot; src=&quot;https://keul.fr/public/netbook/.e06_m.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Aperçu des encoches à forcer pour libérer l'emplacement&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;e07.jpg&quot; href=&quot;https://keul.fr/public/netbook/e07.jpg&quot;&gt;&lt;img alt=&quot;e01.jpg&quot; src=&quot;https://keul.fr/public/netbook/.e07_m.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;On tire sur la languette du disque dur pour l'aider à s'extraire du port SATA.&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;e08.jpg&quot; href=&quot;https://keul.fr/public/netbook/e08.jpg&quot;&gt;&lt;img alt=&quot;e01.jpg&quot; src=&quot;https://keul.fr/public/netbook/.e08_m.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;e09.jpg&quot; href=&quot;https://keul.fr/public/netbook/e09.jpg&quot;&gt;&lt;img alt=&quot;e01.jpg&quot; src=&quot;https://keul.fr/public/netbook/.e09_m.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;La barrette de RAM se retire facilement en poussant sur l’extérieur les 2 encoches métalliques&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;e10.jpg&quot; href=&quot;https://keul.fr/public/netbook/e10.jpg&quot;&gt;&lt;img alt=&quot;e01.jpg&quot; src=&quot;https://keul.fr/public/netbook/.e10_m.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;L'une des partie les plus dur : détacher le clavier avec un tournevis plat/une pince fine en le faisant sortir des encoches (visibles dans les photos suivantes)&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;e11.jpg&quot; href=&quot;https://keul.fr/public/netbook/e11.jpg&quot;&gt;&lt;img alt=&quot;e01.jpg&quot; src=&quot;https://keul.fr/public/netbook/.e11_m.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;e12.jpg&quot; href=&quot;https://keul.fr/public/netbook/e12.jpg&quot;&gt;&lt;img alt=&quot;e01.jpg&quot; src=&quot;https://keul.fr/public/netbook/.e12_m.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Les encoches qui retenaient le clavier&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;e13.jpg&quot; href=&quot;https://keul.fr/public/netbook/e13.jpg&quot;&gt;&lt;img alt=&quot;e01.jpg&quot; src=&quot;https://keul.fr/public/netbook/.e13_m.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;On retire la nappe du clavier&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;e14.jpg&quot; href=&quot;https://keul.fr/public/netbook/e14.jpg&quot;&gt;&lt;img alt=&quot;e01.jpg&quot; src=&quot;https://keul.fr/public/netbook/.e14_m.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;e15.jpg&quot; href=&quot;https://keul.fr/public/netbook/e15.jpg&quot;&gt;&lt;img alt=&quot;e01.jpg&quot; src=&quot;https://keul.fr/public/netbook/.e15_m.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;D'autres encoches qui maintiennent la carcasse en plastique sur le haut&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;e16.jpg&quot; href=&quot;https://keul.fr/public/netbook/e16.jpg&quot;&gt;&lt;img alt=&quot;e01.jpg&quot; src=&quot;https://keul.fr/public/netbook/.e16_m.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;e17.jpg&quot; href=&quot;https://keul.fr/public/netbook/e17.jpg&quot;&gt;&lt;img alt=&quot;e01.jpg&quot; src=&quot;https://keul.fr/public/netbook/.e17_m.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;On détache la carte wifi en retirant la vis et en la soulevant.&lt;/p&gt;
&lt;p&gt;Le connecteur sers à l'alimentation de l'écran.&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;e18.jpg&quot; href=&quot;https://keul.fr/public/netbook/e18.jpg&quot;&gt;&lt;img alt=&quot;e01.jpg&quot; src=&quot;https://keul.fr/public/netbook/.e18_m.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;On retire la nappe du lecteur de carte SD et le connecteur du haut-parleur&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;e19.jpg&quot; href=&quot;https://keul.fr/public/netbook/e19.jpg&quot;&gt;&lt;img alt=&quot;e01.jpg&quot; src=&quot;https://keul.fr/public/netbook/.e19_m.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;On retire les 2 vis qui maintiennent la carte-mère&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;e20.jpg&quot; href=&quot;https://keul.fr/public/netbook/e20.jpg&quot;&gt;&lt;img alt=&quot;e01.jpg&quot; src=&quot;https://keul.fr/public/netbook/.e20_m.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;e21.jpg&quot; href=&quot;https://keul.fr/public/netbook/e21.jpg&quot;&gt;&lt;img alt=&quot;e01.jpg&quot; src=&quot;https://keul.fr/public/netbook/.e21_m.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Il ne reste pus qu'à nettoyer le ventilateur&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;e22.jpg&quot; href=&quot;https://keul.fr/public/netbook/e22.jpg&quot;&gt;&lt;img alt=&quot;e01.jpg&quot; src=&quot;https://keul.fr/public/netbook/.e22_m.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description>
        
              </item>
          <item>
        <title>Les numéros de version</title>
        <link>https://keul.fr/post/36</link>
        <guid isPermaLink="false">urn:md5:163fc5c430b0e74fee36b59a2d93f7bf</guid>
        <pubDate>Wed, 17 Aug 2011 19:22:00 +0200</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          &lt;p&gt;S'il y a bien un problème avec les logiciels, c'est leurs système de numération de versions qui peut causer bien des problèmes.&lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;Firefox6-goto5&quot; style=&quot;margin: 0 auto; display: block;&quot; alt=&quot;Firefox6-goto5&quot; src=&quot;https://keul.fr/public/.ScreenShot002_m.jpg&quot; /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align:center&quot;&gt;&lt;a href=&quot;https://plus.google.com/111843973871258959646/posts/KcSU13hXqte&quot;&gt;Source&lt;/a&gt;&lt;/p&gt;
&lt;a hreflang=&quot;en&quot; href=&quot;http://www.nerfnow.com/comic/378&quot;&gt;Capitalisme&lt;/a&gt;
oblige, les versions permettent d'amasser pas mal d'argent avec la
vente de logiciels, plus concurrentiels, plus performants, plus fonctionnels, plus jolis,
plus efficaces, plus &lt;a hreflang=&quot;fr&quot; href=&quot;http://professeurs.esiea.fr/wassner/?2007/02/01/37-loi-de-moore-loi-de-lourd-match-nul&quot;&gt;lourds&lt;/a&gt;... Difficile donc de se débarrasser avec élégance.&lt;br /&gt;&lt;br /&gt;Si ce n'est pas un problème avec les sites web dont les logiciels qui le génère tournent coté serveur (hors navigateur), ça l'est beaucoup plus avec les logiciels coté utilisateur. &lt;br /&gt;&lt;br /&gt;Et ça, Google l'a bien compris et sait que l'utilisateur ne veux pas s'embêter avec ce genre de détails, en mettant le tout à jour sans trop l'annoncer à l'utilisateur. Je ne sais pas à quelle version est Google Chrome, ni Gmail, ni Google Earth... La seule exception étant Android, mais ça tiens plus aux limites matérielle (j'ai un smartphone d'entrée de gamme) et à la flemmardise des constructeurs. En tout cas, quand je vais sur un PC, que je vois Chrome à jour, Firefox 3.6 et IE6, je comprends vite le bug.&lt;p&gt;Je pense qu'il serait temps pour Mozilla de mettre automatiquement ses logiciels à jours de manière silencieuse (comme Chrome), MAIS en proposant néanmoins dans les options le choix de désactiver cette fonctionnalité (contrairement à Chrome).&lt;/p&gt;
&lt;p&gt;Les développeurs doivent aussi éviter autant que possible la vérification du numéro de version pour se baser uniquement sur la présence de la fonctionnalité.&lt;/p&gt;
Une solution élégante est aussi celle adopté par ubuntu, utilisant la date : on sais facilement si on a à faire à une version à jour, il n'y a pas de concours d'e-penis.&lt;br /&gt;&lt;br /&gt;J'en ferai d'ailleurs un article sur les bonnes pratiques de programmation web.&lt;br /&gt;</description>
        
              </item>
          <item>
        <title>XML soupe(SOAP) ?</title>
        <link>https://keul.fr/post/35</link>
        <guid isPermaLink="false">urn:md5:465bbe4484b0dec0755ecca6a081e0b2</guid>
        <pubDate>Sun, 31 Jul 2011 23:33:00 +0200</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          L'informatique, c'est de la rigueur.&lt;br /&gt;&lt;br /&gt;Bon, après, y'en a qui ne comprennent pas et qui publient des trucs foireux. Donc quand dans un flux XML vous avez des personnes qui utilisent le caractère &amp;amp; autrement que comme entitée HTML (&amp;amp;amp;, &amp;amp;acute, &amp;amp;lt;…) en oubliant par exemple de parser une URL, on obtiens une belle erreur en exploitant le flux.&lt;br /&gt;&lt;br /&gt;Solution pour corriger si le responsable du bug met 15 plombes à réagir :&lt;br /&gt;
&lt;pre&gt;//Attention, patch honteux
$pattern = &quot;/(&amp;amp;[^a-zA-Z\#])|(&amp;amp;\#[^0-9])|(&amp;amp;[a-zA-Z]+[^;a-zA-Z])|(&amp;amp;\#[0-9]+[^;0-9])/&quot;;//bullshit pattern
$replacement = &quot;&amp;amp;$2&quot;;//rustine grosse comme ma B
if( preg_match_all ($pattern, $raw_flux, $matches) &amp;gt; 0 ) {
//A chaque fois que le script entre dans cette boucle, Dieu tue un chaton (Shami inclus)
$datas=explode('&amp;lt;![CDATA[',$raw_flux);//on ne fait des remplace que sur les parties hors de &amp;lt;![CDATA[ * ]]&amp;gt;
foreach($datas as $key =&amp;gt; $cdt) {
if($key&amp;gt;0) {
$ct=explode(']]&amp;gt;',$cdt);
$ct[1] = preg_replace ($pattern, $replacement, $ct[1]);
$datas[$key]=implode(']]&amp;gt;',$ct);
} else {
$datas[$key] = preg_replace ($pattern, $replacement, $cdt);
}
}
$raw_flux=implode('&amp;lt;![CDATA[',$datas);
}
&lt;/pre&gt;</description>
        
              </item>
          <item>
        <title>Le web et les données</title>
        <link>https://keul.fr/post/33</link>
        <guid isPermaLink="false">urn:md5:2ae57d6ca7a59e714958204b600ecd21</guid>
        <pubDate>Wed, 29 Jun 2011 18:10:00 +0200</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          Certaines entreprises se mettent à tenter de prendre possession de vos données tout en voulant garder les leurs. La loi étant (normalement) la même pour tous, on se retrouve avec certains concepts intéressants :&lt;br /&gt;&lt;br /&gt;- Blizzard tente de s'approprier votre réseau en vous interdisant d'analiser le traffic circulant sur celui-ci à la &lt;a href=&quot;http://eu.blizzard.com/fr-fr/company/about/termsofuse.html&quot;&gt;section 12.3 de leurs contrat&lt;/a&gt;.&lt;br /&gt;Blizzard ne serait donc pas compatible avec la LOPPSI et avec tout réseau de plus d'un utilisateur. Si un membre de ma famille joue à un jeu blizzard, rien ne m’empêche de lancer &lt;a href=&quot;http://www.wireshark.org/&quot;&gt;wireshark &lt;/a&gt;sur le PC, n'ayant pas accepté leurs contrat. FAIL.&lt;br /&gt;&lt;br /&gt;- Facebook/twitterpic/... veulent s'approprier les droits sur les images postées par leurs utilisateurs. Manque de bol, &lt;a href=&quot;http://fr.wikipedia.org/wiki/Le_Cadeau_de_C%C3%A9sar&quot;&gt;on ne peut pas récupérer ce que les autres ne possèdent pas&lt;/a&gt;. S'ils disent qu'ils possèdent les droits de publier l'image, répondez leurs simplement : &quot;cette image/texte/vidéo est sous copyright et a été posté par un membre de ma famille sur votre site. Je ne vous ai donc jamais donné de droits sur cette œuvre vous prie de bien vouloir la retirer rapidement, conformément aux lois sur le copyright.&quot;&lt;br /&gt;&lt;br /&gt;Enfin, j'attends quand-même de voir ce que va donner la loi hadopi quand elle va se mettre à couper les connexions à internet pour &lt;a href=&quot;http://www.20minutes.fr/article/657578/web-facebook-page-sarkozy-piratee&quot;&gt;défaut&lt;/a&gt; &lt;a href=&quot;http://www.lefigaro.fr/societes/2011/04/27/04015-20110427ARTFIG00495-sony-victime-du-pire-piratage-de-son-histoire.php&quot;&gt;de&lt;/a&gt; &lt;a href=&quot;http://fr.wikipedia.org/wiki/Lulzsec&quot;&gt;sécurisation&lt;/a&gt; et qui cherche à rendre le visionnage de streaming illegal (hop, mettons en prison tout ceux qui se sont fait &lt;a href=&quot;http://www.youtube.com/watch?v=oHg5SJYRHA0&quot;&gt;rick-roller&lt;/a&gt; XD)&lt;br /&gt;</description>
        
              </item>
          <item>
        <title>Ma vision du panneau d'options dans firefox</title>
        <link>https://keul.fr/post/17</link>
        <guid isPermaLink="false">urn:md5:106954590a6dbadf64601a8e7266f530</guid>
        <pubDate>Tue, 31 May 2011 23:52:00 +0200</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          &lt;p&gt;(english version below)&lt;/p&gt;
&lt;p&gt;Personnellement, j'ai adoré le concept d'avoir mis les modules de Firefox dans une fenêtre du navigateur et non plus dans un popup souvent limité en taille.&lt;/p&gt;
&lt;p&gt;Par contre, je pense qu'il faudrait revoir l'organisation des options.&lt;/p&gt;
&lt;p&gt;J'ai donc réalisé une petite interface dans une page web montrant comment je verrai bien la configuration de Firefox, avec quelques idées :&lt;/p&gt;
&lt;p&gt;- La gestion des profils, avec un mode débutant qui n'affiche pas les options avancées&lt;/p&gt;
&lt;p&gt;- Un test de connexion internet avec un bouton permettant de corriger les problèmes de connexion (effectuant une détection automatique du proxy)&lt;/p&gt;
&lt;p&gt;- Un système de test du filtrage de contenu, indiquant par exemple si le navigateur passe par un proxy, si certains protocoles sont bloqués ou certains sites sensibles (en utilisant une liste personnalisable de sites à tester)&lt;/p&gt;
&lt;p&gt;- Une section social, permettant facilement de publier dans son réseau social un article sans que celui-ci ne doives proposer plein de boutons pour chaque réseau social existant.&lt;/p&gt;
&lt;p&gt;- Une gestion de l'interface du navigateur triée (vidéo/audio/images/texte/...)&lt;/p&gt;
&lt;p&gt;&lt;a hreflang=&quot;en&quot; href=&quot;http://fichiers.keul.fr/firefox-options.html&quot;&gt;http://fichiers.keul.fr/firefox-options.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a hreflang=&quot;en&quot; href=&quot;http://fichiers.keul.fr/firefox-options.html&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;&lt;br /&gt;&lt;br /&gt;I loved the concept of putting the Firefox module manager in the browser window rather than in a popup limited in size.&lt;p&gt;But I think that we need to organize the management of options.&lt;/p&gt;
&lt;p&gt;I've made a small interface in a web page showing how I see the new Firefox option panel, with some ideas :&lt;/p&gt;
&lt;p&gt;- Profil management, with a beginner mode that hide advanced options.&lt;/p&gt;
&lt;p&gt;- Internet connectivity test with an auto-configure button that correct connectivity problems (with an automatic proxy configuration detection)&lt;/p&gt;
&lt;p&gt;- A system that detect content filtering, displaying for example the use of a proxy, the protocols that are blocked or some sensible websites (using a custom list to test)&lt;/p&gt;
&lt;p&gt;- A social section, that permits to link in the user social network a web page without&amp;nbsp; using a lot of buttons for all social networks existing.&lt;/p&gt;
&lt;p&gt;- The management of the web browser interface better sorted (vidéo/audio/pictures/text/...)&lt;/p&gt;
&lt;p&gt;&lt;a hreflang=&quot;en&quot; href=&quot;http://fichiers.keul.fr/firefox-options.html&quot;&gt;http://fichiers.keul.fr/firefox-options.html&lt;/a&gt;&lt;/p&gt;
&lt;br /&gt;</description>
        
              </item>
          <item>
        <title>La signature électronique et le cryptage</title>
        <link>https://keul.fr/post/31</link>
        <guid isPermaLink="false">urn:md5:24bc71459c75bb3315ef87a58370deea</guid>
        <pubDate>Mon, 18 Apr 2011 18:41:00 +0200</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          L'informatique est basé sur la gestion des données, qui sont converties (clavier/écran/haut-parleur), transmises(cables), stockées(RAM, HDD) et traitées(CPU, circuits intégrés).&lt;br /&gt;Et ces données sont précieuses. Gérés par d'énormes systèmes informatiques, elles ont fait la fortune de Microsoft, Google, Apple, Facebook, Twitter...&lt;br /&gt;&lt;br /&gt;J'avais déjà expliqué qu'il était important de pouvoir &lt;a href=&quot;https://keul.fr/post/12&quot;&gt;posséder ses données&lt;/a&gt;, parce-que devoir les récupérer ensuite peut être une véritable plaie (10H pour &lt;a href=&quot;https://keul.fr/post/13&quot;&gt;importer un forumactif propriétaire&lt;/a&gt; avec perte des mots de passe contre 15min d'&lt;a href=&quot;https://keul.fr/post/28&quot;&gt;import d'une galerie d'images&lt;/a&gt; sans perte).&lt;br /&gt;Mais en plus de les posséder, il faut aussi les sécuriser, avec des&lt;a href=&quot;https://keul.fr/post/23&quot;&gt; méthodes adaptées&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;En informatique, on dispose de deux méthodes :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Le cryptage ou &lt;a href=&quot;http://fr.wikipedia.org/wiki/Chiffrement&quot;&gt;chiffrement &lt;/a&gt;qui traite une données afin qu'elle ne soit lisible que par les personnes voulues.&lt;/li&gt;
&lt;li&gt;La signature ou le hashage qui permet de certifier une donnée.&lt;/li&gt;
&lt;/ul&gt;
Le chiffrement peut être symétrique, le message est donc chiffré et déchiffré avec la même clef, n'importe-qui ayant cette clef pouvant décoder le message.&lt;br /&gt;&lt;br /&gt;Le chiffrement peut aussi être asymétrique, chiffré par une clef publique, et déchiffrable uniquement par une clef privé correspondante. On peux donc facilement distribuer des clef publique à la vue de tous (la confidentialités n'est pas nécessaire, seul l'authenticité compte.)&lt;br /&gt;&lt;br /&gt;La signature permet elle de certifier l'authenticité du contenu.&lt;br /&gt;Si je prends par exemple que la signature de &lt;a href=&quot;http://www.google.com/search?q=Insurance.aes256&quot;&gt;Insurance.aes256&lt;/a&gt; est &lt;strong&gt;cce54d3a8af370213d23fcbfe8cddc8619a0734c&lt;/strong&gt;, si jamais vous téléchargez le fichier, vous pourrez vérifier que le fichier est bien celui dont je parle en comparant la signature sha1 avec celle que j'ai donnée ci-dessus. Si jamais vous téléchargez un autre fichier, ou le même fichier, mais corrompu (intentionnellement ou pas), la signature ne sera pas la même.&lt;br /&gt;&lt;br /&gt;Pour faire simple : je possède une paire de clef publique et privée GPG. N'importe-qui peux donc en utilisant ma clef publique chiffrer un document, dont je serai le seul à pouvoir déchiffrer à l'aide de ma clef privée. Je peux ensuite signer un document avec ma clef privée, et toute personne disposant de la clef publique pourra vérifier que c'est bien moi qui l'ai signé.&lt;br /&gt;&lt;br /&gt;Comparé à un document papier,&lt;br /&gt;- La signature d'un fichier correspond à la certification de celui-ci au bit près, en assurant qu'il n'a pas été altéré depuis la signature.&lt;br /&gt;- Si vous signez une feuille de papier, je doute que cette signature disparaissent ou soit invalidée si jamais la feuille est modifiée (on peut éventuellement ajouter une clause dans un espace vide sur un contrat), là, l'employé sera protégé uniquement parce-qu'il aura la copie du contrat signé par l'entreprise sans cette clause).&lt;br /&gt;&lt;br /&gt;- Par contre, une signature n'est jamais fiable à 100%, vu qu'il y a toujours possibilité de piratage de l'ordinateur (des solutions très sécurisées existent, à vous de juger la sécurité requise face à la convivialité: un live-cd linux/BSD ne stocke rien sur disque-dur et donc est plus sécurisé, mais reste moins pratique qu'une version installée) ou la faille humaine (Si vous n'avez pas laissé votre mot de passe sur un post-it, on peux toujours passer par la méthode forte)&lt;br /&gt;&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;Suite &lt;a href=&quot;https://twitter.com/#%21/Maitre_Eolas/status/59900132073807872&quot;&gt;aux&lt;/a&gt; &lt;a href=&quot;https://twitter.com/#%21/Maitre_Eolas/status/59902153841582081&quot;&gt;twitts&lt;/a&gt; de Maitre Éolas, une réponse technique s'impose :&lt;br /&gt;&lt;br /&gt;Un fichier zip, c'est comme une enveloppe qui permet de rassembler plusieurs documents et de les compacter.&lt;br /&gt;Imaginons trois fichiers contenant &quot;&lt;strong&gt;AAAAA&lt;/strong&gt;&quot;, &quot;&lt;strong&gt;BBBCC&lt;/strong&gt;&quot; et &quot;&lt;strong&gt;DDDEE&lt;/strong&gt;&quot;&lt;br /&gt;De manière très simple, un fichier zip contiendrais &quot;&lt;strong&gt;ZIP A5-B3C2-D3E2 ZIP&lt;/strong&gt;&quot; (je simplifie, en réalité, c'est plus compliqué)&lt;br /&gt;&lt;br /&gt;Vous pouvez signer sur l'enveloppe ou signer chacun des documents qu'il contiens, vous connaissez le résultat.&lt;br /&gt;Quand vous signez le fichier zip, vous ne signez pas l'&quot;enveloppe&quot; du fichier &quot;ZIP_&quot; mais TOUT le document.&lt;br /&gt;On peux donc dire que signer une archive zip reviens à avoir TOUS les fichiers de cette archive signé.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ATTENTION &lt;/strong&gt;par contre. La signature étant &quot;étalée&quot; sur tous les fichiers de l'archive, la signature n'est valide que si vous disposez de l'archive complète.&lt;br /&gt;&lt;br /&gt;En gros, signer un fichier zip reviens à étaler tous les documents d'une enveloppe et faire une grosse signature sur tous les documents en même temps&lt;br /&gt;&lt;br /&gt;La faille restant tiens ensuite de la sécurités de l’algorithme et de la fiabilitée du processus.&lt;br /&gt;</description>
        
              </item>
          <item>
        <title>Dropbox</title>
        <link>https://keul.fr/post/29</link>
        <guid isPermaLink="false">urn:md5:71e584d48f862a41dc16fc876643a073</guid>
        <pubDate>Sat, 26 Mar 2011 23:12:00 +0100</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          &lt;p&gt;Pour pouvoir travailler facilement de manière collaborative au sein de mon association, on m'a conseillé d'utiliser &lt;a href=&quot;https://www.dropbox.com&quot;&gt;Dropbox&lt;/a&gt;. Suite aux incompréhensions devant mon refus de l'utiliser, j'ai décidé de rédiger un article expliquant les problème du logiciel.&lt;/p&gt;
&lt;p&gt;Pour ceux qui ne connaissent pas, Dropbox est un service d'hébergement de fichiers en ligne permettant de partager des fichiers, d'en gérer différentes versions, de les synchroniser avec des dossiers locaux... &lt;a hreflang=&quot;en&quot; href=&quot;https://www.dropbox.com/tour#6&quot;&gt;Dans la présentation&lt;/a&gt; et &lt;a hreflang=&quot;en&quot; href=&quot;https://www.dropbox.com/features&quot;&gt;les fonctionnalités&lt;/a&gt;, il y a quelques points que je ne tolère pas par contre :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Dropbox replaces:&lt;/em&gt;&lt;/p&gt;
&lt;ul style=&quot;font-style: italic;&quot; class=&quot;blue-bullets&quot;&gt;&lt;li&gt;Using USB drives to move files between computers&lt;/li&gt;
&lt;/ul&gt;
Dropbox passe par ma connexion internet qui ne &lt;a href=&quot;https://twitter.com/#%21/Keul125/status/46123928086773760&quot;&gt;fonctionne pas toujours&lt;/a&gt;  et son pauvre méga d'upload (128Ko/s). Mes clef/disques USB, mon réseau gigabit et mon wifi sont &lt;del&gt;vingt fois plus rapide et&lt;/del&gt; autonomes. EDIT : argument invalide, Dropbox sais utiliser les transferts via LAN.&lt;br /&gt;&lt;ul style=&quot;font-style: italic;&quot; class=&quot;blue-bullets&quot;&gt;&lt;li&gt;Complicated backup software and hardware&lt;/li&gt;
&lt;/ul&gt;
Dropbox ne fait PAS de backup. Le backup, c'est ÇA : &lt;a hreflang=&quot;en&quot; href=&quot;http://www.taobackup.com/&quot;&gt;http://www.taobackup.com&lt;/a&gt;.&lt;br /&gt;&lt;ul class=&quot;blue-bullets&quot;&gt;
&lt;li&gt;Security &amp;amp; Privacy : Dropbox uses military grade encryption methods to both transfer and store your data.
&lt;/li&gt;
&lt;/ul&gt;
Security &amp;amp; Privacy n'est pas possible avec un logiciel propriétaire.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;On a donc les avantages suivants :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;On peux toujours avoir une &lt;a href=&quot;https://keul.fr/post/12&quot;&gt;copie des données&lt;/a&gt;, donc c'est tolérable.&lt;/li&gt;
&lt;li&gt;C'est simple à utiliser (comme un Ipad/Facebook/...)&lt;/li&gt;
&lt;li&gt;C'est gratuit si on se contente de 2Go (extensible à 8Go par parrainage sur mails jetable)&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;Et les inconvénients suivants :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Espace limité (Impossible de dépasser les 100Go)&lt;/li&gt;
&lt;li&gt;Peu adaptable (impossible de relier à d'autres outils pour avoir une gestion unifiée de comptes et de systèmes contrairement à FTP/SFTP...)&lt;/li&gt;
&lt;li&gt;Pas de sécurités des données (impossible de vérifier dans le code source que les données ne sont pas exploitable par la société Dropbox, &lt;a hreflang=&quot;en&quot; href=&quot;https://services.mozilla.com/privacy-policy/&quot;&gt;contrairement à Firefox sync&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Vous n'avez pas de contrôle sur le serveur, l'hébergeur peut faire ce que bon lui semble, en &lt;a href=&quot;http://www.linformaticien.com/actualites/id/9695/wikileaks-suite-aux-menaces-d-eric-besson-ovh-saisit-la-justice.aspx&quot;&gt;bien &lt;/a&gt;ou en &lt;a href=&quot;http://www.silicon.fr/amazone-boute-wikileaks-hors-des-etats-unis-43220.html&quot;&gt;mal&lt;/a&gt;. N’espérez pas héberger les câbles de WikiLeaks dessus ou une copie de &lt;span style=&quot;&quot; id=&quot;search&quot;&gt;FairUse4WM&lt;/span&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;Conclusion :&lt;br /&gt;Tant qu'il y aura de la concurrence, vous pourrez utiliser drop-box si vous voulez.&lt;br /&gt;Personnellement, ça ne m’intéresse pas, je préfère FTP/SFTP qui est libre et extensible à tout, après, on a des CVS plus évolués aussi (plus complexes aussi, mais on n'a pas rien sans rien).&lt;br /&gt;</description>
        
              </item>
          <item>
        <title>Passer de Danbooru à Shimmie</title>
        <link>https://keul.fr/post/28</link>
        <guid isPermaLink="false">urn:md5:785cdcfa0d8b877a88cd5d851bec648d</guid>
        <pubDate>Thu, 24 Mar 2011 12:55:00 +0100</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          &lt;p&gt;Après mon script de conversion de forumactif vers SMF, un autre petit outil de conversion pour passer de &lt;a href=&quot;http://en.wikipedia.org/wiki/Danbooru&quot;&gt;Danbooru&lt;/a&gt; à &lt;a href=&quot;http://code.shishnet.org/shimmie2/&quot;&gt;Shimmie&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://fichiers.keul.fr/conv_danbooru_shimmie.zip&quot;&gt;Télécharger le script&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;MAJ : cette version recalcule les occurences de tags: Si votre migration est déjà faite, executez juste cette requête : &lt;/p&gt;
&lt;pre&gt;UPDATE tags&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; SET&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; `count`=&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; (SELECT COUNT(image_id) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; FROM image_tags&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; WHERE image_tags.tag_id=tags.id&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; GROUP BY tags.id)&lt;/pre&gt;
&lt;p&gt;Attention, shimmie utilise l'ID 1 lorsque l'utilisateur est anonyme, ce qui correspond au premier utilisateur de danbooru.&lt;/p&gt;
&lt;pre&gt;INSERT INTO `config` (`name`,`value`) VALUES (&quot;anon_id&quot;,-1) ON DUPLICATE KEY UPDATE value=-1&lt;/pre&gt;&lt;p&gt;Remplissez les variables de configuration et roulez jeunesse.&lt;/p&gt;
&lt;p&gt;Détails techniques :&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Importe les utilisateurs (pas les mots de passe par contre)&lt;/li&gt;
&lt;li&gt;Importe les tags et aliases&lt;/li&gt;
&lt;li&gt;régénéré les miniatures&lt;/li&gt;
&lt;li&gt;copie les images dans les bons répertoires&lt;/li&gt;
&lt;li&gt;importe les commentaires des images&lt;/li&gt;
&lt;/ul&gt;
J'ai converti une base de 8000 images environ en un quart d'heure. Il est possible de conserver les mots de passe avec quelques modifications pour que Shimmie puisses les utiliser.&lt;br /&gt;&lt;br /&gt;J'ai aussi un patch de liaison avec &lt;a href=&quot;http://www.simplemachines.org/&quot;&gt;SMF&lt;/a&gt; qui permet d'utiliser les login/pass de SMF et de gérer les commentaires dans le forum.&lt;br /&gt;</description>
        
              </item>
          <item>
        <title>Hashage et signatures</title>
        <link>https://keul.fr/post/23</link>
        <guid isPermaLink="false">urn:md5:0c501433ce8b9cb31d64db822c5c68cc</guid>
        <pubDate>Sat, 12 Feb 2011 13:34:00 +0100</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          &lt;h3&gt;Les données corrompues&lt;/h3&gt;

&lt;p&gt;En informatique, on est souvent amené à traiter les données. compression avec pertes, compression sans perte, chiffrement (en cryptogtraphie)&lt;/p&gt;

&lt;p&gt;Lors de la transmission d'une grande quantité de données, on peut être amené à vouloir vérifier qu'il n'y a pas eu de dommages lors du transfert ou du stockage sur un support physique.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;L'une des méthode les plus basique est l'ajout d'un &lt;a href=&quot;http://fr.wikipedia.org/wiki/Bit_de_parit%C3%A9#Exemple_:_bit_de_parit.C3.A9&quot;&gt;&lt;strong&gt;bit de parité&lt;/strong&gt;&lt;/a&gt;, mis à 1 lorsque le nombre de bits présent dans les données à transmettre est impair. Très facile à implémenter, il peut s'avérer insuffisant si trop de données sont corrompues.&lt;/li&gt;
	&lt;li&gt;On utilisera alors des algorithmes plus complexes, tel que le &lt;a href=&quot;http://fr.wikipedia.org/wiki/Contr%C3%B4le_de_redondance_cyclique&quot;&gt;&lt;strong&gt;crc&lt;/strong&gt;&lt;/a&gt; qui peux détecter de manière plus fiable si des données sont corrompues. On le voit généralement lors de l'utilisation de CD-ROM rayés ou endommagés.&lt;/li&gt;
	&lt;li&gt;Il est même possible de pouvoir corriger des erreurs éventuelles avec les &lt;a href=&quot;http://fr.wikipedia.org/wiki/Code_correcteur&quot; style=&quot;font-weight: bold;&quot;&gt;codes correcteurs&lt;/a&gt; dans le cas où une faible partie des données seraient corrompues. On les trouve non seulement sur les CD-ROM mais aussi sur usenet (&lt;a href=&quot;http://fr.wikipedia.org/wiki/Parchive&quot;&gt;fichiers Parchive&lt;/a&gt;) ou dans les systèmes RAID qui incluent cette redondance capable de récupérer les données corrompues.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;=&amp;gt; Je vous conseille vivement l'utilisation de &lt;a href=&quot;http://rapidcrc.sourceforge.net/&quot;&gt;RapidCRC&lt;/a&gt; pour vérifier par exemple après gravure/stockage que les fichiers n'ont pas été corrompus en ayant préalablement mis le CRC dans le nom du fichier.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h3&gt;Les données corrompues intentionnellement&lt;/h3&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Un autre aspect est le problème des dommages intentionnel qui peuvent apparaitre sur les données. Une personne mal intentionnée serait alors capable de modifier les données sans que le système qui détecte la corruption ne s'en rende comptes.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;On utilisera alors des algorithmes plus évolués qui rendront très difficile la modification intentionnelle, au cout de calculs supplémentaires et d'une augmentation de la taille de la &quot;signature&quot;.&lt;/li&gt;
	&lt;li&gt;Il existe plusieurs algorithmes plus ou moins fiables, les plus connus étant md5 et sha128.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;=&amp;gt; Si vous distribuez des fichiers sur votre site web par exemple, vous pouvez donner les signatures md5 correspondantes. (on pourra voir par exemple le fichier &lt;a href=&quot;http://blender-mirror.kino3d.org/peach/md5sums&quot;&gt;md5sums&lt;/a&gt; de &lt;a href=&quot;http://www.bigbuckbunny.org/&quot;&gt;bigbuckbunny.org&lt;/a&gt; qui avec le logiciel rapidCRC permet de vérifier que les autres fichiers ne sont pas corrompus, intentionnellement ou pas.)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h3&gt;La protection des mots de passe&lt;/h3&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Ces algorithmes ont permis d'améliorer la sécurité dans le stockage des mots de passe : En effet, la &quot;signature&quot; permet de vérifier que les données transmises n'ont pas été modifiées, mais ne permettent pas de les connaitre. On pourra donc utiliser la signature du mot de passe d'un utilisateur, et la comparer à la signature du mot de passe fourni lors de son authentification pour vérifier que les mots de passe sont identique, sans pouvoir les connaitre.&lt;/p&gt;

&lt;p&gt;On pourrait alors penser à utiliser la &quot;signature&quot; md5 d'un mot de passe, mais un gros inconvénient apparait : l'attaque par &lt;a href=&quot;http://fr.wikipedia.org/wiki/Table_arc-en-ciel&quot;&gt;table arc-en-ciel&lt;/a&gt; qui consiste à chercher dans une liste pré-calculée et optimisée d'une grande taille (prévu pour tenir sur un DVD généralement) de signatures si un mot de passe corresponds. Une parade est alors d'inclure une donnée supplémentaire qui sera mixée avec et stockée en supplément : un &lt;a href=&quot;http://fr.wikipedia.org/wiki/Table_arc-en-ciel#Contre-mesures&quot;&gt;sel&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Cette contre-mesure empêche donc l'attaque par table rainbow, mais il reste un problème : md5 et sha128 sont prévu pour pouvoir facilement vérifier la signature de fichiers, qui peuvent atteindre plusieurs centaines de Mo. Mais ils peuvent, à l'aide des processeurs actuels et les processeurs de carte graphiques adaptés calculer la signature de plein de mots de passe potentiels par force brute en l'espace de quelques jours et avec les technologies de type &lt;a href=&quot;http://fr.wikipedia.org/wiki/Compute_Unified_Device_Architecture&quot;&gt;CUDA&lt;/a&gt;, c'est encore plus &lt;a href=&quot;http://fr.wikipedia.org/wiki/MD5#Cryptanalyse&quot;&gt;rapide&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;On passe alors à de nouveaux algorithmes dont le but est de demander plus de calculs afin de ralentir l'attaque par force brute, au point qu'une attaque par force brute ne prendrais pas quelques jours mais quelques centaines de siècles, et qui se paient même le luxe de pouvoir définir manuellement le niveau de complexités pour s'adapter à la montée en puissance incessante de nos ordinateurs. Grosso modo, on aurait par exemple, md5 qui calcule la signature d'un &lt;a href=&quot;http://www.bigbuckbunny.org/&quot;&gt;film&lt;/a&gt; en quelques dizaines de secondes, et des mots de passe en quelques microsecondes, et &lt;a href=&quot;http://us.php.net/manual/fr/function.crypt.php&quot;&gt;crypt&lt;/a&gt; qui calcul un mot de passe en dixièmes de secondes (vous pouvez donc vérifier le mot de passe d'un utilisateur qui s’authentifie en quelques dixièmes de secondes, où une attaque par force brute serait alors inefficace).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;=&amp;gt; Pour &lt;a href=&quot;http://www.f-secure.com/weblog/archives/00002095.html&quot;&gt;protéger les mots de passe&lt;/a&gt; de vos utilisateurs, utilisez l'une des deux fonctions prévues pour: &lt;a href=&quot;http://php.net/manual/fr/function.password-hash.php&quot;&gt;password-hash&lt;/a&gt; ou &lt;a href=&quot;https://keul.fr/post/php.net/manual/fr/function.crypt.php&quot;&gt;crypt&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Edit:&lt;/p&gt;

&lt;p&gt;Suite à une discussion avec &lt;a href=&quot;http://haruhi.fr&quot;&gt;Axel&lt;/a&gt; et aux problèmes de compatibilité entre &lt;a href=&quot;https://keul.fr/post/13&quot;&gt;différents systèmes&lt;/a&gt;, je vous rappelle que la fonction &lt;a href=&quot;http://php.net/manual/fr/function.crypt.php&quot;&gt;crypt &lt;/a&gt;génère des hash contenant un identifiant d’algorithme utilisé et qu'il est donc possible avec un autre logiciel de pouvoir utiliser la même authentification alors que les mots de passe hashés avec un algorithme perso ne le permettent pas.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Enfin, vu le succès et les défauts d'&lt;a href=&quot;http://www.openidfrance.fr/&quot;&gt;OpenID&lt;/a&gt; ainsi que les autres méthodes d'authentification, il reste encore beaucoup de travail dans la gestion de l'authentification des utilisateurs.&lt;/p&gt;</description>
        
              </item>
          <item>
        <title>IPv6</title>
        <link>https://keul.fr/post/26</link>
        <guid isPermaLink="false">urn:md5:3b406f04a4e8ae507e4e7cdb0ed08874</guid>
        <pubDate>Wed, 02 Feb 2011 20:37:00 +0100</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          L'&lt;a href=&quot;http://fr.wikipedia.org/wiki/Internet_Assigned_Numbers_Authority&quot;&gt;IANA&lt;/a&gt; viens d'assigner ses deux dernier bloc d'adresses ipv4 et les différents &lt;a href=&quot;http://fr.wikipedia.org/wiki/Registre_Internet_r%C3%A9gional&quot;&gt;RIR&lt;/a&gt; fonctionnent désormais sur leurs réserves.&lt;br /&gt;&lt;br /&gt;&quot;Un bloc d'adresse IPv4 entre dans un bar : 'Un &lt;a href=&quot;http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing&quot;&gt;CIDR&lt;/a&gt; bien fort s'il vous plait, je suis épuisé.'&quot; (&lt;a href=&quot;http://twitter.com/henet/status/32407702151888896&quot;&gt;source&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;La seule solution est donc un passage au &lt;a href=&quot;http://www.framablog.org/index.php/post/2008/11/21/benjamin-bayart-internet-libre-ou-minitel-20&quot;&gt;Minitel 2.0&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Enfin, pour ceux qui veulent retourner au minitel. Pour les autres, l'alternative consiste à passer à IPv6, qui pour résumer :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Dispose de beaucoup plus d'adresses.&lt;/li&gt;
&lt;li&gt;Gère le QOS (les discussions et jeux auront une priorités supérieur au streaming qui aura une priorité supérieur au téléchargements, évitant ainsi les coupures et saccades.&lt;/li&gt;
&lt;li&gt;Gère nativement l’encryption afin d'éviter d'avoir recours à des protocoles dédiés comme ssh, sftp et https qui dans certains cas peuvent êtres complexes.&lt;/li&gt;
&lt;li&gt;S'auto-configure.&lt;/li&gt;
&lt;li&gt;Et quelques autres détails intéressants...&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;Qu'est-ce qui nous attends alors?&lt;br /&gt;&lt;br /&gt;Testez votre connectivitée IPv4 et IPv6 ici : &lt;a href=&quot;http://ipv6-test.com/&quot;&gt;http://ipv6-test.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Si votre FAI ne peut vous fournir une connectivité ipv6, ou si votre switch/routeur/point d'accès wifi, ainsi que votre OS et vos logiciels ne supportent pas ipv6, vous ne verrez pas de problème dans l'immédiat.&lt;br /&gt;&lt;br /&gt;Par contre les problèmes vont apparaître au fil du temps :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Impossible d'utiliser Skype ou tout logiciel de VoIP avec certaines personnes.&lt;/li&gt;
&lt;li&gt;Impossible de jouer à certains jeux avec certaines personnes.&lt;/li&gt;
&lt;li&gt;Impossible de se connecter à son poste en contrôle distant (VNC, ssh, administration de NAS)&lt;/li&gt;
&lt;li&gt;Impossibilité de se connecter à certains serveurs/sites web&lt;/li&gt;
&lt;/ul&gt;
Et ces problèmes vont perdurer en s'aggravant jusqu'à ce que l'on supporte tous IPv6 et on en a pour quelques années.&lt;br /&gt;
En fait, ipv4 et ipv6 sont incompatibles. &lt;br /&gt;&lt;ul&gt;&lt;li&gt;Si vous supportez les deux, vous n'aurez aucun problème.&lt;/li&gt;
&lt;li&gt;Si vous n'êtes qu'en ipv4, vous ne pourrez pas parler à quelqu'un en ipv6 directement (a moins de passer par un serveur disposant d'ipv4 ET ipv6)&lt;/li&gt;
&lt;li&gt;Si vous n'êtes qu'en ipv6, vous allez regretter de voir aussi peu de serveurs compatibles ipv6 et de ne pouvoir vous connecter directement à certaines personnes.&lt;/li&gt;
&lt;/ul&gt;
Certains FAI iront sûrement utiliser des méthodes pourries comme du NAT à leurs niveau, vous faisant partager votre adresse IP avec d'autres client. Personnellement, je n'y crois pas trop vu les systèmes de sécurités basés sur l'adresse IP et aux délires supplémentaires que ça provoquerait à la Hadopi.&lt;br /&gt;&lt;br /&gt;En tout cas, si ça ne fonctionne pas, n'hésitez pas à vous plaindre à votre FAI ou à changer.&lt;br /&gt;Lui ne fera rien tant que vous ne lui demanderez pas car ça lui coute de l'argent et qu'il s'en fout de la concurrence chez laquelle le client n'ira pas (à 15KM d'un DSLAM, le RTC et l'ADSL à 200ms de ping n'est pas un concurrent pour Numéricable).&lt;br /&gt;Les clients ne sont pas assez informés, l'état étant plus préoccupés par le fait que certains riches pourraient perdre de l'argent à cause du &lt;a href=&quot;http://www.korben.info/fnac-et-drm-suite-de-lhistoire.html&quot;&gt;piratage&lt;/a&gt;, de la &lt;a href=&quot;http://www.humblebundle.com/&quot;&gt;concurrence déloyale&lt;/a&gt; et du manque d'action face à des &lt;a href=&quot;http://store.steampowered.com/&quot;&gt;entreprises&lt;/a&gt; qui &lt;a href=&quot;http://techno.branchez-vous.com/actualite/2010/11/extrait-musicaux-itunes-90-secondes-apple.html&quot;&gt;bougent leurs cul&lt;/a&gt; (certes, leurs systèmes ont des DRM et sont imparfaits, mais il proposent autre chose qu'une technologie vieille de 30ans).&lt;br /&gt;&lt;br /&gt;Et pourtant, le problème est grave:&lt;br /&gt;- La &lt;a href=&quot;http://www.lemonde.fr/technologies/article/2010/08/13/neutralite-du-net-google-defend-son-accord-avec-verizon_1398757_651865.html&quot;&gt;neutralité&lt;/a&gt; du net est &lt;a href=&quot;http://www.generation-nt.com/orange-megaupload-bridage-cogent-opentransit-actualite-1146981.html&quot;&gt;fragile&lt;/a&gt;, surtout lorsqu'elle est géré par des fournisseurs à but lucratif et sans scrupules et non plus par les militaires, universités ou associations.&lt;br /&gt;- Des opérateurs téléphoniques limitent Internet et ne vous donne accès qu'au web (http et https parmi des milliers de services possibles : IRC, MSN, jeux, email ...), essayant même de vous faire payer pour les e-mails.&lt;br /&gt;- Et proposent des forfaits minitel débiles donnant accès à &lt;a href=&quot;http://www.m6mobile.fr/offres-m6-mobile/forfaits-bloques.html&quot;&gt;3 sites internet&lt;/a&gt; parmi les milliard de milliards disponibles sur internet.&lt;br /&gt;- Ils pourraient même faire des offres mobiles IPv6 uniquement avec IPv4 en option pour avoir plus d'Internet.&lt;br /&gt;&lt;a title=&quot;Neutralité du net&quot; href=&quot;https://keul.fr/public/net-neutrality-thumb-550xauto-27419.jpg&quot;&gt;&lt;img title=&quot;Neutralité du net&quot; alt=&quot;Neutralité du net&quot; src=&quot;https://keul.fr/public/.net-neutrality-thumb-550xauto-27419_t.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Bientôt, on pourra rajouter : Adresse IPv4 pour vous connecter à l'Old Internet.&lt;br /&gt;&lt;br /&gt;Ne tombez pas dans leur piège, demandez un accès au réseau des réseaux, pas un accès au minitel.&lt;br /&gt;&lt;br /&gt;Plus d'informations ici : &lt;a href=&quot;https://www.apnic.net/community/ipv4-exhaustion&quot;&gt;https://www.apnic.net/community/ipv4-exhaustion&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description>
        
              </item>
          <item>
        <title>Les standards</title>
        <link>https://keul.fr/post/20</link>
        <guid isPermaLink="false">urn:md5:41555d191352747baad0cbb465252c50</guid>
        <pubDate>Mon, 31 Jan 2011 13:05:00 +0100</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          mp3, Internet, web, DVD, USB, Divx ou document word font parti de standards tellement répandu que même les personnes qui touchent peu à la technologie connaissent. On en a beaucoup parlé et ils sont énormément utilisés.&lt;br /&gt;&lt;p&gt;Ils sont devenus des standards massivement adoptés suite à des avantages importants :&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;La simplicité (à moins de le rendre obligatoire comme l'administratif français)&lt;/li&gt;
&lt;li&gt;Le faible coût (ou étalé comme dans un abonnement mobile ou MMORPG)&lt;/li&gt;
&lt;li&gt;La compatibilité et fonctionnalité&lt;/li&gt;
&lt;li&gt;Les ajouts/innovations&lt;/li&gt;
&lt;li&gt;La concurrence &lt;/li&gt;
&lt;/ul&gt;
Les standards qui tentent de s'imposer :&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Ogg Vorbis : tente de luter vaillamment face au mp3 super connu et implanté partout et à l'aac (DRMisé)&lt;/li&gt;
&lt;li&gt;OpenDocument : La prise de conscience aide les gens à se tourner vers l'&lt;a href=&quot;http://www.documentfoundation.org/&quot;&gt;open document&lt;/a&gt; face aux documents de la suite office de Microsoft&lt;/li&gt;
&lt;li&gt;WebP :  le nouveau format d'image développé par Google, en lute face au JPEG&lt;/li&gt;
&lt;li&gt;WebM : Dans une bataille qui fait rage face à h264 et Theora&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;Et qu'en est-il de ces formats?&lt;br /&gt;
&lt;p&gt;Bien qu'ogg Vorbis commence à être de plus en plus utilisé dans les jeux, les lecteurs mp3 freinent son déploiement et les constructeurs s'amusent à implémenter de l'aac qui s'oriente vers la haute définition, mais se voit plombé de brevets. A croire que les entreprises préfèrent perdre de l'argent dans les brevets plutôt que d'en dépenser dans la recherche. Au moins, Vorbis et FLAC existent et permettent aux indépendants et débutants de partir sur de bonnes bases.&lt;/p&gt;
&lt;p&gt;Le format OpenDocument commence à prendre de l'ampleur : Avec l'arrivé de LibreOffice (fork d'OpenOffice), son utilisation par l'administration française, son format exploitable par les webmaster et disponible dans GoogleDocuments, l'avenir des standards est positif de ce coté. Pourvu que ça continues dans ce sens.&lt;/p&gt;
Google s'amuse lui aussi avec les formats, et à donc sorti &quot;WebP&quot; pour une meilleur qualité que le JPEG.&lt;br /&gt;Manque de bol, même si la qualités est meilleur, les appareils photos numériques, les télévisions et énormément d'appareils gèrent nativement le JPEG. Il lui faudra énormément de temps pour s'imposer mais Google pourrait y arriver avec un grand coup de marketing (faire comprendre aux gens l’intérêt de passer à ce format) pour que es gens puissent facilement l'utiliser tous les jours.&lt;br /&gt;Personnellement, et à part son nom à la con &quot;WebP&quot;??? Ils auraient pu l'appeler PicturePro ou PictureHQ, il leur faudra énormément de temps pour arriver à un succès, mais ce n'est pas impossible vu le manque de concurrents.&lt;br /&gt;&lt;p&gt;Pour WebM, et à la vue des récents évènements, il est indéniable qu'il sortira grand gagnant :&lt;br /&gt;h264 est plombé par les brevets, ne sera plus disponible sous Google chrome, n'est pas compatible avec la GPL et ne peux donc être integré dans Firefox&lt;br /&gt;WebM est lisible en natif par Firefox, Chrome et Opera, et sera lisible sous IE et Safari &lt;a href=&quot;http://www.pcworld.fr/2011/01/18/internet/des-plugins-webm-internet-explorer-safari/510741/&quot;&gt;grâce à des plugins&lt;/a&gt;, de plus, des puces de décodages matérielles sont en cours d'élaboration/déploiement. Google aura été exemplaire sur ce coup.&lt;/p&gt;
&lt;p&gt;Et je leurs tire mon chapeau quand je vois les services qu'ils proposent : leurs moteur de recherche, Gmail, GoogleDocuments, Google maps et passe pour un ange face à Facebook et Apple.&lt;br /&gt;Certes, on peut les accuser d'ogre absorbant toutes nos informations en se nourrissant de publicité mais il s'agit d'une entreprise qui fonctionne dans une société de capitalisme et qui ne peut pas être exempte de défauts.&lt;br /&gt;Je me demande par contre s'il ne serait pas intéressant d'avoir un site de présentation du libre connu et complet montrant les projets intéressants, avec non seulement Wikipédia ou Firefox, mais aussi des projets moins connus tels qu'&lt;a href=&quot;http://www.openstreetmap.fr/&quot;&gt;OpenStreetMap&lt;/a&gt;, &lt;a href=&quot;http://www.dmoz.org/World/Fran%C3%A7ais/&quot;&gt;DMoz&lt;/a&gt;, &lt;a href=&quot;http://www.documentfoundation.org/&quot;&gt;DocumentFoundation&lt;/a&gt;...&lt;/p&gt;
&lt;p&gt;En tout cas, n'oubliez pas de &lt;a href=&quot;https://keul.fr/post/12&quot;&gt;rester libre&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;</description>
        
              </item>
          <item>
        <title>Astuces PHP</title>
        <link>https://keul.fr/post/16</link>
        <guid isPermaLink="false">urn:md5:134715b1dc594695d90856388eeefb9e</guid>
        <pubDate>Fri, 31 Dec 2010 21:57:00 +0100</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>&lt;p&gt;Quelques astuces PHP pour :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Traitemer des dates&lt;/li&gt;
&lt;li&gt;Obtenir le résumé d'un texte UTF-8 (sans couper les mots)&lt;/li&gt;
&lt;li&gt;Envoyer un mail en texte HTML en UTF-8&lt;/li&gt;
&lt;li&gt;Connexions à une base de donnée&lt;/li&gt;
&lt;/ul&gt;
&lt;a href=&quot;http://fichiers.keul.fr/astuces.php.txt&quot;&gt;Le tout dans un unique fichier&lt;/a&gt;&lt;br /&gt;          &lt;p&gt;Traitemer des dates :&lt;/p&gt;
&lt;pre&gt;//conversion unix en date
date('(G)H: i:     s        (j)d/(n)m/(y)Y ',$timestamp);
//    heure:minute:seconde  jour/mois/année   ()=sans zero initiaux
date('N          W             U    c',$timestamp);
//   joursemaine semaineannée  unix ISO-8601
//conversion date en unix
$timestamp=mktime($heure,$minutes,$secondes,$mois,$jour,$annee))
//gestion de dates dans mySQL
$date_MYSQL=date('Y-m-d G:i:s',$timestamp);
$timestamp=strtotime($date_MYSQL);
//travail sur les dates
$timestamp=strtotime(&quot;+6 day&quot;,$timestamp);&lt;/pre&gt;
&lt;p&gt;Obtenir le résumé d'un texte UTF-8 (sans couper les mots) :&lt;/p&gt;
&lt;pre&gt;function utf8summary($str,$l) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;if (mb_strlen($str) &amp;gt; $l &amp;amp;&amp;amp; $l) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$s = preg_split('/([\s]+)/u',$str,-1,PREG_SPLIT_DELIM_CAPTURE);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$res = '';
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$L = 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (mb_strlen($s[0]) &amp;gt;= $l) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return mb_substr($s[0],0,$l);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foreach ($s as $v) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$L = $L+strlen($v);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if ($L &amp;gt; $l) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$res .= $v;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return trim($res).'[...]';
&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;return $str;
}&lt;/pre&gt;
&lt;p&gt;Envoyer un mail en texte9HTML en UTF-8 :&lt;/p&gt;
&lt;pre&gt;function mail_html_utf8($dest,$sujet,$contenu,$cc='',$bcc='') {
&amp;nbsp;&amp;nbsp;&amp;nbsp;$eol=strtoupper(substr(PHP_OS,0,3) == 'WIN') ? &quot;\r\n&quot; : &quot;\n&quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;//message en HTML
&amp;nbsp;&amp;nbsp;&amp;nbsp;$message = &quot;--main boundary&quot;.$eol;
&amp;nbsp;&amp;nbsp;&amp;nbsp;$message .= &quot;Content-Type: text/html; charset=UTF-8&quot;.$eol;
&amp;nbsp;&amp;nbsp;&amp;nbsp;$message .= &quot;Content-Transfer-Encoding: 8bit&quot;.$eol.$eol;
&amp;nbsp;&amp;nbsp;&amp;nbsp;$message .= $contenu.$eol.$eol;
&amp;nbsp;&amp;nbsp;&amp;nbsp;//message en texte
&amp;nbsp;&amp;nbsp;&amp;nbsp;$message  = &quot;--main boundary&quot;.$eol;
&amp;nbsp;&amp;nbsp;&amp;nbsp;$message .= &quot;Content-Type: text/plain; charset=UTF-8&quot;.$eol;
&amp;nbsp;&amp;nbsp;&amp;nbsp;$message .= &quot;Content-Transfer-Encoding: 8bit&quot;.$eol.$eol;
&amp;nbsp;&amp;nbsp;&amp;nbsp;$message .= strip_tags($contenu).$eol.$eol;
&amp;nbsp;&amp;nbsp;&amp;nbsp;//fin messages alternatifs
&amp;nbsp;&amp;nbsp;&amp;nbsp;$message .= &quot;--main boundary--&quot;.$eol;
&amp;nbsp;&amp;nbsp;&amp;nbsp;//gestion des cc/bcc
&amp;nbsp;&amp;nbsp;&amp;nbsp;$cc=($cc!='')?'Cc: '.$cc.$eol:'';
&amp;nbsp;&amp;nbsp;&amp;nbsp;$bcc=($bcc!='')?'Bcc: '.$bcc.$eol:'';
&amp;nbsp;&amp;nbsp;&amp;nbsp;//envoi du mail (fonction mail)
&amp;nbsp;&amp;nbsp;&amp;nbsp;$mailsend = mail($dest,'=?UTF-8?B?'.base64_encode($sujet).'?=',$message,
&amp;nbsp;&amp;nbsp;&amp;nbsp;'From:'.$config['email_sender'].$eol.$cc.$bcc.
&amp;nbsp;&amp;nbsp;&amp;nbsp;'Reply-To: '.$config['email_sender'].$eol.
&amp;nbsp;&amp;nbsp;&amp;nbsp;'X-Mailer: PHP'.phpversion().$eol.
&amp;nbsp;&amp;nbsp;&amp;nbsp;'MIME-Version: 1.0'.$eol.
&amp;nbsp;&amp;nbsp;&amp;nbsp;'Content-type: multipart/alternative;  boundary=&quot;main boundary&quot;');
&amp;nbsp;&amp;nbsp;&amp;nbsp;return $mailsend;
}&lt;/pre&gt;
&lt;p&gt;Connexion à une base de donnée :&lt;/p&gt;
&lt;pre&gt;//proteger texte
function db_esc($txt) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;global $db;
&amp;nbsp;&amp;nbsp;&amp;nbsp;return mysql_real_escape_string($txt,$db);
}
//connection à la base
function db_connect($file, $line, $host, $port, $user, $password, $dbname) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;if (!function_exists('mysql_connect'))
&amp;nbsp;&amp;nbsp;&amp;nbsp;die('Le module PHP mySQL n\'est pas installé.');
&amp;nbsp;&amp;nbsp;&amp;nbsp;if (($this-&amp;gt;db = @mysql_connect($host.':'.$port,$user,$password,true)) === false)
&amp;nbsp;&amp;nbsp;&amp;nbsp;die(sprintf('Impossible d\'établir une connection avec la base de données à l\'adresse %s:%s.',$host,$port));
&amp;nbsp;&amp;nbsp;&amp;nbsp;//base de donée en utf-8
&amp;nbsp;&amp;nbsp;&amp;nbsp;mysql_query(&quot;SET NAMES 'utf8'&quot;,$db);
&amp;nbsp;&amp;nbsp;&amp;nbsp;mysql_query(&quot;SET CHARACTER SET utf8&quot;,$db);
&amp;nbsp;&amp;nbsp;&amp;nbsp;if(!@mysql_select_db($dbname, $db))
&amp;nbsp;&amp;nbsp;&amp;nbsp;die(sprintf('Impossible de sélectionner la base de données %s à l\'adresse %s:%s.',$name,$host,$port));
}
//requête
function db_query($file, $line, $query) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;$GLOBALS['lastrequest']=$query;
&amp;nbsp;&amp;nbsp;&amp;nbsp;$ressource=@mysql_query($query,$this-&amp;gt;db) or die(sprintf('Erreur avec une requête [%s (ligne %s), requête «%s»: %s]',$file,$line,$query,mysql_error($db)));
&amp;nbsp;&amp;nbsp;&amp;nbsp;$retour=array();
&amp;nbsp;&amp;nbsp;&amp;nbsp;while($data = mysql_fetch_assoc($ressource))
&amp;nbsp;&amp;nbsp;&amp;nbsp;$retour[]=$data;
&amp;nbsp;&amp;nbsp;&amp;nbsp;return $retour;
}
//Exemple
$sql = &quot;SELECT .....&quot;;
db_query($sql,__FILE__,__LINE__);&lt;/pre&gt;</description>
        
              </item>
          <item>
        <title>Bug du &lt;select&gt; d'IE</title>
        <link>https://keul.fr/post/22</link>
        <guid isPermaLink="false">urn:md5:b9ef48c3178eba858cd936998aaa0f22</guid>
        <pubDate>Thu, 18 Nov 2010 18:48:00 +0100</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          &lt;p&gt;Un des bugs d'IE qui n'a pas été corrigé dans sa version 8 est le fait de ne pouvoir changer dynamiquement le contenu d'un select avec .innerHTML.&lt;/p&gt;
&lt;p&gt;Microsoft propose des &lt;a href=&quot;http://support.microsoft.com/kb/276228/fr&quot;&gt;solutions de contournement&lt;/a&gt; : utiliser .innerHTML sur l'élément parent ou de passer par du DOM.&lt;/p&gt;
&lt;p&gt;Très peu pratique quand on a déjà codé un select_element.innerHTML=&quot;nouvelles_options&quot;;&lt;/p&gt;
&lt;p&gt;Heureusement, une solution rapide et efficace : remplacez select_element.innerHTML=&quot;nouvelles_options&quot; par selectupdate(select_element,&quot;nouvelles_options&quot;) et ajoutez la fonction de la page d'exemple suivante dans votre code :&lt;/p&gt;
&lt;code&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;function selectupdate(destination,contenu) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(navigator.userAgent.indexOf(&quot;MSIE&quot;) != -1) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var emptyselect = destination.outerHTML.split(destination.innerHTML);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var result=emptyselect[0]+contenu+emptyselect[1];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;destination.outerHTML=result;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;destination.innerHTML=out;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
Exemple : &amp;lt;select id=&quot;test&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;option&amp;gt;test1&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/select&amp;gt;&lt;br /&gt;
&amp;lt;input type=&quot;button&quot; onclick=&quot;selectupdate(document.getElementById('test'), '&amp;lt;option&amp;gt;test2&amp;lt;/option&amp;gt;')&quot; value=&quot;OK&quot;&amp;gt;
&lt;/code&gt;</description>
        
              </item>
          <item>
        <title>Supprimer les accents en PHP</title>
        <link>https://keul.fr/post/21</link>
        <guid isPermaLink="false">urn:md5:e5c98b11278b40abb86c261ab255fe50</guid>
        <pubDate>Thu, 21 Oct 2010 14:05:00 +0200</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          &lt;p&gt;S'il y a bien un truc embêtant en informatique, c'est la gestion des caractères. Vous connaissez ASCII, qui est un standard qui dit que par exemple, que &quot;A&quot; correspond à &quot;1000001&quot; histoire que les ordinateurs qui n'utilisent que des 0 et 1 puissent travailler avec.&lt;/p&gt;
&lt;p&gt;Sauf que sur terre, on ne parle pas qu'anglais et que des caractères, il y en a un paquet dont une infime partie est gérée par ASCII. Vu que les autres standards de correspondance entre les caractères ne permet pas de mélanger des caractères facilement, on a crée utf-8 qui permet de gérer un grand nombre de caractères. Manque de bol, il faudra attendre PHP6 pour qu'il soit géré nativement.&lt;/p&gt;
&lt;p&gt;En attendant que PHP6 sortes, pour convertir un texte UTF-8 en minuscules :&lt;/p&gt;
&lt;pre&gt;$texte=mb_strtolower($texte, 'UTF-8'); &lt;/pre&gt;
&lt;p&gt;Et une méthode efficace pour supprimer les accents avec un texte UTF-8 (le script PHP doit être encodé en UTF-8!) :&lt;/p&gt;
&lt;pre&gt;$search =explode(',','á,à,â,ä,ã,å,ç,é,è,ê,ë,í,ì,î,ï,ñ,ó,ò,ô,ö,õ,ú,ù,û,ü,ý,ÿ');&lt;br /&gt;$replace=explode(',','a,a,a,a,a,a,c,e,e,e,e,i,i,i,i,n,o,o,o,o,o,u,u,u,u,y,y');&lt;br /&gt;$texte=  str_replace($search,$replace,$texte);&lt;/pre&gt;
&lt;p&gt;Et pour un nom de fichier dont on veux retirer les caractères spéciaux :&lt;/p&gt;
&lt;pre&gt;$nom_fichier =  preg_replace('#[^a-zA-Z0-9\-\._]#', '_', $nom_fichier);&lt;/pre&gt;
&lt;p&gt;Et de quoi faire fonctionner des expressions régulières avec de l'UTF-8 :&lt;/p&gt;
&lt;pre&gt;$texte=utf8_decode($texte);&lt;br /&gt;$mot=utf8_decode($mot);&lt;br /&gt;$texte=preg_replace('#(?!&amp;lt;.*?)('.preg_quote($mot).')(?![^&amp;lt;&amp;gt;]*?&amp;gt;)#i','&amp;lt;span class=&quot;found&quot;&amp;gt;\1&amp;lt;/span&amp;gt;',$texte);&lt;br /&gt;$texte=utf8_encode($texte);&lt;/pre&gt;
&lt;p&gt;N'hésitez pas à en parler dans les commentaires si vous avez aussi des astuces pour gerer l'UTF-8&lt;/p&gt;</description>
        
              </item>
          <item>
        <title>Lecteur de texte amélioré</title>
        <link>https://keul.fr/post/5</link>
        <guid isPermaLink="false">urn:md5:93a0626dfe8398d6529971f312673443</guid>
        <pubDate>Sun, 19 Sep 2010 22:43:00 +0200</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          &lt;p&gt;Internet, le réseau des réseau, a permis d'abolir les frontières physiques de l'échange avec un large public.&lt;/p&gt;
&lt;p&gt;Nous ne sommes plus obligé de passer par un éditeur&amp;nbsp; pour publier un livre ou par un major pour faire écouter sa musique ou ses films. Un simple site web permet de publier du texte, des images, des vidéos, ... ce blog en est d'ailleurs la preuve. On peut même passer par des sites spécialisés pour &lt;a href=&quot;http://www.inlibroveritas.net/&quot;&gt;ses livres&lt;/a&gt;, pour sa musique et ses vidéos. N'oubliez juste pas de vérifier que vos données vous appartiennent toujours.&lt;/p&gt;
&lt;p&gt;Dans le cas où l'on vise un large public, il faut néanmoins vérifier que celui-ci puissent les utiliser. Outre la barrière de la langue et des handicaps possibles, la technologie peut aussi causer des problèmes techniques. &lt;/p&gt;
&lt;p&gt;Les DRM, formats propriétaires et brevets sont voulu par des entreprises pour empêcher le partage et la diffusion des œuvres pour ne réaliser que des ventes histoire de nourrir les artistes et de faire fonctionner le système. Enfin,  je doute que ce sois la meilleur solution à en voir les problèmes qui en découlent, le matraquage publicitaire, les DLC et tout ce qui en découle, mais on n'est pas là pour nourrir le troll donc passons.&lt;/p&gt;
Dans un guide, j'avais écrit un chapitre sur la publication de récits, que vous pouvez lire ici : &lt;a href=&quot;http://qctx.free.fr/textes/HOWTO/howtosom.htm&quot;&gt;HOWTO make a fanfic&lt;/a&gt; (&lt;a href=&quot;http://www.frag-in-hell.net/howtosom.htm&quot;&gt;mirroir&lt;/a&gt;) (&lt;a href=&quot;http://www.frag-in-hell.net/%28Not-so%29%20Easy%20ways%20to%20turn%20a%20Crapfic%20into%20a%20Greatfic.htm&quot;&gt;Original&lt;/a&gt;). Bon, je n'avais pas trop expliqué comment créer une page web rapidement, ce que je vais corriger rapidement ici.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Créer une page web à partir d'un texte&lt;/h3&gt;
On a la méthode rapide :&lt;br /&gt;
&lt;pre style=&quot;font-family: monospace; font-size: small; white-space: pre-wrap;&quot;&gt;&amp;lt;!doctype html&amp;gt;&amp;lt;html lang=&quot;fr&quot;&amp;gt;&amp;lt;head&amp;gt;&amp;lt;meta charset=&quot;utf-8&quot;&amp;gt;
&amp;lt;title&amp;gt;Le titre de votre document&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&amp;lt;pre style=&quot;white-space:pre-wrap;font-family:sans-serif;&quot;&amp;gt;&lt;br /&gt;votre texte&lt;br /&gt;sur plusieurs lignes&lt;br /&gt;&amp;lt;/pre&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&lt;/pre&gt;En prenant soin de remplacer &quot;&amp;amp;&quot; par &quot;&amp;amp;amp;&quot; , &quot;&amp;lt;&quot; par &quot;&amp;amp;lt;&quot; et&amp;nbsp; &quot;&amp;gt;&quot; par &quot;&amp;amp;gt;&quot; dans votre titre et votre texte.&lt;br /&gt;Vous avez une page web HTML5 valide.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sinon, vous pouvez vous baser sur &lt;a href=&quot;http://fichiers.keul.fr/texte.html&quot;&gt;ce fichier&lt;/a&gt; (&lt;a href=&quot;http://fichiers.keul.fr/texte.zip&quot;&gt;zip&lt;/a&gt;) qui contiens pas mal d'améliorations pour la lecture : Choix de la couleur de fond, largeur de la page, type de police, taille de la police, marque-page en double-cliquant sur un mot.&lt;br /&gt;&lt;br /&gt;ATTENTION : Pour la fonction de marque page, la position est enregistrée dans l'adresse de la page (après le #) et vous permet de&amp;nbsp; reprendre la lecture là où vous vous étiez arrêté dans un long document. Cette fonction n'est malheureusement pas compatible entre les différents navigateurs, leurs calculs internes étant différents, vous devrez reprendre la lecture sur le même navigateur.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Un peu de technique&lt;/h3&gt;
La première astuce consiste à utiliser la propriété CSS &quot;white-space:pre-wrap&quot; qui indique au navigateur de prendre en compte les retours à la ligne sans avoir besoin des balises HTML spécifiques, et qui permet au texte de revenir à la ligne lorsqu'il atteints le bout de la fenêtre pour éviter d'avoir une barre de défilement horizontale que l'on aurais avec juste la balise &amp;lt;pre&amp;gt;. On change le style de police par défaut.&lt;br /&gt;&lt;br /&gt;Un cadre de sélecteurs placé en position &quot;fixed&quot; permet de le laisser visible en permanence dans la page et 7 lignes de javascript Javascript permettent de changer le style de celle-ci, rien de bien compliqué.&lt;br /&gt;&lt;br /&gt;La gestion des marque pages utilise 2 fonctions : &quot;sauvegarder_marque_page&quot; et &quot;charger_marque_page&quot;. &lt;br /&gt;Elles sont assez techniques mais pas très compliquées à comprendre, la fonction de sauvegarde :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Pour marquer la page, la fonction découpe le document en &quot;bouts de texte&quot;&lt;/li&gt;
&lt;li&gt;On récupère le numéro du &quot;bout de texte&quot; et la position du caractère&lt;/li&gt;
&lt;li&gt;On enregistre ces 2 numéros dans l'URL&lt;/li&gt;
&lt;/ul&gt;
La fonction de chargement, elle :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Récupère les 2 numéros dans l'URL&lt;/li&gt;
&lt;li&gt;découpe le document en &quot;bouts de texte&quot;&lt;/li&gt;
&lt;li&gt;place un marqueur de position au bon emplacement&lt;/li&gt;
&lt;li&gt;fait défiler le navigateur à la bonne position&lt;/li&gt;
&lt;li&gt;restaure le texte d'origine afin de supprimer le marqueur&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;Le code n'est pas encore parfait et a du mal avec les mises en page complexes, vu que lors du chargement de texte, je ne charge que du texte brut. Je mettrai l'article à jour si nécessaire.&lt;br /&gt;&lt;br /&gt;Pour ceux que ça intéresse, la page web du guide &lt;a href=&quot;http://qctx.free.fr/textes/HOWTO/howtosom.htm&quot;&gt;HOWTO make a fanfic&lt;/a&gt; (&lt;a href=&quot;http://www.frag-in-hell.net/howtosom.htm&quot;&gt;mirroir&lt;/a&gt;) (&lt;a href=&quot;http://www.frag-in-hell.net/%28Not-so%29%20Easy%20ways%20to%20turn%20a%20Crapfic%20into%20a%20Greatfic.htm&quot;&gt;Original&lt;/a&gt;) est composé d'une seule page web. Vous pouvez consulter le code source pour voir comment sont géré l'affichage des chapitres,&amp;nbsp; l'inclusion des images et la gestion de l'impression du document.&lt;br /&gt;</description>
        
              </item>
          <item>
        <title>Ajax</title>
        <link>https://keul.fr/post/15</link>
        <guid isPermaLink="false">urn:md5:92fb5cd5a8efbd4a2279b52bb619f14d</guid>
        <pubDate>Tue, 14 Sep 2010 17:27:00 +0200</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          &lt;p&gt;Pour commencer par comprendre Ajax, parlons un peu d'HTML : &lt;br /&gt;
Crée par Tim Berners-Lee au CERN permet d'avoir des documents reliés entre eux par des liens, l'HTML s'est ensuite enrichi par le support des images, des tableaux, des formulaires, (permettant la création de livres d'or, de forums, de wiki, de blogs), de l'audio et des vidéos (nativement dans HTML5), du CSS, (mise en forme visuelle du document) et de Javascript qui modifie le document dynamiquement dans le navigateur.&lt;/p&gt;
&lt;p&gt;Sauf qu'à l'origine, Lorsqu'un formulaire est soumis au serveur, une nouvelle page s'affiche. Ajax permet alors de rester dans la page actuelle tout en effectuant des requêtes au serveur, permettant de mettre de la suggestion en cours de recherche, la surveillance d'un état du serveur (traitement de vidéo, ...)&lt;/p&gt;
&lt;/p&gt;&lt;div class=&quot;addspoiler&quot;&gt;&lt;a onclick=&quot;javascript:this.parentNode.childNodes[0].style.display='none';this.parentNode.childNodes[1].style.display='';this.parentNode.childNodes[2].style.display='';return false;&quot; href=&quot;https://keul.fr/post/15#&quot;&gt;Afficher la solution pour laver avec Ajax un brontosaure nommé IE6&lt;/a&gt;&lt;a style=&quot;display:none;&quot; onclick=&quot;this.parentNode.childNodes[0].style.display='';this.parentNode.childNodes[1].style.display='none';this.parentNode.childNodes[2].style.display='none';return false;&quot; href=&quot;https://keul.fr/post/15#&quot;&gt;Masquer la solution pour laver avec Ajax un brontosaure nommé IE6&lt;/a&gt;&lt;div style=&quot;display:none;&quot;&gt;&lt;p&gt;&lt;br /&gt;
&lt;pre style=&quot;font-family: monospace; font-size: small; white-space: pre-wrap;&quot;&gt;function httpobj() {
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (window.XMLHttpRequest)
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return new XMLHttpRequest();
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (window.ActiveXObject) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var names = new Array(
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;Msxml2.XMLHTTP.6.0&quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;Msxml2.XMLHTTP.5.0&quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;Msxml2.XMLHTTP.4.0&quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;Msxml2.XMLHTTP.3.0&quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;Msxml2.XMLHTTP&quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;Microsoft.XMLHTTP&quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; for(var i in names) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; try{
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return new ActiveXObject(names[i]); }
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; catch(e){}
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; return false;
}&lt;/pre&gt;&lt;br /&gt;
Il faudra initialiser l'objet avec &lt;br /&gt;
&lt;pre style=&quot;font-family: monospace; font-size: small; white-space: pre-wrap;&quot;&gt;var hr=httpobj(); &lt;/pre&gt;&lt;br /&gt;
pour chaque appel dans les codes suivants.&lt;br /&gt;
&lt;br /&gt;
&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;
&lt;br /&gt;
Le code est super simple :&lt;br /&gt;
&lt;pre style=&quot;font-family: monospace; font-size: small; white-space: pre-wrap;&quot;&gt;if (window.XMLHttpRequest) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; var hr=new XMLHttpRequest();
&amp;nbsp;&amp;nbsp;&amp;nbsp; hr.open('GET','index.php?attribut='+encodeURIComponent(valeur),true);
&amp;nbsp;&amp;nbsp;&amp;nbsp; hr.onreadystatechange=function(){
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if(hr.readyState==4&amp;amp;&amp;amp;hr.status==200){
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var reponse=hr.responseText;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; hr.send(null);
}&lt;/pre&gt;&lt;br /&gt;
Ici, on initialise un objet XMLHttpRequest, qui va se connecter à l'adresse index.php?attribut=valeur.&lt;br /&gt;
On déclare dans une fonction anonyme la variable &lt;strong&gt;reponse &lt;/strong&gt;qui contiendra le résultat de la requête lorsque l'on aura reçu la page&lt;br /&gt;
ReadyState indique l'état de réception de la page, (qui peut être partiel si la page est grande et qu'on n'a reçu que le début) qui vaut 4 quand la page est reçu intégralement&lt;br /&gt;
status indique la réponse du serveur, qui vaut 200 quand il n'y a pas de problèmes (et qui vaudrait 404 dans un cas bien connu).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dans le cas où l'on voudrais envoyer beaucoup plus d'informations, on peut utiliser une requête POST, pas vraiment plus compliqué:&lt;br /&gt;
&lt;pre style=&quot;font-family: monospace; font-size: small; white-space: pre-wrap;&quot;&gt;if (window.XMLHttpRequest) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; var hr=new XMLHttpRequest();
&amp;nbsp;&amp;nbsp;&amp;nbsp; hr.open('POST','index.php',true);
&amp;nbsp;&amp;nbsp;&amp;nbsp; hr.setRequestHeader(&quot;Content-Type&quot;,&quot;application/x-www-form-urlencoded&quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp; var data=&quot;https://keul.fr/post/attribut1=&quot;+encodeURIComponent(value1)
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; +&quot;&amp;amp;attribut2=&quot;+encodeURIComponent(value2);
&amp;nbsp;&amp;nbsp;&amp;nbsp; hr.onreadystatechange=function(){
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if(hr.readyState==4&amp;amp;&amp;amp;hr.status==200){
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var reponse=hr.responseText;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; hr.send(data);
}
&lt;/pre&gt;Ici, on stocke les deux attributs (on peut en avoir beaucoup plus) dans la variable data, que l'on envoie via send().&lt;br /&gt;
Il ne faut pas oublier de déclarer le bon header pour la requête de type POST&lt;br /&gt;
&lt;p&gt;En dehors des applications dédiées (de style gmail, google maps,
webos...) faut toutefois rester prudent et ne pas en abuser : s'il peut
être utilisé pour suggérer des éléments ou indiquer la progression d'un
élément, il ne doit pas être utilisé pour changer radicalement le
contenu du document original dont l'adresse n'est pas changé
dynamiquement. De plus, il n'est pas toujours activé par le visiteur.&lt;/p&gt;</description>
        
              </item>
          <item>
        <title>Plus rapide qu'un E-Mail</title>
        <link>https://keul.fr/post/18</link>
        <guid isPermaLink="false">urn:md5:57461282692a080b141d95a0f42abe07</guid>
        <pubDate>Tue, 07 Sep 2010 11:36:00 +0200</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          &lt;p&gt;Vous êtes chez un ami qui est sur un site interessant et vous voulez notez l'adresse ou un message rapidement.&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;Vous sortez du papier et un stylo comme un papy.&lt;/li&gt;
&lt;li&gt;Vous lancez Windows Mail/Outlook Express/Incredimail parce que vous êtes sur un PC de merde, vous mettez tout ça dans un mail et priez pour qu'il arrives à destination.&lt;/li&gt;
&lt;li&gt;Vous lancez Thunderbird et vous mettez ça dans un mail, normalement, ça devrais fonctionner.&lt;/li&gt;
&lt;li&gt;Vous allez sur Gmail/Hotmail/... via l'interface web, et mettez ça dans un mail que vous enregistrez en brouillon, en vous identifiant sur un PC qui est peut-être vérolé.&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;Je vous propose une solution plus simple et en images :&lt;br /&gt;(monsite.fr est l'adresse de votre site web personnel que vous possédez)&lt;br /&gt;&lt;br /&gt;&lt;img title=&quot;Schéma de récuperation d'une adresse&quot; style=&quot;margin: 0 auto; display: block;&quot; alt=&quot;Schéma de récuperation d'une adresse&quot; src=&quot;https://keul.fr/public/upload_demo.png&quot; /&gt;&lt;br /&gt;Un formulaire de texte et d'envoi de fichier s'affiche en allant sur url.monsite.fr sans rien mettre derrière.&lt;br /&gt;Le tout se retrouve dans un joli e-mail de retour à la maison.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;L'installation&lt;/h3&gt;
Pour installer le script, mettes les 2 fichiers de cette archive sur
votre site web que vous hébergez (ici url.monsite.fr), en mettant votre adresse e-mail dans le fichier index.php&lt;br /&gt;
Le script: &lt;a href=&quot;http://fichiers.keul.fr/upload.zip&quot;&gt;Upload.zip (2ko)&lt;/a&gt; (&lt;a href=&quot;http://fr.wikipedia.org/wiki/WTFPL&quot;&gt;WTFPL&lt;/a&gt;)&lt;br /&gt;Décommentez la ligne pour faire un backup local des mails si vous le désirez.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Fonctionnement&lt;/h3&gt;
On se base sur le mode rewrite d'apache, qui récupère l'URL utilisée en paramètre pour consulter url.monsite.fr et l'envoie au script qui mail le bousin. Le mode rewrite doit donc être activé (Attention, il ne l'est pas chez free).&lt;br /&gt;&lt;br /&gt;On peut aussi rentrer un texte perso dans l'URL, a condition que l'on n'utilise pas les caractères spéciaux &quot;#&quot;, &quot;%&quot; et &quot;+&quot; sauf dans les URL.&lt;br /&gt;&lt;br /&gt;(en fait, # indique la position de lecture dans une page et n'est donc jamais envoyé au serveur, % sert à définir les caractères spéciaux, il faut donc mettre %25 pour avoir le caractère %) et les + sont automatiquement converti en espace)&lt;br /&gt;</description>
        
              </item>
          <item>
        <title>Importation des messages d'un forumactif vers un SMF</title>
        <link>https://keul.fr/post/13</link>
        <guid isPermaLink="false">urn:md5:fd5e06048088d985b2557029df6c8b7e</guid>
        <pubDate>Mon, 30 Aug 2010 13:25:00 +0200</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          &lt;p&gt;Suite à un partenariat entre les membres d'un forum &lt;a href=&quot;http://miku.vocaloid.fr/&quot;&gt;Vocaloid&lt;/a&gt; hébergé sur forumactif et l'association Brigade SOS francophone, il avait été décidé que les membres du forum vocaloid allaient obtenir un nouveau site (avec un wiki, blog, ...) et que le forum allait donc être déplacé sur ce site, qui est hébergé sur un serveur dédié.&lt;/p&gt;
&lt;p&gt;Manque de bol, forumactif est aux forums ce que skyblog/overblog/gamekult est aux blogs: une plateforme d'hébergement fermée ne proposant pas de récupérer le contenu du site afin de le migrer sur un autre serveur.&lt;/p&gt;
Heureusement, en utilisant des scripts d'aspiration qui vont visiter chacune des pages du forum pour récupérer les messages et les réintégrer dans une nouvelle base de donnée locale, on peut s'en sortir.&lt;br /&gt;&lt;br /&gt;Le seul script que j'ai trouvé sur &lt;a href=&quot;http://www.le-lalf.fr.nf/&quot;&gt;http://www.le-lalf.fr.nf/&lt;/a&gt; est un peu buggé et ne récupère pas tout ce que je veux (problème d'encodages, avatars manquants, exportation dans du PHPBB...) mais dispose déjà de bonnes bases (gestion de récupération de contenu des pages, structure d'une base locale). Le code source étant sous GPL, j'ai donc pu le modifié et l'améliorer avec un export vers SMF.&lt;br /&gt;&lt;br /&gt;Elle est disponible ici : &lt;a href=&quot;http://fichiers.keul.fr/forumactif_to_smf%20v1.00.zip&quot;&gt;forumactif_to_smf v1.00.zip (34.7Ko)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Et encore, n'oubliez pas que :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;les messages privés entre membres ne peuvent pas êtres déménagés sur le nouveau forum, étant inaccessibles.&lt;/li&gt;
&lt;li&gt;les mot de passe des membres ne peuvent pas non plus être déménagés, obligeant les membres à les réinitialiser.&lt;/li&gt;
&lt;li&gt;le déménagement se fait en aspirant les messages page par page (une seule à la fois, pour éviter le ban de l'anti-aspirateur) et peut donc prendre très longtemps&lt;/li&gt;
&lt;/ul&gt;
Pour info, j'ai passé une bonne semaine sur ce script et le script a aspiré l'ancien forum (de 26 000 messages) pendant une dizaine d'heures.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;A titre de comparaison, j'ai déjà migré en un quart d'heure un blog d'une plateforme nucleus à la plateforme dotclear avec changement de serveur (passage d'un compte free à un serveur dédié) via un petit script d'adaptation des champs, soit une dizaine de minutes de code à taper, et cinq minutes de conversion pour un blog de 1500 articles et 25000 commentaires environ.&lt;/p&gt;
Conclusion :&lt;br /&gt;- Avant de vous inscrire à un blog/forum/service cloud, vérifiez que vous pouvez sauvegarder sur VOTRE disque dur les données dans un format lisible (utilisable par un logiciel libre).&lt;br /&gt;</description>
        
              </item>
          <item>
        <title>L'informatique Libre</title>
        <link>https://keul.fr/post/12</link>
        <guid isPermaLink="false">urn:md5:59e4ba1930a17f4aafc737986bf2cd94</guid>
        <pubDate>Thu, 26 Aug 2010 23:46:00 +0200</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          &lt;h3&gt;&lt;strong&gt;Un constat&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;D'un coté, nous avons le progrès qui permet&amp;nbsp; de sauver des vies grâce à la médecine, d'explorer notre passé, de découvrir la richesse de notre univers, d'avoir une vision sur l'avenir, d'exprimer notre créativité artistique. Cela fait de nous sans conteste l'espèce animal la plus évoluée.&lt;/p&gt;
&lt;p&gt;D'un autre coté, on a la stupidités humaine qui pollue et sur-peuple notre planète, sème les différents entre hommes et change la loi du plus fort en loi du plus puissant (Pas besoin d'avoir la force d'un gorille quand on a le pouvoir de faire accuser de viol le fondateur de WikiLeaks parce qu'il gène certains gouvernements). Avec des politiciens créant des lois absurdes (&lt;a href=&quot;http://www.laquadrature.net/&quot;&gt;Hadopi, ACTA, neutralitée
du net&lt;/a&gt;, vidéo-surveillance contrôle du peuple et du commerce) qui
profitent plus à la classe sociale élevé qu'à toute la population.&lt;/p&gt;
&lt;h3&gt;Que peut-on faire?&lt;/h3&gt;
&lt;p&gt;Seul, on ne peut évidement pas faire grand chose, et n'ayant pas les compétences dans tous les domaines, je me limiterai à celui de l'informatique, que les politiciens ne maitrisent pas et que les entreprises à but lucratif n'exploitent pas encore totalement.&lt;/p&gt;
Le pire scénario serait de voir le gouvernement contrôler chaque ordinateur, et chaque utilisateur identifié par un certificat sécurisé unique et se débarrassent des gêneurs plus rapidement qu'aujourd'hui (&lt;a href=&quot;http://www.numerama.com/magazine/13135-exclusif-l-e-mail-contre-hadopi-qui-a-licencie-jerome-bourreau-de-tf1.html&quot;&gt;un anti-hadopi chez TF1&lt;/a&gt;, &lt;a href=&quot;http://www.lemonde.fr/technologies/article/2010/08/22/julian-assange-on-m-avait-mis-en-garde-contre-des-pieges-sexuels_1401540_651865.html&quot;&gt;le fondateur de wikileaks&lt;/a&gt;, ...)&lt;br /&gt;Les entreprises vendraient leurs logiciels et fonctionnalités (&lt;a href=&quot;http://fr.wikipedia.org/wiki/Contenu_t%C3%A9l%C3%A9chargeable&quot;&gt;DLC&lt;/a&gt;) avec des marges en or, profitant de la publicité et exploitent les données privées, sans avoir à innover(IE6, CD audio), écrasent la vraie concurrence avec des brevets et s'allie avec celle restante, &lt;a href=&quot;http://www.clubic.com/univers-mac/apple/actualite-357384-foxconn-solution-freiner-suicides-embaucher-employes-ages.html&quot;&gt;sans respect&lt;/a&gt;, et en profitant bien de leur argent, faut dire que:&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span id=&quot;intelliTXT&quot;&gt;&lt;q&gt;Pour survivre, Steve Jobs n'a bénéficié d'aucun
passe-droit dû à sa notoriété ni à sa richesse, mais sa richesse lui a
bel et bien sauvé la vie.&amp;nbsp;Car à partir du moment où il a su qu'il lui
faudrait un don d'organe pour ne pas mourir, le patron d'Apple a passé
des semaines à parcourir les Etats-Unis pour se rendre de centres
hospitaliers en centres hospitaliers, et se faire inscrire sur les
listes d'attente de chacun.&lt;/q&gt; Source: &lt;a href=&quot;http://www.numerama.com/magazine/15550-la-mort-frolee-par-steve-jobs-aboutit-a-une-loi-sur-le-don-d-organes.html&quot;&gt;Numérama&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;h3&gt;La problématique &lt;/h3&gt;
Si le logiciel libre commence à se répandre de plus en plus (firefox, OpenOffice, thunderbird, VLC, ...), les données ont bien du mal par contre. Et pourtant, vos données ont énormément de valeurs:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Combien coute un DVD de film? Moins de 50€.&lt;/li&gt;
&lt;li&gt; Combien coûte final cut studio? &lt;a href=&quot;http://store.apple.com/fr-business/product/MB642&quot;&gt;Environ 1000€&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Combien coûte vos films de vacances, de souvenirs, de fêtes? ça n'a pas de prix.&lt;/li&gt;
&lt;li&gt;Combien coûte le film des premiers pas sur la lune? &lt;a href=&quot;http://formats-ouverts.org/blog/2006/08/30/925-une-histoire-incroyable-les-bandes-perdues-de-la-nasa-c-est-une-affaire-de-formats&quot;&gt;n'a plus de prix&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
Accepter des DRM, des données dans &quot;le cloud&quot; sans importation ouverte, des formats brevetés/propriétaires, c'est comme accepter d'abandonner sa liberté pour sa sécurité. Vous y perdrez tout, et sans même le savoir.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Les solutions&lt;/h3&gt;
&lt;strong&gt;Posez la question : &quot;Est-ce que je peux amener mes données chez un concurrent? (on peut être sois-même concurrent)&quot;.&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;Maintenant, je vous propose un petit exercice:&lt;br /&gt;Imaginons que vous utilisez les services suivants, chez lequel possédez-vous vos données?&lt;ul&gt;&lt;li&gt;Un Compte Google document&lt;/li&gt;
&lt;li&gt;Un Skyblog&lt;/li&gt;
&lt;li&gt;Un compte Youtube&lt;/li&gt;
&lt;li&gt;Un blog hébergé chez un hébergeur généraliste ou dans votre maison&lt;/li&gt;
&lt;li&gt;Un forum chez Forumactif&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;addspoiler&quot;&gt;&lt;a onclick=&quot;javascript:this.parentNode.childNodes[0].style.display='none';this.parentNode.childNodes[1].style.display='';this.parentNode.childNodes[2].style.display='';return false;&quot; href=&quot;https://keul.fr/post/12#&quot;&gt;Afficher les réponses de l'exercice&lt;/a&gt;&lt;a style=&quot;display:none;&quot; onclick=&quot;this.parentNode.childNodes[0].style.display='';this.parentNode.childNodes[1].style.display='none';this.parentNode.childNodes[2].style.display='none';return false;&quot; href=&quot;https://keul.fr/post/12#&quot;&gt;Masquer les réponses de l'exercice&lt;/a&gt;&lt;div style=&quot;display:none;&quot;&gt;&lt;p&gt;&lt;ul&gt;&lt;li&gt;Un compte Google document =&amp;gt; OUI (Vous pouvez les importer en masse au format OpenOffice, enfin, tant qu'ils le permettent, et ça se passe ici: &lt;a href=&quot;https://www.google.com/takeout&quot;&gt;https://www.google.com/takeout&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Un Skyblog =&amp;gt; NON&lt;/li&gt;
&lt;li&gt;Un compte Youtube =&amp;gt; NON&lt;/li&gt;
&lt;li&gt;
Un blog hébergé chez un hébergeur généraliste =&amp;gt; OUI&lt;/li&gt;
&lt;li&gt;
Un forum chez Forumactif =&amp;gt; NON&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;</description>
        
              </item>
          <item>
        <title>Désolé.</title>
        <link>https://keul.fr/post/78</link>
        <guid isPermaLink="false">urn:md5:a27c2a9c77582235a047bb9159b9cd44</guid>
        <pubDate>Sun, 14 Jun 1970 21:40:00 +0100</pubDate>
        <dc:creator>Keul</dc:creator>
                        <description>          &lt;p&gt;Un peu de contexte pour ceux qui ne seraient pas arrivés ici par twitter.&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;&quot; class=&quot;media&quot; src=&quot;https://keul.fr/public/failcatadioptre/twwetfail.jpg&quot; style=&quot;margin: 0 auto; display: table;&quot; /&gt;&lt;/p&gt;

&lt;p style=&quot;text-align: center;&quot;&gt;(&lt;a href=&quot;https://twitter.com/Keul125/status/1668627777959120899&quot;&gt;source&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Donc j'ai fait remarquer à une personne qu'elle n'avais pas de catadioptre sur la roue arrière de son vélo.&lt;br /&gt;
Et je me suis fait avoir comme un bleu car même si les catadioptre des roues sont normalement orange, ceux-ci sont blancs, et je le n'avais pas vu sur la photo à cause du fond blanc.&lt;br /&gt;
Et quand on réagit pas comme un con et qu'on réfléchit à tête reposé, on peut deviner que tout comme les voitures n'out pas toujours eu des feux de croisement blancs, mais qu'ils en avaient des jaunes auparavent. (et un catadioptre avec un bon système de fixation tiens à vie)&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
Je souhaiterais mettre un peu de contexte en place:&lt;br /&gt;
Je suis une personne qui se soucie de la sécurité et quand je vois des défauts de sécurité j'essaie de le signaler quand je le peut (déjà fait plusieurs fois avec des voitures qui avaient une ampoule grillée ou même un camion en warnings qui avait un clignotant de pété)&lt;br /&gt;
Récemment, j'ai eu un déplacement a effectuer sur Paris avec du matériel à transporter et j'ai pris ma voiture (je prends le train sinon) et la bonne blague, c'est que je me suis fait arrêter pour avoir eu mon ampoule de feux de croisement grillé.&lt;br /&gt;
Je lui ai montré ma boite d'ampoules de rechange que j'avais dans ma boite à gants mais il m'as quand même &lt;a href=&quot;https://keul.fr/public/failcatadioptre/fail2.jpg&quot;&gt;collé une amende&lt;/a&gt;, selon lui, j'aurais dû m'en rendre compte. En plein jour à la sortie d'un tunnel éclairé. J'attends la réponse à la contestation de mon amende.&lt;br /&gt;
Je vais aussi à mon travail en vélo depuis 2 ans donc je n'utilise presque plus ma voiture. Et quand je circule de nuit, je suis assez dégouté de voir le nombre de personnes qui n'ont pas de lumières ou catadioptre la nuit, j'ai l'impression d'être le seul à avoir un gilet haute visibilité. Bon après j'ai 2 amis qui se sont faits volé leurs lampes perdant qu'on était dans un restaurant à Starbourg, donc je comprends qu'il y a beaucoup de vélos dans un état pas terrible. En fait, les vols et dégradations de vélos ont des conséquences assez graves.&lt;br /&gt;
Mais bon, même s'il peut aider à comprendre, mon contexte n'est pas une excuse.&lt;/p&gt;

&lt;p&gt;Donc, suite à mes deux tweets, une personne que je respecte énormément m'as dit que c'était de la masculinité toxique, et que je ne réalisais pas mon geste.&lt;/p&gt;

&lt;p&gt;Hein?&lt;/p&gt;

&lt;p&gt;Punaise, j'ai réfléchi, je relis mes tweets, je ne comprends pas le problème.&lt;/p&gt;

&lt;p&gt;puis TILT&lt;/p&gt;

&lt;p&gt;Je me suis foiré sur une règle que je connais pourtant dans un autre milieu, celui des artistes:&lt;br /&gt;
Quand on ne te demande pas ton avis, on ne dérange pas avec des remarques, on ne fait pas chier.&lt;/p&gt;

&lt;p&gt;Oui, j'étais stupide, et mon tweet n'est pas acceptable en réaction à un article qui montre les efforts et le défi qu'a pu réaliser une personne.&lt;/p&gt;

&lt;p&gt;J'en suis désolé et je fais mes excuses à Justine Virideau, en lui souhaitant bonne continuation.&lt;/p&gt;

&lt;p style=&quot;font-size:3em;&quot;&gt;&amp;#x1f647;&lt;/p&gt;
&lt;!-- &amp; # x1f647 ; --&gt;</description>
        
              </item>
      </channel>
</rss>
