<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://dascritch.net/feed/rss2/xslt" ?><rss version="2.0"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>da scritch net works - Mot-clé - html</title>
	<link>https://dascritch.net/</link>
	<description>Ma vie et tous ses ridicules petits à-côtés : mes émissions “CPU” sur Radio FMR, les standards web, le code et ce qui me passe par la tête.</description>
	<language>fr</language>
	<pubDate>Tue, 09 Jun 2026 06:48:08 +0200</pubDate>
	<copyright>CC pour les textes</copyright>
	<docs>http://blogs.law.harvard.edu/tech/rss</docs>
	<generator>Dotclear</generator>

	<sy:updatePeriod>daily</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<sy:updateBase>2026-06-09T06:48:08+02:00</sy:updateBase>

	
	<item>
		<title>cpu-audio.js enfin en 7.0</title>
		<link>https://dascritch.net/post/2021/04/28/cpu-audio.js-enfin-en-7.0</link>
		<guid isPermaLink="false">urn:md5:eafb4fbe4f9d9e81326929186044593d</guid>
		<dc:date>2021-04-28T06:51:00+02:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Webdev</dc:subject>
        
    <description>Ouais, j'avais d'autres billets techniques sur le même sujet, mais là, j'ai avancé sur le code plutôt que l'explication de texte ;)		&lt;span class="tags"&gt;&lt;br /&gt;&lt;a href="https://dascritch.net/category/Webdev"&gt;Webdev&lt;/a&gt; &lt;/span&gt;
	</description>
    <content:encoded>
		&lt;p&gt;Ouais, j'avais d'autres billets techniques sur le même sujet, mais là, j'ai avancé sur le code plutôt que l'explication de texte ;)&lt;span class="tags"&gt;&lt;br /&gt;
		&lt;a href="https://dascritch.net/category/Webdev"&gt;
			Webdev&lt;/a&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;
Commençons par un exemple avec une émission sur le son&amp;nbsp;:
&lt;/p&gt;
&lt;cpu-audio
    title=&quot;Ex0117 À la source du son&quot;
    poster=&quot;https://cpu.dascritch.net/public/Images/Emissions/.1910-Ex0117-SourceDuSon_s.jpg&quot;
    canonical=&quot;https://cpu.dascritch.net/post/2019/10/17/Ex0117-%C3%80-la-source-du-son&quot;
    waveform=&quot;https://cpu.dascritch.net/public/Sonores/Emissions/waveforms/0117-CPU%2817-10-19%29.png&quot;
    twitter=&quot;@cpuprogramme&quot;&gt;
    &lt;audio controls id=&quot;emission&quot;&gt;
        &lt;source src=&quot;https://cpu.dascritch.net/public/Sonores/Emissions/hls/0117-CPU%2817-10-19%29/index.m3u8&quot; type=&quot;application/x-mpegurl&quot; /&gt; 
        &lt;source src=&quot;https://cpu.dascritch.net/public/Sonores/Emissions/0117-CPU%2817-10-19%29.ogg&quot; type=&quot;audio/ogg&quot; /&gt;
        &lt;source src=&quot;https://cpu.dascritch.net/public/Sonores/Emissions/podcast/0117-CPU%2817-10-19%29.mp3&quot; type=&quot;audio/mpeg&quot; data-downloadable /&gt;
        &lt;track kind=&quot;chapters&quot; src=&quot;https://dascritch.net/vrac/.blog2/webdev/0117-CPU_17-10-19_.vtt&quot; default /&gt;
    &lt;/audio&gt;
   &lt;p&gt;(S'il n'a pas encore démarré, un peu de patience, sinon le lecteur reste utilisable, c'est de la dégradation élégante)&lt;/p&gt;
&lt;/cpu-audio&gt;

&lt;p&gt;
Cela faisait un peu de temps que je n'avais pas donné de nouvelles de mon lecteur audio. Alors que pourtant j'avais écrit toute une série de billets à son sujet&amp;nbsp;: 
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://dascritch.net/post/2018/11/06/Mettre-de-l-audio-dans-le-web-n-a-pas-%C3%A9t%C3%A9-simple&quot;&gt;Mettre de l'audio dans le web n'a pas été simple&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dascritch.net/post/2018/11/06/Reconstruire-son-lecteur-audio-pour-le-web&quot;&gt;Reconstruire son lecteur audio pour le web&lt;/a&gt; (sur la version 5)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dascritch.net/post/2019/06/05/Retravailler-un-lecteur-web-audio-dans-les-petites-largeurs&quot;&gt;Retravailler un lecteur web audio dans les petites largeurs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dascritch.net/post/2019/06/18/Le-blues-du-navigator.share&quot;&gt;Le blues du Web Share&lt;/a&gt;  (&lt;a href=&quot;https://dascritch.net/post/2019/06/26/We-need-Web-Share&quot;&gt;english version&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dascritch.net/post/2019/11/13/Deux-couleurs-bizarres-en-CSS&quot;&gt;Deux couleurs bizarres en CSS&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
&lt;a href=&quot;https://github.com/dascritch/cpu-audio/releases/tag/7.0&quot;&gt;&lt;em&gt;cpu-audio.js&lt;/em&gt; vient de passer en version 7.0.&lt;/a&gt; Le player audio de &lt;a href=&quot;http://cpu.pm&quot;&gt;l'émission CPU&lt;/a&gt; en WebComponent a été revu en profondeur, &lt;a href=&quot;https://github.com/dascritch/cpu-audio/releases/tag/7.0&quot;&gt;avec moult corrections et notamment l'arrivée des thèmes graphiques&lt;/a&gt; en plus du &lt;a href=&quot;https://dascritch.github.io/cpu-audio/applications/live_config.html&quot;&gt;système simple de configuration&lt;/a&gt;&lt;/p&gt;


&lt;p class=&quot;c&quot;&gt;&lt;a href=&quot;https://dascritch.github.io/cpu-audio/&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/.2104-cpuaudio-7_m.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;L'idée d'origine de cette bibliothèque était de pouvoir donner une URL qui puisse pointer à un instant précis d'un audio dans une page web. Car le standard existe mais n'est pas implémenté par les principaux navigateurs. Or il est bien utile &lt;a href=&quot;https://cpu.pm/0069&quot;&gt;pour les émissions de 5h30&lt;/a&gt;. Et quitte à le faire, le faire avec un minimum de dépendances et un maximum de souplesse.&lt;/p&gt;

&lt;p&gt;Par la suite, les principales API sont arrivées pour enfin stabiliser les Web-components, ce qi m'a permis d'enfin réaliser une bibliothèque javascript isolée, transportable, agnostique, petite (sous les 50ko) et toujours en &lt;em lang=&quot;en&quot;&gt;vanilla&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;J'ai donc déjà longuement raconté sur ce blog &lt;a href=&quot;https://dascritch.net/post/2018/11/06/Reconstruire-son-lecteur-audio-pour-le-web&quot;&gt;les démarches de conception qui m'ont permis d'y arriver&lt;/a&gt; et de le faire dans la licence GPL.&lt;/p&gt;

&lt;p&gt;J'avais besoin de refondre complètement la bibliothèque pour la rendre plus maintenable, plus facile aussi pour que n'importe quel dev ou intégrateur front s'en empare. Il est ainsi possible de créer des thèmes graphiques sans toucher au code JS, ce dernier ayant même une tolérance d'implémentation.&lt;/p&gt;

&lt;p&gt;Il reste toujours les idées qu'on avait jeté au début, que je ne réaliserai jamais seul mais que j'espère donner une base saine pour construire :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;des thèmes plus aboutis et jolis&lt;/li&gt;
&lt;li&gt;une WebExtension pour lire n'importe quel audio tranquillement&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/dascritch/cpu-audio/issues/8&quot;&gt;créer des playlist décentralisées&lt;/a&gt; pour montrer que le web est beau car remixable&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/dascritch/cpu-audio/issues/76&quot;&gt;créer des commentaires à la SoundCloud/MixCloud mais décentralisés&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;des outils encore plus poussés que &lt;a href=&quot;https://dascritch.github.io/cpu-audio/applications/chapters_editor.html&quot;&gt;l'éditeur de chapitre&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/dascritch/cpu-audio/issues/117&quot;&gt;ajouter un spectrogramme via add-on&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Étendre pour l'utiliser aussi sur de la vidéo&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Et n'hésitez pas à me contacter si vous avez besoin d'aide.&lt;/p&gt;

&lt;p&gt;J'ai encore beaucoup de choses à dire, mais surtout beaucoup à remercier&amp;nbsp;; d'abord toute l'équipe de l'émission et ceux de la radio qui font qu'on reste très impertinents depuis 1981. Avec une pensée spéciale pour le Tetalab et Mixart Myrys où nous avions enregistré de nombreuses émissions et &lt;a href=&quot;https://linuxfr.org/users/dascritch/journaux/mixart-myrys-lutte-pour-sa-survie&quot;&gt;dans une panade noire.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ensuite ceux qui m'ont aidé spécialement sur ce projet de code :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href=&quot;https://oncletom.io/&quot;&gt;Thomas Parisot&lt;/a&gt;  pour le standard Media Fragment, qui permet à ce player de créer des liens hypertextes temporels&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&quot;https://github.com/chibani&quot;&gt;Loïc Gerbaud&lt;/a&gt; pour des corrections&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&quot;http://www.phonitive.fr/&quot;&gt;Guillaume Lemoine&lt;/a&gt; qui m'a bien aidé avec du prêt de matos au début&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&quot;https://twitter.com/infestedgrunt&quot;&gt;Benoît Salles&lt;/a&gt; et &lt;a href=&quot;https://twitter.com/MichelPoulain&quot;&gt;Michel Poulain&lt;/a&gt; pour les tests, &lt;a href=&quot;https://twitter.com/GabiBoyer&quot;&gt;Gabi Boyer&lt;/a&gt; pour m'avoir passé un iPhone SE, téléphone qui est certes toujours mis à jour, mais Apple n'arrive vraiment pas à tenir Safari aux standards.&lt;/li&gt;
&lt;li&gt;
&lt;a href=&quot;https://twitter.com/mariejulien/status/1047827583126183937&quot;&gt;@mariejulien&lt;/a&gt; pour m'avoir donné envie de ré-écrire un &lt;a href=&quot;https://github.com/dascritch/cpu-audio/blob/master/CONTRIBUTING.md&quot;&gt;CONTRIBUTING.md plus accessible&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href=&quot;https://twitter.com/porteneuve&quot;&gt;Christophe Porteneuve&lt;/a&gt; de &lt;a href=&quot;http://delicious-insights.com/&quot;&gt;Delicious Insights&lt;/a&gt;, un ami et un formateur JS qui m'a donné un magistral coup de pied au cul. Ses formations JS sont de sérieux cadeaux pour les devs webs.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/scombat/react-cpu-audio&quot;&gt;scombat qui a écrit une intégration minimale de cpu-audio.js dans React&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/edas&quot;&gt;Éric Daspet pour ses précieuses remarques sur la documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;N'hésitez pas à le faire connaitre, si vous avez un projet audio dans le web qui nécessite un lecteur.&lt;/p&gt;</content:encoded>
    
    
    
      </item>
  
	<item>
		<title>Retravailler un lecteur web audio dans les petites largeurs</title>
		<link>https://dascritch.net/post/2019/06/05/Retravailler-un-lecteur-web-audio-dans-les-petites-largeurs</link>
		<guid isPermaLink="false">urn:md5:fd937ab4c0bc767fa6ceaa37f477846f</guid>
		<dc:date>2019-06-05T07:32:00+02:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Webdev</dc:subject>
        
    <description>Parce que les chiffres ne mentent pas : nous sommes de plus en plus nombreux à avoir un smartphone. (Essayez de prononcer cette phrase d'un ton concerné en public sans rire, ça vous fera l'après-midi)		&lt;span class="tags"&gt;&lt;br /&gt;&lt;a href="https://dascritch.net/category/Webdev"&gt;Webdev&lt;/a&gt; &lt;/span&gt;
	</description>
    <content:encoded>
		&lt;p&gt;Parce que les chiffres ne mentent pas : nous sommes de plus en plus nombreux à avoir un smartphone. (Essayez de prononcer cette phrase d'un ton concerné en public sans rire, ça vous fera l'après-midi)&lt;span class="tags"&gt;&lt;br /&gt;
		&lt;a href="https://dascritch.net/category/Webdev"&gt;
			Webdev&lt;/a&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;
Cet article est dans &lt;a href=&quot;https://dascritch.net/serie/cpu-audio&quot;&gt;la série consacrée au développement&lt;/a&gt; de la bibliothèque &lt;a  href=&quot;https://dascritch.github.io/cpu-audio/&quot;&gt;cpu-audio.js&lt;/a&gt; et documente les affres de &lt;a href=&quot;https://github.com/dascritch/cpu-audio/releases/tag/6.0&quot;&gt;sa version 6.&lt;/a&gt; 
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://dascritch.net/post/2018/11/06/Mettre-de-l-audio-dans-le-web-n-a-pas-%C3%A9t%C3%A9-simple&quot;&gt;Mettre de l'audio dans le web n'a pas été simple&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dascritch.net/post/2018/11/06/Reconstruire-son-lecteur-audio-pour-le-web&quot;&gt;Reconstruire son lecteur audio pour le web&lt;/a&gt; (sur la version 5)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Retravailler un lecteur web audio dans les petites largeurs&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dascritch.net/post/2019/06/18/Le-blues-du-navigator.share&quot;&gt;Le blues du Web Share&lt;/a&gt; (&lt;a href=&quot;https://dascritch.net/post/2019/06/26/We-need-Web-Share&quot;&gt;english version&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dascritch.net/post/2019/11/13/Deux-couleurs-bizarres-en-CSS&quot;&gt;Deux couleurs bizarres en CSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dascritch.net/post/2021/04/28/cpu-audio.js-enfin-en-7.0&quot;&gt;cpu-audio.js enfin en 7.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Tout-terrain WebVTT pour de l'audio&lt;/li&gt;
&lt;li&gt;Dichotomie entre podcast et web sur l'audience&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
Et cet article est long, car &lt;a href=&quot;https://dascritch.net/post/2018/11/06/Reconstruire-son-lecteur-audio-pour-le-web&quot;&gt;comme le premier, je tiens à documenter ma démarche.&lt;/a&gt; Et comme j'aborderais plusieurs thématiques, vous aurez plusieurs épisodes. Vous pouvez tester l'application ici ↓ dans sa &lt;em&gt;version de travail en cours.&lt;/em&gt;
&lt;/p&gt;

&lt;cpu-audio title=&quot;Extrait de la performance “La Radio du Bout de la Nuit”&quot;&gt;
&lt;strong&gt;&lt;a href=&quot;https://dascritch.net&quot;&gt;Pour lire ce billet, il est conseiller d'aller sur mon site dascritch.net. Si vous lisez ce texte, c'est que probablement vous n'y êtes pas.&lt;/a&gt;&lt;/strong&gt;
	&lt;audio controls src=&quot;https://dascritch.net/vrac/Emissions/Speciales/podcast/1009-LaRadioDuBoutDeLaNuit.mp3&quot;&gt;
	&lt;/audio&gt;
&lt;/cpu-audio&gt;
&lt;p&gt;
	&lt;small&gt;&lt;a href=&quot;http://www.printempsdeseptembre.com/fr/le-festival/avant/2011/la-radio-du-bout-de-la-nuit/757&quot;&gt;Performance de Jean-Yves Jouannais et le Chevalier de Rinchy avec Kinou et DJ No Breakfast lors du festival Printemps de Septembre 2010, tous droits réservés &lt;/a&gt;.&lt;/small&gt;
&lt;/p&gt; 

&lt;p&gt;
Avant d'entrer dans le vif du sujet, je rappelle que &lt;strong&gt;je ne suis pas &lt;em lang=&quot;en&quot;&gt; web-designer&lt;/em&gt;, mais un développeur d'applications web&lt;/strong&gt; et que je n'ai qu'un minimum de bagages pour construire un &lt;em lang=&quot;en&quot;&gt;web component&lt;/em&gt; faisant office de &lt;em lang=&quot;en&quot;&gt;player&lt;/em&gt; audio. Que &lt;strong&gt;ce composant a été écrit afin de l'intégrer &lt;a href=&quot;http://cpu.pm&quot;&gt;dans un site d'une émission radio&lt;/a&gt;, ceci dans le but de lier et de lire des sonores&lt;/strong&gt; &lt;a href=&quot;https://cpu.dascritch.net/category/Programmes&quot;&gt;qui durent en moyenne une bonne heure&lt;/a&gt;. La &lt;a href=&quot;https://cpu.dascritch.net/post/2017/12/14/Ex0069-How-deep-learning-is-your-love&quot;&gt;plus longue des émissions de CPU dure 5h30&lt;/a&gt;, un exemple &lt;abbr title=&quot;pas franchement recommandé devant un public prude, mineur ou non-consentant&quot;&gt;NSFW&lt;/abbr&gt; qui montre à l'extrême les contraintes. 
&lt;/p&gt;
&lt;p&gt;
J'ai qu'un minimum de culture en design, mais j'ai eu la chance d'avoir fréquenté depuis 2000 des designers web (des vrais) qui étaient exigeants et m'ont beaucoup appris à &lt;del&gt;coups de b&lt;/del&gt; la dure.
&lt;/p&gt;

&lt;h3 id=&quot;petit_poche_gros_contrainte&quot;&gt;Petits dans la poche, gros dans les contraintes&lt;/h3&gt;

&lt;p&gt;
L'un des gros gros chantiers évolutifs de &lt;a href=&quot;https://dascritch.github.io/cpu-audio/&quot;&gt;CPU-Audio.js&lt;/a&gt; pour cette version fut la mise au point d'une interface confortable pour les smartphones.
&lt;/p&gt;
&lt;p&gt;
Par rapport à ceux dits &lt;q&gt;de bureau&lt;/q&gt;, on a sur ce type d'ordinateurs deux problématiques supplémentaires&amp;nbsp;:
&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;&lt;strong&gt;Un écran nettement plus petit,&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;un dispositif de pointage bien moins précis.&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
Voici la comparaison avec mon &lt;em lang=&quot;en&quot;&gt;web component&lt;/em&gt; sur mon propre blog dans sa version de Janvier 2019, tel que vu sur un ordinateur de bureau (1920&amp;nbsp;px de large) avec un pointeur de souris.
&lt;/p&gt;
&lt;figure&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-pointer-ordinateur.png&quot; alt=&quot;&quot; /&gt;
    &lt;figcaption&gt;la souris a une précision au pixel et son curseur ne cache pas tout l'environnement immédiat&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;
… et le même composant, mais vu sur un smartphone d'une largeur de 320&amp;nbsp;px (virtuels, résolution typique d'un iPhone&amp;nbsp;5 en mode portrait, &lt;a href=&quot;http://dpi.lv/&quot;&gt;en fait l'écran fait dans les 1080&amp;nbsp;pixels physiques&lt;/a&gt;, mais expliquer &lt;a href=&quot;https://developer.mozilla.org/fr/docs/Web/CSS/resolution#dpi&quot;&gt;les &lt;code&gt;dppx&lt;/code&gt; dans la foulée serait trop long&lt;/a&gt;).&lt;br /&gt;
Le disque rouge est une simulation l'espace d'appui d'&lt;a href=&quot;https://www.atlantico.fr/decryptage/3289888/connaissez-vous-le-syndrome-du-gros-doigt--il-risque-pourtant-d-affecter-de-plus-en-plus-nos-vies-a-tous&quot;&gt;un gros doigt normal prompt à la bourde&lt;/a&gt;.
&lt;/p&gt;
&lt;figure&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-pointer-smartphone.png&quot; alt=&quot;&quot; /&gt;
    &lt;figcaption&gt;environ 50&amp;nbsp;pixels de diamètre, sans compter l'imprécision dû au virage effectué par votre bus à une certaine vitesse&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;
    Il existe un certain nombre de règles de bonnes pratiques pour y palier&amp;nbsp;: 
&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.uxpin.com/studio/blog/a-hands-on-guide-to-mobile-first-design/&quot;&gt;&lt;strong&gt;&lt;em lang=&quot;en&quot;&gt;mobile first&lt;/em&gt;&lt;/strong&gt; : On présente en priorité les éléments les plus importants&lt;/a&gt; de la fonctionnalité voulue&amp;nbsp;;&lt;/li&gt;
    &lt;li&gt;On aménage des &lt;strong&gt;zones cliquables suffisamment grandes et espacées&lt;/strong&gt;&amp;nbsp;;&lt;/li&gt;
    &lt;li&gt;Le composant doit s'afficher très très vite, et donc &lt;strong&gt;avoir un code très léger avec le moins de dépendances&lt;/strong&gt; possibles, si possible aucune&amp;nbsp;;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.alsacreations.com/article/lire/1615-cest-quoi-le-responsive-web-design.html&quot;&gt;&lt;strong&gt;&lt;em lang=&quot;en&quot;&gt;Responsive Web Design&lt;/em&gt;&lt;/strong&gt; (&lt;abbr&gt;RWD&lt;/abbr&gt;) : On ajoute l'accessoire quand on a plus de largeur&lt;/a&gt; disponible.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
J'étais déjà parti avec &lt;a href=&quot;https://learn.onemonth.com/responsive-vs-adaptive-vs-fluid-design/&quot;&gt;un design liquide (ou &lt;q&gt;fluide&lt;/q&gt; ou &lt;q&gt;coulant&lt;/q&gt;)&lt;/a&gt; pour être le plus confortable, dans l'idée que mon composant puisse être intégré quels que soient les choix sur le design du &lt;em lang=&quot;en&quot;&gt;layout&lt;/em&gt; des sites. Pour la légèreté, je tente de maintenir le code compilé sous les 50&amp;nbsp;kB, même s'il a pris 20% de poids en plus entre la v5 et la v6.
&lt;/p&gt;
&lt;p&gt;
Mais il y avait encore quelques manques dans &lt;a href=&quot;https://github.com/dascritch/cpu-audio/releases/tag/5.4&quot;&gt;la version 5&lt;/a&gt; pour que mon &lt;em lang=&quot;en&quot;&gt;player&lt;/em&gt; audio soit vraiment confortable à utiliser sur smartphones.
&lt;/p&gt;

&lt;h3 id=&quot;soucis_en_def&quot;&gt;Et déjà un premier souci avec les CSS &lt;em lang=&quot;en&quot;&gt;media queries breakpoints&lt;/em&gt;&lt;/h3&gt;

&lt;p&gt;
Car effectivement, il est possible de cibler des définitions &lt;a href=&quot;https://dascritch.net/tag/css&quot;&gt;CSS&lt;/a&gt; par des règles &lt;em lang=&quot;en&quot;&gt;media queries&lt;/em&gt; qui s'activent en fonction de la largeur de l'écran ou de la finesse de l'afficheur physique (via l'unité de ratio &lt;code&gt;dppx&lt;/code&gt; évoquée plus haut entre parenthèses, oui je sais, ça fait lourd à lire tous ces apartés). Pour les définitions en fonction de la largeur d'écran, cela revient à définir un &lt;em lang=&quot;en&quot;&gt;breakpoint&lt;/em&gt;, une dimension critique d'une &lt;em lang=&quot;en&quot;&gt;media query&lt;/em&gt; ou le chouïa qui fait changer l'aspect, des propriétés peuvent changer plus ou moins radicalement. J'ai choisi cette stratégie car c'est la plus pratique pour une conception en design liquide.
&lt;/p&gt;
&lt;p&gt;
Mais il y a un gros problème dans l'idée de concevoir un &lt;em lang=&quot;en&quot;&gt;web component&lt;/em&gt; installable partout&amp;nbsp;: Il n'est pas possible d'appliquer lesdites règles en fonction de l'espace disponible dans un élément parent en pur CSS. C'est faisable &lt;a href=&quot;https://webdesign.tutsplus.com/articles/the-current-state-of-element-queries--cms-29690&quot;&gt;mais avec des &lt;em lang=&quot;en&quot;&gt;polyfill&lt;/em&gt; en &lt;a href=&quot;https://dascritch.net/tag/javascript&quot;&gt;javascript&lt;/a&gt; particulièrement lourdingues&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Je m'explique : Si l'écran est d'une largeur d'écran de bureau (&lt;a href=&quot;https://www.youtube.com/watch?v=hUxRkuL_LMU&quot;&gt;vers 2000 et au-delàààààà&lt;/a&gt;), mais qu'un intégrateur installe mon composant sur un site, dans une gouttière qui fait 320&amp;nbsp;pixels de large, l'aspect de mon composant ne sera pas adapté car les boutons seront trop gros, et par exemple pour les titres, ils ne rentreront pas dedans.&lt;br /&gt;
Autre exemple : supposons que la mise en forme du site est entre un bloc principal à largeur variable, et une colonne à taille fixe de 200&amp;nbsp;pixels. Si le lecteur est dans le bloc principal, il serait logique qu'il change de forme pour une largeur inférieure à 320&amp;nbsp;pixels quand la fenêtre tombe en dessous de 520&amp;nbsp;pixels…
&lt;/p&gt;

&lt;code&gt;&lt;pre&gt;@media (max-width: &lt;em&gt;320px&lt;/em&gt;) {
    dommage, hein ?
}&lt;/pre&gt;&lt;/code&gt;

&lt;p&gt;
Tommy Hodgins a fait une proposition auprès du W3C qui me serait super utile et totalement indiquée dans mon cas&amp;nbsp;: Les &lt;a href=&quot;https://tomhodgins.github.io/element-queries-spec/element-queries.html&quot;&gt;&lt;strong&gt;CSS Element Queries&lt;/strong&gt; qui proposent de définir en &lt;em lang=&quot;en&quot;&gt;breakpoints&lt;/em&gt; la dimension d'un élément englobant&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
La proposition CSS Element Queries permettrait de définir des règles appliquées &lt;q&gt;si la largeur de l'écran fait 320&amp;nbsp;pixels ou moins ou que l'élément &lt;code&gt;#conteneur&lt;/code&gt; a une largeur de 320&amp;nbsp;pixels ou moins&lt;/q&gt;&amp;nbsp;:
&lt;/p&gt;

&lt;code&gt;&lt;pre&gt;@media (max-width: &lt;em&gt;320px&lt;/em&gt;) , @element #conteneur and (max-width: &lt;em&gt;320px&lt;/em&gt;) {
    J'en rêve, mais j'en rêve ! &lt;a href=&quot;https://github.com/dascritch/cpu-audio/blob/5/src/scoped.css#L409&quot;&gt;(c'est déjà dans mon code)&lt;/a&gt;
}&lt;/pre&gt;&lt;/code&gt;

&lt;p&gt;
Hélas, cette proposition ne semble pas être au programme du CSS &lt;em lang=&quot;en&quot;&gt;working group&lt;/em&gt; du W3C et donc pas près d'être implémentée nativement. Et évidemment, tout &lt;em lang=&quot;en&quot;&gt;polyfill&lt;/em&gt; est lourd, même avec l'arrivée prochaine de l'API &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver&quot;&gt;ResizeObserver&lt;/a&gt;. &lt;br /&gt;
Pourquoi ? Imaginez que vous chargez 4 ou 5 &lt;em lang=&quot;en&quot;&gt;web components&lt;/em&gt; dans la même philosophie de conception, qui chacune lance son &lt;em lang=&quot;en&quot;&gt;polyfill&lt;/em&gt;… Ouais, évitez le &lt;em lang=&quot;en&quot;&gt;CSS-in-JS&lt;/em&gt; dans ce cas-là&amp;nbsp;: vous risquez de ne plus rien contrôler correctement.
&lt;/p&gt;

&lt;p&gt;
Autre frustration&amp;nbsp;: il n'est pas possible d'utiliser des variables CSS pour définir des &lt;em lang=&quot;en&quot;&gt;breakpoints&lt;/em&gt;, des changements de résolutions significatifs. Dans mon projet, &lt;a href=&quot;https://github.com/dascritch/cpu-audio/blob/master/src/scoped.css&quot;&gt;le style est défini est dans une CSS locale&lt;/a&gt;, tandis que &lt;a href=&quot;https://github.com/dascritch/cpu-audio/blob/master/src/global.css&quot;&gt;les variables reparamétrables par l'utilisateur sont dans une CSS globale&lt;/a&gt;, normalement, toutes les variables qui intéressent les graphistes sont dans la CSS globale… sauf ce qui défini les &lt;em lang=&quot;en&quot;&gt;breakpoints&lt;/em&gt;&amp;nbsp;!&lt;br /&gt;
C'est pour ça qu'&lt;a href=&quot;https://github.com/dascritch/cpu-audio/issues/51&quot;&gt;ils sont codés en dur à 640&amp;nbsp;px, 480&amp;nbsp;px et 320&amp;nbsp;px&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Pourquoi une telle frustration&amp;nbsp;? En fait, ce manque est intentionnel&amp;nbsp;: les variables sont justement variables selon les usages et leur définition, pouvant vite devenir un casse-tête pour les navigateurs web à recalculer dans un &lt;em lang=&quot;en&quot;&gt;media query&lt;/em&gt;.
&lt;/p&gt;
&lt;p&gt;
Et on pourrait aussi avoir des… maladresses genre&amp;nbsp;: 
&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&lt;var&gt;--largeur&lt;/var&gt; : &lt;em&gt;1000px&lt;/em&gt;;
@media (max-width: var(&lt;var&gt;--largeur&lt;/var&gt;)) {
    &lt;var&gt;--largeur&lt;/var&gt; : &lt;em&gt;500px&lt;/em&gt;;
}&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;
&lt;a href=&quot;https://knowyourmeme.com/memes/do-want-do-not-want&quot;&gt;&lt;q lang=&quot;en-CN&quot;&gt;Do not want&lt;/q&gt;&lt;/a&gt; comme on dit dans le secteur.
&lt;/p&gt;

&lt;p&gt;
Il tourne actuellement au W3C une autre proposition, &lt;a href=&quot;https://drafts.csswg.org/css-env-1/#env-function&quot;&gt;définir des &lt;strong&gt;constantes CSS d'environnement&lt;/strong&gt;&lt;/a&gt; définissant des informations pour l'ensemble du document. Ces constantes peuvent être définies par le système hôte, le navigateur web ou dans la &lt;a href=&quot;https://dascritch.net/tag/css&quot;&gt;CSS&lt;/a&gt; (et on imagine, idéalement sur le sélecteur &lt;code&gt;:root&lt;/code&gt;).&lt;br /&gt;
À leur appel en lecture, ces constantes peuvent prendre un paramètre optionnel qui sert de &lt;em lang=&quot;en&quot;&gt;fallback&lt;/em&gt;. L'invariance de la valeur représentée en quelqu'endroit du &lt;a href=&quot;https://dascritch.net/tag/dom&quot;&gt;DOM&lt;/a&gt; le rend alors utilisable pour définir un &lt;em lang=&quot;en&quot;&gt;breakpoint&lt;/em&gt;.
&lt;/p&gt;
&lt;p&gt;
Là aussi l'idée est géniale, et le dossier semble un poil plus avancé, &lt;a href=&quot;https://caniuse.com/#feat=css-env-function&quot;&gt;l'implémentation native étant satisfaisante&lt;/a&gt; pour être jugée comme générale l'année prochaine. On a la lecture, pas encore la déclaration
&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;&lt;var&gt;:root {
    --largeur&lt;/var&gt; : &lt;em&gt;1000px&lt;/em&gt;;
}

@media (max-width: env(&lt;var&gt;--largeur&lt;/var&gt;, 320px)) {
    ooooh ouuuuiiiii
}&lt;/code&gt;&lt;/pre&gt;

&lt;h3 id=&quot;comme_un_porc&quot;&gt;&lt;em lang=&quot;en&quot;&gt;breakpoint&lt;/em&gt; sur un élément, comme on peut, comme un porc&lt;/h3&gt;

&lt;p&gt;
Dans l'immédiat, &lt;a href=&quot;https://dascritch.github.io/cpu-audio/FEATURES&quot;&gt;je suis arrivé à le faire sur le mini-site de présentation du projet&lt;/a&gt; &lt;q&gt;grâce&lt;/q&gt; à une &lt;q&gt;astuce&lt;/q&gt; limite du crade à faire &lt;a href=&quot;https://dascritch.net/post/2013/03/26/Dirty-Hacky-%3A-je-parse-en-HTML-.357-SW&quot;&gt;dégainer l'Inspecteur Dirty Hacky&lt;/a&gt;
&lt;/p&gt;
&lt;figure&gt;
&lt;a href=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-hack-iframe.png&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/.1906-PetiteTaille-playerv5-hack-iframe_m.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;figcaption&gt;Pièce à conviction n°1, faites entrer l'accusé&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;
&lt;a href=&quot;https://github.com/dascritch/cpu-audio/blame/5.4/FEATURES.md#L28&quot;&gt;J'ai utilisé&lt;/a&gt; des &lt;code&gt;&amp;lt;&lt;strong&gt;iframe&lt;/strong&gt;&amp;gt;&lt;/code&gt;. Et pourquoi est-ce crade&amp;nbsp;? 
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Il faut créer une ressource indépendant pour chaque instance appelée, ici 3 documents html de plus&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;Évidemment, il faut recharger le script &lt;code&gt;cpu-audio.js&lt;/code&gt;, donc le charger et l'instancier 4 fois pour cette page&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;Idem pour la feuille de style&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;On instancie 3 objets &lt;a href=&quot;https://dascritch.net/tag/dom&quot;&gt;DOM&lt;/a&gt; de page en plus, bouffant de la RAM&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;C'est impossible de faire un design liquide propre dedans sans pleurer sur certains cas&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;Et on perd des fonctionnalités comme :&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://dascritch.net/post/2018/11/06/Reconstruire-son-lecteur-audio-pour-le-web#pointer_dans_le_temps&quot;&gt;le lien avec media-fragment (c'est très très con&amp;nbsp;: &lt;strong&gt;c'est la fonction qui a motivé l'écriture de mon script&lt;/strong&gt;),&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;l'anti-cacophonie (un seul sonore lu à la fois dans la page),&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dascritch.github.io/cpu-audio/FEATURES#playlists&quot;&gt;les &lt;em lang=&quot;en&quot;&gt;playlists&lt;/em&gt;,&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;et &lt;a href=&quot;https://dascritch.github.io/cpu-audio/FEATURES#global-page-controller&quot;&gt;le contrôleur global&lt;/a&gt; (le bouton &lt;kbd&gt; ▸︎play&lt;/kbd&gt;  dans l'encart à fond noir à gauche sur ma capture) ne voit pas ces instances.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Je ne l'ai utilisé que pour faire la démo des largeurs. &lt;strong&gt;Ne faites jamais ça chez vous, les enfants&amp;nbsp;!&lt;/strong&gt;
&lt;/p&gt;

&lt;h3 id=&quot;fine_fine&quot;&gt;Le problème de la navigation fine sur une largeur fine&lt;/h3&gt;

&lt;p&gt;
Revenons sur les problèmes fonctionnels de mon &lt;em lang=&quot;en&quot;&gt;web component&lt;/em&gt; sur les ordinateurs de poche.
&lt;/p&gt;
&lt;p&gt;
Le manque qui me semblait le plus gênant était de revenir en arrière d'une phrase dans un sonore d'une heure. Le lecteur peut interpréter certaines touches comme &lt;kbd&gt;←&lt;/kbd&gt; et &lt;kbd&gt;→&lt;/kbd&gt;, mais aucun smartphone n'a de clavier avec des touches fléchées depuis la mort &lt;a href=&quot;https://www.zdnet.com/product/blackberry-key2/&quot;&gt;du dernier Blackberry à touches physiques&lt;/a&gt;. Reste le positionnement au doigt &lt;del&gt;levé&lt;/del&gt; posé, et donc la navigation dite &lt;q&gt;fine&lt;/q&gt; s'y révèle imprécise.&lt;br /&gt;
Améliorer ma &lt;em lang=&quot;en&quot;&gt;time-line&lt;/em&gt; était indispensable. 
&lt;/p&gt;

&lt;figure&gt;
&lt;figcaption&gt;Une &lt;em lang=&quot;en&quot;&gt;time-line&lt;/em&gt; c'est ÇA&amp;nbsp;: &lt;/figcaption&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-wtf-la-time-line.png&quot; alt=&quot;&quot; /&gt;
&lt;/figure&gt;

&lt;p&gt;
N'oublions pas que mon &lt;em lang=&quot;en&quot;&gt;web component&lt;/em&gt; est prévu pour être utilisé dans une page web, et qu'il a été conçu en design liquide, donc si on passe son smartphone de l'orientation portrait à paysage et que sa dimension n'est pas fixée, le visiteur gagne autant de largeur, donc de précision pour naviguer dans la &lt;em lang=&quot;en&quot;&gt;time-line&lt;/em&gt;. Mais la prise en main me semblait toujours insuffisante.
&lt;/p&gt;

&lt;p&gt;
Dans pratiquement tous les lecteurs audios, &lt;strong&gt;la &lt;em lang=&quot;en&quot;&gt;time-line&lt;/em&gt; est à la fois un indicateur et un élément de contrôle&lt;/strong&gt; auquel on s'attend pour tout média audio ou vidéo d'une certaine durée. Elle indique à la fois la position en cours de lecture, la partie préchargée immédiatement lisible sans avoir à attendre, et permet à l'auditeur de sauter à une position. &lt;strong&gt;Plus cette &lt;em lang=&quot;en&quot;&gt;time-line&lt;/em&gt; est large, plus le positionnement au pointeur par l'utilisateur est précis. Plus le sonore est long, moins ce positionnement est précis.&lt;/strong&gt;
&lt;br /&gt;
Je ne saurais dater son apparition, mais il me semble qu'elle est apparue avec le premier Quicktime (1991) en tant qu'adaptation de la &lt;em lang=&quot;en&quot;&gt;time-line&lt;/em&gt; des éditeurs de sons qui présentaient la forme d'onde du sonore en cours d'édition, et ceci depuis les années 1970s.
&lt;/p&gt;
&lt;p&gt;
Avant de me remettre &lt;del&gt;au redesign&lt;/del&gt; à la refactorisation de mon lecteur, et vu que moi-même je ne suis pas parfait, j'ai regardé ailleurs et essayé des applications natives sur smartphones. En me concentrant sur son comportement lors du passage d'une disposition portrait à paysage. Certains choix y sont surprenants, et pas uniquement sur les durées affichées (passée, restante ou totale).
&lt;/p&gt;

&lt;h3 id=&quot;exemples_natifs&quot;&gt;Quatre exemples de &lt;em lang=&quot;en&quot;&gt;time-line&lt;/em&gt; en natif&lt;/h3&gt;

    &lt;p id=&quot;exemple_youtube&quot;&gt;
        L'application &lt;strong&gt;Youtube&lt;/strong&gt; l'agrandi aussi en passant en mode paysage. En mode portrait, elle utilise le maximum de largeur d'écran. 
    &lt;/p&gt;
&lt;figure&gt;
&lt;a rel=&quot;lightbox[largeur]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-podcastaddict-youtube-portrait.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/.1906-PetiteTaille-playerv5-podcastaddict-youtube-portrait_m.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[largeur]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-podcastaddict-youtube-paysage.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/.1906-PetiteTaille-playerv5-podcastaddict-youtube-paysage_m.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
    &lt;figcaption&gt;&lt;small&gt;Mais pourquoi ai-je pris une vidéo d'&lt;a href=&quot;https://cpu.dascritch.net/category/Chroniques/Eug%C3%A8ne-r%C3%AAve&quot;&gt;Eugène Lawn&lt;/a&gt;&amp;nbsp;?&lt;/small&gt;&lt;/figcaption&gt;
&lt;/figure&gt;

    &lt;p id=&quot;exemple_henrymp&quot;&gt;
        &lt;strong&gt;HenryMP&lt;/strong&gt;, héritier d'un excellent player audio (Appollo sur Cyanogen OS), se montre encore moins aisé&amp;nbsp;: si on décide de basculer l'écran du mode portrait au paysage.... la &lt;em lang=&quot;en&quot;&gt;time-line&lt;/em&gt; n'est pas plus grande pour autant. Frustrant.
    &lt;/p&gt;

&lt;p&gt;
J'imagine que la logique y est plus d'écouter des &lt;em lang=&quot;en&quot;&gt;singles&lt;/em&gt; d'environ 4 minutes et de mieux voir la pochette de l'album, pas forcément de naviguer dans un DJ-set de 2 heures ou dans une conférence au Collège de France
&lt;/p&gt;

&lt;figure&gt;
&lt;a rel=&quot;lightbox[largeur]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-mphenry-portrait.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/.1906-PetiteTaille-playerv5-mphenry-portrait_m.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[largeur]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-podcastaddict-mphenry-paysage.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/.1906-PetiteTaille-playerv5-podcastaddict-mphenry-paysage_m.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
    &lt;figcaption&gt;Note : Cette application n'est plus maintenue depuis 4 ans, elle est présentée ici pour l'exemple.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p id=&quot;exemple_podcastaddict&quot;&gt;
    &lt;strong&gt;Podcast Addict&lt;/strong&gt;, qui est une excellente application orientée podcast (merci Capitaine Évidence), a quelques manques dans sa prise en main pour naviguer. En gros, si l'émission n'est pas chapitrée ou n'a pas de liens explicatifs dans son texte descriptif, on pointe sur la &lt;em lang=&quot;en&quot;&gt;time-line&lt;/em&gt; puis on utilise des boutons pour se positionner plus finement.
    &lt;/p&gt;

&lt;figure&gt;
&lt;a rel=&quot;lightbox[largeur]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-podcastaddict-page-portrait.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/.1906-PetiteTaille-playerv5-podcastaddict-page-portrait_m.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[largeur]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-podcastaddict-page-paysage.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/.1906-PetiteTaille-playerv5-podcastaddict-page-paysage_m.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
    &lt;figcaption&gt;Dans la vue présentation d'un épisode, basculer en mode paysage étend la &lt;em lang=&quot;en&quot;&gt;time-line&lt;/em&gt;.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;figure&gt;
&lt;a rel=&quot;lightbox[largeur]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-podcastaddict-sonore-portrait.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/.1906-PetiteTaille-playerv5-podcastaddict-sonore-portrait_m.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[largeur]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-podcastaddict-sonore-paysage.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/.1906-PetiteTaille-playerv5-podcastaddict-sonore-paysage_m.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
    &lt;figcaption&gt;Sauf que, petite inconsistance : sur la vue propre à un sonore, en mode paysage, la &lt;em lang=&quot;en&quot;&gt;time-line&lt;/em&gt; est… plus courte. Oups.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p  id=&quot;exemple_lescroissants&quot;&gt;
    Je termine ce tour avec &lt;a href=&quot;https://www.lescroissants.fr/&quot;&gt;une application très particulière, celle de &lt;strong&gt;Les Croissants&lt;/strong&gt;, qui propose une matinale par modules, composée en fonction de vos centres d'intérêts.&lt;/a&gt;&lt;br /&gt;
(Manque de bol : &lt;a href=&quot;https://www.lescroissants.fr/&quot;&gt;La société Les Croissants a fermé la veille de la publication programmée de cet article.&lt;/a&gt; Pas d'bol.)
&lt;/p&gt;
&lt;figure&gt;
&lt;a rel=&quot;lightbox[largeur]&quot;  href=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-lescroissants.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/.1906-PetiteTaille-playerv5-lescroissants_m.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
    &lt;figcaption&gt;En haut, vous avez une vue sur l'ensemble de l'émission dans une &lt;em lang=&quot;en&quot;&gt;time-line&lt;/em&gt; globale, et au milieu, chaque chapitre a sa propre barre de défilement, mais à la verticale, sur la gauche.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;
On a certes une redite de la &lt;em lang=&quot;en&quot;&gt;time-line&lt;/em&gt; entre la vue totale (horizontale) et celle par chapitre, mais ce qui est nettement plus notable et bizarre est que la progression des &lt;em lang=&quot;en&quot;&gt;time-lines&lt;/em&gt; des chapitres n'est pas constante, puisque la hauteur de cet élément est fixe, mais que la durée peut varier (entre 3mn et 7mn). Mais ces bizarreries sont plus une signature et non gênantes à l'usage.
&lt;/p&gt;

&lt;p&gt;
On a vu quelques outils de consultation destinés au public, j'aimerais vous présenter un outil professionnel de lecture de média&amp;nbsp;:
&lt;/p&gt;


&lt;h3 id=&quot;jog_shuttle&quot;&gt;Le &lt;em lang=&quot;en&quot;&gt;jog shuttle&lt;/em&gt; du Beta SP&lt;/h3&gt; 

&lt;p&gt;
    Le magnétoscope Beta SP de Sony est avec sa cassette Betacam un engin de chantier de l'audiovisuel des années 1980s-2000s. Costaud, robuste, très cher et indispensable pour toute production de qualité. La première fois que j'ai pu en utiliser un, j'ai immédiatement adoré l'usage du bouton &lt;em lang=&quot;en&quot;&gt;jog shuttle&lt;/em&gt;&amp;nbsp;! Oui, &lt;a href=&quot;https://dascritch.net/post/2006/11/03/582-mighty-moshin-emo-rangers&quot;&gt;même en pleine &lt;q&gt;frustrajoie&lt;/q&gt;&lt;/a&gt;.
&lt;/p&gt;

&lt;figure&gt;
&lt;a rel=&quot;lightbox[largeur]&quot;  href=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-beta-sp.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/.1906-PetiteTaille-playerv5-beta-sp_m.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

    &lt;figcaption&gt;Vous ne pouvez pas louper le &lt;em lang=&quot;en&quot;&gt;jog shuttle&lt;/em&gt;&amp;nbsp;: c'est ce gros bouton rond noir proéminent idéalement placé sous votre main droite sur le panneau inférieur.&lt;br /&gt;&lt;small&gt;&lt;a href=&quot;https://www.pinterest.com/pin/368450813255454681/&quot;&gt;Photo non créditée sur Pinterest&lt;/a&gt;&lt;/small&gt;&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;
Dans le mode &lt;q lang=&quot;en&quot;&gt;shuttle&lt;/q&gt; en pause ou pendant la lecture, vous pivotez le bouton rotatif, la bande défile alors vers l'avant ou l'arrière plus ou moins rapidement, entre le ralenti et l'accélération ×8 en fonction de l'angle de rotation. Relâchez, le bouton rotatif revient en position neutre.&lt;br /&gt;
&lt;strong&gt;Mais&lt;/strong&gt; si vous cliquez sur le bouton, le ressort est désactivé, et le mode de fonctionnement passe en &lt;q lang=&quot;en&quot;&gt;jog&lt;/q&gt;, où vous faites défiler les images en  tournant le bouton. Comme si vous bougiez manuellement la bobine de la bande &lt;a href=&quot;http://fr.traxmag.com/article/33539-revox-annonce-un-nouveau-magneto-a-bande-reel-to-reel&quot;&gt;sur un bon vieux &lt;em lang=&quot;en&quot;&gt;reel-to-reel&lt;/em&gt; ReVox&lt;/a&gt;, ou que vous caliez un disque vinyle (étant &lt;a href=&quot;https://www.radio-fmr.net&quot;&gt;à Radio &amp;lt;FMR&amp;gt;&lt;/a&gt;, j'ai voulu être DJ). Ce qui permet un calage à l'image près, indispensable pour le monteur vidéo.
&lt;/p&gt;
&lt;p&gt;
On a donc un outil de calage qui passe d'un clic d'un positionnement grossier au calage à l'image élémentaire. La prise en main est incroyablement intuitive une fois qu'elle vous a été montrée.
&lt;/p&gt;

&lt;figure&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube-nocookie.com/embed/B1HGrqLQu3Q?start=102&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen&gt;&lt;/iframe&gt;
    &lt;figcaption&gt;À 1m42s, une petite démo avec un lecteur XDCam portable, mais il s'agit d'un bouton combo (voir le paragraphe suivant). &lt;a href=&quot;https://www.shutterstock.com/fr/video/clip-3103627-editor-working-on-betacam-sp-recorder-tv&quot;&gt;Pour 60€, je vous aurais intégré cette vidéo éclairante avec un vrai BetaSP&lt;/a&gt;. Et y'a celle-là &lt;a href=&quot;https://www.pond5.com/fr/stock-footage/12721187/editeur-travaille-sur-betacam-sp-enregistreur.html&quot;&gt;montrant un autre point de vue&lt;/a&gt;.&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;p&gt;
À noter que &lt;a href=&quot;https://www.transfert-films-dvd.com/magnetoscopes-vhs-de-salon/&quot;&gt;certains magnétoscopes très haut de gamme&lt;/a&gt; des années 1990s avaient un combo bouton central &lt;em lang=&quot;en&quot;&gt;shuttle&lt;/em&gt; rotatif et pourtour &lt;em lang=&quot;en&quot;&gt;jog&lt;/em&gt; à ressort. Peut-être fut-il utile pour &lt;a href=&quot;http://www.bitoman.net/french/bitoweb/histoire.htm&quot;&gt;monter les Sept Premiers &lt;q&gt;Bitoman&lt;/q&gt;s.&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Depuis, la génération Betacam est passée.&lt;br /&gt;
Au prix de la bande, les BetaSP sont devenus des pièces de musée, et on monte au clavier et au &lt;em lang=&quot;en&quot;&gt;trackpad&lt;/em&gt;. Mais le &lt;em lang=&quot;en&quot;&gt;jog shuttle&lt;/em&gt; est resté dans cette micro-culture industrielle pour ceux qui ont connu avant l'informatisation totale du banc de montage. Pas mal de monteurs vidéos, qui ont &lt;a href=&quot;http://xahlee.info/kbd/jog_wheel_shuttle_control.html&quot;&gt;un &lt;q lang=&quot;en&quot;&gt;jog shuttle wheel&lt;/q&gt; sur leur poste de montage&lt;/a&gt;. Les &lt;a href=&quot;https://www.microsoft.com/en-us/p/surface-dial/925r551sktgn?activetab=pivot%3aoverviewtab&quot;&gt;&lt;q lang=&quot;en&quot;&gt;control knob&lt;/q&gt; prévus pour Windows&amp;nbsp;10 tels le Surface Dial&lt;/a&gt; s'en approchent mais n'ont pas le retour haptique avec ressort, si intuitif.
&lt;/p&gt;

&lt;p&gt;
Et dans les logiciels&amp;nbsp;?&lt;br /&gt;
Il me semble qu'une version (bêta&amp;nbsp;?) de QuickTime Pro avait tenté à la fin des années 1990s d'ajouter dans un panneau de son interface une molette de défilement… qui ressemblait trop furieusement au &lt;em lang=&quot;en&quot;&gt;jog-dial&lt;/em&gt;, une molette crantée cliquable que Sony incrustait absolument partout. Et quand je dis partout, ce &lt;em lang=&quot;en&quot;&gt;jog-dial&lt;/em&gt;&amp;nbsp; a été la signature des produits Sony de la fin des années 1990s&amp;nbsp;: sur &lt;a href=&quot;https://fr.audiofanzine.com/platine-md/sony/MZ-R35/&quot;&gt;les baladeurs Mini-Discs (utile pour titrer un MD, mais dont l'usage bourrait de saletés l'intérieur de mon MZ-R35)&lt;/a&gt;, &lt;a href=&quot;https://www.gsmarena.com/sony_cmd_z5-pictures-133.php&quot;&gt;le téléphone Z5 (celui de l'An 2000)&lt;/a&gt; ou encore &lt;a href=&quot;https://www.fnac.com/Sony-Clie-PEG-T625C/a1298600/w-4&quot;&gt;les PDA Clié&lt;/a&gt;. Il me semble que les designers de Sony se soient retenus pour les télés et playstations.&lt;br /&gt;
Apple a retiré l'interface avant un procès prévisible, ou peut-être en souvenir de &lt;a href=&quot;http://hallofshame.gp.co.at/qtime.htm&quot;&gt;l'échec de la molette de volume du Quicktime 4&amp;nbsp;?&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Mais je m'égare dans mes &lt;em lang=&quot;en&quot;&gt;rushes&lt;/em&gt;.&lt;br /&gt;
Alors l'idée d'un &lt;em lang=&quot;en&quot;&gt;jog shuttle dial&lt;/em&gt; est super, mais non-intuitive pour le visiteur lambda d'un site à qui il faudrait lui expliquer le manuel, or, rappelons la règle d'or du design réussi&amp;nbsp;:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;strong&gt;S'il faut expliquer le fonctionnement d'une interface &lt;q&gt;grand public&lt;/q&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; ⇒ c'est que ton design est loupé&lt;br /&gt; &amp;nbsp; &amp;nbsp; ⇒ &lt;a href=&quot;https://www.youtube.com/watch?v=Q4FamibkUH4&quot;&gt;&lt;abbr&gt;F.B.I.&lt;/abbr&gt; Fausse Bonne Idée&lt;/a&gt;.&lt;/strong&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Accessoirement, elle est aussi un poil lourd à écrire &lt;em lang=&quot;en&quot;&gt;from scratch&lt;/em&gt;. Pas infaisable, juste lourd. Et prendrait de la place sur l'écran.
&lt;/p&gt;

&lt;p&gt;
Maintenant qu'on a fait ce petit tour de l'État de l'Art pour se mettre en appétit, passons à l'action&amp;nbsp;!
&lt;/p&gt;


&lt;h3 id=&quot;bord_rond&quot;&gt;Supprimer les bords ronds&lt;/h3&gt;
&lt;p&gt;
    Un truc totalement idiot où j'ai pêché par coquetterie&amp;nbsp;: j'ai mis des bords ronds au début et à la fin de la &lt;em lang=&quot;en&quot;&gt;time-line&lt;/em&gt;. En fait, cela rend moins facile de viser le début d'un sonore (oui, les recherches avancées ont prouvé que statistiquement, nous cherchons plus souvent à revenir au début qu'à aller dans les 5 dernières secondes d'une émission d'une heure). Donc tant pis pour les bords ronds, on revient au bon vieux rectangle.
&lt;/p&gt;

&lt;p&gt;
    Je vais prendre exemple sur mon propre blog, avec une de mes émissions actuelles qui ne dure qu'une heure&amp;nbsp;: Sur 320&amp;nbsp;pixels de large, le &lt;em lang=&quot;en&quot;&gt;web component&lt;/em&gt; fait 291&amp;nbsp;pixels de large à cause de la mise en page. 
    &lt;/p&gt;

&lt;figure&gt;
    &lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-timeline-bords-ronds.png&quot; alt=&quot;&quot; /&gt;
    &lt;figcaption&gt;La &lt;em lang=&quot;en&quot;&gt;time-line&lt;/em&gt; fait 195&amp;nbsp;pixels de large, les bords ronds en bouffent 2×4&amp;nbsp;pixels. &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;
    Je me suis appliqué &lt;a href=&quot;https://www.qualiblog.fr/outils-et-methodes/la-methode-des-5-pourquoi-pour-eradiquer-vos-problemes/&quot;&gt;la &lt;q&gt;Règle des Cinq Pourquois&lt;/q&gt; pour chercher la vraie raison&lt;/a&gt; de ma décision graphique. Alors, euuuuuh… &lt;small&gt;&lt;q&gt;les bords ronds sont moins agressifs&lt;/q&gt;, &lt;small&gt;&lt;q&gt;parce qu'il y a trop de rectangles&lt;/q&gt;, &lt;small&gt;&lt;q&gt;&lt;a href=&quot;https://hightech.bfmtv.com/smartphone/forme-rectangle-aux-coins-arrondis-appartient-a-apple-379106.html&quot;&gt;Steve Jobs a inventé les rectangles arrondis&lt;/a&gt;&lt;/q&gt;&lt;/small&gt;&lt;/small&gt;&lt;/small&gt;… Au final, &lt;strong&gt;j'avais mis ces bords ronds sans aucune raison valable&lt;/strong&gt;.
&lt;/p&gt;
&lt;p&gt;
Bon ben, &lt;strong&gt;on vire&amp;nbsp;!&lt;/strong&gt;
&lt;/p&gt;
&lt;figure&gt;
    &lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-timeline-entre-boutons.png&quot; alt=&quot;&quot; /&gt;
    &lt;figcaption&gt;À 18&amp;nbsp;secondes par pixels pour un sonore d'une heure, cela faisait 2'27&quot; rabotées par pure coquetterie, et non pas par design.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;
    Parce que, oui, il faut se rappeler que &lt;strong&gt;le design n'est pas qu'une question de couleurs et de formes mais surtout de praticité pour tous.&lt;/strong&gt; Faire du décor ne suffit pas et n'est pas du design.
    &lt;/p&gt;

&lt;h3 id=&quot;agrandir_timeline&quot;&gt;Agrandir la &lt;em lang=&quot;en&quot;&gt;time-line&lt;/em&gt;&lt;/h3&gt;

&lt;p&gt;
Passer de la souris à la précision d'un pixel sur un écran de 52&amp;nbsp;cm de large (1920&amp;nbsp;px soit 96&amp;nbsp;dpi) à un écran tactile de 8&amp;nbsp;cm de large (1080&amp;nbsp;px soit 400&amp;nbsp;dpi, plus qu'un album de bd&amp;nbsp;!) avec la précision d'un gros pouce… inutile de dire que sur smartphones, une telle précision peut entrainer autant de dégâts collatéraux qu'une &lt;q&gt;guerre chirurgicale&lt;/q&gt;. Et cette imprécision devient de plus en plus problématique quand on a mis en ligne un podcast qui dure une heure (&lt;a href=&quot;https://cpu.dascritch.net/post/2017/12/14/Ex0069-How-deep-learning-is-your-love&quot;&gt;voire 5h30&lt;/a&gt;), rendant encore plus problématique un bête besoin comme celui de revenir d'une minute en arrière dans une interview.
&lt;/p&gt;
&lt;p&gt;
Il était évident que garder la &lt;em lang=&quot;en&quot;&gt;time-line&lt;/em&gt; contrainte entre les deux boutons &lt;kbd&gt;▸︎play/⏸︎pause&lt;/kbd&gt; et &lt;kbd&gt;action&lt;/kbd&gt; n'était pas une super idée graphique&amp;nbsp;: Je perdais environ 2×48&amp;nbsp;px en largeur disponible, ce qui n'est pas négligeable quand on a moins de 320&amp;nbsp;px de large.
&lt;/p&gt;

&lt;figure&gt;
    &lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-timeline-entre-boutons.png&quot; alt=&quot;&quot; /&gt;
    &lt;figcaption&gt;Pour reprendre l'exemple de mon blog, la &lt;em lang=&quot;en&quot;&gt;time-line&lt;/em&gt; fait 195&amp;nbsp;pixels de large soit 18&amp;nbsp;secondes par pixel pour un sonore d'une heure&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;p&gt; Il m'a fallu jouer une fugue en CSS mineure pour que cette barre bascule en-dessous de ces boutons pour gagner en largeur. Comme je voulais aussi garder l'indication des longueurs de chapitres (les lignes noires discontinues), je considère qu'elles deviennent transparentes aux actions pointeurs en dessous d'une certaine largeur d'écran, pour éviter un appui malheureux dessus.&lt;br /&gt;
Oui, si c'est conditionné avec un &lt;em leng=&quot;en&quot;&gt;breakpoint&lt;/em&gt;, c'est que j'ai utilisé &lt;a href=&quot;https://developer.mozilla.org/fr/docs/Web/CSS/pointer-events&quot;&gt;une propriété CSS qui influe les interactions du curseur avec des éléments. Cette propriété qui tient de la magie vaudou mérite votre attention&lt;/a&gt;&amp;nbsp;: &lt;code&gt;pointer-events : &lt;em&gt;none&lt;/em&gt;&lt;/code&gt;;
&lt;/p&gt;


&lt;figure&gt;
    &lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-timeline-sous-boutons.png&quot; alt=&quot;&quot; /&gt;
    &lt;figcaption&gt;Retravaillée la &lt;em lang=&quot;en&quot;&gt;time-line&lt;/em&gt; fait toute la largeur du &lt;em lang=&quot;en&quot;&gt;web component&lt;/em&gt;, 291&amp;nbsp;pixels de large soit 12,4&amp;nbsp;secondes par pixel pour un sonore d'une heure.&lt;br /&gt;Vous noterez aussi que les deux boutons ont perdu un poil de hauteur et que la place laissée au timecode dans la liste des chapitres est devenue élastique ce qui permet de gagner des lignes dès la première entrée.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;
    Comme l'utilité d'une telle finesse est moins pressante sur de plus grandes largeurs, qui correspondent en général à des ordinateurs avec des dispositifs de pointages plus précis (le doigt occupant une fraction moins importante de l'écran, ou ayant un stylet voire la souris), la disposition entre les deux boutons revient au-delà d'une certaine largeur.
&lt;/p&gt;


&lt;h3 id=&quot;coup_oeil&quot;&gt;Deviner où l'on vise d'un coup d'œil&lt;/h3&gt;

&lt;p&gt;
On le voit sur la capture au-dessus, j'ai fait apparaitre sous la &lt;em lang=&quot;en&quot;&gt;time-line&lt;/em&gt; une indication pointilliste des chapitres. Elle existait depuis un an, mais uniquement dans les grandes largeurs. Celle-ci est désormais aussi visible sur les petites largeurs, mais il n'est pas dit que tous les utilisateurs de mon script vont penser à renseigner &lt;a href=&quot;https://www.w3.org/TR/webvtt1/&quot;&gt;un manifeste de chapitrage au format WebVTT&lt;/a&gt;. On en reparlera dans un chapitre à part, j'ai beaucoup à dire sur le sujet&amp;nbsp;; si cela vous intéresse, vous pouvez déjà &lt;a href=&quot;https://dascritch.github.io/cpu-audio/applications/chapters_editor.html&quot;&gt;vous amuser avec mon éditeur en ligne&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Pour aider visuellement à sa navigation, j'ai ajouté une fonctionnalité qui permet d'afficher l'enveloppe du son. Il s'agit d'une option, disponible via l'attribut &lt;code&gt;waveform=&quot;&quot;&lt;/code&gt;.
&lt;/p&gt;
&lt;p&gt;
    Pour des raisons évidentes de performances, l'image de l'enveloppe en question est pré-générée au moment de la compression du sonore en &lt;abbr&gt;PÀD&lt;/abbr&gt; (prêt à diffuser). Afin de tester la fonction et de donner un exemple fonctionnel dans ma doc, j'ai profité d'une fonction méconnue de &lt;a href=&quot;http://sox.sourceforge.net/&quot;&gt;l'utilitaire en ligne de commande &lt;code&gt;sox&lt;/code&gt;, véritable couteau suisse pour travailler du son&lt;/a&gt; avec le minimum de dépendances. Un script qu'on trouve souvent dans des chaines de publication audio industrialisées sur des serveurs de rendus.&lt;br /&gt;
&lt;small&gt;Anecdote : j'ai utilisé cet outil en 2004 pour faire des messages de répondeurs personnalisé par prénoms et pour biper des &lt;em lang=&quot;en&quot;&gt;ringback tones&lt;/em&gt;. Un script de 20 lignes permettait à des ingés son de gagner des journées de travail en supprimant des silences superflus, concaténant des sons et normalisant le rendu.&lt;/small&gt;&lt;br /&gt;
L'option pour générer ce graphique est &lt;code&gt;&lt;em&gt;spectrogram&lt;/em&gt;&lt;/code&gt;. Par rapport à la traditionnelle vue de la courbe, elle permet de mieux distinguer les voix et les musiques sur une très petite hauteur, ici 8&amp;nbsp;pixels de haut. C'est pas toujours vrai et c'est surtout un choix personnel, il est susceptible d'évoluer plus tard.
&lt;/p&gt;

&lt;figure&gt;
&lt;a rel=&quot;lightbox[largeur]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-formdonde-spectre.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/.1906-PetiteTaille-playerv5-formdonde-spectre_m.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
    &lt;figcaption&gt;Comparaison entre une vue d'une forme d'onde (en haut, niveau sonore en ordonnée) et un spectrogramme (en bas, fréquence en ordonnée) de l'émission &lt;a href=&quot;https://cpu.dascritch.net/post/2019/04/04/Ex0107-%F0%9F%8D%BA-Bi%C3%A8re&quot;&gt;🍺 Bière&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;



&lt;h3 id=&quot;navigeur_finement&quot;&gt;Naviguer plus finement&lt;/h3&gt;

&lt;p&gt; 
    Reprenons les problématiques de la navigation sur smartphone&amp;nbsp;: L'écran est tout petit, et notre doigt est démesurément gros pour essayer de se placer précisément. Et donc nous avons toujours le problème de la navigation fine, quand on veut revenir de quelques secondes en arrière.
&lt;/p&gt;

&lt;p&gt;
J'étais parti sur l'idée qu'un appui long sur ma &lt;em lang=&quot;en&quot;&gt;time-line&lt;/em&gt; est une tentative pour se placer finement. Ben oui, ça m'arrivait plusieurs fois d'appuyer à un endroit du player, puis de bouger délicatement mon doigt en le faisant pivoter, tout en approchant de près mon smartphone et en tirant la langue afin de contrebalancer le manque de précision… ce qui me rendait totalement idiot dans le bus.
&lt;/p&gt;

&lt;p&gt;
    AHEM&amp;nbsp;!&lt;br /&gt;
Une requête pour afficher la navigation alternative, nous disions.
&lt;/p&gt;

&lt;p&gt;
L'idée étant évidemment de &lt;a href=&quot;https://uxdesign.cc/a-comprehensive-and-honest-list-of-ux-clich%C3%A9s-96e2a08fb2e9&quot;&gt;suivre l'analogie UX de la blague de l'interface&lt;/a&gt;&amp;nbsp;: s'il faut l'expliquer à l'utilisateur, c'est que ton interface n'est pas bonne.
&lt;/p&gt;

&lt;p&gt;
j'ai mis des boutons, juste pour voir si la requête en question marchait. Mais j'avais pas forcément idée de le garder. J'avais même réfléchi à zoomer la &lt;em lang=&quot;en&quot;&gt;time-line&lt;/em&gt; avec des mouvements genre &lt;em lang=&quot;en&quot;&gt;pinch-in&lt;/em&gt;/&lt;em lang=&quot;en&quot;&gt;pinch-out&lt;/em&gt; (pincer/étendre), mais je me suis rendu compte que ce n'était ni intuitif, ni pratique, voire complètement frustrant sur iOS&amp;nbsp;: le &lt;em lang=&quot;en&quot;&gt;pinch-out&lt;/em&gt; à une certaine ampleur peut vous sortir du navigateur web pour aller vers un sélecteur d'applications (Un parti-pris d'Apple très con et totalement frustrant quand votre appli utilise le &lt;em lang=&quot;en&quot;&gt;pinch&lt;/em&gt;, justement).&lt;br /&gt;
Et comme mon &lt;em lang=&quot;en&quot;&gt;web component&lt;/em&gt; a aussi pour objectif d'être repris, hors de question de risquer une contradiction parce que le site hôte a déjà son usage du &lt;em lang=&quot;en&quot;&gt;pinch-in&lt;/em&gt;/&lt;em lang=&quot;en&quot;&gt;pinch-out&lt;/em&gt;.
&lt;/p&gt;
&lt;p&gt;
Donc finalement, supposer qu'un appui long sur la &lt;em lang=&quot;en&quot;&gt;time-line&lt;/em&gt; est une demande explicite de l'utilisateur vers plus de précision, me semble pas trop erroné.
&lt;/p&gt;
&lt;p&gt;
Mettre des boutons &lt;kbd&gt;⏮&lt;/kbd&gt; &lt;kbd&gt;◂◂◂&lt;/kbd&gt; &lt;kbd&gt;◂◂&lt;/kbd&gt; &lt;kbd&gt;▸︎▸︎&lt;/kbd&gt; &lt;kbd&gt;▸︎▸︎▸︎&lt;/kbd&gt; semblait pas trop pourri.

&lt;figure&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-alt-handheld-full.png&quot; alt=&quot;&quot; /&gt;
&lt;figcaption&gt;
J'ai dit &lt;q&gt;semblait&lt;/q&gt;, une fois de plus, je dis pas avoir raison.
&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h3 id=&quot;mauvaise_surprise_time&quot;&gt;La mauvaise surprise du temps&lt;/h3&gt;


J'ai tenté de mettre une entrée de temps, utilisant un champ &lt;code&gt;&amp;lt;&lt;strong&gt;input&lt;/strong&gt; type=&quot;&lt;em&gt;time&lt;/em&gt;&quot;&amp;gt;&lt;/code&gt;, yep, icelui&amp;nbsp;: &lt;input type=&quot;time&quot; step=&quot;1&quot;&gt;. Après tout, les smartphones ont en général un excellent sélecteur de date et d'heure.
&lt;/p&gt;

&lt;figure&gt;
    &lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-chrome-android-time.png&quot; alt=&quot;&quot; /&gt;
    &lt;figcaption&gt;Le sélecteur d'heure d'Android, extrait de &lt;a href=&quot;https://developer.mozilla.org/fr/docs/Web/HTML/Element/Input/time&quot;&gt;l'excellent article sur &lt;code&gt;&amp;lt;&lt;strong&gt;input&lt;/strong&gt; type=&quot;&lt;em&gt;time&lt;/em&gt;&quot;&amp;gt;&lt;/code&gt; de Mozilla Developer Network&lt;/a&gt;.&lt;br /&gt;Une chouette analogie aux &lt;q&gt;vieilles&lt;/q&gt; horloges à aiguilles, compréhensible parce que des équipes de Google (comme Microsoft, Apple et Mozilla) ont investi des milliers d'heures sur ce problème à votre place.&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;p&gt;
Sauf qu'il y avait un os&amp;nbsp;! J'ai pris &lt;strong&gt;un sélecteur d'heure, faute d'avoir un sélecteur en HTML5 pour exprimer une durée&lt;/strong&gt;. Ce qui veut dire que… l'heure peut afficher au format 12&amp;nbsp;heures avec une locale américaine&amp;nbsp;! Et impossible de le &lt;q&gt;localiser&lt;/q&gt; de force avec un attribut comme &lt;code&gt;lang=&quot;&lt;em&gt;fr&lt;/em&gt;&quot;&lt;/code&gt;.
&lt;/p&gt;
&lt;p&gt;
Tiens, si je règle un champ &lt;em lang=&quot;en&quot;&gt;time&lt;/em&gt; à &lt;var&gt;0h1mn23s&lt;/var&gt;, dans Firefox avec l'interface paramétrée en Français, vous aurez&amp;nbsp;:
&lt;/p&gt;
&lt;figure&gt;
    &lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-firefox-locale-fr.png&quot; alt=&quot;00:01:23&quot; /&gt;
    &lt;figcaption&gt;bon là, vous m'comprenez si vous me lisez en Français&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;
Et avec l'interface paramétrée en Anglais Américain (en-US), qui est l'interface par défaut pour beaucoup de monde&amp;nbsp;:
&lt;/p&gt;

&lt;figure&gt;
        &lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-firefox-locale-enUS.png&quot; alt=&quot;12:01:23 AM&quot; /&gt;
    &lt;figcaption&gt;&lt;em lang=&quot;la-CUISINE&quot;&gt;&lt;a href=&quot;https://fr.wikiquote.org/wiki/Kaamelott/Loth&quot;&gt;Tempora mori, tempora mundis recorda&lt;/em&gt; comme dirait le roi de Loth&lt;/a&gt;,&lt;br /&gt;ça veut pas du tout dire la même chose, et surtout pas une durée&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;
En fait, &lt;a href=&quot;https://stackoverflow.com/questions/13523060/html5-time-inputs-shows-12-hours#answer-13525154&quot;&gt;il n'y a pas de règle uniforme&lt;/a&gt; du comportement basculant entre les affichages en 12&amp;nbsp;h ou 24&amp;nbsp;h &amp;nbsp;: certains navigateurs se basent sur la langue de leur interface, d'autres celles du système d'exploitation &lt;small&gt;(heureusement, le &lt;a href=&quot;https://dascritch.net/tag/dom&quot;&gt;DOM&lt;/a&gt; expose au &lt;a href=&quot;https://dascritch.net/tag/javascript&quot;&gt;javascript&lt;/a&gt; une représentation unique au format 24&amp;nbsp;heures, idem pour l'envoi d'un formulaire à un serveur, sinon je serais devenu fou)&lt;/small&gt;.
&lt;/p&gt;
&lt;p&gt;
J'avais le même souci &lt;a href=&quot;https://dascritch.github.io/cpu-audio/applications/chapters_editor.html&quot;&gt;dans mon éditeur de chapitrage&lt;/a&gt; puisqu'il utilisait le même type de champ. Pour le résoudre, il &lt;q&gt;suffirait&lt;/q&gt; &lt;a href=&quot;https://github.com/dascritch/cpu-audio/issues/63 &quot;&gt;d'écrire un &lt;em lang=&quot;en&quot;&gt;polyfill&lt;/em&gt; d'affichage&lt;/a&gt; agissant sur un champ &lt;code&gt;&amp;lt;&lt;strong&gt;input&lt;/strong&gt; type=&quot;&lt;em&gt;time&lt;/em&gt;&quot;&amp;gt;&lt;/code&gt; caché… ouaip, ça craint.&lt;br /&gt;
Ben j'ai écrit une mécanique différente.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;En résumé, pour un champ natif de durée, il manque&lt;/strong&gt; :
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;soit un type de champ&lt;/strong&gt; &lt;code&gt;&amp;lt;&lt;strong&gt;input&lt;/strong&gt;&amp;gt;&lt;/code&gt; pour gérer la durée, une décision à prendre au niveau du W3C&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;soit le respect de la propriété &lt;code&gt;lang=&quot;&quot;&lt;/code&gt; dans les contrôles&lt;/strong&gt;, ce qui peut être implémenté par les navigateurs mais peut poser des soucis d'UX&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;soit la possibilité de styliser un champ &lt;code&gt;&amp;lt;input type=&quot;&lt;em&gt;time&lt;/em&gt;&quot;&amp;gt;&lt;/code&gt;&lt;/strong&gt; dans sa présentation et son interface pour basculer entre les modes 12 et 24&amp;nbsp;heures, une décision qui peut être testée par les navigateurs &lt;a href=&quot;https://dascritch.net/post/2013/10/02/Dirty-Hacky-VIII-%3A-Pr%C3%A9fixes-frelat%C3%A9s&quot;&gt;par une propriété CSS préfixée expérimentale&lt;/a&gt; avant standardisation.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Néanmoins, je n'étais pas satisfait de cette navigation alternative.
&lt;/p&gt;

&lt;h3 id=&quot;enfer_petits_details&quot;&gt;L'enfer des petits détails&lt;/h3&gt;

&lt;p&gt;
La barre de navigation alternative apparaît quand on clique plus de 400&amp;nbsp;ms&amp;nbsp;: au-delà, Chrome sur Android et surtout l'affreux iOS considèrent que l'utilisateur veut une autre fonction, genre sélectionner du texte. Alors qu'on a déjà désactivé la sélection de texte. Le pire étant iOS qui va lancer un sélecteur d'application qui n'a rien à voir.&lt;br/ &gt;
À noter que pour les ordinateurs de bureau, il est possible de l'afficher en faisant un clic droit à la souris sur la &lt;em lang=&quot;en&quot;&gt;time-line&lt;/em&gt; (la fonction normale est disponible en combinaison avec &lt;kbd&gt;⇧Shift&lt;/kbd&gt;).
&lt;/p&gt;

&lt;figure&gt;
        &lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-alt-handheld-small.png&quot; alt=&quot;&quot; /&gt;
    &lt;figcaption&gt;Voilà où en était mon brouillon, que j'ai finalement gardé. Ici en faisant abstraction du champ &lt;code&gt;&lt;strong&gt;input&lt;/strong&gt; type=&quot;&lt;em&gt;time&lt;/em&gt;&quot;&lt;/code&gt; pour ne pas plus vous distraire avec…&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;
Pour être le plus standard possible, j'ai créé des boutons &lt;kbd&gt;◂◂&lt;/kbd&gt; et &lt;kbd&gt;▸︎▸︎&lt;/kbd&gt;, calqués sur les appuis de touches &lt;kbd&gt;←&lt;/kbd&gt; et &lt;kbd&gt;→&lt;/kbd&gt; tels qu'interprétés dans mon &lt;em lang=&quot;en&quot;&gt;web component&lt;/em&gt; (faisant des sauts de 5&amp;nbsp;secondes, durée paramétrable) , ainsi que &lt;kbd&gt;⏮&lt;/kbd&gt; sur la touche &lt;kbd&gt;↖&lt;/kbd&gt;. Puis j'ai ajouté &lt;kbd&gt;◂◂◂&lt;/kbd&gt; et &lt;kbd&gt;▸︎▸︎▸︎&lt;/kbd&gt;, qui font comme &lt;kbd&gt;◂◂&lt;/kbd&gt; et &lt;kbd&gt;▸︎▸︎&lt;/kbd&gt;, mais répétés 4 fois.
&lt;/p&gt;
&lt;p&gt;
J'ai tenté ce sélecteur, mais design liquide oblige, j'étais obligé de cacher certains boutons qui me semblaient moins &lt;q&gt;utiles&lt;/q&gt;, d'un usage moins fréquent. notamment &lt;kbd&gt;◂◂&lt;/kbd&gt;, &lt;small&gt;un choix décidé grâce à une technique scientifique de pifométrie, ce qui une fois de plus, vaut ce qu'il vaut et que je n'ai pas forcément eu raison.&lt;/small&gt;
&lt;/p&gt;
&lt;figure&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-alt-handheld-smallest.png&quot; alt=&quot;&quot; /&gt;
&lt;figcaption&gt;
Dans la plus petite largeur recommandée (320&amp;nbsp;px de large, soit un iPhone 5 en portrait), on a l'essentiel &lt;q&gt;utilisable&lt;/q&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;
Mais ces boutons étaient câblés sur l'événement &lt;code&gt;click&lt;/code&gt; (clic de souris). Vous cliquez, l'avance se fera. Une fois. Ça serait cool de rajouter la répétition, non&amp;nbsp;? Tant que vous ne relâchez pas, l'action continue au même rythme. 
&lt;/p&gt;
&lt;p&gt;
Donc au final, j'ai dû écrire un gestionnaire d'appui-long/répétition pour 4 boutons, avec un mode de fonctionnement proche d'un clavier de bureau&amp;nbsp;: Une première attente (400&amp;nbsp;ms) avant de commencer à répéter, puis répéter l'action sur des intervalles nettement plus courts (100&amp;nbsp;ms). Des durées paramétrables par le site, car je déteste les constantes &lt;q&gt;magiques&lt;/q&gt; au milieu du code, et pour qu'un webmaster qui n'aime pas les réglages puisse faire mumuse avec, comme ça, il se sentira plus fort.&lt;br /&gt;
&lt;small&gt;Ouarf.&lt;/small&gt;
&lt;/p&gt;

&lt;p&gt;
Peut-être pouvait-on faire une accélération de l'avancée en fonction du temps qu'on appuie sur le bouton, mais je ne suis pas sûr qu'un tel système à accélération progressive soit pratique.
&lt;/p&gt;

&lt;h3 id=&quot;reference_obligee&quot;&gt;Bref…&lt;/h3&gt;
&lt;p&gt;
&lt;em lang=&quot;la&quot;&gt;In fine&lt;/em&gt;, j'ai travaillé les fonctionnalités sur mon lecteur audio pour qu'il soit aussi pratique à utiliser sur un ordinateur &lt;q&gt;de bureau&lt;/q&gt; que sur smartphone.
&lt;/p&gt;
&lt;p&gt;
Je ne garantis rien. Maintenant reste le plus difficile : en faire autant sur la navigation fine pour l'accessibilité.
&lt;/p&gt;

&lt;p&gt;
En plus de la navigation fine, il faudrait aussi parler du chapitrage audio, mais le sujet est très vaste, il interviendra après qu'on ait &lt;a href=&quot;https://dascritch.net/post/2019/06/18/Le-blues-du-navigator.share&quot;&gt;parlé de Web Share&lt;/a&gt;...
&lt;/p&gt;</content:encoded>
    
    
    
      </item>
  
	<item>
		<title>Reconstruire son lecteur audio pour le web</title>
		<link>https://dascritch.net/post/2018/11/06/Reconstruire-son-lecteur-audio-pour-le-web</link>
		<guid isPermaLink="false">urn:md5:a0aeafa85c9f0afc4b2a06141c8a636d</guid>
		<dc:date>2018-11-06T12:25:00+01:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Webdev</dc:subject>
        
    <description>Ou comment j'ai bricolé longtemps les pages web pour mettre du son, les différents players que j'ai essayé, que j'ai écrit et la livraison du petit dernier.		&lt;span class="tags"&gt;&lt;br /&gt;&lt;a href="https://dascritch.net/category/Webdev"&gt;Webdev&lt;/a&gt; &lt;/span&gt;
	</description>
    <content:encoded>
		&lt;p&gt;Ou comment j'ai bricolé longtemps les pages web pour mettre du son, les différents players que j'ai essayé, que j'ai écrit et la livraison du petit dernier.&lt;span class="tags"&gt;&lt;br /&gt;
		&lt;a href="https://dascritch.net/category/Webdev"&gt;
			Webdev&lt;/a&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;
Cet article est dans &lt;a href=&quot;https://dascritch.net/serie/cpu-audio&quot;&gt;la série consacrée au développement&lt;/a&gt; de la bibliothèque &lt;a  href=&quot;https://dascritch.github.io/cpu-audio/&quot;&gt;cpu-audio.js&lt;/a&gt; et documente les affres de &lt;a href=&quot;https://github.com/dascritch/cpu-audio/releases/tag/6.0&quot;&gt;ses versions 5 et 6.&lt;/a&gt;. Dans cette série&amp;nbsp;:
&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://dascritch.net/post/2018/11/06/Mettre-de-l-audio-dans-le-web-n-a-pas-%C3%A9t%C3%A9-simple&quot;&gt;Mettre de l'audio dans le web n'a pas été simple&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reconstruire son lecteur audio pour le web&lt;/strong&gt; (sur la version 5)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dascritch.net/post/2019/06/05/Retravailler-un-lecteur-web-audio-dans-les-petites-largeurs&quot;&gt;Retravailler un lecteur web audio dans les petites largeurs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dascritch.net/post/2019/06/18/Le-blues-du-navigator.share&quot;&gt;Le blues du Web Share&lt;/a&gt;  (&lt;a href=&quot;https://dascritch.net/post/2019/06/26/We-need-Web-Share&quot;&gt;english version&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dascritch.net/post/2019/11/13/Deux-couleurs-bizarres-en-CSS&quot;&gt;Deux couleurs bizarres en CSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dascritch.net/post/2021/04/28/cpu-audio.js-enfin-en-7.0&quot;&gt;cpu-audio.js enfin en 7.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Tout-terrain WebVTT pour de l'audio&lt;/li&gt;
&lt;li&gt;Dichotomie entre podcast et web sur l'audience&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
&lt;strong&gt;TL;DR Trop Long; Vous ne lirez pas ?&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La démo du player :&lt;br /&gt;
&lt;cpu-audio title=&quot;Au carnaval avec Samba Résille (2003)&quot; poster=&quot;https://dascritch.net/vrac/.blog2/entendu/.1404-SambaResille_m.jpg&quot; canonical=&quot;https://dascritch.net/post/2014/04/08/Au-Carnaval-avec-Samba-R%C3%A9sille&quot; twitter=&quot;@dascritch&quot;&gt;
&lt;p&gt;
&lt;strong&gt;Si vous voyez ce texte&lt;/strong&gt;, c'est que le lecteur ne s'est pas lancé, très probablement parce que vous ne lisez pas &lt;a href=&quot;https://dascritch.net/post/2018/11/06/Reconstruire-son-lecteur-audio-pour-le-web&quot;&gt;mon billet depuis mon blog&lt;/a&gt;
&lt;/p&gt;
    &lt;audio controls=&quot;&quot; id=&quot;samba_resille&quot;&gt;
        &lt;source src=&quot;https://dascritch.net/vrac/sonores/podcast/1404-SambaResille2003.mp3&quot; type=&quot;audio/mpeg&quot; /&gt;
    &lt;/audio&gt;
&lt;/cpu-audio&gt;
&lt;li&gt;&lt;a href=&quot;https://dascritch.net/post/2018/11/06/Reconstruire-son-lecteur-audio-pour-le-web#samba_resille&amp;t=33m16s&quot;&gt;Sauter au milieu de ce sonore d'un simple lien, même en dehors de la page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dascritch.net/post/2018/11/06/Reconstruire-son-lecteur-audio-pour-le-web#interface&quot;&gt;Une autre démo avec les chapitres&lt;/a&gt;&lt;/li&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/dascritch/cpu-audio&quot;&gt;Le repository github du player&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dascritch.github.io/cpu-audio/&quot;&gt;Le site de démonstration du player&lt;/a&gt;, n'hésitez pas à tester &lt;a href=&quot;https://dascritch.github.io/cpu-audio/applications/live_config.html&quot;&gt;le configurateur&lt;/a&gt; et &lt;a href=&quot;https://dascritch.github.io/cpu-audio/applications/chapters_editor.html&quot;&gt;l'édition de chapitres&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;et tout ça pour &lt;a href=&quot;http://cpu.pm&quot;&gt;une émission radio&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h3 id=&quot;et-si-on-etendait-ce-tag&quot;&gt;Et si on étendait ce tag ?&lt;/h3&gt;

&lt;p&gt;
&lt;a class=&quot;r&quot; href=&quot;https://www.youtube.com/watch?v=ljpqG19NAa0&quot;&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1810-tagcpupm/.1810-tagcpupm-gomfler_s.jpg&quot; alt=&quot;capture d'écran d'un tutoriel sur comment gonfler une bouée de plage&quot; /&gt;
&lt;/a&gt;
Mais revenons au moment où on a déclaré deux sources de sons, ce qui permettait le support par la totalité des navigateurs web  supportant l'&lt;code&gt;&amp;lt;&lt;strong&gt;audio&lt;/strong&gt;&amp;gt;&lt;/code&gt;.&lt;br /&gt;
Ladite balise ne venait pas seule&amp;nbsp;: Elle était accompagnée d'&lt;a href=&quot;https://html.spec.whatwg.org/multipage/media.html#media-elements&quot;&gt;une API très riche&lt;/a&gt;, permettant de suivre l'état de chargement du fichier, de changer le volume sonore, de connaitre la position actuelle de lecture et même de changer la vitesse de restitution&amp;nbsp;! En fait, rien ne vous interdit de ne pas afficher l'interface native et de construire la votre derrière.
&lt;/p&gt;
&lt;p&gt;
L'occasion était trop belle&amp;nbsp;: &lt;a href=&quot;http://cpu.pm&quot;&gt;je changeais d'émission radio en lançant CPU&lt;/a&gt; et je lançais plusieurs projets liés en parallèle. L'idée étant que les contenus produits pour l'émission radio servent comme cas d'usage pour les projets afférents. L'occasion d'explorer ce que l'on pouvait explorer en production et en &lt;del&gt;consommation&lt;/del&gt; écoute d'émissions radio sur internet et de jouer avec les spécificités d'une émission radio par rapport à un &lt;em lang=&quot;en&quot;&gt;pure player&lt;/em&gt; audio du web.
&lt;/p&gt;
&lt;p&gt;
Un de mes projets était de reconstruire un &lt;em lang=&quot;en&quot;&gt;player&lt;/em&gt; audio au look un poil passe-partout, partageable/réutilisable avec d'autres sites, pour proposer des idées comme une &lt;em lang=&quot;en&quot;&gt;playlist&lt;/em&gt; partageable. 
&lt;/p&gt;

&lt;h3 id=&quot;pointer_dans_le_temps&quot; class=&quot;cl&quot;&gt;Pointer dans le temps&lt;/h3&gt;

&lt;p&gt;
En fait, l'écriture de ce player était une évolution d'une autre bibliothèque de mon crû&amp;nbsp;: &lt;a href=&quot;http://dascritch.net/post/2014/09/03/Timecodehash-%3A-Lier-vers-un-moment-d-un-sonore&quot;&gt;j'interceptais déjà les liens d'une page pour lier vers un moment dans le sonore d'une page&lt;/a&gt;, ce qui est bigrement utile…
&lt;/p&gt;
&lt;figure&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1409-TimecodeHash-FirefoxContext.jpg&quot; alt=&quot;&quot; /&gt;
&lt;figcaption&gt;
Un menu contextuel de Firefox, généré par ma bibliothèque timecodejs, permettant de récupérer une URL pointant sur le moment du sonore pointé par le menu contextuel.
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;
…et &lt;strong&gt;prévu par &lt;a href=&quot;http://www.w3.org/2008/WebVideo/Fragments/WD-media-fragments-spec/&quot;&gt;un standard du W3C depuis 2009, les &lt;em lang=&quot;en&quot;&gt;media fragments&lt;/em&gt;&lt;/a&gt;&amp;nbsp;!&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
L'idée est simple : transposer dans le hash d'une url le principe de segmentation des paramètres &lt;em lang=&quot;en&quot;&gt;query&lt;/em&gt; par un &lt;code&gt;&amp;amp;&lt;/code&gt;, et utiliser les paires &lt;code&gt;clé=&lt;em&gt;valeurs&lt;/em&gt;&lt;/code&gt;, les valeurs étant séparées par des virgules &lt;code&gt;clé=&lt;em&gt;valeur&lt;/em&gt;,&lt;em&gt;valeur&lt;/em&gt;&lt;/code&gt;. Le hash n'est interprété que par le logiciel client (le navigateur web), charge à lui d'optimiser finement la requête avec le serveur, en utilisant les requêtes partielles &lt;code&gt;Content-Range&lt;/code&gt;&lt;/a&gt;, répondues par des &lt;a href=&quot;https://tools.ietf.org/html/rfc7233#section-4.1&quot;&gt;&lt;code&gt;HTTP 206 Partial Content&lt;/code&gt;&lt;/a&gt;.&lt;br /&gt;
Et, beauté de la dégradation élégante, si le hash n'est pas compris… il est simplement ignoré.
&lt;/p&gt;
&lt;p&gt;
Il existe de multitudes de fragment de média possibles. Ainsi, si je veux afficher un bout de carré d'une grande image à partir des coordonnées (80,160) sur un carré de 80×80, je ferais un &lt;code&gt;&amp;lt;&lt;strong&gt;img&lt;/strong&gt; src=&quot;https://dascritch.net/post/2018/11/06/image.jpg#xywh=&lt;em&gt;80&lt;/em&gt;,&lt;em&gt;160&lt;/em&gt;,&lt;em&gt;80&lt;/em&gt;,&lt;em&gt;80&lt;/em&gt;&quot; alt=&quot;&quot; /&amp;gt;&lt;/code&gt;. &lt;br /&gt;
Vous trouvez qu'il y a comme &lt;a href=&quot;https://dascritch.net/post/2013/04/23/Dirty-Hacky-III-%3A-Du-sprite-explos%C3%A9-en-petits-gla%C3%A7ons&quot;&gt;une similarité avec les sprites&amp;nbsp;? L'idée partait justement de là&lt;/a&gt;.&lt;br /&gt;
On retrouve des stratégies équivalentes pour &lt;a href=&quot;https://developer.mozilla.org/fr/docs/Web/CSS/@font-face/unicode-range&quot;&gt;les polices de caractère&lt;/a&gt; mais qui n'étaient pas décrites dans ce standard-là.
&lt;/p&gt;
&lt;p&gt;
Soyons honnêtes&amp;nbsp;: À ce jour, en natif, &lt;a href=&quot;https://caniuse.com/#search=media%20fragment&quot;&gt;seules les vidéos sont considérées&lt;/a&gt;.&lt;br /&gt;
Et le standard n'a jamais été implémenté pour les sonores dans les pages, considérant que &lt;a href=&quot;https://developer.mozilla.org/fr/docs/Web/HTTP/Status/206&quot;&gt;le chargement fragmenté via les requêtes &lt;code&gt;Content-Range&lt;/code&gt;&lt;/a&gt; pouvait y palier. (Tu parles&amp;nbsp;! ça marche efficacement que pour les sonores encodés en CBR, sinon on tourne à la pifométrie, mais j'en causerais dans un autre billet).
&lt;/p&gt;
&lt;p&gt;
Car oui, trop longtemps &lt;strong&gt;on a oublié que le web a été conçu pour lier entre eux des documents d'une manière pérenne&lt;/strong&gt;, que le web sémantique va de pair avec &lt;a href=&quot;https://dascritch.net/post/2007/09/17/RIP-URL-URI-IRI-INRI-W3C&quot;&gt;l'espace d'adressage où est le document et qui existe à l'intérieur du document&lt;/a&gt;, et qu'on a la technologie pour lier à des chapitres (si on pense à &lt;a href=&quot;https://dascritch.net/post/2014/06/24/Sniffeur-d-ancre&quot;&gt;utiliser le nommage &lt;code&gt;id=&quot;&quot;&lt;/code&gt;, j'ai écrit un outil pour vous aider&lt;/a&gt;)…
&lt;/p&gt;

&lt;figure&gt;
&lt;a href=&quot;https://commons.wikimedia.org/wiki/File:WorldWideWebAroundWikipedia.png&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1810-tagcpupm/1810-tagcpupm-hyperlinks.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;figcaption&gt;
Importance du web documentaire : &lt;a href=&quot;https://commons.wikimedia.org/wiki/File:WorldWideWebAroundWikipedia.png&quot;&gt;les hyperliens autour de la page de garde de Wikipédia&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;
…mais si ces technologies sont très bien implémentées pour du texte, voire des vues pour certaines &lt;abbr&gt;PWA&lt;/abbr&gt;, il n'y avait à l'époque malheureusement aucune &lt;a href=&quot;http://www.annodex.net/~silvia/itext/mediafrag_multiple_servers.html&quot;&gt;implémentation propre&lt;/a&gt; et standardisée dans les navigateurs pour lier un sonore ou une vidéo embarqué dans une page à un moment très précis via une URL. Ce qui pose de sacrés soucis, par exemple quand on veut pointer une phrase dans une émission de 4 heures. &lt;small&gt;Oui, je fais parfois &lt;a href=&quot;https://cpu.dascritch.net/post/2017/12/14/Ex0069-How-deep-learning-is-your-love&quot;&gt;des émissions avec 4 heures de parlotte, et elles sont très très bien.&lt;/a&gt;&lt;/small&gt;
&lt;/p&gt;
&lt;p&gt;
Il existe néanmoins des implémentations de la notation &lt;code&gt;t=&lt;em&gt;&amp;lt;secondes&amp;gt;&lt;/em&gt;&lt;/code&gt; sur des médias au sein d'une page sur des sites à très fort traffic&amp;nbsp;:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Vimeo et Soundcloud l'utilisent dans la partie hashtag, comme je le fais (…&lt;code&gt;#t=&lt;em&gt;10&lt;/em&gt;&lt;/code&gt;)&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;Youtube et Peertube en sont très proches mais l'information temporelle est placée dans les paramètres de l'URL (…&lt;code&gt;?t=&lt;em&gt;10&lt;/em&gt;&lt;/code&gt;), charge aux serveurs de vous envoyer une page directement au bon repère, et qui impose d'&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/history/onVisited&quot;&gt;intercepter les modifications d'URL&lt;/a&gt; plutôt &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/Events/hashchange&quot;&gt;que seulement ceux du hash&lt;/a&gt; (exemple dans les chapitres de &lt;a href=&quot;https://www.youtube.com/watch?v=gbpNBWLxQgY&quot;&gt;cette vidéo de &lt;em&gt;Ça Fait Écho&lt;/em&gt;&lt;/a&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
À noter que plusieurs notations sont autorisées pour le timecode en valeur de &lt;code&gt;t=&lt;/code&gt;&amp;nbsp;: notamment le nombre de secondes, ou la notation SMPTE &lt;code&gt;HH:MM:SS.FFF&lt;/code&gt; très utilisée dans le monde professionnel (avec des &lt;em lang=&quot;en&quot;&gt;frames&lt;/em&gt; d'une durée d'un millième de secondes).
&lt;/p&gt;
&lt;p&gt;
Bonus que j'ai ajouté dans ma petite bibliothèque&amp;nbsp;: quand on quitte une page avec un tel sonore par inadvertance (lien, formulaire, chat qui saute sur &lt;kbd&gt;Alt&lt;/kbd&gt; et &lt;kbd&gt;F4&lt;/kbd&gt;), ben si je fais &lt;kbd&gt;←back&lt;/kbd&gt;, ou si la page s'ouvre avec exactement le même sonore, j'aimerais bien qu'il reprenne exactement là où je suis. Ça serait la moindre des choses, non&amp;nbsp;?
&lt;/p&gt;

&lt;p&gt;
Voilà qui m'a écrit…
&lt;/p&gt;
&lt;h3 id=&quot;mes_regles&quot;&gt;Mes règles de base :&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;être toujours au plus près des standards, pour ne plus &lt;a href=&quot;https://dascritch.net/post/2007/06/27/810-regrets-eternels-html-2-0&quot;&gt;revivre l'enfer d'avant leur respect&lt;/a&gt;, et avoir un code qui restera fonctionnel dans le temps&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;minimalisme de code, pas de bibliothèques/frameworks externes (JS ou CSS), si on s'appuie sur un &lt;em lang=&quot;en&quot;&gt;framework&lt;/em&gt;, vous ne pourrez jamais virer cette béquille et elle vous posera des problèmes à l'avenir&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;si besoin de code externe, appliquer les &lt;em lang=&quot;en&quot;&gt;polyfill&lt;/em&gt; les plus proches de ces mêmes standards&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;pouvoir le développer avec le moins d'outils tiers (genre Bower, Less, etc...). Tout au plus des &lt;em lang=&quot;en&quot;&gt;linters&lt;/em&gt; et des compresseurs JS et CSS&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dascritch.net/post/2013/03/19/La-dégradation-élégante-peut-sauver-votre-site&quot;&gt;par dégradation élégante, pouvoir fonctionner sur des vieux tromblons de plus de 2&amp;nbsp;ans au minimum&lt;/a&gt;&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;que le lecteur natif du navigateur web puisse fonctionner et s'afficher même si votre javascript est complètement planté, car si votre site de contenus ne présente aucun contenu sans javascript, c'est qu'il est sémantiquement mauvais&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.alsacreations.com/article/lire/1615-cest-quoi-le-responsive-web-design.html&quot;&gt;un design liquide, pour s'adapter à tous les styles et largeurs&lt;/a&gt;&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;assurer un minimum d'accessibilité&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twobithistory.org/2018/05/27/semantic-web.html&quot;&gt;rappeler l'importance d'un bon web sémantique&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;le_papa_player&quot;&gt;Le papa player&lt;/h3&gt;

&lt;p&gt;
Alors tout ça, &lt;a href=&quot;https://github.com/dascritch/ondemiroir-audio-tag&quot;&gt;je l'ai braficotté dans mon coin dans une petite bibliothèque javascript&lt;/a&gt;. Elle faisait ça&amp;nbsp;: 
&lt;/p&gt;
&lt;figure&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1810-tagcpupm/1810-tagcpupm-ondemiroir-large.png&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1810-tagcpupm/1810-tagcpupm-ondemiroir-moyen.png&quot; alt=&quot;&quot; /&gt;
&lt;figcaption&gt;
Le player “ondemiroir” dans deux résolutions
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;ul&gt;
&lt;li&gt;code javascript avec &lt;a href=&quot;http://vanilla-js.com/&quot;&gt;l'excellent framework vanilla js&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;en &lt;a href=&quot;http://www.liquidapsive.com/&quot;&gt;liquid reponsive web-design&lt;/a&gt;,&lt;/li&gt;
&lt;li&gt;avec &lt;abbr&gt;i18n&lt;/abbr&gt; (&lt;q lang=&quot;en&quot;&gt;internationalization&lt;/q&gt;, baille ze ouéy &lt;a href=&quot;https://www.youtube.com/watch?v=aRJ8Gkis40Y&quot;&gt;&lt;em lang=&quot;en&quot;&gt;excuse my french&lt;/em&gt;&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;affichage de pochette&lt;/li&gt;
&lt;li&gt;ajout de lien vers la page canonique du sonore&lt;/li&gt;
&lt;li&gt;navigation au clavier dans le sonore&lt;/li&gt;
&lt;li&gt;reprise à la volée si on a quitté le sonore (donc la page) inopinément au même endroit (très utile quand on lit la dernière émission dans la home du site &lt;a href=&quot;http://cpu.pm&quot;&gt;CPU.pm&lt;/a&gt;, puis qu'on clique sur la page de l'émission)&lt;/li&gt;
&lt;li&gt;partage sur des réseaux sociaux avec le moment en cours&lt;/li&gt;
&lt;li&gt;avoir un contrôleur cloné pour l'entête fixé (qui apparait quand le lecteur principal n'est pas visible)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;À l'usage, notre &lt;em lang=&quot;en&quot;&gt;player&lt;/em&gt; est réellement devenu un outil très utile pour dérusher les émissions, et pas que pour moi, mais aussi pour les journalistes qui ont participé à l'émission.
&lt;/p&gt;
&lt;p&gt;
Mais le code de génération est assez.. dégueu... &lt;br /&gt;
En plus, je voulais tenter un système de playlist centralisée (pour tous les podcasts de la radio), qui impliquait de charger la lib JS depuis un domaine précis. Très grosse erreur.
&lt;/p&gt;
&lt;p&gt;
je voulais rafraichir mon projet avec les Web Components. En fait, je voulais le faire avec dès 2015, quand je lançais l'émission, sauf qu'à ce moment-là, l'ensemble Web Component n'est pas encore gravé dans le marbre et les implémentations parfois masquées dans les navigateurs.
&lt;/p&gt;

&lt;h3 id=&quot;wc_fermes&quot;&gt;Les WC étaient fermés de l'intérieur&lt;/h3&gt;

&lt;blockquote&gt;
&lt;q&gt;J'ai jamais vu une discussion sur les WC qui n'est pas partie en couille&lt;/q&gt;&lt;br /&gt;
(&lt;a href=&quot;https://communautes-toulouse.slack.com/archives/C1GA5L7C4/p1539349510000100&quot;&gt;@myagoo, in slack communautés-toulouse &lt;/a&gt;)
&lt;/blockquote&gt;

&lt;p&gt;
Bon, on va pas troller, on va y aller simplement&amp;nbsp;:
&lt;/p&gt;
&lt;p&gt;
&lt;a href=&quot;https://commons.wikimedia.org/wiki/File:Lego_Color_Bricks.jpg&quot; class=&quot;r&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1810-tagcpupm/.1810-tagcpupm-legos_t.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
L'idée des Web Components est dans l'air depuis 2012. Il a commencé par être implémenté dans Chrome avant que le standard soit correctement validé. Puis nous eûmes soit des implémentations avec leurs propres API et concepts (&lt;a href=&quot;https://reactjs.org/&quot;&gt;ReactJS&lt;/a&gt;, &lt;a href=&quot;https://vuejs.org/&quot;&gt;VueJS&lt;/a&gt;,…) , soit des &lt;em lang=&quot;en&quot;&gt;polyfills&lt;/em&gt; plus ou moins proches des standards (&lt;a href=&quot;https://www.polymer-project.org/&quot;&gt;Polymer&lt;/a&gt;,…)&lt;br /&gt;
Le choix d'un &lt;em lang=&quot;en&quot;&gt;polyfill&lt;/em&gt; au plus proche des standards me semblait évident, et je voulais utiliser &lt;a href=&quot;http://bosonic.github.io/&quot;&gt;le génial Bosonic&lt;/a&gt; de mon camarade &lt;a href=&quot;https://twitter.com/goldoraf&quot;&gt;Raphael Rougeron&lt;/a&gt;.&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;
Si je radiographiais le code source d'un Web Component, je verrais ça&amp;nbsp;:
&lt;/p&gt;
&lt;code&gt;&lt;pre&gt;
&amp;lt;&lt;strong&gt;template&lt;/strong&gt;&amp;gt;
  &amp;lt;&lt;strong&gt;style&lt;/strong&gt;&amp;gt;
    …
  &amp;lt;/&lt;strong&gt;style&lt;/strong&gt;&amp;gt;
  …
&amp;lt;/&lt;strong&gt;template&lt;/strong&gt;&amp;gt;

&amp;lt;&lt;strong&gt;script&lt;/strong&gt;&amp;gt;
  &lt;strong&gt;class&lt;/strong&gt; TonElement &lt;strong&gt;extends&lt;/strong&gt; HTMLElement {
      constructor() {
      }
      …
  }
  window.customElements.define('&lt;em&gt;ton-element&lt;/em&gt;', TonElement);
&amp;lt;/&lt;strong&gt;script&lt;/strong&gt;&amp;gt;
&lt;/pre&gt;&lt;/code&gt;
&lt;p&gt;
Un motif HTML, un stylage CSS et &lt;a href=&quot;https://hacks.mozilla.org/2018/10/firefox-63-tricks-and-treats/&quot;&gt;une classe javascript pour piloter le module.&lt;/a&gt;&lt;br /&gt;
Dans l'idée de départ, le tout était enregistré dans un document &lt;code&gt;.html&lt;/code&gt; importé dans ta page via &lt;code&gt;&amp;lt;&lt;strong&gt;link&lt;/strong&gt; rel=&quot;&lt;em&gt;import&lt;/em&gt;&quot; href=&quot;https://dascritch.net/post/2018/11/06/&lt;span class=&quot;url&quot;&gt;webcomponent.html&lt;/span&gt;&quot; /&amp;gt;&lt;/code&gt;
&lt;/p&gt;
&lt;p&gt;
Et dans ta page, tu l'appelles comme ça&amp;nbsp;:
&lt;/p&gt;
&lt;code&gt;&lt;pre&gt;&amp;lt;&lt;strong&gt;ton-element&lt;/strong&gt;&amp;gt;
&amp;lt;/&lt;strong&gt;ton-element&lt;/strong&gt;&amp;gt; &lt;/pre&gt;&lt;/code&gt;
&lt;p&gt;
Le choix de nommage est assez malin car le standard impose dans le nom d'utiliser un &lt;code&gt;-&lt;/code&gt;, afin de ne pas se marcher sur les pieds ultérieurement.
&lt;/p&gt;

&lt;h3 id=&quot;les_web_components_sont_formidables&quot;&gt;Les Web Components sont &lt;q&gt;formidables&lt;/q&gt;&lt;/h3&gt;

&lt;p&gt;
&lt;a class=&quot;r&quot; href=&quot;http://blog.syti.net/index.php?article=398&quot;&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1810-tagcpupm/1810-tagcpupm-bidule.gif&quot; alt=&quot;une publicité pour un bidule&quot; /&gt;
&lt;/a&gt;

Et en quoi ils vont nous être bigrement utiles&amp;nbsp;:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ils présentent un ensemble d'API totalement standardisées par le W3C, dans 10 ans, le code tournera encore&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;ils obligent à concevoir &lt;a href=&quot;http://atomicdesign.bradfrost.com/&quot;&gt;un design atomique&lt;/a&gt;&amp;nbsp;: réfléchir non plus en terme d'aspect global d'une page comme on le fait pour un site, mais en briques élémentaires, indépendantes, donc réutilisables ailleurs&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;ils peuvent se passer des &lt;em lang=&quot;en&quot;&gt;frameworks&lt;/em&gt; de rendus pour les intégrer&amp;nbsp;; fini la panique de mettre à jour &lt;em lang=&quot;en&quot;&gt;bloated code&lt;/em&gt;, ranger ReactJS à côté de MooTools dans l'étagère du fond&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;il sont &lt;a href=&quot;https://developer.mozilla.org/fr/docs/Web/Web_Components/Shadow_DOM&quot;&gt;isolés du reste de la page avec le Shadow DOM&lt;/a&gt;, une &lt;a href=&quot;https://developer.mozilla.org/fr/docs/Web/API/DocumentFragment&quot;&gt;API &lt;code&gt;document&lt;/code&gt; fragment d'un DocumentRoot&lt;/a&gt; (comme une iframe) appelée &lt;code&gt;shadowRoot&lt;/code&gt;. L'isolation peut être stricte, mais laisse la possibilité de discuter par des points d'entrée&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;ils n'ont plus besoin de CSS reset pour nettoyer les règles venant de la CSS du site, ou de filtrer des événements sur des tagNames. À noter que les variables CSS3 passent, on s'en servira&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;leur insertion est simple au possible, à condition que le développeur pense à la dégradation élégante&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;mais ils peuvent inserer des éléments déclarés dans leur code d'appel HTML, ce qui permet une dégradation élégante si le Web Component n'est pas fonctionnel&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;ils disposent d'une mécanique standard pour l'inclusion et la suppression d'une instance d'un Web Component dans une page, déjà cablée sur tout manipulation d'éléments, ce qui facilite la gestion mémoire sur les Single Page Application&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;comme la version de javascript imposée accepte &lt;a href=&quot;https://javascript.info/class-inheritance&quot;&gt;les extensions de classes&lt;/a&gt;, on peut construire des héritages de web-elements.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p&gt;
En fait, un Web Component, vous vous en serviez sûrement &lt;a href=&quot;https://www.alsacreations.com/tuto/lire/1407-formulaire-html5-type-date-time-local.html&quot;&gt;des prototypes via &lt;code&gt;&amp;lt;&lt;strong&gt;input&lt;/strong&gt; type=&quot;&lt;em&gt;date&lt;/em&gt;&quot;&amp;gt;&lt;/code&gt;&lt;/a&gt;, &lt;a href=&quot;https://www.alsacreations.com/tuto/lire/1410-formulaire-html5-type-range.html&quot;&gt;&lt;code&gt;&amp;lt;&lt;strong&gt;input&lt;/strong&gt; type=&quot;&lt;em&gt;range&lt;/em&gt;&quot;&amp;gt;&lt;/code&gt;&lt;/a&gt;, le &lt;a href=&quot;https://www.alsacreations.com/article/lire/1335-html5-details-summary.html&quot;&gt;tandem &lt;code&gt;&amp;lt;&lt;strong&gt;summary&lt;/strong&gt;&amp;gt;&lt;/code&gt;/&lt;code&gt;&amp;lt;&lt;strong&gt;details&lt;/strong&gt;&amp;gt;&lt;/code&gt;&lt;/a&gt; ou encore &lt;code&gt;&amp;lt;&lt;strong&gt;video&lt;/strong&gt; controls&amp;gt;&lt;/code&gt; , car les implémentations &lt;q&gt;natives&lt;/q&gt; de ces composants dans les navigateurs datent à peu près de cette période.
&lt;/p&gt;

&lt;h3 id=&quot;degradation_elegante&quot;&gt;Dégradation élégante&lt;/h3&gt;

&lt;p&gt;
&lt;img class=&quot;r&quot; src=&quot;https://dascritch.net/vrac/.blog2/webdev/1810-tagcpupm/.1810-tagcpupm-degradation_s.jpg&quot; alt=&quot;&quot; /&gt;
Pour moi, il me semblait absolument évident que le script doit être capable de &lt;strong&gt;ne pas fonctionner&lt;/strong&gt; sans bloquer l'accès au contenu publié. Il y a milles et unes raisons que cela arrive&amp;nbsp;:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La bibliothèque ne se charge pas,&lt;/li&gt;
&lt;li&gt;votre code est bugué,&lt;/li&gt;
&lt;li&gt;le navigateur client n'a pas toute les fonctionnalités nécessaires,&lt;/li&gt;
&lt;li&gt;le visiteur bloque volontairement tout javascript pour des raisons hygiéniques,
&lt;li&gt;le web n'est pas parcouru que par des navigateurs webs connus et le Google-bot.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Il faut donc que le lecteur audio natif reste fonctionnel, mais qu'il soit facilement capturé et caché par le Web Component. Et ses propriétés d'invocations sont extrêmement intéressantes :
&lt;/p&gt;

&lt;code&gt;&lt;pre&gt;&amp;lt;&lt;strong&gt;cpu-audio&lt;/strong&gt;&amp;gt;
  &amp;lt;&lt;strong&gt;audio&lt;/strong&gt; controls&amp;gt;
  &amp;lt;/&lt;strong&gt;audio&lt;/strong&gt;&amp;gt;
&amp;lt;/&lt;strong&gt;cpu-audio&lt;/strong&gt;&amp;gt;&lt;/pre&gt;&lt;/code&gt;

&lt;p&gt;
Sur un navigateur &lt;q&gt;ancien&lt;/q&gt;, la balise du Web Component sera toujours interprétée, mais le navigateur ignorera sa signification sémantique. En fait, elle serait vue par un &lt;code&gt;&amp;lt;&lt;strong&gt;div&lt;/strong&gt;&amp;gt;&lt;/code&gt; que ce serait pareil. C'est un fonctionnement d'intégration par &lt;em lang=&quot;en&quot;&gt;fallback&lt;/em&gt; qui a toujours été prôné par le W3C et qui est utilisé dans les exemples plus haut avec &lt;code&gt;&amp;lt;&lt;strong&gt;object&lt;/strong&gt;&amp;gt;&lt;/code&gt; et &lt;code&gt;&amp;lt;&lt;strong&gt;audio&lt;/strong&gt;&amp;gt;&lt;/code&gt;, et c'est ce qui permet de garder un minimum de support le temps que les navigateurs clients soient renouvelés.&lt;br /&gt;
La balise &lt;code&gt;&amp;lt;&lt;strong&gt;audio&lt;/strong&gt;&amp;gt;&lt;/code&gt; que j'y ai mis serait du coup intégrée normalement, et son interface graphique normalement affichée, invoquée via l'attribut &lt;code&gt;controls&lt;/code&gt;.
&lt;/p&gt;
&lt;p&gt;
Les précédentes opérations ont lieu sur un navigateur moderne, sauf que la classe &lt;code&gt;TonElement&lt;/code&gt; liée à la balise sera invoquée via sa méthode &lt;code&gt;constructor()&lt;/code&gt;&amp;nbsp;; méthode qui insère le shadowDom (l'interface graphique), lance les interactions avec cette interface, et retire l'attribut &lt;code&gt;controls&lt;/code&gt; de la balise &lt;code&gt;&amp;lt;&lt;strong&gt;audio&lt;/strong&gt;&amp;gt;&lt;/code&gt; pour la cacher.
&lt;/p&gt;

&lt;p&gt;
J'avais néanmoins besoin, même si les API Web Components n'étaient pas supportés, qu'un navigateur &lt;q&gt;daté&lt;/q&gt; profite néanmoins de la fonctionnalité d'adressage dans le temps du sonore. Ce qui voulait dire avoir une vraie &lt;strong&gt;politique de développement en amélioration progressive&lt;/strong&gt; et pour cela, il fallait isoler du code ce qui concerne purement cet adressage et la gestion de l'interface graphique. Bon, dans les faits, tout n'est pas proprement isolé, mais l'essentiel y est.
&lt;/p&gt;

&lt;h3 id=&quot;brique-olons&quot;&gt;Brique-olons&lt;/h3&gt;
&lt;p&gt;
&lt;a class=&quot;r&quot; href=&quot;https://commons.wikimedia.org/wiki/File:Bangalore_echafaudage.jpg&quot; rel=&quot;lightbox&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1810-tagcpupm/.1810-tagcpupm-echafaudage_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

Chrome avait une excellente démonstration du ShadowDOM v0 mais avait des petites craditudes derrières. Il y avait aussi la possibilité d'insérer des variables dynamiques dans la CSS et le HTML, mais l'implémentation jouait avec des rafraichissement continués en écrivant directement dans le &lt;code&gt;.innerHTML&lt;/code&gt;, avec donc d'énormes soucis de performances. &lt;a href=&quot;https://x-tag.github.io/&quot;&gt;Mozilla avait sa propre implémentation, les X-Tags&lt;/a&gt;, qui n'étaient vraiment pas facile à prendre en main. Enfin bref, fallait implémenter de façon très expérimentale, des fois pas accessible par défaut, car on allait changer pas mal de paradigmes sur lesquels les navigateurs web étaient construits.
&lt;/p&gt;
&lt;p&gt;
Puis virent les BONNES nouvelles : ShadowDOM v1 fut enfin finalisé. Chrome en fit une implémentation propre. Et l'équipe de Google proposa un &lt;em lang=&quot;en&quot;&gt;polyfill&lt;/em&gt;, &lt;a href=&quot;https://github.com/webcomponents/webcomponentsjs&quot;&gt;WebComponentsJS&lt;/a&gt;, qui était vraiment au plus proche du standard des Web Components, à se demander quel intérêt on a encore à utiliser &lt;a href=&quot;https://www.polymer-project.org/&quot;&gt;le framework Polymer&lt;/a&gt;.&lt;br /&gt;
Bon en fait, WebComponentsJS n'est pas parfait, notamment il crée des javascript &lt;em lang=&quot;en&quot;&gt;inline&lt;/em&gt; pour émuler les HTML import et les inclusions… une réponse extrêmement mauvaise en terme de sécurité car on doit alors réduire &lt;a href=&quot;https://openweb.eu.org/articles/content-security-policy&quot;&gt;les &lt;em lang=&quot;en&quot;&gt;Content Security Policies&lt;/em&gt; de son site&lt;/a&gt;, et pour moi, réduire les fonctions de sécurité est une ligne rouge.
&lt;/p&gt;
&lt;p&gt;
Il fallait attendre patiemment les implémentations natives qui n'allaient pas tarder. Le navigateur multi-plateforme qui était apparemment le plus en retard était Firefox, l'implémentation native était là, activable par des paramètres cachés car pas encore considérée comme suffisamment solide. En fait, Mozilla attendait une stabilisation de l'API, dont leur implémentation était cachée &lt;a href=&quot;https://hacks.mozilla.org/2018/10/firefox-63-tricks-and-treats/&quot;&gt;jusqu'à Firefox 63&lt;/a&gt; quand il était &lt;a href=&quot;https://blog.genma.fr/?Pourquoi-j-utilise-Firefox-nightly&quot;&gt;en version &lt;em lang=&quot;en&quot;&gt;nightly&lt;/em&gt;&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Étonnement, Safari était assez vite prêt, Apple n'étant pas pressé de rendre le web aussi puissant que les applications natives.&lt;br /&gt;
Il reste le support de Edge, qui habituellement adapte bien plus vite les standards que Safari. Je tiens de source sûre que Microsoft le proposera pas pour la fin de l'année, car le support demande &lt;a href=&quot;https://evollia.com/le-manifeste-de-la-refactorisation/&quot;&gt;une refacto assez conséquente.&lt;/a&gt;
&lt;/p&gt;

&lt;h3 id=&quot;interface&quot;&gt;L'interface&lt;/h3&gt;

&lt;p&gt;
Voici un exemple de l'interface en mode &lt;q&gt;large&lt;/q&gt;&amp;nbsp;:
&lt;/p&gt;
&lt;p&gt;
Euh.... vous savez quoi ? Vaut mieux vous le montrer en vrai&amp;nbsp;:
&lt;/p&gt;
&lt;cpu-audio title=&quot;Ex0085 Le Mystère Enigma&quot; poster=&quot;https://cpu.dascritch.net/public/Images/Emissions/.1805-Ex0085-Enigma_s.jpg&quot; canonical=&quot;https://cpu.dascritch.net/post/2018/05/17/Ex0085-Histoires-de-la-cryptographie%2C-2%C3%A8me-partie-%3A-Le-myst%C3%A8re-d-Enigma&quot; twitter=&quot;@cpuprogramme&quot;&gt;
    &lt;audio controls=&quot;controls&quot; id=&quot;emission&quot; preload=&quot;metadata&quot;&gt;
        &lt;source src=&quot;https://dascritch.net/vrac/Emissions/CPU/0085-CPU%2817-05-18%29.ogg&quot; type=&quot;audio/ogg&quot;&gt;
        &lt;source src=&quot;https://dascritch.net/vrac/Emissions/CPU/podcast/0085-CPU%2817-05-18%29.mp3&quot; type=&quot;audio/mpeg&quot;&gt;
        &lt;track src=&quot;https://dascritch.net/vrac/Emissions/CPU/tracks/0085-CPU%2817-05-18%29.vtt&quot;  kind=&quot;chapters&quot; default=&quot;&quot;&gt;
    &lt;/audio&gt;
&lt;!-- fallback messages for browsers without webcomponents --&gt;
&lt;div class=&quot;cpu-audio-without-webcomponents too-old&quot;&gt;
    &lt;h4&gt;Pas de bol, votre navigateur ne supporte pas les Web Components&lt;/h4&gt;
&lt;p&gt; Mais voici une capture écran de ce que vous manquez : &lt;/p&gt;
&lt;figure&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1810-tagcpupm/1810-tagcpupm-player-playlist.jpg&quot; alt=&quot;&quot; /&gt;
&lt;/figure&gt;

&lt;/div&gt;
&lt;/cpu-audio&gt;


&lt;p&gt;
On voit le panneau horizontal standard avec la pochette, le bouton lecture/pause, le titre qui renvoie à la page canonique, le temps écoulé, la &lt;em lang=&quot;en&quot;&gt;timeline&lt;/em&gt; (où l'appui long entraine l'apparition du mode de navigation smartphone) et le bouton d'action.&lt;br /&gt;
Et le panneau optionnel de chapitrage.
&lt;/p&gt;

&lt;figure&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1810-tagcpupm/1810-tagcpupm-wc-normal.jpg&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1810-tagcpupm/1810-tagcpupm-wc-small.jpg&quot; alt=&quot;&quot; /&gt;
&lt;figcaption&gt;
Pour ceux qui ne peuvent l'afficher, ou pour les archivistes du &lt;span class=&quot;serif&quot;&gt;XXIII&lt;/span&gt;&lt;sup&gt;ème&lt;/sup&gt; siècle, deux captures du player, une en largeur &lt;q&gt;normale&lt;/q&gt;, et une autre dans une largeur de smartphone. &lt;small&gt;Captures de début octobre 2018.&lt;/small&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h3 id=&quot;chapitrage&quot;&gt;La puissance du chapitrage&lt;/h3&gt;

&lt;p&gt;
&lt;a class=&quot;r&quot; href=&quot;http://www.louisegrenadine.fr/2014/06/les-jolis-marque-pages.html&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1810-tagcpupm/.1810-tagcpupm-marquespages_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
Dans les fonctions qui sont hyper-pratiques et donc je suis fier, il y a le support des chapitres.
&lt;/p&gt;
&lt;p&gt;
Normalement, il existe la possibilité de chapitrer un fichier mp3/mp4 MAIS chaque format audio a sa propre spécification et il n'est pas dit que si un sonore a deux sources différentes, qu'elles soient raccord sur les déclarations de chapitres, et donc d'avoir des données uniformes. De même, un des problèmes les plus récurrents est que celui qui a encodé le média ne pense pas toujours à vérifier que les métadonnées soient en début de fichier, car certains encodeurs partent dans l'idée que vous voulez faire du vrai stream, sans début identifiable, et donc le chapitre déclaré au moment où il apparait (c'est comme ça que les radios transposent &lt;a href=&quot;https://fr.wikipedia.org/wiki/Radio_Data_System#Fonctionnalit.C3.A9s_du_RDS&quot;&gt;les informations contextuelles RadioText du RDS&lt;/a&gt; dans leur stream mp3 sur le net).
&lt;/p&gt;
&lt;p&gt;
Un sac de nœuds&amp;nbsp;? Non. Il se trouve qu'&lt;a href=&quot;https://www.w3.org/TR/webvtt1/&quot;&gt;il existe un standard du W3C (dérivé des fichiers de sous-titres &lt;code&gt;.srt&lt;/code&gt; , donc... issus du piratage, mais chut)&amp;nbsp;: Les WebVTT&lt;/a&gt;. Et pour les exploiter, une API standard parfaitement supportée par les navigateurs peut prévenir quand on entre ou sort d'un de ces chapitres.&lt;br /&gt;
Il est probable que vous les ayez déjà vus à l'œuvre dans une vidéo… sauf qu'&lt;strong&gt;ils sont quasi jamais utilisés en audio&lt;/strong&gt;, et donc sans interface utilisateur dans le navigateur… &lt;a href=&quot;https://dascritch.github.io/cpu-audio/CHAPTERS_ED&quot;&gt;Jusqu'à maintenant&lt;/a&gt;.
&lt;br /&gt;
Pour des raisons éditoriales, &lt;a href=&quot;https://dascritch.net/post/2018/08/17/CPU-Ex0093-Bonjour-%C3%A0-toi%2C-Enfant-du-Futur-Imm%C3%A9diat-%3A-Guerre-froide%2C-th%C3%A9%C3%A2tre-d-ombres-%28Des-espions-et-des-ondes%29&quot;&gt;l'interface des chapitres est activée sur mon blog, pas sur le site de CPU.&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
De même, le player intègre désormais &lt;a href=&quot;https://dascritch.github.io/cpu-audio/FEATURES#playlists&quot;&gt;une fonction &lt;em lang=&quot;en&quot;&gt;playlist&lt;/em&gt; dans une page&amp;nbsp;: si une balise termine sa lecture, la lecture d'une suivante peut démarrer dans la foulée&lt;/a&gt;.
&lt;/p&gt;


&lt;h3 id=&quot;ce_que_j_ai_appris&quot; class=&quot;cl&quot;&gt;Ce que j'ai appris&lt;/h3&gt;

&lt;p&gt;
&lt;img class=&quot;r&quot; src=&quot;https://dascritch.net/vrac/.blog2/webdev/1810-tagcpupm/1810-tagcpupm-mindblow.gif&quot; alt=&quot;&quot; /&gt;
&lt;strong&gt;Plein de méthodes du DOM&lt;/strong&gt; que je ne connaissais pas, et qui m'ont facilité le travail. Une fois de plus, on ne relit jamais assez les standards du W3C, sachant qu'ils font  actuellement plusieurs milliers de pages.  Une de mes découvertes, par exemple, me permet de gérer le blocage des lectures de son automatiques introduits depuis Avril 2018, &lt;code&gt;document.hasFocus()&lt;/code&gt; m'évite de lancer une lecture trop tôt et d'attendre que le visiteur a cliqué dans la vue de ma page.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Plein d'événements&lt;/strong&gt; et autres subtilités sur des balises HTML que je croyais connaitre. Comme quoi, on ne relit jamais assez les documentations officielles.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Utiliser les variables CSS3&lt;/strong&gt; pour &lt;a href=&quot;https://dascritch.github.io/cpu-audio/INSTALL#personnalization-via-css-variables&quot;&gt;pouvoir customiser l'aspect du Web Component de l'extérieur&lt;/a&gt; sans avoir à bricoler le code ou mettre trop d'attributs HTML dans la balise d'appel.
&lt;/p&gt;

&lt;p&gt;
Modifier du balisage sur &lt;a href=&quot;https://cpu.dascritch.net/category/Programmes&quot;&gt;les billets descriptifs de 95 émissions de CPU&lt;/a&gt;.&lt;br /&gt;
J'avais prévu de cacher la liste des chapitres si elle a été chargée et affichée par le lecteur. À la main, et plus d'une fois, pour finalement ne pas m'en servir de suite. Quand vous allez dans vos toilettes avec votre laptop, y'a comme un signe. J'ai tiré une croix pour les 390 &lt;a href=&quot;http://supplementweekend.fr/&quot;&gt;Supplément-Week-End&lt;/a&gt; et tous les autres émissions archivées. Moralité&amp;nbsp;: toujours déclarer des &lt;code&gt;id=&quot;&quot;&lt;/code&gt; par blocs reproductibles suffisamment tôt et s'y tenir, ce qui aurait permit d'automatiser ces modifs triviales.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Garder une séparation entre les sources HTML, feuilles de style et javascript.&lt;/strong&gt;&lt;br /&gt;
L'implémentation de HTML Imports restera dans les limbes pour des raisons de sécurité. Heureusement, on peut faire sans, tout en gardant la possibilité de séparer le &lt;code&gt;&amp;lt;&lt;strong&gt;template&lt;/strong&gt;&amp;gt;&lt;/code&gt;, le &lt;code&gt;&amp;lt;&lt;strong&gt;style&lt;/strong&gt;&amp;gt;&lt;/code&gt; et le javascript&amp;nbsp;: Pour cela, &lt;a href=&quot;https://github.com/dascritch/cpu-audio/blob/master/make.sh&quot;&gt;j'ai écrit un &lt;code&gt;make.sh&lt;/code&gt; maison crade,&lt;/a&gt; certes, mais il fait le taf avec un minimum d'environnement, et je vous invite à participer, il est &lt;a href=&quot;https://github.com/dascritch/cpu-audio/&quot;&gt;dans le repo de ce projet.&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Avoir attendu 2018 pour développer la nouvelle version m'a permis de bénéficier de&amp;nbsp;:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;API enfin stabilisées et réellement standardisés&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;meilleur support de ces standards dans les navigateurs&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;par amélioration progressive, pouvoir toucher 50% d'audience ayant un navigateur à jour de moins de 6 mois (et avoir au moins deux navigateurs cibles multiplateformes)&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;n'utiliser aucun &lt;em lang=&quot;en&quot;&gt;polyfill&lt;/em&gt;&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;modulariser pour avoir un fonctionnement possible sans le support des Web Components&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dascritch.github.io/cpu-audio/INSTALL#personnalization-via-css-variables&quot;&gt;usage des variables CSS3&lt;/a&gt;, ce qui permet de &lt;a href=&quot;https://dascritch.github.io/cpu-audio/applications/live_config.html&quot;&gt;pouvoir personnaliser plus facilement le player&lt;/a&gt;&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;relevé deux bugs dans Firefox, &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=1476302&quot;&gt;1476302&lt;/a&gt; et &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=1476301&quot;&gt;1476301&lt;/a&gt; (yay !)&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;passer mes serveurs en &lt;a href=&quot;https://blog.eleven-labs.com/fr/http2-nest-pas-le-futur-cest-le-present/&quot;&gt;HTTP2&lt;/a&gt;, mais sans &lt;a href=&quot;https://www.smashingmagazine.com/2017/04/guide-http2-server-push/&quot;&gt;le mode &lt;em lang=&quot;en&quot;&gt;push&lt;/em&gt;&lt;/a&gt;, faute d'un support correct du mode &lt;code&gt;HTTP 206 Partial content&lt;/code&gt; ou de pouvoir désactiver le &lt;em lang=&quot;en&quot;&gt;push&lt;/em&gt; en fonction du type-mime&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;résoudre le problème posé par &lt;a href=&quot;https://arstechnica.com/gadgets/2018/03/chrome-66-will-try-to-block-unwanted-noisy-autoplaying-video/&quot;&gt;le blocage des autoplays sonores par Chrome (mars 2018)&lt;/a&gt; et Firefox (Octobre 2018).&lt;/li&gt;
&lt;li&gt;étoffer la doc et proposer &lt;a href=&quot;https://dascritch.github.io/cpu-audio/applications/live_config.html&quot;&gt;un outil de configuration &lt;em lang=&quot;en&quot;&gt;live&lt;/em&gt;&lt;/a&gt; et d'&lt;a href=&quot;https://dascritch.github.io/cpu-audio/applications/chapters_editor.html&quot;&gt;édition des chapitres&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h3 id=&quot;me_suis_plante&quot;&gt;Je me suis néanmoins planté&lt;/h3&gt;
&lt;p&gt;
&lt;img class=&quot;r&quot; src=&quot;https://dascritch.net/vrac/.blog2/webdev/1810-tagcpupm/.1810-tagcpupm-sol-glissant_s.jpg&quot; alt=&quot;&quot; /&gt;

&lt;strong&gt;J'ai perdu un contributeur&lt;/strong&gt; (désolé &lt;a href=&quot;https://github.com/NerOcrO&quot;&gt;NerOcrO&lt;/a&gt;) car j'ai repris le projet ondemiroir-player de zéro à grands coups de copiés-collés et je l'ai surtout annoncé beaucoup trop tôt avant de pouvoir prendre des tiers. Cela a toujours été ma peur bleue quand j'ouvrais mon code, et le meilleur moyen est d'&lt;strong&gt;écrire suffisamment tôt &lt;a href=&quot;https://github.com/dascritch/cpu-audio/blob/master/CONTRIBUTING.md&quot;&gt;une &lt;em lang=&quot;en&quot;&gt;guideline&lt;/em&gt; des contributeurs&lt;/a&gt; pour que les règles soient posées d'entrée.&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Il y a toujours ce souci insupportable qu'&lt;strong&gt;il est impossible d'essayer Safari sur iOS sans avoir un iPhone&lt;/strong&gt;/iPad sous la main. Et d'expérience sur les interfaces, &lt;strong&gt;un émulateur peut être vraiment trompeur&lt;/strong&gt;. J'en veux pour exemple le mode &lt;q&gt;émulation d'appareils mobiles&lt;/q&gt; de Chrome à qui il manque des API telles que &lt;code&gt;navigator.share&lt;/code&gt;. Alors payer pour un émulateur en ligne… ahem…
&lt;/p&gt;
&lt;p&gt;
Et tout ça pour arriver trop vite, ayant quasi-terminé 6 mois avant de pouvoir lancer mon player :/ Les Web Components totalement fonctionnels sont arrivés dans Firefox&amp;nbsp;63 sorti officiellement le 23 Octobre, bien après Chrome et Safari, mais la version LTS (&lt;em lang=&quot;en&quot;&gt;Long Term Support&lt;/em&gt;) actuelle est Firefox ESR 60 et Tails utilise une version encore plus vieille. Ce qui veut dire que &lt;a href=&quot;https://www.mozilla.org/en-US/firefox/organizations/&quot;&gt;Firefox ESR et Tails vont voir le nouveau lecteur dans sa version &lt;em lang=&quot;en&quot;&gt;fallback&lt;/em&gt; un petit moment&amp;nbsp;: pas avant juillet 2019.&lt;/a&gt;
&lt;/p&gt;
&lt;figure class=&quot;cl&quot;&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1810-tagcpupm/1810-tagcpupm-firefox-esr.png&quot; alt=&quot;&quot; /&gt;
&lt;figcaption&gt;Eh oui, le support à long terme est souvent synonyme de… &lt;q lang=&quot;en&quot;&gt;long tail&lt;/q&gt;&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;
Je terminerai par &lt;a href=&quot;https://twitter.com/mariejulien/status/1047827583126183937&quot;&gt;un tweet de @mariejulien&lt;/a&gt; (&lt;a href=&quot;https://cpu.dascritch.net/post/2018/05/16/Julien-Dubedout%2C-cr%C3%A9ateur-de-la-collection-de-badges-cyberspace-building-crew&quot;&gt;le gars des badges en tissu&lt;/a&gt;) lors de Paris Web
&lt;/p&gt;
&lt;blockquote&gt;
Question de @SkyNebula à #parisweb sur comment contribuer au libre quand on est designer, début de réponse &quot;déjà tu peux voir si y'a un contributing md sur le repo…&quot; 😅🤗
&lt;br /&gt;
&lt;br /&gt;
Vous le voyez toujours pas le problème ? Tout le monde n'utilise pas des outils de dev. Get over it. 😁
&lt;/blockquote&gt;
&lt;p&gt;
… ce qui m'a fait écrire &lt;a href=&quot;https://github.com/dascritch/cpu-audio/blob/master/CONTRIBUTING.md&quot;&gt;le message d'accueil aux contributeurs extérieurs AUSSI pour les non-développeurs.&lt;/a&gt; Ne serait-ce pour les traductions, le graphisme, la doc, etc… Il faut que je complète encore pour expliquer comment faire sans avoir à installer d'outils via le site web de Github, notamment &lt;a href=&quot;https://github.com/dascritch/cpu-audio/blob/master/src/10_i18n.js&quot;&gt;l'épineuse question des localisations&lt;/a&gt; (utiliser les &lt;code&gt;.po&lt;/code&gt;&amp;nbsp;? un tableur&amp;nbsp;?).
&lt;/p&gt;

&lt;p&gt;
Ce qui m'amène à…
&lt;/p&gt;

&lt;h3 id=&quot;todo&quot;&gt;L'avenir imaginé pour mon lecteur&lt;/h3&gt;

&lt;p&gt;
&lt;img class=&quot;r&quot; src=&quot;https://dascritch.net/vrac/.blog2/webdev/1810-tagcpupm/.1810-tagcpupm-todo_t.png&quot; alt=&quot;&quot; /&gt;

Oui, je sais, &lt;a href=&quot;https://developers.google.com/style/future&quot;&gt;il ne faut pas documenter le futur d'un produit.&lt;/a&gt; Néanmoins, voilà ce que j'aimerais faire&amp;nbsp;:
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;avoir &lt;strong&gt;un vrai travail de design et d'accessibilité&lt;/strong&gt;, et le documenter&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/dascritch/cpu-audio/issues/25&quot;&gt;&lt;strong&gt;résoudre le problème du positionnement fin en tactile sur smartphone&lt;/strong&gt;&lt;/a&gt;&amp;nbsp;: la barre de progression n'est bien qu'à la souris sur ordi, on compense la précision par le clavier. Aucun de ces dispositifs sont sur portable… j'ai prévu une interface avec des boutons en appui long sur la timeline (ou click droit à la souris), mais c'est pas encore ça&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;le support des règles CSS en fonction de la largeur d'un élément&amp;nbsp;; &lt;a href=&quot;https://github.com/dascritch/cpu-audio/blob/master/src/global.css#L27&quot;&gt;&lt;code&gt;@element&lt;/code&gt; est prête pour moi,&lt;/a&gt; mais implémentée nulle part&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;plus de tests de non-régression&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;encore plus de tests&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;documenter encore plus&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;construire en même temps que la compilation des add-ons pour des CMS communs, notamment dotclear&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;créer des add-ons WebExtensions pour les navigateurs avec un ProtocolHandler custom pour basculer la lecture vers une application native (ex: VLC), et donc gérer les touches multimédias, ou les copier dans une clé USB à emporter&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;créer des fonctions décentralisées, sur le modèle (ou basées sur) mastodon&amp;nbsp;:&lt;ul&gt;
    &lt;li&gt;pouvoir faire &lt;a href=&quot;https://github.com/dascritch/cpu-audio/issues/10&quot;&gt;des commentaires comme pour SoundCloud mais de façon décentralisée&lt;/a&gt;&amp;nbsp;;&lt;/li&gt;
    &lt;li&gt;pouvoir &lt;a href=&quot;https://github.com/dascritch/cpu-audio/issues/8&quot;&gt;créer des &lt;em lang=&quot;en&quot;&gt;playlists&lt;/em&gt; et les partager de façon décentralisé&lt;/a&gt;. Par exemple, lier des émissions qui ont la même thématique comme &lt;a href=&quot;https://www.franceinter.fr/emissions/tout-est-numerique&quot;&gt;«&amp;nbsp;&lt;em&gt;Tout est numérique&lt;/em&gt;&amp;nbsp;» d'Olivier Tesquet sur France Inter&lt;/a&gt;, &lt;a href=&quot;https://www.april.org/emission-libre-a-vous-diffusee-mardi-4-septembre-2018-sur-radio-cause-commune&quot;&gt;«&amp;nbsp;&lt;em&gt;Libre à vous&lt;/em&gt;» de l'April&lt;/a&gt;, &lt;a href=&quot;https://www.nolimitsecu.fr/&quot;&gt;le podcast «&amp;nbsp;&lt;em&gt;NoLimitSécu&lt;/em&gt;&amp;nbsp;&lt;/a&gt; avec &lt;a href=&quot;http://cpu.pm&quot;&gt;la mienne&lt;/a&gt;, et les annoter&amp;nbsp;;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;générer des infos côté serveur comme&lt;ul&gt;
    &lt;li&gt;un spectrogramme&amp;nbsp;;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://github.com/dascritch/cpu-audio/issues/12&quot;&gt;découper en MSE API ou MPEG-DASH (Dynamic Adaptive Streaming over HTTP)&lt;/a&gt;, notamment pour sauter plus vite à des fragments (mais y'a des brevets dessus) puis les navigateurs Chrome et Safari se montrent très mauvais dans le chargement partiel d'un sonore via les requêtes &lt;code&gt;Content-Range&lt;/code&gt;&amp;nbsp;;&lt;/li&gt;
    &lt;li&gt;avoir un système de pige automatique des textes, pour l'accessibilité aux sourds et malentendants. Je remercie infiniment le travail des bénédictins de l'April, se faire transcrire par eux est un honneur. Accessoirement, cela aide aussi au référencement naturel (sifflote)&amp;nbsp;;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;traduire&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;supporter les localisations &lt;abbr&gt;RTL&lt;/abbr&gt; (&lt;em lang=&quot;en&quot;&gt;Right To Left&lt;/em&gt;), notamment pour les langues arabes, hébreu,… ce qui signifie renverser les icones, la &lt;em lang=&quot;en&quot;&gt;timeline&lt;/em&gt; et.... les touches fléchées du clavier, eh oui&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;supporter la vidéo aussi&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;rester sous les 100Ko.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;pourquoi_t_embeter&quot;&gt;«&amp;nbsp;Mais pourquoi t'embêter&amp;nbsp;? y'a les apps natives maintenant&amp;nbsp;!&amp;nbsp;»&lt;/h3&gt;

&lt;p&gt;
Alors oui, malheureusement, la plupart des utilisateurs d'internet sont désormais clients d'applications mobiles… 
&lt;/p&gt;
&lt;p&gt;
mais pour moi, &lt;strong&gt;le Web n'est pas mort&lt;/strong&gt;&amp;nbsp;!&lt;br /&gt;
Il est ce que nous en ferons&amp;nbsp;: du partage, de l'accès à tous et dans le &lt;code&gt;&amp;lt;&lt;strong&gt;a&lt;/strong&gt; href=&quot;https://dascritch.net/post/2018/11/06/&quot;&amp;gt;&lt;/code&gt; tous les lier. Il peut même remplacer fortement ces applications, éviter la fragmentation des langages et des frameworks, et conforter ses missions premières via &lt;a href=&quot;https://dascritch.net/post/2007/09/17/RIP-URL-URI-IRI-INRI-W3C&quot;&gt;les hyperliens et la décentralisation&lt;/a&gt;,…&lt;br /&gt;
Qu'on puisse mettre un marque page à un endroit, partager ce lien et donc le contexte à ses amis, dans ses billets de blogs, et retrouver le contexte si la page est publique bien plus tard (à condition que le site existe et qu'il a maintenu son plan d'adressage).
&lt;/p&gt;
&lt;p&gt;
C'est un peu ce que je fais inconsciemment avec ce petit bout de code, qui ne sert qu'à une chose&amp;nbsp;: rendre les sonores plus navigables et plus partageables.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://dascritch.net/post/2019/06/05/Retravailler-un-lecteur-web-audio-dans-les-petites-largeurs&quot;&gt;L'étape suivant a été de &lt;strong&gt;travailler dans les petites largeurs&lt;/strong&gt;.&lt;/a&gt;
&lt;/p&gt;</content:encoded>
    
    
    
      </item>
  
	<item>
		<title>Mettre de l'audio dans le web n'a pas été simple</title>
		<link>https://dascritch.net/post/2018/11/06/Mettre-de-l-audio-dans-le-web-n-a-pas-%C3%A9t%C3%A9-simple</link>
		<guid isPermaLink="false">urn:md5:37c5f6fc056dbe15958c1f709025d4c2</guid>
		<dc:date>2018-11-06T12:24:00+01:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Webdev</dc:subject>
        
    <description>…alors autant raconter ce qui m'a mené à écrire un lecteur audio pour une page web.		&lt;span class="tags"&gt;&lt;br /&gt;&lt;a href="https://dascritch.net/category/Webdev"&gt;Webdev&lt;/a&gt; &lt;/span&gt;
	</description>
    <content:encoded>
		&lt;p&gt;…alors autant raconter ce qui m'a mené à écrire un lecteur audio pour une page web.&lt;span class="tags"&gt;&lt;br /&gt;
		&lt;a href="https://dascritch.net/category/Webdev"&gt;
			Webdev&lt;/a&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;
Cet article est dans &lt;a href=&quot;https://dascritch.net/serie/cpu-audio&quot;&gt;la série consacrée au développement&lt;/a&gt; de la bibliothèque &lt;a  href=&quot;https://dascritch.github.io/cpu-audio/&quot;&gt;cpu-audio.js&lt;/a&gt; et documente les affres de &lt;a href=&quot;https://github.com/dascritch/cpu-audio/releases/tag/6.0&quot;&gt;ses versions 5 et 6.&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Dans cette série :
&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Mettre de l'audio dans le web n'a pas été simple&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dascritch.net/post/2018/11/06/Reconstruire-son-lecteur-audio-pour-le-web&quot;&gt;Reconstruire son lecteur audio pour le web&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dascritch.net/post/2019/06/05/Retravailler-un-lecteur-web-audio-dans-les-petites-largeurs&quot;&gt;Retravailler un lecteur web audio dans les petites largeurs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dascritch.net/post/2019/06/18/Le-blues-du-navigator.share&quot;&gt;Le blues du Web Share&lt;/a&gt;  (&lt;a href=&quot;https://dascritch.net/post/2019/06/26/We-need-Web-Share&quot;&gt;english version&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dascritch.net/post/2019/11/13/Deux-couleurs-bizarres-en-CSS&quot;&gt;Deux couleurs bizarres en CSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dascritch.net/post/2021/04/28/cpu-audio.js-enfin-en-7.0&quot;&gt;cpu-audio.js enfin en 7.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Tout-terrain WebVTT pour de l'audio&lt;/li&gt;
&lt;li&gt;Dichotomie entre podcast et web sur l'audience&lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id=&quot;j_ai_eu_une_chance_incroyable&quot;&gt;J'ai eu une chance incroyable&lt;/h3&gt;

&lt;p&gt;
L'année où j'ai eu mon bac, en 1993, je suis entré dans &lt;a href=&quot;http://www.radio-fmr.net&quot;&gt;une radio associative, Radio &amp;lt;FMR&amp;gt;&lt;/a&gt;, au moment où elle faisait encore une audience d'importance, supérieure aux 3%. On entendait cette radio de punks dans les bars, les friperies et les magasins de disques. Je pensais faire le désespoir de mes parents, et à mon grand désarroi, j'ai appris que mon père avait bricolé le premier bloc émetteur.&lt;br /&gt;
&lt;a href=&quot;https://dascritch.net/post/2014/10/14/Netscape-Navigator-a-20-ans-%21&quot;&gt;Au même moment sortait Netscape, le premier navigateur web construit par un opérateur commercial&lt;/a&gt;. J'ai touché aux deux le même automne, inutile de vous dire que mes passions furent partagées entre les deux, et que j'ai souvent croisé les deux&amp;nbsp;: j'ai toujours cherché comment un message était transmit pour l'adapter au mieux du support, voire hacker les deux.
&lt;/p&gt;
&lt;p&gt;
&lt;a href=&quot;https://cpu.dascritch.net/post/2016/10/27/Ex0040-P%C3%A9rennit%C3%A9-de-l-art-web&quot;&gt;Les premières pages web de Radio &amp;lt;FMR&amp;gt; sont datées de 1996&lt;/a&gt;. Et les sons furent mis en ligne quelques mois plus tard. Dès 1999, on a eu la première diffusion &lt;em lang=&quot;en&quot;&gt;stream&lt;/em&gt; de notre antenne, qui était… un piratage amical.
&lt;/p&gt;
&lt;p&gt;
Mais pour les sons à écouter, au début, nous n'avions que &lt;a href=&quot;http://hallofshame.gp.co.at/index.php?file=qtime.htm&amp;amp;mode=original&quot;&gt;Quicktime (1991)&lt;/a&gt;,  Window Media (1991), Real Player (1995) et WinAmp (1997).
&lt;/p&gt;
&lt;figure&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1810-tagcpupm/1810-tagcpupm-realplayerplus.png&quot; alt=&quot;&quot; /&gt;
&lt;figcaption&gt;Real player 8 plus, un &lt;q&gt;joli&lt;/q&gt; &lt;em lang=&quot;en&quot;&gt;bloatware&lt;/em&gt; lancé pour écouter un sonore de 15&amp;nbsp;secondes&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;
Et encore… au début, ces logiciels ne s'intégraient pas dans le navigateur, il fallait télécharger les sonores complètement, puis lancer le bon logiciel pour les lire, en le devinant depuis l'extension du nom de fichier ou le type-mime déclaré par le serveur. Des fois, ces logiciels de lecture devaient charger des &lt;em lang=&quot;en&quot;&gt;drivers&lt;/em&gt; d'imports complémentaires car le format était plus ésotérique que prévu.&lt;br /&gt;
Et quand ces logiciels furent inclus dans le navigateur, &lt;strong&gt;les &lt;em lang=&quot;en&quot;&gt;plugins&lt;/em&gt; n'étaient pas forcément disponibles partout&lt;/strong&gt;&amp;nbsp;: les versions manquaient selon les systèmes d'exploitations ou l'API plugin exposée par les navigateurs, et les méthodes d'appels en &lt;abbr&gt;HTML&lt;/abbr&gt; variaient entre Internet Explorer et Netscape, les autres navigateurs hésitaient entre les deux camps. Inutile de vous dire que y'avait de quoi s'arracher les cheveux en tant que dev et en tant que surfeur des internets. D'où les sites web &lt;q&gt;optimisés exclusivement pour Windows&amp;nbsp;98 avec Internet Explorer&lt;/q&gt;.
&lt;/p&gt;
&lt;figure&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1810-tagcpupm/1810-tagcpupm-best-msie.png&quot; alt=&quot;Best viewed with free Microsoft Internet Explorer. Click here to download Internet Explorer now&quot; /&gt;
&lt;figcaption&gt;
Je ressors cette image insoutenable, j'espère qu'aucune tentative de suicide n'aura lieu cette fois-ci.
&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h3 id=&quot;lauriers_flash&quot;&gt;Là où je tresse des lauriers à… Flash !&lt;/h3&gt;
&lt;p&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/710-flash/710-flash128.png&quot; alt=&quot;&quot; class=&quot;r&quot; /&gt;
En 1996, Macromedia eu le bon ton de faire évoluer son logiciel Flash de l'animation de CD-Rom à un &lt;em lang=&quot;en&quot;&gt;plugin&lt;/em&gt; navigateur pour presque toutes les plateformes. le plugin Flash devint vite extrêmement populaire, il était même installé par défaut avec presque tous les navigateurs dès 1999. Et pour la fonction qui nous intéresse, sa version&amp;nbsp;6 en 2002 a apporté la faculté de &lt;a href=&quot;https://helpx.adobe.com/flash/kb/supported-codecs-flash-player.html&quot;&gt;lire des fichiers &lt;code&gt;.mp3&lt;/code&gt; via des adresses &lt;code&gt;http://&lt;/code&gt;&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Malgré l'urticaire que pouvait déjà provoquer Flash chez certains, cette fonctionnalité devint importante pour ceux qui cherchaient à intégrer du son dans une page web car elle permettait de pouvoir intégrer en presque un seul &lt;q lang=&quot;en&quot;&gt;snippet&lt;/q&gt; de code HTML &lt;strong&gt;un lecteur mp3 qui serait lisible de quasiment partout&lt;/strong&gt;. Ce qui tombait bien car le mp3 était devenu un format ultra-populaire sur internet grâce au… &lt;small&gt;piratage… &lt;small&gt;ahem.&lt;/small&gt;&lt;/small&gt;&lt;br /&gt;
Rappelons que l'iPhone n'allait arriver qu'en 2007, et qu'à sa sortie, tout le monde était persuadé qu'Apple négociait et installerait &lt;a href=&quot;https://www.adobe.com/mena_en/products/flashlite/&quot;&gt;Flash Lite.&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Sauf que les premiers lecteurs de son en flash prêts-à−intégrer dans son site étaient particulièrement lourds avec plein d'effets graphiques, voire des bannières publicitaires.&lt;br /&gt;
Heureusement, &lt;a href=&quot;https://www.blup.fr/&quot;&gt;gloire à toi, Dew&lt;/a&gt;, il a fait &lt;a href=&quot;http://www.dewplayer.fr/&quot;&gt;un &lt;em lang=&quot;en&quot;&gt;player&lt;/em&gt; audio ultra-minimaliste, &lt;strong&gt;dewplayer&lt;/strong&gt;&lt;/a&gt; (&lt;a href=&quot;http://habo94.free.fr/&quot;&gt;miroir&lt;/a&gt;). 
&lt;/p&gt;
&lt;figure class=&quot;cl&quot;&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1810-tagcpupm/1810-tagcpupm-dewplayer-original.png&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;

&lt;figcaption&gt;
Différentes configs du &lt;a href=&quot;http://habo94.free.fr/index-xhtml.htm&quot;&gt;dewplayer, capturé d'un site archive&lt;/a&gt; (normal, mini, multi-sonore et rect)&lt;br /&gt;Image zoomé ×&amp;nbsp;2
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;
Revoyons ses caractéristiques&amp;nbsp;:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Un bouton start &lt;kbd&gt;▸&amp;#xFE0E;&lt;/kbd&gt;, un pause &lt;kbd&gt;⏸&amp;#xFE0E;&lt;/kbd&gt;, un stop &lt;kbd&gt;⏹&amp;#xFE0E;&lt;/kbd&gt;&lt;/li&gt;
&lt;li&gt;Une barre de temps, indiquant la progression de chargement et celle de lecture&lt;/li&gt;
&lt;li&gt;Pas de titre&lt;/li&gt;
&lt;li&gt;Pas de gestion de volume sonore ou de mute&lt;/li&gt;
&lt;li&gt;Pas de gestion de vitesse de restitution&lt;/li&gt;
&lt;li&gt;4 aspects différents possibles&lt;/li&gt;
&lt;li&gt;Couleurs paramétrables&lt;/li&gt;
&lt;li&gt;4121 octets&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Tu cliques, il joue le sonore, et pis cé tou. Le génie est dans la simplicité.
&lt;/p&gt;
&lt;figure&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1810-tagcpupm/1810-tagcpupm-dewplayer.png&quot; alt=&quot;&quot; /&gt;
&lt;figcaption&gt;
Un lecteur flash avec la même inspiration minimaliste, les actions lecture &lt;kbd&gt;▸&amp;#xFE0E;&lt;/kbd&gt; et pause &lt;kbd&gt;⏸&amp;#xFE0E;&lt;/kbd&gt; confondus dans le même bouton.&lt;br /&gt;Image zoomé ×&amp;nbsp;2
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;
Mais franchement, &lt;strong&gt;ce satané plugin Flash n'était qu'un pis-aller&lt;/strong&gt;&amp;nbsp;: un logiciel propriétaire lié à une boite au code source fermé, une sécurité pas au top dans son insertion dans les navigateurs, et les appels affreux en HTML en fonction du navigateur. Sur &lt;a href=&quot;http://supplementweekend.fr&quot;&gt;le site de ma précédente émission &lt;q&gt;Supplément Week-End&lt;/q&gt; (2004-2014)&lt;/a&gt;, j'avais écrit à grand coup de &lt;a href=&quot;https://dascritch.net/post/2013/04/08/Dirty-Hacky-I-%3A-Commentaires-conditionnels&quot;&gt;commentaires conditionnels&lt;/a&gt; un code HTML qui se voulait &lt;q&gt;universel&lt;/q&gt;, marchant aussi bien avec &lt;abbr&gt;MSIE&lt;/abbr&gt; (Microsoft Internet Explorer) que le reste&amp;nbsp;:
&lt;/p&gt;
&lt;code&gt;&lt;pre&gt;&amp;lt;!--[if IE]&amp;gt;
  &amp;lt;&lt;strong&gt;object&lt;/strong&gt; classid=&quot;&lt;em&gt;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&lt;/em&gt;&quot; codebase=&quot;&lt;span class=&quot;url&quot;&gt;http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0&lt;/span&gt;&quot;&gt;
&amp;lt;![endif]--&amp;gt;
&amp;lt;!--[if !IE]&amp;gt; &amp;lt;--&amp;gt;
  &amp;lt;&lt;strong&gt;object&lt;/strong&gt; type=&quot;&lt;em&gt;application/x-shockwave-flash&lt;/em&gt;&quot; data=&quot;https://dascritch.net/post/2018/11/06/&lt;span class=&quot;url&quot;&gt;/interface/player_mp3.swf&lt;/span&gt;&quot;&gt;
&amp;lt;!--&amp;gt; &amp;lt;![endif]--&amp;gt;
    &amp;lt;&lt;strong&gt;param&lt;/strong&gt; name=&quot;&lt;em&gt;src&lt;/em&gt;&quot; value=&quot;&lt;span class=&quot;url&quot;&gt;/interface/player_mp3.swf&lt;/span&gt;&quot; /&amp;gt;
    &amp;lt;&lt;strong&gt;param&lt;/strong&gt; name=&quot;&lt;em&gt;FlashVars&lt;/em&gt;&quot; value=&quot;&lt;em&gt;mp3=&lt;span class=&quot;url&quot;&gt;zou.mp3&lt;/span&gt;&amp;amp;loadingcolor=304b5f&amp;amp;bgcolor1=ffffff&amp;amp;bgcolor2=e6f4ff&amp;amp;buttoncolor=304b5f&amp;amp;buttonovercolor=000077&amp;amp;slidercolor1=6096BF&amp;amp;slidercolor2=304b5f&amp;amp;sliderovercolor=000077&lt;/em&gt;&quot; /&amp;gt;
    &amp;lt;&lt;strong&gt;param&lt;/strong&gt; name=&quot;&lt;em&gt;wmode&lt;/em&gt;&quot; value=&quot;&lt;em&gt;transparent&lt;/em&gt;&quot; /&amp;gt;
    … (fallback pour ceux qui gèrent pas)
&amp;lt;/&lt;strong&gt;object&lt;/strong&gt;&amp;gt;
&lt;/pre&gt;&lt;/code&gt;
&lt;p&gt;
Oui, assez gerbant.
&lt;/p&gt;
&lt;p&gt;
Entre &lt;a href=&quot;https://dascritch.net/post/2007/10/19/Pardonnons-a-ce-Flash-qui-nous-agacent&quot;&gt;les crises de nerfs, les mises à jour différentes entre plateformes et l'arrogance de Macromedia puis d'Adobe, cette solution ne pouvait qu'être provisoire.&lt;/a&gt;
&lt;/p&gt;
&lt;h3 id=&quot;resonnent_audio&quot;&gt;Hosanna, résonnent les &amp;lt;audio&amp;gt; au plus haut du W3C !&lt;/h3&gt;
&lt;p&gt;
Enfin arriva en 2009 la balise &lt;code&gt;&amp;lt;&lt;strong&gt;audio&lt;/strong&gt;&amp;gt;&lt;/code&gt; dans des navigateurs web en support natif. &lt;a href=&quot;https://dascritch.net/post/2009/07/29/La-balise-audio-cest-trop-kawaii&quot;&gt;Facile, bien plus facile, &lt;em lang=&quot;jp&quot;&gt;kawaii&lt;/em&gt; ♥♥♥&lt;/a&gt;&amp;nbsp;:
&lt;/p&gt;

&lt;audio controls=&quot;controls&quot;  id=&quot;chatons&quot;&gt;
    &lt;source src=&quot;http://dascritch.net/vrac/.blog2/sitcom/907-MiniPouss-2/907-DemoBaliseAudioMiaous.mp4&quot; type=&quot;audio/mp4&quot;&gt;
    &lt;source src=&quot;http://dascritch.net/vrac/.blog2/sitcom/907-MiniPouss-2/907-DemoBaliseAudioMiaous.ogg&quot; type=&quot;audio/ogg&quot;&gt;
&lt;/audio&gt;
&lt;code&gt;&lt;pre&gt;
&amp;lt;&lt;strong&gt;audio&lt;/strong&gt; src=&quot;https://dascritch.net/post/2018/11/06/&lt;span class=&quot;url&quot;&gt;zou.wav&lt;/span&gt;&quot; controls&amp;gt;
   … (fallback pour ceux qui ne gèrent pas)
&amp;lt;/&lt;strong&gt;audio&lt;/strong&gt;&amp;gt;&lt;/pre&gt;&lt;/code&gt;

&lt;p&gt;
Mais c'était trop facile : parmi les manques dans la description des balises &lt;code&gt;&amp;lt;&lt;strong&gt;audio&lt;/strong&gt;&amp;gt;&lt;/code&gt; et &lt;code&gt;&amp;lt;&lt;strong&gt;video&lt;/strong&gt;&amp;gt;&lt;/code&gt;, &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/HTML/Supported_media_formats&quot;&gt;aucun format de média n'a été imposé par le W3C aux navigateurs web, ni même un support minimum&lt;/a&gt;. 
&lt;/p&gt;

&lt;h3 id=&quot;codecs_libres_vs_payants&quot;&gt;Code code code codecs : entre libres et payants&lt;/h3&gt;

&lt;p&gt;
&lt;img class=&quot;r&quot; src=&quot;https://dascritch.net/vrac/.blog2/webdev/1810-tagcpupm/.1810-tagcpupm-oeufdor_t.jpg&quot; alt=&quot;&quot; /&gt;
Pourquoi &lt;a href=&quot;https://www.w3.org/MarkUp/html-spec/html-spec_5.html#SEC5.10&quot;&gt;le &lt;abbr&gt;W3C&lt;/abbr&gt;&lt;/a&gt; et &lt;a href=&quot;https://html.spec.whatwg.org/multipage/embedded-content.html#attr-img-alt&quot;&gt;le &lt;abbr&gt;WHATWG&lt;/abbr&gt;&lt;/a&gt; ont-ils laissé un tel flou&amp;nbsp;?&lt;br /&gt;
Il se trouve que nous connaissions déjà une situation similaire avec &lt;a href=&quot;https://dascritch.net/post/2014/04/29/Ressources-en-img&quot;&gt;les balises &lt;code&gt;&amp;lt;&lt;strong&gt;img&lt;/strong&gt;&amp;gt;&lt;/code&gt; figées dans un &lt;em lang=&quot;la&quot;&gt;status quo&lt;/em&gt; empirique&lt;/a&gt;&amp;nbsp;: &lt;strong&gt;les formats de compression les &lt;q&gt;meilleurs&lt;/q&gt; sont payants, ils pouvaient rançonner le web tout neuf&lt;/strong&gt;. Et évidemment, certains ayants-droits ont un peu poussé &lt;a href=&quot;https://www.courrierinternational.com/article/2014/04/26/la-strategie-mafieuse-du-coucou&quot;&gt;leur stratégie du coucou&lt;/a&gt; pour essorer la poule aux œufs d'or. Coucous donc à &lt;a href=&quot;https://news.slashdot.org/story/18/01/30/0419222/mpeg-founder-says-the-mpeg-business-model-is-broken&quot;&gt;MPEG-LA&lt;/a&gt;, &lt;a href=&quot;https://www.theregister.co.uk/2007/04/14/microsoft_vc-1_codec_analysis/&quot;&gt;Microsoft (VC1)&lt;/a&gt;, &lt;a href=&quot;https://www.nextinpact.com/archive/27622-Quicktime-dApple-pousse-par-linstauration-du.htm&quot;&gt;Apple&lt;/a&gt; et bien d'autres.&lt;br /&gt;
&lt;a href=&quot;http://blogs.fsfe.org/pb/?p=34&quot;&gt;Une situation qui va devenir crispante&lt;/a&gt; pour certains webmestres qui doivent se soucier de la légalité de leur site (ceux qui pensent à l'achat d'art, et à créditer correctement les logiciels), jonglant entre &lt;a href=&quot;https://www.gnu.org/philosophy/why-audio-format-matters.html&quot;&gt;les implémentations &lt;q&gt;universellement utilisables&lt;/q&gt; et non-payantes (libres)&lt;/a&gt;, sans trop dupliquer le même sonore.
&lt;/p&gt;

&lt;p&gt;
Car oui, si vous ne le savez pas, &lt;a href=&quot;https://www.theregister.co.uk/2017/05/16/mp3_dies_nobody_noticed/&quot;&gt;jusqu'en 2017 l'usage du format mp3 (&lt;abbr&gt;MPEG&lt;/abbr&gt; 1 layer &lt;span class=&quot;serif&quot;&gt;III&lt;/span&gt;) pouvait vous être facturé, étant sous le coup de plusieurs brevets.&lt;/a&gt; C'est &lt;a href=&quot;https://www.engadget.com/2010/05/04/know-your-rights-h-264-patent-licensing-and-you/&quot;&gt;toujours le cas pour tout ce qui relève du MPEG-4&lt;/a&gt;, et d'ailleurs, si vous achetez une caméra professionnelle, il est écrit dans la doc que l'usage est strictement familial et qu'&lt;a href=&quot;http://www.mpegla.com/main/programs/avc/Documents/avcweb.pdf&quot;&gt;il vous faut acquérir une licence auprès du MPEG-LA pour tout usage à destination publique et/ou professionnelle&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
&lt;a class=&quot;r&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1810-tagcpupm/1810-tagcpupm-licencecamera.png&quot; title=&quot;&quot; rel=&quot;lightbox&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1810-tagcpupm/.1810-tagcpupm-licencecamera_s.png&quot; alt=&quot;1810-tagcpupm-licencecamera.png&quot; /&gt;&lt;/a&gt;
Si si : Extrait du manuel de &lt;a href=&quot;https://pro.sony/fr_FR/products/handheld-camcorders/pxw-z190&quot;&gt; la caméra professionnelle Sony PXW-Z190&lt;/a&gt;, page&amp;nbsp;119 (&lt;a href=&quot;https://pro.sony/fr_FR/support/manuals/pxw-z190-ops-manual-update&quot;&gt;garanti sans trucage&lt;/a&gt;)&amp;nbsp;:
&lt;/p&gt; 
&lt;blockquote&gt;
Ce produit est accordé sous licence, sous le couvert de la licence de portefeuille de brevets AVC pour une utilisation privée et non commerciale d’un consommateur pour&amp;nbsp;:&lt;br /&gt;
(i) encoder des vidéos conformément à la norme AVC (&lt;q&gt;AVC vidéo&lt;/q&gt;) et/ou&lt;br /&gt;
(ii) décoder des vidéos AVC encodées par un client dans le cadre d’une activité personnelle et non commerciale et/ou obtenues auprès d’un vendeur de vidéos sous licence AVC vidéo.&lt;br /&gt;
Aucune licence n’est attribuée ou ne doit être destinée pour tout autre usage. il est possible d’obtenir des informations complémentaires auprès de MPEG LA, L.L.C. voir &lt;a href=&quot;http://www.mpegla.com&quot;&gt;http://www.mpegla.com&lt;/a&gt;
&lt;/blockquote&gt;
Pour une caméra professionnelle vendue à 4000&amp;nbsp;€, ne pas pouvoir utiliser les images tournées avec, ça fait &lt;strong&gt;un peu&lt;/strong&gt; mal. &lt;small&gt;BTW si vous souhaitez m'en offrir une pour les captations vidéos, je ne vous retiens pas :D...&lt;/small&gt; 
&lt;/p&gt;
&lt;p&gt;
Le &lt;a href=&quot;http://www.mpegla.com/main/default.aspx&quot;&gt;MPEG-LA&lt;/a&gt; n'est pas un organisme de recherche, mais la structure juridique facturant l'usage des brevets liés aux formats &lt;abbr&gt;MPEG&lt;/abbr&gt;, mis dans un pot commun par plusieurs sociétés. Il &lt;q&gt;propose&lt;/q&gt; un ensemble de formules de facturations, allant du volume horaire de diffusion TV (cable, satellite et hertzien), au nombre de puces de décodage produites et au nombre de vues d'une vidéo sur le web. Pour donner une idée, &lt;a href=&quot;https://www.macg.co/ailleurs/2010/01/mozilla-face-au-probleme-h264-6665&quot;&gt;Mozilla aurait dû payer&lt;/a&gt; à l'époque 9 millions&amp;nbsp;$ par mois pour que Firefox puisse lire du &lt;abbr&gt;MPEG&lt;/abbr&gt; sur les systèmes d'exploitations qui ne paient pas une licence, c'est à dire Linux, *BSD et consorts. Avec une telle somme, on pourrait financer d'autres projets logiciels.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;D'où l'union improbable entre certains développeurs de navigateurs (Mozilla et Google en premiers) pour la conception commune de codecs libres.&lt;/strong&gt; La reprise du Ogg Vorbis, &lt;a href=&quot;https://www.theora.org/&quot;&gt;le Ogg Theora&lt;/a&gt; puis spécifiquement &lt;a href=&quot;https://www.webmproject.org/&quot;&gt;conçus pour le web comme WebM&lt;/a&gt;, voire &lt;a href=&quot;https://blog.mozilla.org/blog/2013/10/30/video-interoperability-on-the-web-gets-a-boost-from-ciscos-h-264-codec/&quot;&gt;des implémentations en n'utilisant que des parties libérées&lt;/a&gt; de brevets (comme &lt;a href=&quot;http://www.openh264.org/&quot;&gt;OpenH264 sponsorisé par Cisco pour que Firefox puisse faire de la visioconférence&lt;/a&gt;) et bien d'autres, etc… Sauf que ces licences libres ne sont pas disponibles sur tous les navigateurs et et manquent cruellement d'implémentations &lt;em lang=&quot;en&quot;&gt;hardware&lt;/em&gt;. Les politiques commerciales des fondeurs de puces pour smartphones sont à blâmer.&lt;br /&gt;
Comme aujourd'hui, on parle surtout de son et vue la puissance de calcul de nos smartphones, on se contentera d'engueuler un navigateur web pour mobiles qui refuse d'inclure les formats libres populaires&amp;nbsp;: Safari.
&lt;/p&gt;
&lt;p&gt;
Évidemment, &lt;a href=&quot;https://en.wikipedia.org/wiki/Comparison_of_audio_coding_formats#General_information&quot;&gt;une telle fragmentation n'a pas aidé&lt;/a&gt; à voir se dégager un format de référence sans risque juridique pour ceux qui font des sites web. Donc on en vient à proposer au moins 2 formats de sonores différents.&lt;br /&gt;
&lt;strong&gt;Pro tip : proposez votre sonore encodé en mp4 ou ogg ou webm, puis terminez par une source encodée en mp3 &lt;q&gt;traditionnel&lt;/q&gt;&lt;/strong&gt; pour compléter le support, comme suit&amp;nbsp;:
&lt;/p&gt;
&lt;code&gt;&lt;pre&gt;
&amp;lt;&lt;strong&gt;audio&lt;/strong&gt; controls&amp;gt;
  &amp;lt;&lt;strong&gt;source&lt;/strong&gt; src=&quot;https://dascritch.net/post/2018/11/06/&lt;span class=&quot;url&quot;&gt;zou.ogg&lt;/span&gt;&quot; type=&quot;&lt;em&gt;audio/ogg; codecs=vorbis&lt;/em&gt;&quot; /&amp;gt;
  &amp;lt;&lt;strong&gt;source&lt;/strong&gt; src=&quot;https://dascritch.net/post/2018/11/06/&lt;span class=&quot;url&quot;&gt;zou.mp3&lt;/span&gt;&quot; type=&quot;&lt;em&gt;audio/mpeg&lt;/em&gt;&quot; /&amp;gt;
&amp;lt;/&lt;strong&gt;audio&lt;/strong&gt;&amp;gt;
&lt;/pre&gt;&lt;/code&gt;
&lt;p&gt;
Et là, on a pu s'amuser quand il y eu un support correct des &lt;em lang=&quot;en&quot;&gt;streams&lt;/em&gt;. Notamment avec &lt;a href=&quot;https://developer.apple.com/streaming/&quot;&gt;le &lt;abbr&gt;HLS&lt;/abbr&gt; aka &lt;q lang=&quot;en&quot;&gt;Http live Streaming&lt;/q&gt; d'Apple&lt;/a&gt;, mais là aussi, il ne fut pas le seul protocole de &lt;em lang=&quot;en&quot;&gt;streaming&lt;/em&gt; et il n'était pas supporté partout, avec des concurrents aussi clivants. À ce jour, &lt;a href=&quot;https://caniuse.com/#feat=mediasource&quot;&gt;l'API standard Media Source Extension n'est toujours pas supporté par les iTrucs d'Apple, malgré sa standardisation par le W3C.&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Et tous ces soucis sont aussi survenus pour avec WebAudio par effet de &lt;a href=&quot;http://www.lelombard.com/albums-fiche-bd/ric-hochet/panique-sur-web,554.html&quot;&gt;Ric Hochet&lt;/a&gt;.&lt;br /&gt;
&lt;small&gt;&lt;a href=&quot;https://www.w3.org/blog/news/archives/7292&quot;&gt;l'API WebAudio&lt;/a&gt; est l'équivalent fonctionnel de la balise &lt;code&gt;&amp;lt;&lt;strong&gt;canvas&lt;/strong&gt;&amp;gt;&lt;/code&gt; pour le graphisme&amp;nbsp;: &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API/Best_practices&quot;&gt;une feuille blanche adressable&lt;/a&gt; d'où l'&lt;a href=&quot;https://webaudio.github.io/demo-list/&quot;&gt;on peut créer ou manipuler n'importe quel son.&lt;/a&gt;&lt;/small&gt;
&lt;/p&gt;
&lt;p&gt;
Et la suite explique &lt;a href=&quot;https://dascritch.net/post/2018/11/06/Reconstruire-son-lecteur-audio-pour-le-web&quot;&gt;pourquoi et comment j'ai étendu la balise &lt;code&gt;&amp;lt;audio&amp;gt;&lt;/code&gt;.&lt;/a&gt;
&lt;/p&gt;</content:encoded>
    
    
    
      </item>
  
	<item>
		<title>En 20 lignes pas plus : Le focus sur le champ de recherche</title>
		<link>https://dascritch.net/post/2018/08/17/En-20-lignes-pas-plus-%3A-Le-focus-sur-le-champ-de-recherche</link>
		<guid isPermaLink="false">urn:md5:0295e2f606fc0628f68ed664c9baafec</guid>
		<dc:date>2018-08-17T13:42:00+02:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Webdev</dc:subject>
        
    <description>Tout est une question d'accessibilité, donc de praticité de votre site web : moins y'a de clics, mieux c'est.		&lt;span class="tags"&gt;&lt;br /&gt;&lt;a href="https://dascritch.net/category/Webdev"&gt;Webdev&lt;/a&gt; &lt;/span&gt;
	</description>
    <content:encoded>
		&lt;p&gt;Tout est une question d'accessibilité, donc de praticité de votre site web : moins y'a de clics, mieux c'est.&lt;span class="tags"&gt;&lt;br /&gt;
		&lt;a href="https://dascritch.net/category/Webdev"&gt;
			Webdev&lt;/a&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;
&lt;a href=&quot;http://cpu.pm&quot;&gt;Le site de mon émission CPU&lt;/a&gt; me demande parfois bien du temps pour résoudre des problèmes. Des problèmes d'interactions, des problèmes d'aspects ou d'accessibilité. Et pas uniquement parce que je fais ça sur mon temps de loisir, mais aussi parce qu'il vient &lt;em&gt;après&lt;/em&gt; l'objectif de publication hebdo de mon émission, laquelle émission demande énormément de temps de préparation. Alors certes, je pourrais d'autant plus déléguer que &lt;a href=&quot;https://github.com/dascritch/cpu-15&quot;&gt;je publie le source du thème Dotclear modifié&lt;/a&gt;, mais je fais aussi mes sites web pour acquérir de l'expérience, voire pour expérimenter.
&lt;/p&gt;
&lt;p&gt;
Le problème dont je vais vous parler aujourd'hui, j'étais persuadé que j'allais le résoudre avec des &lt;a href=&quot;https://dascritch.net/tag/html&quot;&gt;déclarations HTML&lt;/a&gt; et du &lt;a href=&quot;https://dascritch.net/tag/css&quot;&gt;stylage CSS&lt;/a&gt;. Cela me semblait évident.
&lt;/p&gt;
&lt;p&gt;
Et en fait, non.
&lt;/p&gt;
&lt;h3 id=&quot;vous_etes_ici&quot;&gt;Vous êtes ici&lt;/h3&gt;
&lt;p&gt;
Dans le site de CPU, comme pour la plupart des sites à contenus, comporte 3 grandes régions fonctionnelles&amp;nbsp;:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Il y a un &lt;em lang=&quot;en&quot;&gt;layout&lt;/em&gt; de présentation générale&lt;small&gt;, qui se veut minimaliste&lt;/small&gt;&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;une partie centrale de contenu, &lt;small&gt;qui est l'intérêt de votre passage sur mon site, normalement ;)&lt;/small&gt;&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;et une partie secondaire de navigation &lt;small&gt;censée permettre au visiteur de farfouiller dans le site si icelui l'intéresse (on peut toujours rêver)&lt;/small&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1808-Cpu-Focus/1808-cpu-focus-layout.jpg&quot; alt=&quot;&quot; /&gt;
&lt;figcaption&gt;Les 3 zones, dans une résolution confortable de bureau.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;
Cette partie secondaire se présente en &lt;em lang=&quot;en&quot;&gt;sidebar&lt;/em&gt; si la largeur du navigateur le permet, sinon, elle est tout en bas de page, parce que je suis un fanatique du &lt;a href=&quot;https://www.alsacreations.com/article/lire/1615-cest-quoi-le-responsive-web-design.html&quot;&gt;&lt;em lang=&quot;en&quot;&gt;liquid responsive web-design&lt;/em&gt;&lt;/a&gt;. Peut-être que cette partie de navigation secondaire est trop présente et qu'il faille alléger son contenu, mais le débat n'est pas là.
&lt;/p&gt;
&lt;p&gt;
La partie &lt;em lang=&quot;en&quot;&gt;layout&lt;/em&gt; comporte un entête du site, un bandeau horizontal dont la hauteur est limité au logo de l'émission, et qui &lt;a href=&quot;https://forum.alsacreations.com/topic-4-80151-1-A-propos-de-la-position-sticky.html&quot;&gt;reste fixe en scrollant (merci &lt;code&gt;&lt;strong&gt;display&lt;/strong&gt; : &lt;em&gt;sticky&lt;/em&gt;&lt;/code&gt;)&lt;/a&gt;. Et comporte aussi une ligne de navigation rapide en 5 segments qui chapeaute le contenu et la navigation secondaire, laquelle disparait normalement en défilant. 
&lt;/p&gt;
&lt;figure&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1808-Cpu-Focus/1808-cpu-focus-header.jpg&quot; alt=&quot;&quot; /&gt;
&lt;figcaption&gt;Le header, la navigation rapide, et un exemple de contenu précédé de sa navigation contextuelle&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h3 id=&quot;problematique&quot;&gt;La problématique&lt;/h3&gt;
&lt;p&gt;
Ce qui m'intéresse, c'est mon lien &lt;q&gt;Chercher&lt;/q&gt;, qui est un lien interne à la page et doit renvoyer sur le champ de recherche texte, lequel est situé dans la navigation secondaire. Et ce que je veux, c'est qu'en cliquant dessus, on voit le champ de recherche et qu'il aie le focus, pour qu'on n'aie plus qu'à rentrer des mots clés.
&lt;/p&gt;
&lt;figure&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1808-Cpu-Focus/1808-cpu-focus-lien-ideal.jpg&quot; alt=&quot;&quot; /&gt;
&lt;figcaption&gt;Je veux ça : Le champ de recherche visible, avec le focus.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;
Seulement, quand on cible un élément avec une ancre dans un lien, suivre celui-ci est censé faire ne sorte que l'élément entre dans la partie visible du viewport, et autant que possible, les navigateurs le mettront en haut à gauche. Et c'est pas le cas à cause de notre entête &lt;em lang=&quot;en&quot;&gt;sticky&lt;/em&gt; qui cache le champ.
&lt;/p&gt;

&lt;figure&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1808-Cpu-Focus/1808-cpu-focus-lien-par-defaut.jpg&quot; alt=&quot;&quot; /&gt;
&lt;figcaption&gt;Du coup, on ne voit pas le champ texte. C'est ballot.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;
Note pour les experts : Cela aurait mérité de regarder comment se comporte &lt;a href=&quot;https://caniuse.com/#feat=scrollintoview&quot;&gt;la méthode &lt;code&gt;Element.ScrollIntoView()&lt;/code&gt;&lt;/a&gt; et la toute nouvelle &lt;a href=&quot;https://developer.mozilla.org/fr/docs/Web/API/Intersection_Observer_API&quot;&gt;API IntersectionObserver&lt;/a&gt;.
&lt;/p&gt;

&lt;h3 id=&quot;dexter_lab&quot;&gt;Le laboratoire de Dexter&lt;/h3&gt;
&lt;p&gt;
Donc, je me suis dit, tentons en appliquant une marge sur l'élément, pour qu'il sorte de sous le header. 
&lt;/p&gt;

&lt;figure&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1808-Cpu-Focus/1808-cpu-focus-input-margin-top.jpg&quot; alt=&quot;&quot; /&gt;
&lt;figcaption&gt;&lt;code&gt;#q { […] &lt;strong&gt;margin-top&lt;/strong&gt; : &lt;em&gt;100px;&lt;/em&gt;;  }&lt;/code&gt;&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;
Sauf que : 1, c'est moche, le bouton &lt;q&gt;OK&lt;/q&gt; se déforme, et 2, c'est inutile car le navigateur place l'élément sur le coin haut-gauche de son bord. excluant la marge.
&lt;/p&gt;

&lt;figure&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1808-Cpu-Focus/1808-cpu-focus-boxmodel.jpg&quot; alt=&quot;&quot; /&gt;
&lt;figcaption&gt;du coup, le navigateur fera en sorte que le &lt;q lang=&quot;en&quot;&gt;border&lt;/q&gt; soit collé en haut à gauche, mettant &lt;q lang=&quot;en&quot;&gt;margin&lt;/q&gt; hors limites.&lt;/figcaption&gt;
&lt;/figure&gt;

Donc, je me suis dit, &lt;q&gt;appliquons les translations&lt;/q&gt;… pour voir…

&lt;figure&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1808-Cpu-Focus/1808-cpu-focus-translation.jpg&quot; alt=&quot;&quot; /&gt;
&lt;figcaption&gt;&lt;code&gt;#q { […] &lt;strong&gt;transform&lt;/strong&gt; : &lt;em&gt;translateY(&lt;em&gt;200px&lt;/em&gt;)&lt;/em&gt;;  }&lt;/code&gt;&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;
Ha ben oui, j'ai vu : ça fait effectivement le job, mais il faut alors appliquer tout un bazar pour décaler l'ensemble des autres éléments. On commence à entrer &lt;a href=&quot;https://dascritch.net/post/2013/03/26/Dirty-Hacky-%3A-je-parse-en-HTML-.357-SW&quot;&gt;dans des crâderies qui feraient dégainer l'Inspecteur Dirty Hacky&lt;/a&gt;. Et il aurait raison tellement que ça pue.&lt;br /&gt;
Et puis, même si j'y serais arrivé, il faudrait toute la patience d'un vrai spécialiste CSS pour tout me remettre d'équerre. Donc, &lt;a href=&quot;https://youtu.be/shi6I6mkJAk?t=4m34s&quot;&gt;&lt;q&gt;&lt;abbr&gt;FBI&lt;/abbr&gt;&amp;nbsp;: Fausse Bonne Idée&lt;/q&gt;&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Il existe une autre méthode, celle d'&lt;a href=&quot;http://nicolasgallagher.com/jump-links-and-viewport-positioning/&quot;&gt;utiliser le pseudo-element &lt;code&gt;:before&lt;/code&gt;, et du coup de lui appliquer une translation.&lt;/a&gt; Alors oui, cela marche, mais là aussi, j'ai un problème&amp;nbsp;: le code n'a rien d'élégant à mes yeux.
&lt;/p&gt;


&lt;p&gt;
Il y a &lt;a href=&quot;https://css-tricks.com/introducing-css-scroll-snap-points/&quot;&gt;un ensemble de propriétés CSS, scroll-snap points&lt;/a&gt;, qui semblaient intéressante, mais absolument pas pour ce que je voulais. L'idée est plus de faire une sorte de pagination et toucher le nirvâna du &lt;em lang=&quot;en&quot;&gt;smooth-scrolling&lt;/em&gt; natif, ou, comme dans la démo du lien, faire des diapositives pour une présentation.&lt;br /&gt;
Note pour les experts, encore : &lt;a href=&quot;https://www.w3.org/TR/css-scroll-snap-1/&quot;&gt;le standard est encore en état de brouillon&lt;/a&gt; mais &lt;a href=&quot;https://caniuse.com/#feat=css-snappoints&quot;&gt;sa couverture commence à être correcte&lt;/a&gt; pour envisager de remplacer &lt;a href=&quot;https://framablog.org/2013/11/06/revealjs-alternative-libre-powerpoint/&quot;&gt;Reveal.JS&lt;/a&gt; EDIT : &lt;a href=&quot;https://www.nicolas-hoffmann.net/source/1712-Creer-un-RevealJS-light-avec-CSS-Scroll-Snap-Points.html&quot;&gt;Cela a été fait par l'immense Nicolas Hoffmann. Je suis confus.&lt;/a&gt;
&lt;/p&gt;

&lt;h3 id=&quot;le_truc&quot;&gt;Le truc&lt;/h3&gt;
&lt;p&gt;
Le truc n'est pas de cibler l'ancre de l'&lt;code&gt;&amp;lt;&lt;strong&gt;input&lt;/strong&gt;&amp;gt;&lt;/code&gt;, mais de son propre &lt;code&gt;&amp;lt;&lt;strong&gt;label&lt;/strong&gt;&amp;gt;&lt;/code&gt;, lequel a un &lt;code&gt;padding-top&lt;/code&gt; confortable. Parce que vous avez été propre, et que vous avez positionné l'attribut &lt;code&gt;for=&lt;/code&gt; pour lier le label à son champ, ce qui permet qu'en cliquant sur ce label, le champ prenne le focus clavier.
&lt;/p&gt;

&lt;blockquote&gt;&lt;code&gt;
&amp;lt;&lt;strong&gt;form&lt;/strong&gt; […]&amp;gt;&lt;br /&gt;
&amp;nbsp;  &amp;lt;&lt;strong&gt;label&lt;/strong&gt; for=&quot;&lt;em&gt;q&lt;/em&gt;&quot; id=&quot;&lt;em&gt;search&lt;/em&gt;&quot;&amp;gt;Chercher avec un mot&amp;lt;/&lt;strong&gt;label&lt;/strong&gt;&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;&lt;strong&gt;fieldset&lt;/strong&gt;&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;&lt;strong&gt;input&lt;/strong&gt; type=&quot;&lt;em&gt;search&lt;/em&gt;&quot; id=&quot;&lt;em&gt;q&lt;/em&gt;&quot; name=&quot;&lt;em&gt;q&lt;/em&gt;&quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;&lt;strong&gt;button&lt;/strong&gt; type=&quot;&lt;em&gt;submit&lt;/em&gt;&quot;&amp;gt;ok&amp;lt;/&lt;strong&gt;button&lt;/strong&gt;&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;/&lt;strong&gt;fieldset&lt;/strong&gt;&amp;gt;&lt;br /&gt;
&amp;lt;/&lt;strong&gt;form&lt;/strong&gt;&amp;gt;
&lt;/code&gt;&lt;/blockquote&gt;

&lt;p&gt;
 Le problème, c'est qu'&lt;strong&gt;aucun navigateur ne songe à passer le focus&lt;/strong&gt; au champ &lt;code&gt;&amp;lt;&lt;strong&gt;input&lt;/strong&gt;&amp;gt;&lt;/code&gt; quand vous ciblez son &lt;code&gt;&amp;lt;&lt;strong&gt;label&lt;/strong&gt;&amp;gt;&lt;/code&gt;, ce qui est &lt;strong&gt;un comble en manière d'accessibilité&lt;/strong&gt;. 
&lt;/p&gt;
&lt;p&gt;
En fait, j'ai même remarqué que Firefox ne donnait même pas le focus quand on ciblait directement &lt;code&gt;&amp;lt;&lt;strong&gt;input&lt;/strong&gt;&amp;gt;&lt;/code&gt;, et j'en suis resté stupéfait &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=1484185&quot;&gt;J'ai ouvert un rapport bugzilla&lt;/a&gt; où vous trouverez &lt;a href=&quot;https://bug1484185.bmoattachments.org/attachment.cgi?id=9001953&quot;&gt;un &lt;em lang=&quot;en&quot;&gt;test-case&lt;/em&gt;.&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Du coup, j'ai dû écrire un petit &lt;em lang=&quot;en&quot;&gt;snippet&lt;/em&gt; javascript de ce qui pourrait bien être un &lt;em lang=&quot;en&quot;&gt;polyfill&lt;/em&gt; pour une accessibilité évidente et &lt;em lang=&quot;en&quot;&gt;mobile first&lt;/em&gt;.
&lt;/p&gt;

&lt;blockquote&gt;&lt;pre&gt;&lt;code&gt;

&lt;strong&gt;function&lt;/strong&gt; focus_on_label_moves_to_input() {
    let focused_on = document.getElementById(location.hash.substr(1));
    if  (focused_on === null) {
        &lt;strong&gt;return&lt;/strong&gt;;
    }
    let focus_for = focused_on.getAttribute('&lt;em&gt;for&lt;/em&gt;');
    if (focus_for === null) {
        &lt;strong&gt;return&lt;/strong&gt;;
    }
    let new_target = document.getElementById(focus_for);
    if (new_target === null) {
        &lt;strong&gt;return&lt;/strong&gt;;
    }
    new_target.focus();
}

window.addEventListener('&lt;em&gt;hashchange&lt;/em&gt;', focus_on_label_moves_to_input);

&lt;/code&gt;&lt;/pre&gt;&lt;/blockquote&gt;

&lt;h3 id=&quot;sous_le_capot&quot;&gt;Sous le capot&lt;/h3&gt;

&lt;p&gt;
L'événement &lt;code&gt;hashchange&lt;/code&gt; a lieu si vous changez la partie après le &lt;var&gt;#&lt;/var&gt; dans l'adresse d'une page, donc sur une modification du &lt;a href=&quot;https://www.w3.org/TR/html4/intro/intro.html#fragment-uri&quot;&gt;&lt;em lang=&quot;en&quot;&gt;fragment identifier&lt;/em&gt;&lt;/a&gt;. &lt;a href=&quot;https://dascritch.net/post/2014/09/03/Timecodehash-%3A-Lier-vers-un-moment-d-un-sonore&quot;&gt;J'ai déjà fait joujou avec pour cibler un temps précis&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Pour l'événement lancé, inutile de se référer à &lt;a href=&quot;https://developer.mozilla.org/fr/docs/Web/API/Event&quot;&gt;un objet &lt;code&gt;event&lt;/code&gt;&lt;/a&gt;, la propriété &lt;code&gt;location.hash&lt;/code&gt; vous donnera &lt;a href=&quot;https://dascritch.net/post/2007/09/17/RIP-URL-URI-IRI-INRI-W3C&quot;&gt;la partie &lt;em lang=&quot;en&quot;&gt;hash&lt;/em&gt; (ou fragment) de votre URL&lt;/a&gt;, auquel on soustrait le premier caractère, forcément un &lt;var&gt;#&lt;/var&gt; avec un  &lt;code&gt;.substr(1)&lt;/code&gt;.
&lt;/p&gt;
&lt;p&gt;
On va chercher l'élément cible du label, on voit s'il a un &lt;code&gt;for=&quot;&quot;&lt;/code&gt; avec la méthode &lt;code&gt;.getAttribute('&lt;em&gt;for&lt;/em&gt;')&lt;/code&gt;.
&lt;/p&gt;
&lt;p&gt;
À chaque étape où on frise l'incertitude, on vérifie qu'on a bien un objet et pas rien (&lt;var&gt;null&lt;/var&gt;), sinon on &lt;code&gt;&lt;strong&gt;return&lt;/strong&gt;&lt;/code&gt; proprement, pour laisser la fonction suivante gérer l'événement. Je vous déconseille fortement de tout cacher &lt;a href=&quot;https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Instructions/try...catch&quot;&gt;derrière un &lt;code&gt;try { } catch (e) { }&lt;/code&gt;&lt;/a&gt;&amp;nbsp;: une telle structure doit rester exceptionnelle, sinon vous aurez vite d'immonde plats de spaghettis.
&lt;/p&gt;
&lt;p&gt;
À la fin, on crée un événement &lt;code&gt;&lt;em&gt;focus&lt;/em&gt;&lt;/code&gt; en invoquant simplement la méthode &lt;code&gt;.focus()&lt;/code&gt; de l'élément DOM du champ de recherche, parce que construire un &lt;em lang=&quot;en&quot;&gt;trigger&lt;/em&gt; d'un &lt;a href=&quot;https://developer.mozilla.org/fr/docs/Web/Events/focus&quot;&gt;focus&lt;/a&gt;, j'avais grave la flemme&amp;nbsp;: il était 3h30 passées.
&lt;/p&gt;
&lt;p&gt;
Moralité : ça fait le taf et le code n'est pas affreux.
&lt;/p&gt;


&lt;figure&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1808-Cpu-Focus/.1808-cpu-focus-final_m.jpg&quot; alt=&quot;&quot; /&gt;
&lt;figcaption&gt;C'était tout ce que je voulais. C'était si compliqué que ça ?&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;
Bonus : le code est suffisament générique pour servir pour tout champ de formulaire : login, entrée de commentaire, formulaire d'adresse ou &lt;em lang=&quot;en&quot;&gt;fishing&lt;/em&gt; de carte-bleue. 
&lt;/p&gt;</content:encoded>
    
    
    
      </item>
  
	<item>
		<title>CPU lit le Bulletin de Santé d'Internet par Mozilla</title>
		<link>https://dascritch.net/post/2017/02/22/CPU-lit-le-Bulletin-de-Sant%C3%A9-d-Internet-par-Mozilla</link>
		<guid isPermaLink="false">urn:md5:b5efb978f1abcb959528b71c8eab343e</guid>
		<dc:date>2017-02-22T06:04:00+01:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Radio</dc:subject>
        
    <description>Dernier volet sur trois. Avec le sommaire complet vers les sonores découpés. Allez-y, vous pouvez reprendre pour une diffusion !		&lt;span class="tags"&gt;&lt;br /&gt;&lt;a href="https://dascritch.net/category/Radio"&gt;Radio&lt;/a&gt; &lt;/span&gt;
	</description>
    <content:encoded>
		&lt;p&gt;Dernier volet sur trois. Avec le sommaire complet vers les sonores découpés. Allez-y, vous pouvez reprendre pour une diffusion !&lt;span class="tags"&gt;&lt;br /&gt;
		&lt;a href="https://dascritch.net/category/Radio"&gt;
			Radio&lt;/a&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;
&lt;a href=&quot;https://cpu.dascritch.net/post/2017/02/16/Ex0048-Bulletin-de-sant%C3%A9-d-Internet%2C-3%C3%A8me-partie&quot;&gt;Ci-inclus l'émission &lt;em lang=&quot;en&quot;&gt;release&lt;/em&gt; Ex0048 du programme CPU, diffusé le Jeudi 16/2 à 11h. Plus d'infos sur le site de l'émission. &lt;img src=&quot;https://dascritch.net/vrac/.blog2/radio/cpu_logo_liseret.png&quot; alt=&quot;logo de l'émission CPU&quot; class=&quot;r&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Si vous suivez notre émission via un lecteur de flux et que celui-ci est encore lié à ce blog, je vous recommande de basculer votre abonnement vers &lt;a href=&quot;http://cpu.pm&quot;&gt;le site de l'émission&lt;/a&gt;.&lt;br /&gt;
C'est gratuit, sans pub, ni spyware. 
&lt;/p&gt;

&lt;p&gt;
Durant nos 3 précédentes émissions, nous avons lu par chapitres &lt;a href=&quot;https://internethealthreport.org/v01/fr/&quot;&gt;la version 0.1 du &lt;q&gt;Bulletin de Santé d'Internet&lt;/q&gt;&lt;/a&gt;, dossier passionnant écrit, traduit et édité par &lt;a href=&quot;https://www.mozilla.org/fr/&quot;&gt;la Mozilla Foundation&lt;/a&gt;. Nous remercions amplement les salariés et bénévoles qui nous ont permis d'adapter leur précieux travail. Il nous a semblé important de le faire, même si nous avions déjà ouvert ou couvert plusieurs thématiques. Parce que le travail de cette communauté à l'échelle mondiale donnera toujours un éclairage très différent sur les sujets tels que nous aurions pu les traiter. 
&lt;/p&gt;

&lt;h3 id=&quot;chapitres&quot;&gt;Découpage par chapitres&lt;/h3&gt;

&lt;table&gt;
&lt;thead&gt;
&lt;th scope=&quot;col&quot;&gt;Texte en anglais&lt;/th&gt;
&lt;th scope=&quot;col&quot;&gt;Texte en français&lt;/th&gt;
&lt;th scope=&quot;col&quot;&gt;Version sonore&lt;/th&gt;
&lt;/thead&gt;
&lt;tbody&gt;


&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;https://internethealthreport.org/v01/about/&quot;&gt;How do we measure Internet health?&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://internethealthreport.org/v01/fr/about/&quot;&gt;Comment mesurer l'état de santé d'Internet ?&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://cpu.dascritch.net/post/2017/02/06/How-To-%3A-Comment-mesurer-l%E2%80%99%C3%A9tat-de-sant%C3%A9-d%E2%80%99Internet&quot;&gt;sonore&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;


&lt;tr&gt;
&lt;td colspan=&quot;3&quot;&gt;Open innovation / Innovation ouverte&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;https://internethealthreport.org/v01/open-innovation/&quot;&gt;How open is it ?&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://internethealthreport.org/v01/fr/open-innovation/&quot;&gt;C'est ouvert ?&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://cpu.dascritch.net/post/2017/02/13/Histoire-%3A-C-est-ouvert&quot;&gt;sonore&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;https://internethealthreport.org/v01/stories/people-powered-phones-within-range/&quot;&gt;People powered phones within range&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://internethealthreport.org/v01/fr/stories/people-powered-phones-within-range/&quot;&gt;Déploiement d’un réseau mobile communautaire&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://cpu.dascritch.net/post/2017/02/13/How-to-%3A-D%C3%A9ploiement-d%E2%80%99un-r%C3%A9seau-mobile-communautaire&quot;&gt;sonore&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;https://internethealthreport.org/v01/stories/your-selfie-at-the-eiffel-tower/&quot;&gt;Your selfie at the Eiffel Tower&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://internethealthreport.org/v01/fr/stories/your-selfie-at-the-eiffel-tower/&quot;&gt;Votre selfie devant la tour Eiffel&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://cpu.dascritch.net/post/2017/02/14/Plantage-%3A-Votre-selfie-devant-la-tour-Eiffel&quot;&gt;sonore&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td colspan=&quot;3&quot;&gt;Digital inclusion / Inclusion numérique&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;https://internethealthreport.org/v01/digital-inclusion/&quot;&gt;Who is welcome online ?&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://internethealthreport.org/v01/fr/digital-inclusion/&quot;&gt;Qui  est le bienvenu en ligne ?&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://cpu.dascritch.net/post/2017/02/07/Histoire-%3A-Qui-est-le-bienvenue-en-ligne&quot;&gt;sonore&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;https://internethealthreport.org/v01/stories/inside-an-internet-shutdown/&quot;&gt;Inside an Internet shutdown&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://internethealthreport.org/v01/fr/stories/inside-an-internet-shutdown/&quot;&gt;Vivre une coupure d'accès à Internet&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://cpu.dascritch.net/post/2017/02/07/Feedback-%3A-Vivre-une-coupure-d-acc%C3%A8s-%C3%A0-Internet&quot;&gt;sonore&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;https://internethealthreport.org/v01/stories/when-the-internet-doesnt-speak-your-language/&quot;&gt;When the Internet doesn’t speak your language&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://internethealthreport.org/v01/fr/stories/when-the-internet-doesnt-speak-your-language/&quot;&gt;Lorsqu'Internet parle une autre langue&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://cpu.dascritch.net/post/2017/02/08/Standard-%3A-Lorsqu-Internet-parle-une-autre-langue&quot;&gt;sonore&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td colspan=&quot;3&quot;&gt;Decentralization / Décentralisation&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;https://internethealthreport.org/v01/decentralization/&quot;&gt;Who controls the Internet ?&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://internethealthreport.org/v01/fr/decentralization/&quot;&gt;Qui contrôle Internet ?&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://cpu.dascritch.net/post/2017/02/17/Histoire-%3A-Qui-contr%C3%B4le-internet&quot;&gt;sonore&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;https://internethealthreport.org/v01/stories/building-a-better-blockchain/&quot;&gt;Building a better blockchain&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://internethealthreport.org/v01/fr/stories/building-a-better-blockchain/&quot;&gt;Construire une meilleure chaîne de blocs&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://cpu.dascritch.net/post/2017/02/20/Standard-%3A-Construire-une-meilleur-cha%C3%AEne-de-bloc&quot;&gt;sonore&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;https://internethealthreport.org/v01/stories/giving-artists-control-of-their-music/&quot;&gt;Giving artists control of their music&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://internethealthreport.org/v01/fr/stories/giving-artists-control-of-their-music/&quot;&gt;Redonner aux artistes le contrôle de leur musique&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://cpu.dascritch.net/post/2017/02/20/Ainsi-naquit-%3A-Redonner-aux-artistes-le-contr%C3%B4le-de-la-musique&quot;&gt;sonore&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td colspan=&quot;3&quot;&gt;Privacy and security / Vie privée et sécurité&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;https://internethealthreport.org/v01/privacy-and-security/&quot;&gt;Is it safe and secure ?&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://internethealthreport.org/v01/fr/privacy-and-security/&quot;&gt;Est-ce sûr ?&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://cpu.dascritch.net/post/2017/02/21/Histoire-%3A-Est-ce-s%C3%BBr&quot;&gt;sonore&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;https://internethealthreport.org/v01/stories/dutch-pranksters-turn-surveillance-into-art/&quot;&gt;Dutch pranksters turn surveillance into art&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://internethealthreport.org/v01/fr/stories/dutch-pranksters-turn-surveillance-into-art/&quot;&gt;De la surveillance à la création artistique&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://cpu.dascritch.net/post/2017/02/21/Feedback-%3A-De-la-surveillance-%C3%A0-la-cr%C3%A9ation-artistique&quot;&gt;sonore&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;https://internethealthreport.org/v01/stories/lets-encrypt-making-the-web-safer/&quot;&gt;Let’s Encrypt: Making the Web safer&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://internethealthreport.org/v01/fr/stories/lets-encrypt-making-the-web-safer/&quot;&gt;Un Web plus sûr avec Let's Encrypt&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://cpu.dascritch.net/post/2017/02/22/Ainsi-naquit-%3A-Un-web-plus-s%C3%BBr-avec-Let-s-Encrypt&quot;&gt;sonore&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td colspan=&quot;3&quot;&gt;Web literacy / Éducation à Internet&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;https://internethealthreport.org/v01/web-literacy/&quot;&gt;Who can succeed online ?&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://internethealthreport.org/v01/fr/web-literacy/&quot;&gt;Qui peut réussir en ligne ?&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://cpu.dascritch.net/post/2017/02/14/Histoire-%3A-Qui-peut-r%C3%A9ussir-en-ligne&quot;&gt;sonore&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;https://internethealthreport.org/v01/stories/teaching-encryption-in-harlem/&quot;&gt;Teaching encryption in Harlem&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://internethealthreport.org/v01/fr/stories/teaching-encryption-in-harlem/&quot;&gt;Enseigner le chiffrement à Harlem&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://cpu.dascritch.net/post/2017/02/15/How-to-%3A-Enseigner-le-chiffrement-%C3%A0-Harlem&quot;&gt;sonore&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;https://internethealthreport.org/v01/stories/why-dont-more-women-code/&quot;&gt;Why don't more women code ?&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://internethealthreport.org/v01/fr/stories/why-dont-more-women-code/&quot;&gt;Pourquoi coder n'attire pas plus de femmes ?&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://cpu.dascritch.net/post/2017/02/13/Feedback-%3A-Pourquoi-coder-n%E2%80%99attire-pas-plus-de-femmes&quot;&gt;sonore&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;
Chacune des rubriques a été découpée sans les parties musicales ou identification à notre programme. Les sonores présentés ci-dessus sont donc redistribués en licence Creative Commons, Share Alike, By Mozilla. Texte adapté et lu par l'équipe de CPU&amp;nbsp;: Gael Cérez, Virginie Vandeville et DaScritch, avec les moyens techniques de Radio &amp;lt;FMR&amp;gt;
&lt;/p&gt;</content:encoded>
    
    
      <enclosure url="/vrac/Emissions/CPU/podcast/0049-CPU%2823-02-17%29.mp3"
      length="56416151" type="audio/mpeg3" />
    
    
      </item>
  
	<item>
		<title>CPU Ex0046 Bonjour à toi, enfant du Futur Immédiat, comment va internet ?</title>
		<link>https://dascritch.net/post/2017/02/06/CPU-Ex0046-Bonjour-%C3%A0-toi%2C-enfant-du-Futur-Imm%C3%A9diat%2C-comment-va-internet</link>
		<guid isPermaLink="false">urn:md5:d1b6ff58960c03ccf6135eb263684cd3</guid>
		<dc:date>2017-02-06T06:24:00+01:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Radio</dc:subject>
        
    <description>Ce texte est en introduction d'une série de trois émissions reprenant le Bulletin de Santé d'Internet v0.1 par la Mozilla Foundation.		&lt;span class="tags"&gt;&lt;br /&gt;&lt;a href="https://dascritch.net/category/Radio"&gt;Radio&lt;/a&gt; &lt;/span&gt;
	</description>
    <content:encoded>
		&lt;p&gt;Ce texte est en introduction d'une série de trois émissions reprenant le Bulletin de Santé d'Internet v0.1 par la Mozilla Foundation.&lt;span class="tags"&gt;&lt;br /&gt;
		&lt;a href="https://dascritch.net/category/Radio"&gt;
			Radio&lt;/a&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;
&lt;a href=&quot;https://cpu.dascritch.net/post/2017/02/02/Ex0046-Bulletin-de-sant%C3%A9-d-Internet%2C-1re-partie&quot;&gt;Ceci est une partie du script de la &lt;em lang=&quot;en&quot;&gt;release&lt;/em&gt; Ex0046 du programme CPU, diffusé le Jeudi 2/2 à 11h. Plus d'infos sur le site de l'émission. &lt;img src=&quot;https://dascritch.net/vrac/.blog2/radio/cpu_logo_liseret.png&quot; alt=&quot;logo de l'émission CPU&quot; class=&quot;r&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Bonjour à toi, enfant du Futur Immédiat, et bonne année 2017, même si nous avons un peu de retard....&lt;br /&gt;
Nous t'avions promis de ne plus trop parler de politique... mais la promesse ne tenait que pour le domaine national. Car cette année, la plus grande puissance informatique et économique a intronisé comme président un DRH de télé-réalité. On ne va pas se priver de faire un jour un sujet sur les trolleurs.
&lt;/p&gt;
&lt;p&gt;
Parallèlement, la Mozilla Foundation vient de terminer une mue qui a durée une année où sa sa communauté fut invitée à faire des choix. Un nouveau logo, mais surtout une mission revisitée&amp;nbsp;: plutôt que vouloir mettre du web partout, jusqu'à écrire un OS de télé connectée, Mozilla va s'intéresser désormais à défendre des valeurs qui ont construit internet&amp;nbsp;: le respect, l'échange, la neutralité, l'ouverture. 
&lt;/p&gt;
&lt;p&gt;
Soyez rassurés, ils font toujours Firefox...
&lt;/p&gt;
&lt;p&gt;
Après avoir dévoilé son nouveau logo à la mi-Janvier, Mozilla Foundation vient de publier un bulletin de santé d'Internet, une initiative au code ouvert et libre visant à documenter et à analyser l’état de santé d’Internet en combinant des études provenant de multiples sources.&lt;br /&gt;
Nous, la rédaction de l'émission CPU, avons souhaité adapter radiophonique les 5 chapitres de ce rapport, car ce travail formidable est éclairant sur l'état technique, commercial, culturel et politique de notre planète.
&lt;/p&gt;
&lt;p&gt;
Le Bulletin de santé d'internet 2017, version 0.1, est publié par Mozilla sous licence Creative Commons, avec attribution et partage dans les memes conditions.&lt;br /&gt;
À l'exception des parties musicales, cette émission est distribuée avec la même licence.&lt;br /&gt;
Cette émission est l'adaptation du texte original. Les vues et opinions exprimées dans notre programme sont de notre responsabilité et ne sont pas approuvées par Mozilla.
&lt;/p&gt;</content:encoded>
    
    
      <enclosure url="/vrac/Emissions/CPU/podcast/0046-CPU%2802-02-17%29.mp3"
      length="50371865" type="audio/mpeg3" />
    
    
      </item>
  
	<item>
		<title>Firefox, l'invisible</title>
		<link>https://dascritch.net/post/2017/01/12/Firefox%2C-l-invisible</link>
		<guid isPermaLink="false">urn:md5:58ea069231657ddaba7379efc17a78d8</guid>
		<dc:date>2017-01-12T06:26:00+01:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Webdev</dc:subject>
        
    <description>Est-ce que le navigateur Firefox n'aurait pas une audience sous-estimée ? Pourquoi ? Et si certains se contentaient de chiffres d'audience biaisés ?		&lt;span class="tags"&gt;&lt;br /&gt;&lt;a href="https://dascritch.net/category/Webdev"&gt;Webdev&lt;/a&gt; &lt;/span&gt;
	</description>
    <content:encoded>
		&lt;p&gt;Est-ce que le navigateur Firefox n'aurait pas une audience sous-estimée ? Pourquoi ? Et si certains se contentaient de chiffres d'audience biaisés ?&lt;span class="tags"&gt;&lt;br /&gt;
		&lt;a href="https://dascritch.net/category/Webdev"&gt;
			Webdev&lt;/a&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1701-FirefoxInvisible/.1701-FirefoxInvisible-FFblueprint_square_s.jpg&quot; alt=&quot;&quot; class=&quot;r&quot; /&gt;

&lt;p&gt;
Mon discours sera un peu long. Il n'est pas étayé de chiffres, mais si quelqu'un veut étayer mon hypothèse, je lui donne les éléments qui lui permettrait de faire l'analyse. Seule condition, il faut les logs serveurs d'un site qui a une audience significative.
&lt;/p&gt;

&lt;h3 id=&quot;publicite_sur_le_web&quot;&gt;Parlons de la publicité sur le web&lt;/h3&gt;
&lt;p&gt;
C'est un fait, &lt;strong&gt;la publicité est devenue incontrôlable&lt;/strong&gt;, au point que &lt;a href=&quot;http://adage.com/article/digitalnext/ad-blocking-unnecessary-internet-apocalypse/300470/&quot;&gt;même l'IAB, l'association des publicitaires sur internet, reconnait que ces abus sont devenus dangereux&lt;/a&gt; pour leur secteur économique&amp;nbsp;:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;La publicité est devenue trop distractive&lt;/strong&gt; entre les animations, les couleurs criardes, le son voire la vidéo. Apparaissant des fois en plein milieu du contenu alors qu'on déroule un article, elle donne plus envie de fuir que de persévérer&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;Elle a pris ses aises avec le support et &lt;strong&gt;se substitue au contenu du site&lt;/strong&gt;, avec des encarts en &lt;em lang=&quot;en&quot;&gt;pop-over&lt;/em&gt;, &lt;em lang=&quot;en&quot;&gt;pop-under&lt;/em&gt;, des vidéos en &lt;em lang=&quot;en&quot;&gt;pre-roll&lt;/em&gt;…&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Les publicités sont extrêmement lourdes&lt;/strong&gt; à charger et à jouer. On frise parfois le délire avec des spots vidéos en HD pas optimisées, des polices de caractères dépassant la dizaine de Mo, un &lt;q&gt;contenu&lt;/q&gt; 600 fois plus lourd que le reste de la page, impactant la réactivité du navigateur, les performances de l'ordinateur et l'autonomie de la batterie. Une machine qui peut faire tourner un FPS sans sourciller devient brusquement un veau en allant lire un article d'un quotidien&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;Le javascript des encarts est souvent de mauvaise qualité et &lt;strong&gt;peut faire planter la page hôte&lt;/strong&gt;&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Elles sont très indiscrètes, &lt;a href=&quot;https://www.mozilla.org/fr/lightbeam/&quot;&gt;profilant le plus possible le visiteur, souvent au mépris des lois Européennes&lt;/a&gt;&lt;/strong&gt;. Pourquoi les quotidiens français veulent connaître ma position géographique&amp;nbsp;? Sans compter &lt;a href=&quot;https://dascritch.net/post/2014/02/25/Le-retour-des-boutons-de-partage&quot;&gt;une multitude de &lt;em lang=&quot;en&quot;&gt;trackers&lt;/em&gt; posés par des réseaux sociaux&lt;/a&gt;, des régies publicitaires et autres&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;Les publicités posées s'affichent souvent avec retard, &lt;strong&gt;entrainant le phénomène de &lt;em lang=&quot;en&quot;&gt;reflow&lt;/em&gt; d'une page&lt;/strong&gt;. Outre leur poids, certaines régies travaillent avec un système d'enchères sur l'audience acquise, dans le but de vendre au plus cher l'écran du visiteur &lt;a href=&quot;https://borisschapira.com/2017/01/j-entre-dans-un-magasin/&quot;&gt;en fonction des intérêts qu'il a &lt;q&gt;manifestés&lt;/q&gt;&lt;/a&gt;. Résultat&amp;nbsp;: une pénalisation de la lecture par le délai d'attente, créant un effet de clignotement/déplacement de la mise en page&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;Elles sont devenues &lt;strong&gt;un vecteur d'attaque très prisé pour les virus et autres logiciels malicieux&lt;/strong&gt;, et même &lt;a href=&quot;https://www.proofpoint.com/fr/threat-insight/post/home-routers-under-attack-malvertising-windows-android-devices&quot;&gt;indirectement les autres utilisateurs du réseau&lt;/a&gt;&amp;nbsp;! Le &lt;em lang=&quot;en&quot;&gt;malvertising&lt;/em&gt; joue sur le fait que des sites réputés servent du code extérieur sans aucun contrôle, et même &lt;a href=&quot;https://krebsonsecurity.com/2011/11/attemped-malvertising-on-krebsonsecurity-com/&quot;&gt;les experts sécurités peuvent se retrouver vecteurs d'infection malgré eux&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Il ne faut donc pas  s'étonner de la part importante de personnes qui surfent sur internet avec un bloqueur de publicités, pas uniquement pour avoir un ordinateur plus réactif, ni pour protéger un minimum sa vie privée, mais carrément pour se protéger les logiciels malveillants&amp;nbsp;! 
&lt;/p&gt;
&lt;figure&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1701-FirefoxInvisible/1701-FirefoxInvisible-timeline-guardian.jpg&quot; alt=&quot;&quot; /&gt;
&lt;figcaption&gt;Un exemple de taxe à la performance dû aux publicités et outils de tracking sur un article du journal Guardian, &lt;a href=&quot;https://gist.github.com/paulirish/5d52fb081b3570c81e3a&quot;&gt;relevé par Paul Irish&lt;/a&gt; dans un article où il liste les éléments forçant un &lt;em lang=&quot;en&quot;&gt;repaint&lt;/em&gt;&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;h3&gt;Et c'est ainsi que naquirent les filtreurs de pubs&lt;/h3&gt;

&lt;figure class=&quot;r&quot;&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1701-FirefoxInvisible/.1701-FirefoxInvisible-boite-a-lettre_s.jpg&quot; alt=&quot;&quot; /&gt;
&lt;figcaption&gt;&lt;a href=&quot;http://www.stpo.fr/blog/operation-stickers-des-autocollants-anti-pub-gratuits-pour-votre-boite-aux-lettres/&quot;&gt;&lt;small&gt;Illustration&amp;nbsp;: Christophe Andrieu&lt;/small&gt;&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;
Sur internet, il ne suffit pas d'apposer un petit sticker &lt;q&gt;Pas de pubs, merci&lt;/q&gt; sur sa boîte aux lettres… une page web part d'un document HTML, de là, votre navigateur va charger ses &lt;em lang=&quot;en&quot;&gt;assets&lt;/em&gt; (&lt;a href=&quot;https://dascritch.net/post/2014/03/25/Histoires-en-img&quot;&gt;images&lt;/a&gt;, style, &lt;a href=&quot;https://dascritch.net/post/2013/09/17/Dirty-Hacky-VII-:-Le-script-des-bas-fonds&quot;&gt;scripts&lt;/a&gt;,…), et dans ces derniers sont présents les éléments publicitaires. Il faut donc trier pour pouvoir les retirer.
&lt;/p&gt;
&lt;p&gt;
À noter que le choix de ne pas charger/afficher des pubs est légale en Europe, mais réprimandable aux États-Unis. C'est même une des bases du fameux &lt;a href=&quot;https://en.wikipedia.org/wiki/Sony_Corp._of_America_v._Universal_City_Studios,_Inc.&quot;&gt;procès Betamax qui avait opposé studios de productions et fabricants de magnétoscopes&lt;/a&gt;, qui furent ravivées 30 ans après avec &lt;a href=&quot;http://mashable.com/2015/09/30/tivo-bolt/#_v.IORs2WEq5&quot;&gt;TiVo, l'enregistreur numérique  capable de sauter les pubs&lt;/a&gt;.
&lt;/p&gt;


&lt;p&gt;
D'abord, il y eu &lt;strong&gt;les filtrages écrit à la main&lt;/strong&gt; par des utilisateurs développeurs… Soit en définissant localement certains noms de domaines dans &lt;code&gt;/etc/hosts&lt;/code&gt;, soit en injectant spécifiquement des règles dans les navigateurs. 
&lt;/p&gt;

&lt;p&gt;
Puis arrivèrent &lt;strong&gt;les premières extensions de navigateurs&lt;/strong&gt;, afin de permettre à d'autres utilisateurs de profiter de la fonctionnalité.
&lt;/p&gt;

&lt;p&gt;
Puis une industrie se construisit, avec &lt;strong&gt;les filtreurs de publicités qui en ont fait un &lt;em lang=&quot;en&quot;&gt;business model&lt;/em&gt;&lt;/strong&gt;, comme Ad Block Plus, et dont le comportement est clairement prédateur, avec un chantage d'extorsion envers les régies publicitaires et les annonceurs.
&lt;/p&gt;

&lt;p&gt;
Mais maintenant, avec Firefox (et &lt;a href=&quot;https://brave.com/&quot;&gt;tout récemment Brave&lt;/a&gt;), des &lt;strong&gt;navigateurs précablent des fonctions de filtrage&lt;/strong&gt; et &lt;a href=&quot;http://donottrack.us/&quot;&gt;le signal &lt;q lang=&quot;en&quot;&gt;Do Not Track&lt;/q&gt;&lt;/a&gt;, le jeu change car il implique une décision par défaut d'utilisateurs d'un logiciel.
&lt;/p&gt;

&lt;p&gt;
Or, justement, je veux faire le parallèle avec une autre tendance, qui me semble contemporaine&amp;nbsp;: la perception de la chute d'audience des pages web vues via le navigateur Firefox.
&lt;/p&gt;

&lt;h3&gt;Apple a sa culture insulaire et a oublié le web&lt;/h3&gt;

&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1701-FirefoxInvisible/.1701-FirefoxInvisible-connect-iTunes_s.jpg&quot; alt=&quot;&quot; class=&quot;l&quot; /&gt;

&lt;p&gt;
Cette chute d'audience n'a pas été commentée pour Safari, alors qu'Apple a lui aussi largement favorisé le blocage des publicités.&lt;br /&gt;
Et pour cause&amp;nbsp;: sur l'audience des ordinateurs purs, Safari n'a jamais dépassé les 10%. Par contre, dans le domaine des tablettes et des smartphones, Apple est dans une position de force, et donc Safari en monopole dans son écosystème. Car le fabricant Apple refuse totalement qu'un autre moteur de rendu que Safari puisse être installé sur les appareils de sa marque. Je rappelle que les apps &lt;q&gt;Chrome pour iOS&lt;/q&gt; et &lt;q&gt;Firefox pour iOS&lt;/q&gt; ne sont que des recarrossages du moteur de Safari, et qu'ils en ont les mêmes limitations techniques.
&lt;/p&gt;

&lt;p&gt;
La position d'&lt;strong&gt;Apple est encore plus extrémiste que celle que s'autorisait Microsoft&lt;/strong&gt; il y a 15 ans et qui lui a pourtant valut des procès pour abus de position dominante..
&lt;/p&gt;

&lt;p&gt;
Et comme l'époque ou MSIE régnait sans partage, &lt;strong&gt;Safari est un navigateur indigent&lt;/strong&gt;, une catastrophe&amp;nbsp;: Il lui manque plein d'API du W3C, de &lt;a href=&quot;https://dascritch.net/tag/javascript&quot;&gt;fonctions javascript&lt;/a&gt;, de &lt;a href=&quot;https://dascritch.net/tag/dom&quot;&gt;propriétés  DOM&lt;/a&gt; ou &lt;a href=&quot;https://dascritch.net/tag/svg&quot;&gt;SVG&lt;/a&gt; qui sont déjà implémentées dans Microsoft Edge. Un comble&amp;nbsp;!
&lt;/p&gt;
&lt;p&gt;
Apple a certes remis une équipe de développement sur son navigateur pour iOS9, mais le retard reste titanesque.&lt;br /&gt;
Mais est-ce que le constructeur est motivé à avoir un navigateur web dans les canons actuels&amp;nbsp;? Car la firme de Cupertino fait principalement sa marge via la vente d'applications natives sur son App Store. &lt;a href=&quot;https://blog.elao.com/fr/dev/la-revanche-du-web-par-les-progressive-web-apps/&quot;&gt;Avoir la possibilité de faire des applications à partir du navigateur web en &lt;em lang=&quot;en&quot;&gt;single page application&lt;/em&gt; ou en  &lt;em lang=&quot;en&quot;&gt;progressive web app&lt;/em&gt;&lt;/a&gt; n'est absolument pas dans l'intérêt de la firme à la Pomme. Par une culture forte de la marque (et la qualité du matériel, il faut bien l'avouer), ses consommateurs sont bien peu enclins d'aller voir ailleurs. Il reste donc très difficile de faire une application web universelle qui puisse se comparer avec les applications natives.
&lt;/p&gt;

&lt;p&gt;
D'un autre côté, sous prétexte de protection de ses usagers, &lt;a href=&quot;http://www.lefigaro.fr/secteur/high-tech/2015/06/11/32001-20150611ARTFIG00158-apple-ouvre-la-voie-aux-bloqueurs-de-publicite-sur-iphone.php&quot;&gt;Apple a autorisé les bloqueurs de publicité à être installés comme extension de Safari mobile&lt;/a&gt;. Ce qui fait réduire mécaniquement le nombre d'utilisateurs de Safari mobile dans les rapports d'audiences des sites. La situation n'est pas pour déplaire à Apple, puisqu'il entretient l'illusion que les utilisateurs préféreront toujours avoir une application native plutôt que passer par un navigateur web, et que Safari Mobile n'a strictement aucune concurrence face à qui se mesurer.&lt;br /&gt;
Alors que &lt;a href=&quot;http://www.blogdumoderateur.com/comscore-app-mobile-2016/&quot;&gt;les statistiques montrent que les applications installées sont très vites boudées&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Et puis, la publicité dans les pages web, Apple avait tenté de s'y aventurer &lt;a href=&quot;http://www.igen.fr/ios/2016/01/iad-apple-annonce-la-fermeture-de-sa-regie-publicitaire-94484&quot;&gt;en rachetant plusieurs régisseurs d'encarts et en construisant iAd&lt;/a&gt;. Mais ils n'ont pu faire jeu égal avec un mastodonte qui regroupe réseau publicitaire, outils d'analyse de trafic, profilage et surtout un écosystème mobile concurrent.
&lt;/p&gt;
&lt;p&gt;
En faisant rejeter la pub par ses afficionados, Apple attaque via le porte-monnaie &lt;a href=&quot;https://www.youtube.com/watch?v=7yeA7a0uS3A&quot;&gt;le Maître de l'Univers&lt;/a&gt; Android…
&lt;/p&gt;
&lt;h3 id=&quot;ecosysteme_google&quot;&gt;L'écosystème global de Google&lt;/h3&gt;

&lt;figure class=&quot;r&quot;&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1701-FirefoxInvisible/.1701-FirefoxInvisible-Google-Ecosystem_s.jpg&quot; alt=&quot;&quot; /&gt;
&lt;figcaption&gt;
&lt;a href=&quot;https://shortblacktechie.com/2014/11/01/smartphone-guide-part-1-its-all-about-ecosystem/&quot;&gt;&lt;small&gt;Source&amp;nbsp;: shortblacktechie.com&lt;/small&gt;&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;
Google édite un navigateur, Chrome.&lt;br /&gt;
Il a gagné la bataille des &lt;em lang=&quot;en&quot;&gt;features&lt;/em&gt;, il a gagné la bataille de la vitesse avec son moteur javascript V8, il a gagné le cœur des développeurs avec son mode développeur &lt;kbd&gt;F12&lt;/kbd&gt;. Puis Google a attiré les développeurs avec d'autres technologies, notamment AngularJS (même dépassé, l'attrait existe toujours), Dart (abandonné), Polymer (qui sert de &lt;em lang=&quot;en&quot;&gt;polyfill&lt;/em&gt; aux &lt;a href=&quot;https://www.webcomponents.org/&quot;&gt;web components&lt;/a&gt; mais avec moins de respect au standard que &lt;a href=&quot;http://bosonic.github.io/&quot;&gt;Bosonic&lt;/a&gt; les dernières fois que je les aient comparés) et Go (un langage principalement serveur)…
&lt;/p&gt;
&lt;p&gt;
Personnellement, je n'ai absolument rien contre&amp;nbsp;: Google est un acteur très important qui fait énormément de R&amp;amp;D, contribue énormément aux standards en respectant les règles, libère très souvent publiquement les sources et ses technologies web,… et moi même, je suis un grand fan de nombres d'entre elles.&lt;br /&gt;
Google est un des rares contributeurs du web à continuellement le faire avancer, tout comme la Mozilla Foundation.
&lt;/p&gt;
&lt;p&gt;
Mais &lt;strong&gt;trop de développeurs oublient de tester leurs sites ailleurs que sur Chrome&lt;/strong&gt;. Certains développeurs livrent encore &lt;a href=&quot;https://dascritch.net/post/2013/10/02/Dirty-Hacky-VIII-%3A-Pr%C3%A9fixes-frelat%C3%A9s&quot;&gt;des propriétés dans leur version expérimentales préfixées &lt;code&gt;-webkit-&lt;/code&gt;&lt;/a&gt; sans avoir vérifié que celles-ci étaient retirées de Chrome depuis plus de 2 ans. Pire que tout, j'ai vu récemment un développeur essayer sa création sur Opera pour se donner une bonne conscience… sauf qu'Opera a abandonné son propre moteur et utilise le Blink qui motorise Chrome. Bref, un coup dans l'eau.
&lt;/p&gt;
&lt;p&gt;
La plupart de ces développeurs tiers me sortent le fait que Chrome représente actuellement plus de 60% de la fréquentation de leurs sites, selon leurs chiffres d'audience.&lt;br /&gt;
Et, forcément, si leur site très riche en javascript se montre moins utilisable avec d'autres navigateurs, leur prophétie est auto-réalisatrice.
&lt;/p&gt;
&lt;p&gt;
Mais reprenons les chiffres de fréquentation. Si Google Chrome a effectivement une place de &lt;em&gt;leader&lt;/em&gt;, j'ai un doute&amp;nbsp;: celui que Google Analytics  sous-évalue les parts de marchés de Firefox.
&lt;/p&gt;
&lt;p&gt;
Et étonnement, les deux font exactement le travail qui leur a été confié en toute bonne foi.
&lt;/p&gt;
&lt;h3 id=&quot;the_mission&quot;&gt;The mission&lt;/h3&gt;
&lt;p&gt;
Par défaut, Firefox demande désormais que le trafic de son utilisateur ne soit plus pris en compte, entres autres &lt;a href=&quot;http://donottrack.us/&quot;&gt;via le signal &lt;em lang=&quot;en&quot;&gt;Do Not Track&lt;/em&gt;&lt;/a&gt;, et dans les dernières versions via une bibliothèque qui bloque par défaut les &lt;em lang=&quot;en&quot;&gt;trackers&lt;/em&gt; et les &lt;em lang=&quot;en&quot;&gt;malwares&lt;/em&gt; en se basant sur la liste maintenue par &lt;a href=&quot;https://github.com/gorhill/uBlock/&quot;&gt;uBlock Origin&lt;/a&gt;. D'ailleurs, &lt;a href=&quot;about:addons&quot;&gt;en accédant aux paramètres des &lt;em lang=&quot;en&quot;&gt;add-ons&lt;/em&gt;&lt;/a&gt;, c'est la deuxième suggestion proposée, après un thème graphique, et il démarre sans redémarrer l'application. 
&lt;/p&gt;
&lt;figure&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1701-FirefoxInvisible/.1701-FirefoxInvisible-addons-firefox_m.jpg&quot; alt=&quot;&quot; /&gt;
&lt;/figure&gt;
&lt;p&gt;
Google tente à l'inverse de tracer au mieux les usages de son navigateur, les liant au plus vite nativement avec les identités de ses utilisateurs. Avoir Chrome qui ne remonte pas par défaut son trafic vers Google Analytics est contre-productif pour Google, surtout que leur source principale de revenus est leur régie publicitaire. (Et je ne parle pas du fait qu'il n'est pas possible d'empêcher un &lt;em lang=&quot;en&quot;&gt;tracker&lt;/em&gt; d'audience faire son travail dans une application native)
&lt;/p&gt;
&lt;p&gt;
Voilà pourquoi j'en suis venu à la conclusion que la position dominante de Chrome dans le statistiques d'usage me semble un poil sur-évaluée, et Google n'est évidemment pas bien pressé de corriger les chiffres qui sont en sa faveur.
&lt;/p&gt;

&lt;h3 id=&quot;bref&quot;&gt;Bref, j'abandonne l'audience-turfing&lt;/h3&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1701-FirefoxInvisible/.1701-FirefoxInvisible-analytics-turfing_s.jpg&quot; alt=&quot;&quot; class=&quot;r&quot; /&gt;
&lt;p&gt;
J'ai (enfin) viré Google Analytics de mon blog.
&lt;/p&gt;
&lt;p&gt;
Depuis plusieurs mois, voyant une certaine dissymétrie entre les visites de Firefox relevées dans mes logs apache et ce qu'il me rapporte, ses chiffres ne me semblaient plus assez exacts. Ils me rappelle le flou &lt;a href=&quot;http://www.michelleblanc.com/2006/12/19/ce-blogue-sous-les-100000-d-alexa/#comment-2151&quot;&gt;des chiffres de la Alexa Toolbar à ses hautes heures il y a une décennie&lt;/a&gt;, laquelle ne comptabilisait que le trafic des utilisateurs anglophones sous Windows...&lt;br /&gt;
Analyser quels sont les sujets qui intéressent le plus les gens qui viennent me lire, c'était grisant il y a 10 ans, mais comme je ne fais pas une activité commerciale de mon blog, il y a peu d'intérêt (sinon le bonus supposé d'indexation dans le moteur de recherche Google)
&lt;/p&gt;
&lt;p&gt;
Alors certes, je gardais Google Analytics pour faire des démonstrations de traçage publicitaire aux &lt;a href=&quot;https://dascritch.net/post/2014/05/07/Je-suis-un-Bagger&quot;&gt;&lt;em lang=&quot;en&quot;&gt;Brown Bag Lunch&lt;/em&gt; vie privée&lt;/a&gt; et des &lt;a href=&quot;https://dascritch.net/tag/privacy&quot;&gt;cryptoparties&lt;/a&gt;,… Mais finalement, je faisais rarement ces démonstrations.
&lt;/p&gt;
&lt;p&gt;
De plus, &lt;a href=&quot;https://www.optimizesmart.com/geek-guide-removing-referrer-spam-google-analytics/&quot;&gt;les rapports de Google Analytics sont de plus en plus encombrés par les &lt;em lang=&quot;en&quot;&gt;spam-referrer&lt;/em&gt;&lt;/a&gt;, au point d'avoir des résultats de moins en moins précis.
&lt;/p&gt;

&lt;figure&gt;
&lt;figcaption&gt;
Je déconne à peine&amp;nbsp;: dans mes statistiques par langue de navigateur, j'ai 20% de pollution avec des entrées qui ne sont clairement pas &lt;a href=&quot;http://data.okfn.org/data/core/language-codes#resource-ietf-language-tags&quot;&gt;au format IETF&lt;/a&gt;. Le tableau a été édité pour mieux voir les déchets.
&lt;/figcaption&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1701-FirefoxInvisible/1701-FirefoxInvisible-GoogleAnalytics-langue.jpg&quot; alt=&quot;&quot; /&gt;
&lt;/figure&gt;


&lt;h3 id=&quot;verifier&quot;&gt;Comment vérifier cette intuition&lt;/h3&gt;
&lt;p&gt;
Sur cette idée que Firefox (et sûrement aussi Brave et Safari) sont sous-estimés par les outils d'analyse de trafic, j'ai regardé mes logs de serveur web, mais l'audience de mon site est beaucoup trop typé et anecdotique pour être une mesure concluante.
&lt;/p&gt;
&lt;p&gt;
Si vous comptez vérifier de votre côté, sachez qu'il va falloir pas mal travailler dans le filtrage des données de vos logs&amp;nbsp;:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Il faudrait un site qui enregistre selon plusieurs outils de mesures (Piwik et Google Analytics), au moins 500 visites quotidiennes.&lt;/li&gt;
&lt;li&gt;Filtrez les IP des administrateurs (et donc la votre, on compte pas, c'est tricher)&lt;/li&gt;
&lt;li&gt;À partir des logs du serveur web, isoler les visites qui semblent réelles&amp;nbsp;: les chargement de pages canoniques (donc écartez les miroirs, les repompeurs et les lecteurs de flux rss), accédées par le verbe &lt;code&gt;GET&lt;/code&gt;, accompagnées du chargement d'&lt;em lang=&quot;en&quot;&gt;assets&lt;/em&gt; statiques (CSS, js, webfonts, svg, images) et dynamiques (si vous chargez des éléments en asynchrone, par exemple lors de &lt;code&gt;DOMContentLoaded&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Écartez les &lt;em lang=&quot;en&quot;&gt;user-agent&lt;/em&gt; qui annoncent clairement un &lt;em lang=&quot;en&quot;&gt;bot&lt;/em&gt; ou un &lt;em lang=&quot;en&quot;&gt;crawler&lt;/em&gt; (on ne sait jamais, si un vous a échappé).&lt;/li&gt;
&lt;li&gt;À partir du &lt;em lang=&quot;en&quot;&gt;user-agent&lt;/em&gt;, comptabiliser chaque navigateur&lt;/li&gt;
&lt;li&gt;Et de là, vous aurez des métriques à comparer.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
Si en termes de proportion, la différence est flagrante, vous saurez quoi penser des chiffres analytics.
&lt;/p&gt;
&lt;h3 id=&quot;recommandations&quot;&gt;Si j'avais des recommandations&lt;/h3&gt;
&lt;p&gt;
Apple relance timidement le développement de Safari, qui reste le navigateur &lt;q&gt;moderne&lt;/q&gt; le plus en retard. Il faut l'encourager dans cette voie en refaisant &lt;strong&gt;un procès pour abus de position dominante&lt;/strong&gt;. Si vous êtes propriétaire de votre ordinateur, vous avez le droit d'installer n'importe quel logiciel. Et vous êtes bien propriétaire de votre smartphone, non&amp;nbsp;? Forcer Apple à accepter que ses clients puissent avoir le choix d'un autre navigateur web, indépendamment des moteurs de rendus vieillissants &lt;em&gt;webkit&lt;/em&gt;. Qu'enfin nous puissions construire des web-apps complètes qui tournent aussi sur iPhone. Songez que Firefox sur Android est capable &lt;a href=&quot;https://github.com/autonome/aframe-ar&quot;&gt;d'incrustation 3D sur une image de caméra&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Ensuite, La publicité est très utile pour les contenus gratuits, mais elle est devenue un vrai fléau. Il faut libérer de la dictature de la publicité certains sites, en s'y abonnant. Oui, &lt;strong&gt;reconnaissez la valeur de ce que vous utilisez gratuitement&lt;/strong&gt;. Abonnez-vous à &lt;a href=&quot;https://lapresselibre.fr/&quot;&gt;la Presse Libre&lt;/a&gt; pour mutualiser des abonnements (Ou laissez &lt;a href=&quot;http://mediapart.fr&quot;&gt;La Moustache vous hypnotiser&lt;/a&gt;), soutenez Wikipédia, et donnez aux projets open-source. &lt;a href=&quot;https://brave.com/publishers.html&quot;&gt;Le navigateur Brave propose de filtrer les publicités, et en contrepartie de centraliser des abonnements&lt;/a&gt;. Si vous utilisez régulièrement un service, reconnaissez-en le prix. (et je ne dis pas ça &lt;a href=&quot;https://dascritch.net/post/2014/06/11/Merci-%C3%A0-vous%2C-vils-Flattr-s&quot;&gt;pour mon compte Flattr&amp;nbsp;: il n'a connu des versements que quatre mois&lt;/a&gt;).
&lt;/p&gt;
&lt;o&gt;
Et enfin, &lt;strong&gt;n'utilisez pas le même navigateur&lt;/strong&gt; que &lt;q&gt;tout le monde&lt;/q&gt;. Sinon, nous allons revenir vers &lt;a href=&quot;https://dascritch.net/post/2006/10/13/562-la-seconde-guerre-du-web-n-aura-pas-lieu&quot;&gt;les mêmes travers que l'époque où MSIE avait gagné une guerre&lt;/a&gt;&amp;nbsp;: une monoculture et la perte d'interopérabilité du web. Ça serait dommage.
&lt;/p&gt;

&lt;h3 id=&quot;stop_ou_encore&quot;&gt;Alors&amp;nbsp;? Stop ou encore&amp;nbsp;?&lt;/h3&gt;

&lt;p class=&quot;c&quot;&gt;
Soutenons le web que nous voulons.&lt;br /&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1701-FirefoxInvisible/1701-FirefoxInvisible-browsers.jpg&quot; alt=&quot;&quot; /&gt;
&lt;/p&gt;</content:encoded>
    
    
    
      </item>
  
	<item>
		<title>CPU Ex0045 Bonjour à toi, Enfant du Futur immédiat : Sans les yeux</title>
		<link>https://dascritch.net/post/2016/12/09/CPU-Ex0045-Bonjour-%C3%A0-toi%2C-Enfant-du-Futur-imm%C3%A9diat-%3A-Sans-les-yeux</link>
		<guid isPermaLink="false">urn:md5:a62a34632ea4a8afe9242e6e372d9023</guid>
		<dc:date>2016-12-09T06:45:00+01:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Radio</dc:subject>
        
    <description>Une émission qui a été très éprouvante à cause du chat dans la gorge. Et n'ayant pu enregistrer un reportage sur un utilisateur de synthèse vocale, j'ai téléchargé Pico, le moteur de la synthèse vocale d'Android, pour lire mon texte à ma place. Le programme a été intégralement pigé par Stéphane Deschamps sur la page de l'émission, milles mercis à lui.		&lt;span class="tags"&gt;&lt;br /&gt;&lt;a href="https://dascritch.net/category/Radio"&gt;Radio&lt;/a&gt; &lt;/span&gt;
	</description>
    <content:encoded>
		&lt;p&gt;Une émission qui a été très éprouvante à cause du chat dans la gorge. Et n'ayant pu enregistrer un reportage sur un utilisateur de synthèse vocale, j'ai téléchargé Pico, le moteur de la synthèse vocale d'Android, pour lire mon texte à ma place. Le programme a été intégralement pigé par Stéphane Deschamps sur la page de l'émission, milles mercis à lui.&lt;span class="tags"&gt;&lt;br /&gt;
		&lt;a href="https://dascritch.net/category/Radio"&gt;
			Radio&lt;/a&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;
&lt;a href=&quot;https://cpu.dascritch.net/post/2016/12/08/Ex0045-Sans-regarder&quot;&gt;Ceci est une partie du script de la &lt;em lang=&quot;en&quot;&gt;release&lt;/em&gt; Ex0045 du programme CPU, diffusé le Jeudi 8/12 à 11h. Plus d'infos sur le site de l'émission. &lt;img src=&quot;https://dascritch.net/vrac/.blog2/radio/cpu_logo_liseret.png&quot; alt=&quot;logo de l'émission CPU&quot; class=&quot;r&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Bonjour à toi, enfant du futur immédiat, toi qui n'a peut-être pas eu la chance de découvrir la clarté quand tu as ouvert tes yeux sur le monde.
&lt;/p&gt;
&lt;p&gt;
&lt;a href=&quot;http://www.corps.dufouraubin.com/sens/sens.htm&quot;&gt;De nos sens&lt;/a&gt;, celui qui semble le plus essentiel à la majorité des humains, est &lt;a href=&quot;http://www.giaa-aquitaine.fr/aveugle-ou-malvoyant-les-questions-que-vous-vous-posez/&quot;&gt;la vue&lt;/a&gt;. La vision permet de percevoir notre environnement lointain, même au-delà de notre atmosphère. C'est notre sens le plus exact, au sens qu'un événement distant observé est précisément orienté et à peu près placé dans l'espace.&lt;br /&gt;
Perdre ou manquer l'usage de ses yeux pose un sacré handicap pour percevoir le monde, plus que la perte de la sensation du goût sucré ou de l'ironie. 
&lt;/p&gt;
&lt;p&gt;
Alors oui, &lt;a href=&quot;https://cpu.dascritch.net/post/2016/11/03/Ex0041-Couleurs&quot;&gt;récemment, nous avons fait une émission sur les couleurs&lt;/a&gt;. Aujourd'hui, pas de couleurs, ni de noir et blanc. Rien. Zilch. Nada. Pendant une heure , tu n'auras que du son, de la radio pure.
&lt;/p&gt;
&lt;p&gt;
L'ingéniosité de notre cerveau l'amène à développer les autres sens pour compenser l'absence de la vue. Les aveugles peuvent être des super-héros. Non, je ne pense pas forcément à Daredevil, rien n'est moins sexy que &lt;del&gt;Matt Damon&lt;/del&gt; &lt;a href=&quot;https://www.youtube.com/watch?v=LmP3YFk_YHA&quot;&gt;Ben Affleck obligé de cachetonner sur grand écran dans un nanar&lt;/a&gt; histoire de payer ses impôts... Bon, allez, je reconnais que &lt;a href=&quot;https://www.youtube.com/watch?v=jAy6NJ_D5vU&quot;&gt;la série actuelle m'a tapé dans l'œil&lt;/a&gt;, mais revenons à nos non-voyants.
&lt;/p&gt;
&lt;p&gt;
Le pouvoir le plus intéressant que développent par la force des choses les personnes malvoyantes est dans la concentration : les technologies assistives qu'on leur a créé sont imparfaites pour donner une vision globale d'un écran, ils avancent donc à tâtons (désolé) pour découvrir chaque élément affiché. Leur compréhension de l'ensemble passe par leur capacité à construire une image mentale de l'environnement. 
&lt;/p&gt;
&lt;p&gt;
Comme la moitié du chemin était fait par les utilisateurs improprement dits &lt;q&gt;déficients&lt;/q&gt;, les technologies pouvaient leur proposer des alternatives viables&amp;nbsp;: &lt;a href=&quot;http://www.eurobraille.fr/fr/catalogue&quot;&gt;l'écran à aiguilles Braille&lt;/a&gt; et &lt;a href=&quot;https://doc.ubuntu-fr.org/synthese_vocale&quot;&gt;la synthèse vocale&lt;/a&gt;.&lt;br /&gt;
Mais alors il n'y a pas de vision globale ou géométrique, il fallait que ces interfaces dictent une priorisation des contenus aux programmes qui étaient d'abord prévus pour une interface graphique.
&lt;/p&gt;
&lt;p&gt;
Et croyez-moi que devoir &lt;a href=&quot;http://www.accede-web.com/notices/html-css-javascript/1-structure/&quot;&gt;repenser une interface graphique en terme de priorisation plutôt qu'en esthétique&lt;/a&gt; n'est pas simple. Pourtant, il y a un réel gain à faire ce travail&amp;nbsp;: il permet de se poser et de songer à l'essentiel et à être clairement explicite, &lt;a href=&quot;https://insidegovuk.blog.gov.uk/2016/07/20/changes-to-the-style-guide-no-more-eg-and-ie-etc/&quot;&gt;jusque dans les termes utilisés&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Enfant du futur immédiat, les concepteurs d'interface travaillent souvent dans le noir, jusqu'à ce qu'ils réfléchissent à ne pas voir le résultat, mais à songer à le rendre accessible. Car oui, le paradoxe est qu'il ne faut jamais perdre de vue que le handicap peut aussi être une chance pour tous. On ne voit bien qu'avec le cœur. L'essentiel est invisible pour les yeux…*
&lt;/p&gt;
&lt;p&gt;
* «&amp;nbsp;&lt;em&gt;Le petit prince&lt;/em&gt;&amp;nbsp;», Antoine de Saint-Exupéry
&lt;/p&gt;</content:encoded>
    
    
      <enclosure url="/vrac/Emissions/CPU/podcast/0045-CPU%2808-12-16%29.mp3"
      length="57909078" type="audio/mpeg3" />
    
    
      </item>
  
	<item>
		<title>Ressuscitez le bouton du milieu !</title>
		<link>https://dascritch.net/post/2016/12/06/Ressuscitez-le-bouton-du-milieu</link>
		<guid isPermaLink="false">urn:md5:b6df6d3dffc6bf2605ff8f8308252877</guid>
		<dc:date>2016-12-06T12:32:00+01:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Webdev</dc:subject>
        
    <description>Je dois être vieux, j'aime bien les détails, les outils qui sont finalisés avec amour, et quand mes instruments jouent parfaitement leur partition. J'ai la même attente du bouton du milieu de ma souris. Or, il est sacrément important, ce bougre de centriste : il ouvre le lien dans une nouvelle tab !		&lt;span class="tags"&gt;&lt;br /&gt;&lt;a href="https://dascritch.net/category/Webdev"&gt;Webdev&lt;/a&gt; &lt;/span&gt;
	</description>
    <content:encoded>
		&lt;p&gt;Je dois être vieux, j'aime bien les détails, les outils qui sont finalisés avec amour, et quand mes instruments jouent parfaitement leur partition. J'ai la même attente du bouton du milieu de ma souris. Or, il est sacrément important, ce bougre de centriste : il ouvre le lien dans une nouvelle tab !&lt;span class="tags"&gt;&lt;br /&gt;
		&lt;a href="https://dascritch.net/category/Webdev"&gt;
			Webdev&lt;/a&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;a href=&quot;https://dascritch.net/vrac/.blog2/webdev/1205-historyofcursor2.jpg&quot; rel=&quot;lightbox[milieu]&quot; class=&quot;r&quot; &gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/.1205-historyofcursor2_s.jpg&quot; /&gt;&lt;/a&gt;
&lt;p&gt;
Il y a très longtemps que je voulais écrire ce billet.&lt;br /&gt;
Je me le réservais pour &lt;a href=&quot;http://www.24joursdeweb.fr/&quot;&gt;les 24 Jours de Web&lt;/a&gt;, devenus &lt;a href=&quot;https://www.hteumeuleu.fr/en-decembre-ecrivez-partagez-hashtag-nowwwel/&quot;&gt;#Nowwwel&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Il raconte une situation qui me gêne.&lt;br /&gt;
Elle me démange, me gratte, me met dans la même situation d'inconfort qui m'a poussé à écrire &lt;a href=&quot;https://dascritch.net/post/2013/03/26/Dirty-Hacky-%3A-je-parse-en-HTML-.357-SW&quot;&gt;ma série «&amp;nbsp;&lt;em lan=&quot;en&quot;&gt;Dirty Hacky&lt;/em&gt;&amp;nbsp;»&lt;/a&gt;&amp;nbsp;: j'ai la forte impression qu'elle est crade, qu'elle heurte profondément mes convictions religieuses qui me font vénérer &lt;a href=&quot;https://www.w3.org/&quot;&gt;la Très Sainte W3C&lt;/a&gt;, &lt;a href=&quot;https://whatwg.org/&quot;&gt;WhatWG&lt;/a&gt; au plus haut des validateurs.
&lt;p&gt;
&lt;p&gt;
Cette situation est l'objet d'une intense frustration personnelle, car, &lt;a href=&quot;https://dascritch.net/category/Webdev&quot;&gt;dans ma jeunesse professionnelle&lt;/a&gt; et laborieuse &lt;a href=&quot;https://www.w3.org/standards/webdesign/accessibility&quot;&gt;du déchiffrement des Saintes Écritures&lt;/a&gt;, j'ai conçu quelques &lt;em lang=&quot;en&quot;&gt;back-offices&lt;/em&gt; et que je remarque que nombre d'interfaces se voulant aussi primordiales pour les entreprises présentent ce qui est pour moi un défaut, une économie qui montre un certain irrespect du client.
&lt;/p&gt;

&lt;p&gt;
Mais avant que je parle de ce clic du milieu…
&lt;/p&gt;

&lt;h3 id=&quot;parlons_de_la_souris&quot;&gt;Parlons de la souris&lt;/h3&gt;
&lt;p&gt;
&lt;a href=&quot;http://www.liberation.fr/cahier-special/1997/12/22/1997-mot-a-mot-mulot_223010&quot;&gt;Oui, oui, le &lt;q&gt;mulot&lt;/q&gt; !&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Il fut une époque où la souris avait deux boutons, et qu'un troisième niveau de fonction était accessible en appuyant sur les deux à la fois. 
&lt;/p&gt;
&lt;figure&gt;
&lt;a href=&quot;https://dascritch.net/vrac/.blog2/webdev/1612-ClicDuMilieu/1612-ClicDuMilieu-SourisAmiga.jpg&quot; rel=&quot;lightbox[milieu]&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1612-ClicDuMilieu/.1612-ClicDuMilieu-SourisAmiga_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;figcaption&gt;L'iconique souris de l'Amiga. &lt;span lang=&quot;en&quot;&gt;Forever&lt;/span&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;
Alors arriva le troisième bouton.
&lt;/p&gt;
&lt;figure&gt; 
&lt;a href=&quot;https://dascritch.net/vrac/.blog2/webdev/1612-ClicDuMilieu/1612-ClicDuMilieu-SourisTroisBoutons.jpg&quot; rel=&quot;lightbox[milieu]&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1612-ClicDuMilieu/.1612-ClicDuMilieu-SourisTroisBoutons_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;figcaption&gt;La souris du Xerox Alto.... qui date d'avant la précédente. C'est à cause d'elle que X Window demandait par défaut une souris 3 boutons&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;
Que l'on remplaça par une molette de défilement vertical, mais le bouton se cachait dedans : on pouvait cliquer sur la molette.
&lt;/p&gt;
&lt;figure&gt;

&lt;a href=&quot;https://dascritch.net/vrac/.blog2/webdev/1612-ClicDuMilieu/1612-ClicDuMilieu-SourisMolette.jpg&quot; rel=&quot;lightbox[milieu]&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1612-ClicDuMilieu/.1612-ClicDuMilieu-SourisMolette_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;figcaption&gt;&lt;span lang=&quot;en&quot;&gt;Got this&lt;/span&gt;. Elle a 10 ans. Oui, c'est une Microsoft.&lt;/figcaption&gt;

&lt;/figure&gt;

&lt;h3 id=&quot;a_quoi_servaient_ces_boutons&quot;&gt;À quoi servaient ces boutons ?&lt;/h3&gt;

&lt;p&gt;
&lt;small&gt;
Oui, parce qu'un jour, quand nous n'aurons plus que des interfaces tactiles et même plus de clavier physique, il faudra bien se souvenir de l'intérêt d'une souris…)
&lt;/small&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://dascritch.net/post/2005/06/09/151-la-tapette-cette-arme-mortelle-pour-les-rongeurs&quot;&gt;Sans souris, les environnements fenêtrés auraient été bien plus difficiles à mettre en place&lt;/a&gt;. Pas impossible, mais très difficiles.&lt;br /&gt;
Si le bouton gauche a toujours eu une fonction d'action directe (appuyer sur un bouton, suivre un lien), le bouton droit faisait ouvrir un menu contextuel à l'objet qui était pointé par la souris. Le bouton du milieu, dans l'environnement X&amp;nbsp;Window a eu une fonction plus ou moins dérivée de l'Alto, encore une fois, celle de &lt;em&gt;copier&lt;/em&gt;&amp;nbsp;: Copier le texte qui a été surligné au bouton gauche, ou, &lt;strong&gt;dans le cas des navigateurs, le clic du milieu ouvre le lien dans une nouvelle fenêtre&lt;/strong&gt;, puis dans un nouvel onglet.
&lt;/p&gt;


  &lt;p&gt;
(Et un jour, je vous parlerais des boutons 4 à 7, de la molette de défilement horizontal et de &lt;a href=&quot;http://www.computinghistory.org.uk/det/12416/Logitech-Cyberman/&quot;&gt;l'indication d'élévation de la souris Logitech Cyberman&lt;/a&gt;).
&lt;/p&gt;
&lt;p&gt;
&lt;del&gt;Du côté de chez snob, chez les riches&lt;/del&gt; Dans l'environnement Macintosh, les souris n'avaient qu'un seul bouton, gauche. En chef de projet tyrannique et gaucher, Steve Jobs avait décrété que la politique du Bouton Unique était suffisante. Mais ses ingénieurs et bien des développeurs d'utilitaires en avaient décidé autrement dans une dissidence polie et fonctionnelle, et les utilitaires rentrèrent dans le système sans que la hiérarchie ne fut tenue au courant. Les boutons droits et central sont accessibles et même fonctionnels, c'est plus simple en branchant une souris de PC.
&lt;/p&gt;

&lt;h3 id=&quot;j_utilise_des_outils_de_GAFAM&quot;&gt;je dois le confesser, j'utilise des outils de &lt;abbr&gt;GAFAM&lt;/abbr&gt;&lt;/h3&gt;
&lt;p&gt;
&lt;small&gt;J'en connais plein qui vont me railler, me jeter la pierre, prononcer publiquement mon anathème, mais mieux vaut connaître son ennemi pour mieux l'affronter.&lt;/small&gt;&lt;br /&gt;
J'utilise tous les jours les outils &lt;a href=&quot;https://www.google.com/intl/fr_fr/drive/&quot;&gt;Google Drive&lt;/a&gt; et &lt;a href=&quot;https://aws.amazon.com/&quot;&gt;Amazon Web Services&lt;/a&gt;. Parce que c'est mon travail, parce que j'ai pas pu faire un choix, et aussi, il faut le reconnaître, parce qu'ils sont pratiques.
&lt;/p&gt;
&lt;p&gt;
Je trouve leur interface terriblement limitée, j'ai même l'impression d'être bridé dans ma productivité parce que je sais que mon navigateur peut faire des choses formidables, mais que les interfaces de ces deux géants du web ne sont absolument pas capables de le gérer.
&lt;/p&gt;


&lt;h3 id=&quot;exemple_aws&quot;&gt;Exemple numéro 1 : la console &lt;abbr&gt;AWS&lt;/abbr&gt;&lt;/h3&gt;
&lt;p&gt;
J'ai la &lt;q&gt;chance&lt;/q&gt; d'avoir avec mes collègues une flotte conséquente de serveurs à administrer, &lt;q&gt;EC2&lt;/q&gt; dans le jargon Amazon Web Services. Or, quand je gère via l'interface d'&lt;abbr&gt;AWS&lt;/abbr&gt;, Il m'est impossible d'ouvrir de dérouler plus d'une instance à la fois. Des fois, j'aimerais justement utiliser le clic du milieu pour ouvrir plusieurs onglets afin de comparer/grouper les serveurs… sauf que… Eh ben non, le clic du milieu sur les liens ne marche pas&amp;nbsp;!
&lt;br /&gt;
Et ce manque se retrouve dans pratiquement tous les outils de l'univers &lt;abbr&gt;AWS&lt;/abbr&gt;.
&lt;/p&gt;
&lt;p&gt;
Autre surprise, tant que vous êtes dans la console &lt;abbr&gt;EC2&lt;/abbr&gt;, si vous regardez les détails d'un de vos serveurs, les &lt;em lang=&quot;en&quot;&gt;devices&lt;/em&gt; qui y sont montés ont des liens qui sont des… faux liens&amp;nbsp;: ils sont interceptés par le code &lt;abbr&gt;JS&lt;/abbr&gt;, et donc ne peuvent être compris par un clic du milieu, ni être partagés aux collègues via la messagerie interne.
&lt;/p&gt;
&lt;figure&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1612-ClicDuMilieu/1612-ClicDuMilieu-AWS-fauxlien.png&quot; alt=&quot;&quot; /&gt;
&lt;figcaption&gt;Il a l'aspect, le balisage d'un lien, mais non, c'est un faux-nez&amp;nbsp;!&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;h3 id=&quot;exemple_google_drive&quot;&gt;Exemple numéro 2 : Google drive&lt;/h3&gt;
&lt;p&gt;
Je consomme aussi énormément Google Drive, où l'on retrouve toute une suite bureautique, mais aussi ce qui ressemble très fortement à un navigateur de fichiers. Et comme dans mon équipe, nous créons énormément de fichiers, nous les classons par sous-répertoires. Et plus d'une fois, j'aimerais ouvrir chaque sous-répertoire dans un onglet différent, ou transmettre dans via messagerie un sous-répertoire particulier à un collègue.
&lt;/p&gt;
&lt;p&gt;
Que nenni !&lt;br /&gt;
Toutes les entrées sont des &lt;code&gt;&amp;lt;&lt;strong&gt;span&lt;/strong&gt;&amp;gt;&lt;/code&gt; dans des &lt;code&gt;&amp;lt;&lt;strong&gt;div&lt;/strong&gt;&amp;gt;&lt;/code&gt;, dont le fonctionnement ressemble très fortement à des liens, mais dont la gestion est purement javascript. Il est donc impossible d'utiliser le clic du milieu pour ouvrir vers de nouveaux onglets, et le fonctionnement du bouton droit est émulé pour avoir une fonction équivalente à &lt;q&gt;Copier l'URL du lien&lt;/q&gt;.
&lt;/p&gt;

&lt;figure&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1612-ClicDuMilieu/1612-ClicDuMilieu-GT-fauxlien.png&quot; alt=&quot;&quot; /&gt;
&lt;figcaption&gt;Ici aussi, aussi bien le menu à gauche que les sous-répertoires ne sont pas des liens&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h3 id=&quot;empire_du_clic_du_milieu&quot;&gt;Le Dernier Empereur de L'Empire du Clic du Milieu&lt;/h3&gt;
&lt;p&gt;
Certes, à l'heure des interfaces tactiles, le bouton du milieu est vu par une curiosité ou est totalement inconnu de &lt;em&gt;la plupart&lt;/em&gt; des macophiles. Mais, à la différence du &lt;a href=&quot;https://dascritch.net/post/2012/05/12/Chamedi-pointeur&quot;&gt;comportement de survol du pointer&lt;/a&gt;, le &lt;code&gt;&lt;em&gt;:hover&lt;/em&gt;&lt;/code&gt; devenu infâme à cause d'usages catastrophiques, le bouton du milieu a été jusqu'ici plutôt constant car son usage était moins flagrant, donc moins prioritaire à bidouiller/braficoter par des donneurs d'ordres trop enthousiastes.
&lt;/p&gt;
&lt;p&gt;
Et il faut reconnaître que les interfaces tactiles nous ont fait nous concentrer sur l'essentiel et la praticité immédiate.&lt;br /&gt;
L'adjectif &lt;q&gt;immédiat&lt;/q&gt; fut à la fois sain, mais aussi porteur de risque.
&lt;/p&gt;
&lt;p&gt;
Qui dit &lt;q&gt;professionnel&lt;/q&gt; dit interaction avec une foule d'outils et d'utilisateurs, du novice au &lt;q lang=&quot;en&quot;&gt;power user&lt;/q&gt;, qui tous en feront une consommation industrielle, 8 heures par jour, 39 payées 35 par semaine, et qui chercheront toujours à en améliorer leur pratique afin de grappiller de précieuses minutes pour fumer plus longtemps en se gelant les miches dehors. Je ne dois donc pas être le seul à m'attendre à profiter de mon usage avancé de mon navigateur web sur ces outils supposés industriels.
&lt;/p&gt;

&lt;p&gt;
Très sincèrement, mes considérations de &lt;q lang=&quot;en&quot;&gt;power-user&lt;/q&gt; semblent intéresser surtout qu'une minorité de personnes.&lt;br /&gt;
Sauf que &lt;strong&gt;l'absence de gestion du clic du milieu dans certains sites révèle un symptôme&amp;nbsp;: nous faisons l'impasse sur de réelles problématiques d'accessibilité et d'utilisabilité.&lt;/strong&gt; Et ces questions deviennent vite crispantes dans une situation de productique. Et justement, il se trouve que &lt;abbr&gt;AWS&lt;/abbr&gt; et les Google Tools sont marketés comme des outils de production professionnels. 
&lt;/p&gt;

&lt;p&gt;
Sauf qu'au lieu d'avoir des vrais liens, on y trouve des aspects de liens posés sur des &lt;code&gt;&amp;lt;&lt;strong&gt;div&lt;/strong&gt;&amp;gt;&lt;/code&gt;, donnant lieu à des frustrations pile poil au moment de faire cette livraison ultra-urgente.
&lt;/p&gt;


&lt;p&gt;
Mais comment sommes-nous en venus là ?
&lt;/p&gt;
&lt;h3 id=&quot;du_web_document_au_web_applicatif&quot;&gt;Nous sommes passés du Web document au Web applicatif&lt;/h3&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1612-ClicDuMilieu/1612-ClicDuMilieu-web_tool.png&quot; alt=&quot;&quot; class=&quot;r&quot; /&gt;

&lt;p&gt;
Cette révolution a réellement éclaté avec l'arrivée de G-Mail. Pour la première fois, nous avions le concept de &lt;abbr&gt;XHR&lt;/abbr&gt; (qu'on appelait alors &lt;abbr&gt;AJAX&lt;/abbr&gt;, nous étions innocents et faisions encore du &lt;a href=&quot;https://dascritch.net/tag/xml&quot;&gt;XML&lt;/a&gt; et pas du &lt;abbr&gt;JSON&lt;/abbr&gt;) et de &lt;span lang=&quot;en&quot;&gt;Single Page Application&lt;/span&gt; ou &lt;q&gt;page persistante&lt;/q&gt;, qui n'a pas besoin d'être rechargée pour toutes les fonctions.
&lt;/p&gt;
&lt;p&gt;
Et avec notre enthousiasme le plus communicatif, nous nous sommes tous mis à fond dans &lt;a href=&quot;https://dascritch.net/tag/dom&quot;&gt;la manipulation des arbres DOM, des objets générés par le document HTML via le javascript&lt;/a&gt; au point que nous essayons maintenant de ne plus jamais arriver à la situation où une page web complète doit être rechargée durant la navigation sur un site.
&lt;/p&gt;
&lt;p&gt;
&lt;a href=&quot;http://limi.net/checkboxes-that-kill/&quot;&gt;Dans son article «&amp;nbsp;&lt;em lang=&quot;en&quot;&gt;Checkboxes that kill your product&lt;/em&gt;&amp;nbsp;», Alex Limi supposait que seulement 2% des utilisateurs ont JS désactivé.&lt;/a&gt; Non seulement il avait raison, mais ce pourcentage a sûrement baissé depuis. Sauf que… 
&lt;/p&gt;
&lt;p&gt;
Sauf que l'on oublie que le point d'accès d'un site internet peut être n'importe quel endroit. Et en soi, il n'y a meilleure méthode pour se rendre compte des risques qu'en désactivant Javascript.&lt;br /&gt;
Nous avons oublié &lt;strong&gt;le principe d'un accès aléatoire&lt;/strong&gt;. Ce que j'appelle un &lt;q&gt;accès aléatoire&lt;/q&gt;, c'est que n'importe quelle position de votre application doit pouvoir être reprise à un point arbitraire. Songez que l'ordinateur peut tomber à court de batterie, ou la connectivité perdue, ou encore la session de navigation partagée entre plusieurs ordinateurs, et que votre application web doit pouvoir reprendre depuis ce point, comme si elle avait été suspendue.&lt;br /&gt;
Je ne demande pas à ce que nous puissions nous passer totalement de javascript, mais qu'il y aie cette réflexion du point d'entrée aléatoire, et donc de réfléchir à nouveau nos applications &lt;a href=&quot;https://dascritch.net/post/2007/09/17/RIP-URL-URI-IRI-INRI-W3C&quot;&gt;en termes d'URL&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
En soi, que nous puissions encore utiliser une navigation standard doit garantir que votre site fonctionne, même si votre javascript part en panique. Pourquoi&amp;nbsp;? Parce qu'en cliquant sur un lien, la page sera entièrement rechargée et donc votre applicatif &lt;a href=&quot;https://dascritch.net/tag/javascript&quot;&gt;javascript&lt;/a&gt; redémarré. Vous gagnez en solution de redressement.
&lt;/p&gt;

&lt;h3 id=&quot;la_culture_du_document_web_disparait&quot;&gt;
La  culture du document web échappe à la nouvelle génération
&lt;/h3&gt;

&lt;a rel=&quot;lightbox[milieu]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1612-ClicDuMilieu/1612-ClicDuMilieu-googletv.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1612-ClicDuMilieu/.1612-ClicDuMilieu-googletv_t.jpg&quot; alt=&quot;&quot; class=&quot;r&quot; /&gt;&lt;/a&gt;
&lt;p&gt;
Il n'y a qu'à voir un applicatif AngularJS à nu : c'est un &lt;em lang=&quot;en&quot;&gt;template&lt;/em&gt;. Un canevas, un modèle à trous. On expose une composante de source directement au lieu de le ranger à part&amp;nbsp;!&lt;br /&gt;
Super.
&lt;/p&gt;
&lt;p&gt;
En 2010, j'avais été chargé d'intervenir sur une application web &lt;a href=&quot;http://lifehacker.com/5917646/google-tv-its-actually-awesome-and-heres-how-to-get-the-most-out-of-it&quot;&gt;pour la Google TV, alors en pleine &lt;em lang=&quot;en&quot;&gt;hype&lt;/em&gt;&lt;/a&gt;. À l'époque, on réfléchissait encore aux boîtiers &lt;em lang=&quot;en&quot;&gt;set-top box&lt;/em&gt; posés &lt;del&gt;sur&lt;/del&gt; sous votre dalle immense comme des PC complets avec une interface graphique foisonnante et avec une télécommande... aussi complexe.
&lt;/p&gt;

&lt;figure class=&quot;cl&quot;&gt;
&lt;a rel=&quot;lightbox[milieu]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1612-ClicDuMilieu/1612-ClicDuMilieu-sony-recto.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1612-ClicDuMilieu/.1612-ClicDuMilieu-sony-recto_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[milieu]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1612-ClicDuMilieu/1612-ClicDuMilieu-sony-verso.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1612-ClicDuMilieu/.1612-ClicDuMilieu-sony-verso_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;figcaption&gt;
&lt;a href=&quot;http://www.androidcentral.com/sony-shows-new-android-powered-set-top-box-singapore&quot;&gt;La télécommande de la Google TV présentée par Sony&lt;/a&gt;. Recto, verso.
Sans trucages.
&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;
Nos ChromeCast actuelles se pilotent au smartphone, ce qui résout bien des problématiques et a épuré interface, boutons et points noirs. Mais revenons à il y a 6 ans et notre engin pré-Biactol &amp;nbsp;:&lt;br /&gt;
&lt;a href=&quot;http://www.androidcentral.com/google-tv&quot;&gt;La Google TV consistait en un OS Android sertie d'une interface purement web (plus Flash) embarquée dans des téléviseurs haut-de-gamme&lt;/a&gt; et avec un &lt;em lang=&quot;en&quot;&gt;app-store&lt;/em&gt; dédié.
&lt;/p&gt;
&lt;p&gt;
Je m'attendais donc à ce que le vocabulaire HTML soit correctement géré. Première mauvaise surprise&amp;nbsp;: la documentation officielle de Google TV recommandait d'éviter la balise &lt;code&gt;&amp;lt;&lt;strong&gt;a&lt;/strong&gt; &lt;em&gt;href=&quot;https://dascritch.net/post/2016/12/06/&quot;&lt;/em&gt;&amp;gt;&lt;/code&gt; pour un &lt;code&gt;&amp;lt;&lt;strong&gt;div&lt;/strong&gt; &lt;em&gt;class=&quot;tv-link&quot; href=&quot;https://dascritch.net/post/2016/12/06/&quot;&lt;/em&gt;&amp;gt;&lt;/code&gt;. &lt;a href=&quot;https://books.google.fr/books?id=A7ERxFJvnuEC&amp;amp;pg=PA42&amp;amp;lpg=PA42&amp;amp;dq=div+class+link+google+tv&amp;amp;source=bl&amp;amp;ots=PfBEN070v3&amp;amp;sig=0Pb0rWwIE_Flc2nCBQnd_Uh52f0&amp;amp;hl=en&amp;amp;sa=X&amp;amp;ved=0ahUKEwib_qiSyd3QAhXGDxoKHcJ7BgIQ6AEIIDAA#v=onepage&amp;amp;q=div class link google tv&amp;amp;f=false&quot;&gt;La raison invoquée était assez oiseuse&amp;nbsp;: le changement de couleur des liens déjà visités&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
«&amp;nbsp;&lt;strong&gt;what the fuuuu ???&lt;/strong&gt;&amp;nbsp;» marmonnèrent mes yeux exorbités &lt;small&gt;par une nuit où le café ne suffisait plus&lt;/small&gt;.
&lt;/p&gt;
&lt;p&gt;
Plutôt que d'inclure dans son &lt;em lang=&quot;en&quot;&gt;framework&lt;/em&gt; d'application TV &lt;a href=&quot;https://dascritch.net/tag/css&quot;&gt;une règle CSS&lt;/a&gt; qui fasse le job, Google poussait à &lt;a href=&quot;https://dascritch.net/tag/html&quot;&gt;une balise HTML&lt;/a&gt; bricolée, fermant par là-même la porte à un portage simple des applications GoogleTV au Grand Internet.
&lt;/p&gt;
&lt;p&gt;
Et la situation est encore plus démentielle dans la plupart des frameworks &lt;q&gt;modernes&lt;/q&gt;, tel &lt;a href=&quot;https://docs.angularjs.org/api/ng/directive/ngHref&quot;&gt;dans AngularJS avec la directive&lt;/a&gt; &lt;code&gt;&lt;em&gt;ng-href=&quot;https://dascritch.net/post/2016/12/06/&quot;&lt;/em&gt;&lt;/code&gt;. Si la raison originelle était de ne pas casser de lien après la &lt;em lang=&quot;en&quot;&gt;build&lt;/em&gt;, son usage est vite devenu n'importe quoi et a même pénalisé nombre de sites dans leur indexation.  
&lt;/p&gt;
&lt;p&gt;
Nous avons abandonné les standards &lt;a href=&quot;https://blog.daftcode.pl/hype-driven-development-3469fc2e9b22&quot;&gt;pour cause de &lt;em lang=&quot;en&quot;&gt;Hype Driven Development&lt;/em&gt;&lt;/a&gt; en oubliant les problèmes qu'ils résolvaient.
&lt;/p&gt;

&lt;h3 id=&quot;parait_que_je_ne_suis_pas_seul&quot;&gt;Parait que je ne suis pas seul (à râler)&lt;/h3&gt;
&lt;p&gt;
&lt;a href=&quot;http://moox.fr/&quot;&gt;Maxime Thirouin, développeur d'applications web&lt;/a&gt; doué et loin d'être allergique aux dernières nouveautés javascript, a professé &lt;a href=&quot;https://www.dotjs.io/&quot;&gt;lors du dernier DotJS&lt;/a&gt; qu'une &lt;a href=&quot;https://twitter.com/dcarral/status/805760531214766080&quot;&gt;page web doit pouvoir être consulté sans forcément avoir javascript activé&lt;/a&gt;. Une position qui me plaît. Mais est-elle trop conservatrice&amp;nbsp;? Suis-je un vieux croûton qui râle que c'était mieux à vents&amp;nbsp;? &lt;small&gt;(prout)&lt;/small&gt;
&lt;/p&gt;
&lt;p&gt;
Récemment, j'ai conçu une &lt;span lang=&quot;en&quot;&gt;web-app&lt;/span&gt; en page persistante avec un &lt;abbr&gt;JS&lt;/abbr&gt; assez… complexe. Comme il ne peut être utilisé qu'avec du javascript, j'avais commencé &lt;em lang=&quot;en&quot;&gt;quick &amp;amp; dirty&lt;/em&gt; avec des boutons et une gestion de navigation par des variables internes. J'ai décidé de ré-écrire sa navigation afin de remplacer tous les &lt;code&gt;&amp;lt;&lt;strong&gt;button&lt;/strong&gt;&amp;gt;&lt;/code&gt; et &lt;code&gt;&amp;lt;&lt;strong&gt;div&lt;/strong&gt;&amp;gt;&lt;/code&gt; par des liens &lt;code&gt;&amp;lt;&lt;strong&gt;a&lt;/strong&gt; &lt;em&gt;href=&quot;https://dascritch.net/...&quot;&lt;/em&gt;&amp;gt;&lt;/code&gt; internes aux événements interceptés.

&lt;/p&gt;
&lt;p&gt;
Et bien vous savez quoi ? &lt;strong&gt;J'ai gagné&lt;/strong&gt; sur deux points&amp;nbsp;:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;en accessibilité&lt;/strong&gt;, puisque les &lt;code&gt;&amp;lt;&lt;strong&gt;div&lt;/strong&gt;&amp;gt;&lt;/code&gt; étaient remplacés par de vrais liens et l'historique navigateur redevint fonctionnel sans avoir à le ré-écrire&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;en fonctionnalité&lt;/strong&gt;, puisque les liens profonds dans mon application devenaient partageables.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
Typiquement le genre de détails que je suis le seul à remarquer, mais ce détail a été aperçu par un autre, et il m'a dit que c'était diablement pratique d'y avoir songé. 
&lt;/p&gt;
&lt;p&gt;
Songez-y : supporter le clic du milieu peut être utile à d'autres.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Moralité : Laissez le navigateur fonctionner&lt;/strong&gt;, ne tentez pas de recréer la roue&amp;nbsp;; en 25 ans, ils auront pensé à bien plus de choses que vous.
&lt;/p&gt;</content:encoded>
    
    
    
      </item>
  
	<item>
		<title>CPU Ex0040 Bonjour à toi, Enfant du Futur immédiat : le web Proustien</title>
		<link>https://dascritch.net/post/2016/10/28/CPU-Ex0040-Bonjour-%C3%A0-toi%2C-Enfant-du-Futur-imm%C3%A9diat-%3A-le-web-Proustien</link>
		<guid isPermaLink="false">urn:md5:df3e70a9e3a07ef2f6d4d179cc6a6519</guid>
		<dc:date>2016-10-28T05:58:00+02:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Radio</dc:subject>
        
    <description>Ahlalalala, c'était tellement mieux quand j'éditais du HTML que je vérifiais sur IBrowse et ue je sortais de mon Amiga en disquettes pour l'amener à un pc qui avait le ftp....		&lt;span class="tags"&gt;&lt;br /&gt;&lt;a href="https://dascritch.net/category/Radio"&gt;Radio&lt;/a&gt; &lt;/span&gt;
	</description>
    <content:encoded>
		&lt;p&gt;Ahlalalala, c'était tellement mieux quand j'éditais du HTML que je vérifiais sur IBrowse et ue je sortais de mon Amiga en disquettes pour l'amener à un pc qui avait le ftp....&lt;span class="tags"&gt;&lt;br /&gt;
		&lt;a href="https://dascritch.net/category/Radio"&gt;
			Radio&lt;/a&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;
&lt;a href=&quot;https://cpu.dascritch.net/post/2016/10/27/Ex0040-P%C3%A9rennit%C3%A9-de-l-art-web&quot;&gt;Ceci est une partie du script de la &lt;em lang=&quot;en&quot;&gt;release&lt;/em&gt; Ex0040 du programme CPU, diffusé le Jeudi 27/10 à 11h. Plus d'infos sur le site de l'émission. &lt;img src=&quot;https://dascritch.net/vrac/.blog2/radio/cpu_logo_liseret.png&quot; alt=&quot;logo de l'émission CPU&quot; class=&quot;r&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;


&lt;p&gt;
Bonjour à toi, Enfant du Futur Immédiat, toi qui ne comprends pas ce crissement aigu qu'on entend dans le générique de toute émission causant d'internet sur les grands médias.
&lt;/p&gt;
&lt;p&gt;
Il fut un temps où les sites webs étaient façonnés par de vaillants expérimentateurs héroïques. Et pour cause : les navigateurs web n'en faisaient qu'à leur tête, ignorant le W3C qui n'était qu'un obscur comité aux normalisations pénibles. Il fallait innover le plus possible pour occuper le terrain avec des technologies que les constructeurs pourraient breveter : les &lt;code&gt;&amp;lt;layer&amp;gt;&lt;/code&gt;s chez Netscape, le &lt;a href=&quot;https://dascritch.net/post/2014/04/29/Ressources-en-img#format_vml&quot;&gt;vml chez Microsoft&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Construire un site web passait aussi par la quête d'un hébergeur (TA TA TA TAAAAAA jingle de zelda) parce que s'auto-héberger était extrêmement compliqué et même impensable avec le débit des modems. 
&lt;/p&gt;
&lt;p&gt;
Étonnement, à côté des universitaires, d'amateurs éclairés et des entreprises qui construisaient leur présence sur la toile pour y faire genre que on est super novateurs.... On y trouvait une faune non-négligeable d'artistes multimédias qui expérimentaient une nouvelle manière de créer, de vivre une installation artistique et de la diffuser.
&lt;/p&gt;
&lt;p&gt;
Sauf que les technologies web étaient jeunes, lacunaires dans plusieurs domaines, &lt;a href=&quot;http://dascritch.net/post/2007/10/19/Pardonnons-a-ce-Flash-qui-nous-agacent&quot;&gt;ce qui a poussé à l'utilisation de Real Player, Quicktime, Java et Flash&lt;/a&gt;, des technologies principalement prévues pour les CD Rom interactifs et &lt;a href=&quot;https://dascritch.net/post/2013/09/24/L-agonie-des-plugins&quot;&gt;adaptées… tant bien que mal pour le web&lt;/a&gt;. De nos jour, ces pièces rapportées sont désormais abandonnées, le &lt;a href=&quot;https://dascritch.net/tag/html&quot;&gt;HTML&lt;/a&gt; a très fortement évolué.&lt;br /&gt;
Et bien évidemment tout ce qui est purement matériel est définitivement obsolète.
&lt;/p&gt;
&lt;p&gt;Enfant du Futur Immédiat, pour cette release, nous voulions reparler de cette époque des pionniers. Il se trouve qu'en Décembre nous fêterons les 35 ans de notre radio hôte, et que son site web a la vingtaine.
Pour l'occasion, notre programme fait partie d'une performance. Nous nous sommes installés dans un espace culturel, &lt;a href=&quot;http://printempsdeseptembre.com/fr/le-festival/bleu-bleu/40&quot;&gt;le Lieu Commun, qui à l'occasion du festival Printemps de Septembre, a mis en place une exposition &lt;q&gt;Bleu Bleu&lt;/q&gt;&lt;/a&gt;, qui est un hommage à l'atmosphère artistique underground de la ville de Toulouse dans les années 1990s. Présentement, nous utilisons &lt;a href=&quot;https://kinourendfou.wordpress.com/2016/07/17/projet-project-radio-bleu-bleu/&quot;&gt;une reconstitution d'un studio radio associatif des années 1990s&lt;/a&gt; tel que nous, &lt;a href=&quot;http://www.radio-fmr.net&quot;&gt;à Radio &amp;lt;FMR&amp;gt;&lt;/a&gt;, avions pu utiliser à cette époque hautement héroïque.&lt;br /&gt;
À ce moment-là, les lignes de diffusion étaient analogiques et surtout sans retard, les jingles étaient sur cassette, les tables de mixages avaient leurs parasites et bruits de masses et si les platines CD étaient autostartées, on les démarrait souvent à coup de pied (et j'exagère à peine).
&lt;/p&gt;
&lt;p&gt;
Bref, pour moi, cette heure-ci s'annonce certes pénible mais surtout une vraie madeleine de Proust.
&lt;/p&gt;
&lt;p&gt;
À peu près autant que le petit milliers de flyers de soirées de cette fin de millénaire que je conserve précieusement. Des créations numériques qu'on apportait chez l'imprimeur sur disquettes, sur cartouches SyQuest, sur CD gravés, à chaque fois pour se rendre compte qu'on est pas exactement au bon format pour l'imprimeur, ou qu'il n'a pas le bon lecteur de documents. Vous le saviez, vous qu'un Zip 100Mo formaté sur Mac est illisible sur Windows&amp;nbsp;?
&lt;/p&gt;
&lt;p&gt;
Ben figurez-vous qu'à l'époque, un site web c'était pareil : on le construisait chez soi, et on l'amenait sur disquettes chez le pote qui avait l'accès pour le placer sur le serveur. Une semaine après, on se rendait compte que cela ne passait pas du tout chez la voisine d'à côté.&lt;br /&gt;
Archaïque, hein ? Eh ben ça prouve définitivement que je ne suis absolument pas pressé de revenir à cette époque, malgré tous les bons souvenirs que j'ai pu y avoir&amp;nbsp;!
&lt;/p&gt;
&lt;p&gt;
Là, tu dois te demander pourquoi nous parlons de choses vieilles et limites utilisables. Figure-toi qu'il y a plusieurs enseignements à en tirer&amp;nbsp;:
&lt;/p&gt;
&lt;ul&gt; 
&lt;li&gt;Toutes les difficultés de maintenance du retro-computing et retro-gaming, thèmes sur lesquels nous reviendrons plus d'une fois au cours de cette année&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;Ensuite, ce qu'était le web avant les standards&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;Ce que les standards proposent aussi, c'est de garantir qu'un site restera fonctionnel, mais qu'il perdra son contexte dans les décennies à venir&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;Et enfin, ce que défricher une technologie innovante de communication veut dire.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Bref, il a des choses à apprendre&amp;nbsp;: celles que l'on est en train de perdre irrémédiablement. Oui, comme &lt;a href=&quot;https://dascritch.net/post/2014/03/28/Toulouse%2C-que-tes-murs-sont-tartes&quot;&gt;la municipalité de Toulouse a gommé d'une couleur rose tarte les superbes graf&lt;/a&gt; muraux d'artistes &lt;a href=&quot;http://www.atlantica.fr/livre/22016/Une_histoire_du_graffiti_a_Toulouse&quot;&gt;désormais courus internationalement (Fafi, Miss Van, Kat,  Tilt et toute la Truskool)&lt;/a&gt;, ou encore les excellentes &lt;a href=&quot;https://blogs.mediapart.fr/edition/je-me-souviens/article/170715/tlt-est-morte&quot;&gt;chroniques artistiques de Greg Lamazières sur Télé Toulouse&lt;/a&gt;. Alors nous avons vécu des choses formidables, mais c'est à nous de créer les prochaines, sinon nous stagnerons dans une nostalgie stérile.
&lt;/p&gt;
&lt;p&gt;
Enfant du Futur Immédiat, certes, des technologies disparaissent et les contenus qui vont avec, c'est la vie,... Mais plutôt que te faire le coup du «&amp;nbsp;&lt;em&gt;c'était mieux avant&lt;/em&gt;&amp;nbsp;», on veut plutôt te raconter de belles histoires qui te donne aussi envie d'expérimenter, et de mieux apprécier ce qui est créé de nos jours.
&lt;/p&gt;</content:encoded>
    
    
      <enclosure url="/vrac/Emissions/CPU/podcast/0040-CPU%2827-10-16%29.mp3"
      length="55860714" type="audio/mpeg3" />
    
    
      </item>
  
	<item>
		<title>Souvenirs de Paris Web 2016</title>
		<link>https://dascritch.net/post/2016/10/04/Souvenirs-de-Paris-Web-2016</link>
		<guid isPermaLink="false">urn:md5:a95ea49a248084b92a6f53832a1399ca</guid>
		<dc:date>2016-10-04T06:30:00+02:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Sortons</dc:subject>
        
    <description>Paris Web te rappelle une chose fondamentale : c'est beau d'avoir des valeurs communes et l'amitié avec. Célébrons nos compétences !		&lt;span class="tags"&gt;&lt;br /&gt;&lt;a href="https://dascritch.net/category/Sortons"&gt;Sortons&lt;/a&gt; &lt;/span&gt;
	</description>
    <content:encoded>
		&lt;p&gt;Paris Web te rappelle une chose fondamentale : c'est beau d'avoir des valeurs communes et l'amitié avec. Célébrons nos compétences !&lt;span class="tags"&gt;&lt;br /&gt;
		&lt;a href="https://dascritch.net/category/Sortons"&gt;
			Sortons&lt;/a&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;
&lt;a href=&quot;http://paris-web.fr&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/sortons/.1609-logo-parisweb_t.png&quot; alt=&quot;Paris Web&quot; class=&quot;r&quot; /&gt;&lt;/a&gt;
Si vous êtes sur un ordi de bureau, cliquez la première image, puis clic à droite (désolé, le script a 10 ans, faut que je le remettre d'équerre)
&lt;/p&gt;
&lt;p class=&quot;c&quot;&gt;
&lt;a href=&quot;https://dascritch.net/post/2013/12/19/Vers-l-engagement-politique-%C3%A0-Paris-Web&quot;&gt;Mon premier Paris Web (2013) fut au Palais Broignart&lt;/a&gt;. Depuis, c'est chez un autre Grand Dieu que je respecte…&lt;br /&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-1.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-1_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
La rituelle soirée des orateurs, où se font des confidences très indiscrètes. Ce sont les premiers &lt;q&gt;amis de 5 minutes&lt;/q&gt; que je revois, déjà le cœur qui bondit. Et là aussi, j'ai eu la surprise de voir combien &lt;a href=&quot;http://cpu.pm&quot;&gt;notre émission CPU&lt;/a&gt; pouvait susciter d'émotions.
&lt;/p&gt;
&lt;p class=&quot;c&quot;&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-2.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-2_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-3.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-3_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-4.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-4_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-5.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-5_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Et puis le lendemain, prendre son accréditation, découvrir la fresque en hommage à Mœbius (que tu nous manques...), parler avec d'autres amis, faire de nouvelles rencontres.
&lt;/p&gt;
&lt;p class=&quot;c&quot;&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-6.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-6_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-7.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-7_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-8.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-8_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-9.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-9_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-10.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-10_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Je passe sur le fait que la licorne est toujours très joyeuse, pour confirmer que ce t-shirt est &lt;a href=&quot;https://dascritch.net/post/2012/02/19/Remix-Is-Everything-%3A-Conclusion&quot;&gt;une référence à «&lt;em&gt;&amp;nbsp;Everything is a remix&amp;nbsp;&lt;/em&gt;»&lt;/a&gt;.
&lt;/p&gt;
&lt;h3 id=&quot;go&quot;&gt;Puis c'est parti pour les premières conférences&lt;/h3&gt;
&lt;p&gt;
 Encore une fois, &lt;a href=&quot;https://dascritch.net/tag/privacy&quot;&gt;le sujet de la vie privée&lt;/a&gt; montre qu'il prend dans les conférences techniques une vraie importance, vectrice de valeurs aussi importantes que l'accessibilité qui est la signature de Paris Web.
&lt;/p&gt;
&lt;p class=&quot;c&quot;&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-11.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-11_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-12.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-12_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-13.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-13_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-14.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-14_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-15.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-15_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-16.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-16_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-18.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-18_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-19.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-19_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-20.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-20_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-21.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-21_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-22.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-22_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-23.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-23_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-24.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-24_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Sans conteste, l'adorable petite release d'&lt;a href=&quot;http://tut-tuuut.github.io/&quot;&gt;Agnès Hasseer&lt;/a&gt; était la star de l'événement. Ça gazouillait et réagissait aux présentations, mettant quelques sourires
&lt;/p&gt;
&lt;p class=&quot;c&quot;&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-25.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-25_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-26.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-26_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-27.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-27_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-28.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-28_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-29.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-29_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Eh oui, qu'on ne me dise pas que je suis seul à ne pas être en costard cravate lors de ce genre d'événement. C'est même plutôt l'inverse… Quant aux goodies, mention spéciale à celui d'Elie qui m'a bien fait rire
&lt;/p&gt;
&lt;p class=&quot;c&quot;&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-30.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-30_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-31.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-31_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-32.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-32_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-33.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-33_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p class=&quot;c&quot;&gt;
(insérer ici un trou noir)
&lt;/p&gt;
&lt;p class=&quot;c&quot;&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-34.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-34_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-35.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-35_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-36.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-36_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-37.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-37_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-38.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-38_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Sur la dernière photo, je suis super heureux de retrouver &lt;a href=&quot;http://www.pixelastic.com/&quot;&gt;Tim Carry&lt;/a&gt;, qui m'a convaincu de devenir développeur web professionnellement en 2007, c'était sur un commentaire chez Boulet, et il l'a amèrement regretté depuis. Une petite pause (jetons un voile pudique sur les soirées), et on enchaîne sur ce qui se passe sans enregistrements vidéos...
&lt;/p&gt;
&lt;h3 id=&quot;samedi&quot;&gt;Les ateliers du Samedi&lt;/h3&gt;

&lt;p class=&quot;c&quot;&gt;

&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-39.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-39_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-40.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-40_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-41.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-41_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-42.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-42_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Oui, j'ai adoré l'atelier éducation animé par &lt;a href=&quot;http://codingschool.fr&quot;&gt;Coding School&lt;/a&gt;.  Et comme vous pouvez le voir &lt;a href=&quot;https://dascritch.net/post/2014/05/13/Pourquoi-nous-collons-des-stickers-sur-nos-portables&quot;&gt;sur plusieurs portables, les stickers&lt;/a&gt; du bouquin de &lt;a href=&quot;https://bloglaurel.com/&quot;&gt;Laurel&lt;/a&gt; (on en reparle prochainement)&amp;nbsp;! 
&lt;/p&gt;
&lt;p class=&quot;c&quot;&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-43.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-43_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-44.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-44_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-45.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-45_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Le samedi soir sur les rotules, tout le monde est bien content que cela se termine, mais on est déjà au regret de se quitter.
&lt;/p&gt;
&lt;p class=&quot;c&quot;&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-46.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-46_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-47.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-47_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;a rel=&quot;lightbox[parisweb2016]&quot; href=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/1610-ParisWeb-48.jpg&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1610-ParisWeb2016/.1610-ParisWeb-48_s.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Si vous cherchez d'autres photos, je vous renvoie &lt;a href=&quot;https://www.flickr.com/groups/parisweb2016/pool/&quot;&gt;sur le pool flickr&lt;/a&gt;.

Je n'aurai qu'un mot : hâte d'y revenir au plus vite. Comme pour Sud Web.
&lt;/p&gt;</content:encoded>
    
    
    
      </item>
  
	<item>
		<title>Bonjour à toi, enfant du futur immédiat : Journalisme de données</title>
		<link>https://dascritch.net/post/2015/11/13/Bonjour-%C3%A0-toi%2C-enfant-du-futur-imm%C3%A9diat-%3A-Journalisme-de-donn%C3%A9es</link>
		<guid isPermaLink="false">urn:md5:efd692a190ca6dbbd2a3ab7249e70dfe</guid>
		<dc:date>2015-11-13T13:50:00+01:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Webdev</dc:subject>
        
    <description>Des données en très gros volume, des feuilles de calculs et des formules, des générateurs de graphiques et des interactions pour les lecteurs.		&lt;span class="tags"&gt;&lt;br /&gt;&lt;a href="https://dascritch.net/category/Webdev"&gt;Webdev&lt;/a&gt; &lt;/span&gt;
	</description>
    <content:encoded>
		&lt;p&gt;Des données en très gros volume, des feuilles de calculs et des formules, des générateurs de graphiques et des interactions pour les lecteurs.&lt;span class="tags"&gt;&lt;br /&gt;
		&lt;a href="https://dascritch.net/category/Webdev"&gt;
			Webdev&lt;/a&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;
&lt;a href=&quot;http://cpu.dascritch.net/post/2015/11/12/Ex0009-Datajournalisme&quot;&gt;Ceci est une partie du script de la release Ex0009 du programme CPU, diffusé Jeudi 12 à 11h. Plus d'infos sur le site de l'émission. &lt;img src=&quot;http://dascritch.net/vrac/.blog2/radio/cpu_logo_liseret.png&quot; alt=&quot;logo de l'émission CPU&quot; class=&quot;r&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Bonjour à toi, enfant du futur immédiat, toi qui nous écouteras parce que tu te dis que tu écoutes un programme d'information, alors qu'en fait pas du tout&amp;nbsp;: nous faisons un programme  d'informatique. Nuance. Et à ne pas confondre avec &lt;q&gt;un programme informatique&lt;/q&gt;. Nous, on se télécharge dans ton oreille.
&lt;/p&gt;
&lt;p&gt;
Aujourd'hui, nous allons parler d'information, (comme quoi...) , et de journalisme dans une branche assez spécialisée mais actuellement très en vogue : &lt;strong&gt;Le datajournaliste&lt;/strong&gt;. Pour ceux qui furent attentifs à la &lt;a href=&quot;http://cpu.dascritch.net/post/2015/11/05/Ex0008-L-English-au-travail&quot;&gt;release de la semaine dernière&lt;/a&gt;, oui, c'est un mot valise, qui associe un mot français à un mot anglais, mais là n'est pas la question M. Elkabbach&amp;nbsp;!
&lt;/p&gt;
&lt;p&gt;
Le datajournalisme, n'est pas que l'alliance entre le Word qui édite les articles et l'Excel qui manipule des données dans le même Office. Non, le  datajournalisme est une nouvelle manière de mettre en scène l'information, de façon moins textuelle et plus globale.
&lt;/p&gt;
&lt;p&gt;
&lt;q&gt;Globale&lt;/q&gt; au sens qu'au lieu de prendre des témoignages épisodiques par micro-trottoirs et best-of des lieux communs les plus affligeants, le datajournalisme fait une vraie analyse statistique, voire même parfois une anonymisation de données englobant une population complète. On est bien au-delà du ressenti au doigt mouillé, avec une précision manométrique des courants.
&lt;/p&gt;
&lt;p&gt;
Avant, le datajournalisme consistait surtout à représenter l'information autrement qu'avec des mots. Ainsi apparurent dans la presse les cartes, camemberts et autres chartes. Les sources de données sont forcément des sources de référence, fiable, ou sinon de terrain. Ainsi, les informations statistiques publiques ou de grandes compagnies sont considérées comme &lt;q&gt;de référence&lt;/q&gt;, alors que les informations qui sont recueillies par des volontaires, par des lecteurs, etc.. doivent passer par une étape de modération afin de s'enquérir de sa fiabilité.
&lt;/p&gt;
&lt;p&gt;
D'une manière assez amusante, le datajournalisme est une discipline assez ancienne, qui est apparu dès que s'est montré le besoin d'afficher des cartes, ou de monter des proportions entre nombres. Comme le disait Napoléon à ses généraux dans sa war-room, tout en planquant sa bouteille de fine (Napoléon, of course) dans son veston, &lt;a href=&quot;https://www.youtube.com/watch?v=TnbAqikfniY&quot;&gt;&lt;q&gt;Une dataviz vaux mieux que qu'un rapport de 100000 signes&lt;/q&gt;.&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Si vous lisez aussi &lt;a href=&quot;http://cpu.pm&quot;&gt;les textes des chroniques et les références de nos émissions sur notre site web &lt;code&gt;cpu.pm&lt;/code&gt;&lt;/a&gt;, vous avez peut-être remarqué que nous tentons d'éviter de lier vers la Wikipédia, afin de mener des recherches d'articles de référence par notre chef. Or, il se trouve que &lt;a href=&quot;https://fr.wikipedia.org/wiki/Journalisme_de_donn%C3%A9es&quot;&gt;l'article &lt;strong&gt;journalisme de données&lt;/strong&gt; de l'encyclopédie collaborative fait référence&lt;/a&gt; à une carte établie en 1854, des quartiers miséreux de Londres, &lt;a href=&quot;http://www.theguardian.com/news/datablog/2013/mar/15/john-snow-cholera-map&quot;&gt;avec un point noir devant chaque foyer comptant un décès dû au choléra.&lt;/a&gt; Avec l'indication des pompes à eau publique, cette carte montrait directement la corrélation entre les victimes de l'épidémie et les fontaines à eau publiques.
Durant cette même décennie, &lt;a href=&quot;http://www.theguardian.com/news/datablog/2011/jul/28/data-journalism&quot;&gt;en 1858, on a une représentation en camemberts indiquant les proportions entre les différentes causes de décès des soldats de Sa Majestée.&lt;/a&gt;&lt;br /&gt;
Un siècle plus tard, &lt;a href=&quot;http://www.npr.org/sections/alltechconsidered/2012/10/31/163951263/the-night-a-computer-predicted-the-next-president&quot;&gt;lors des élections présidentielles américaines de 1952, la chaine CBS réalise un coup de maître en estimant la victoire d'Eseinhower à partir de projections faites sur ordinateur.&lt;/a&gt; Alors attention, projection non pas graphique, mais lue par un speaker à partir d'une sortie papier d'imprimante.
&lt;/p&gt;
&lt;p&gt;
Mais si ces métiers sont désormais passés de l'illustration au crayon et à la plume à celle produite par infographie et aux templates graphiques alimentés des feuilles de calculs&amp;nbsp;; nous avions toujours des présentations surtout statiques.
&lt;/p&gt;
&lt;p&gt;
Le datajournalisme, c'est aussi la présentation de données d'une manière interactive. ce sont les pages webs dynamiques côté navigateur qui en montrent vraiment l'importance. De Flash &lt;a href=&quot;https://dascritch.net/tag/html&quot;&gt;aux technologies HTML5&lt;/a&gt; comme le tri de données dans les tableaux dynamiques, puis &lt;a href=&quot;https://dascritch.net/tag/svg&quot;&gt;le graphisme vectoriel en SVG&lt;/a&gt;, aux représentations en 3D avec WebGL. Et je n'oublie pas le présentateur TV qui se met sur un fond vert et fait mine de toucher une incrustation OpenGL, ou qui touche un gigantesque écran graphique, histoire de montrer que sa chaîne TV a mis plus de moyens blingbling que ses concurrentes, et que donc les informations se voient mieux sur le canal 3D. Chaussez vos lunettes.
&lt;/p&gt;
&lt;p&gt;
Mais au-delà du talent d'écriture, de présentation et de mise en forme des données, il faut désormais aussi être un réel développeur front-end, c'est à dire un spécialiste des navigateurs web. Si &lt;a href=&quot;https://dascritch.net/tag/javascript&quot;&gt;des bibliothèques javascript&lt;/a&gt; facilitent la transformation graphique de données, &lt;a href=&quot;http://d3js.org/&quot;&gt;tel l'excellent D3.js&lt;/a&gt;, il faut néanmoins s'y connaître &lt;a href=&quot;http://jsforcats.com&quot;&gt;un minimum en programmation&lt;/a&gt; et aussi en &lt;a href=&quot;https://dascritch.net/tag/design&quot;&gt;design et en accessibilité&lt;/a&gt; pour en faire une présentation attrayante, informative, fonctionnelle et compréhensible.
&lt;/p&gt;
&lt;p&gt;
Et donc, il n'est pas étonnant de voir des développeurs étroitement associés, soit dans le quotidien britannique The Guardian, soit en France avec &lt;a href=&quot;http://owni.fr/&quot;&gt;le regretté site OWNI.&lt;/a&gt;&lt;br /&gt;
Il y a donc parfois autant de développement logiciel dans un dossier en datajournalisme qu'en investigation de fond.&lt;br /&gt;
L'énorme différence est la pluridisciplinarité de l'exercice.
&lt;/p&gt;
&lt;p&gt;
Désormais, il y a aussi l'open-data, et l'application (enfin&amp;nbsp;!) de &lt;a href=&quot;http://www.legifrance.gouv.fr/affichTexte.do?cidTexte=JORFTEXT000000339241&quot;&gt;la loi n° 78-753 du 17 juillet 1978 instituant le libre accès des citoyens aux données produites par l'Administration.&lt;/a&gt;&lt;br /&gt;
...&lt;br /&gt;
Oui, 1978, et on ne parle d'open-data que maintenant... un tel délai démontre le retard de l'administration à répondre.&lt;br /&gt;
Ce qui permet de vérifier, mais aussi de faire apparaître certains sujets qui n'apparaissaient pas jusque là. Les détails qui ressortent comme quand on joue sur une photo en jouant les contrastes, les couleurs, en zoomant ou en la tordant.&lt;br /&gt;
Arrêtez de jouez Les Experts Miami™ dans le fond pendant que j'explique, ça me déconcentre.
&lt;/p&gt;
&lt;p&gt;
Mais de là, il y a aussi le problème de l'information qui est déformée pour correspondre à une conclusion espérée. Même dans le datajournalisme, il n'est pas impossible de fausser les faits, puisque très peu de personnes regardent derrière les graphs les données d'origine. En modifiant les unités par exemple, ou même, méthode connue depuis les débuts des instituts de sondages, en ayant une question qui n'est pas totalement neutre.
&lt;br /&gt;
À l'inverse, le datajournalisme peut réfuter un discours mensonger ou erroné. Mais il devient alors d'autant plus critique d'avoir des sources au-delà de toute critique. Forcément, fact-checking amène inspection d'autant plus inquisitrice.
&lt;/p&gt;
&lt;p&gt;
Enfant du Futur Immédiat, de même qu'il faut apprendre à lire et contextualiser comment est reporté un fait d'actualité, il t'est tout aussi important d'apprendre à lire un graphique. Croise tes sources, une personne bien informée vaut mieux qu'une aux infos biaisées.
&lt;/p&gt;</content:encoded>
    
    
      <enclosure url="/vrac/Emissions/CPU/podcast/0009-CPU%2812-11-15%29.mp3"
      length="52440091" type="audio/mpeg3" />
    
    
      </item>
  
	<item>
		<title>micro @HalluFMR #37 : Conférence, avec Nathalie Rosenberg et Frank Taillandier</title>
		<link>https://dascritch.net/post/2015/06/03/micro-%40HalluFMR-37-%3A-Conf%C3%A9rence%2C-avec-Nathalie-Rosenberg-et-Frank-Taillandier</link>
		<guid isPermaLink="false">urn:md5:9a7b4f5bb3dde159e415b84536ecf688</guid>
		<dc:date>2015-06-03T18:30:00+02:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Radio</dc:subject>
        
    <description>Bonjour, je pose deux jours de vacances, je paie mon billet de train, les nuits d'hôtel et mon inscription à cette conférence professionnelle. Avec mes propres sous		&lt;span class="tags"&gt;&lt;br /&gt;&lt;a href="https://dascritch.net/category/Radio"&gt;Radio&lt;/a&gt; &lt;/span&gt;
	</description>
    <content:encoded>
		&lt;p&gt;Bonjour, je pose deux jours de vacances, je paie mon billet de train, les nuits d'hôtel et mon inscription à cette conférence professionnelle. Avec mes propres sous&lt;span class="tags"&gt;&lt;br /&gt;
		&lt;a href="https://dascritch.net/category/Radio"&gt;
			Radio&lt;/a&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;
&lt;a href=&quot;https://dascritch.net/tag/%40hallufmr&quot;&gt;&lt;img class=&quot;r&quot; src=&quot;https://dascritch.net/vrac/.blog2/radio/1411-AtHalluFmr/.1505-Nathalie-Frank_s.jpg&quot; alt=&quot;&quot; /&gt;
&lt;/a&gt;
Chronique lue en direct dans &lt;a href=&quot;http://radio-fmr.net/podcast/?idprog=1037&quot;&gt;l'Hallucinarium FMR&lt;/a&gt; du 03/06/2015.
&lt;br /&gt;
Réalisation : Eugène Lawn.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://dascritch.net/vrac/Emissions/AtHalluFMR/37-AtHalluFMR(03-06-15).ogg&quot;&gt;&lt;img src=&quot;http://dascritch.net/nav/icons/32/audio-x-ogg.png&quot; alt=&quot;&quot; class=&quot;icone&quot; /&gt;Durée&amp;nbsp;: 20mn07.&lt;br /&gt;Format Ogg Vorbis, 15&amp;nbsp;Mo.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://dascritch.net/vrac/Emissions/AtHalluFMR/podcast/37-AtHalluFMR(03-06-15).mp3&quot;&gt;
&lt;img src=&quot;http://dascritch.net/nav/icons/16/audio-x-ogg.png&quot; alt=&quot;&quot; class=&quot;favicon&quot; /&gt;Format mp3 basse résolution pour podcast, 19&amp;nbsp;Mo.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Bonjour à toi enfant du futur immédiat, toi qui nous écouteras dans quelques secondes.
&lt;/p&gt;
&lt;p&gt;
Dans le monde de l'informatique, les professionnels un poil consciencieux et qui n'ont pas un poil dans la main, ont une fâcheuse manie&amp;nbsp;: &lt;a href=&quot;http://dascritch.net/post/2012/01/25/Bleu-comme-un-%C3%A9cran&quot;&gt;passer leur temps libre à faire de la veille technologique&lt;/a&gt;. Ce qui veut dire qu'au lieu de dormir du sommeil du juste, &lt;a href=&quot;http://dascritch.net/post/2013/12/17/Un-week-end-de-code&quot;&gt;ils apprennent de nouvelles techniques,&lt;/a&gt; ils vont faire des ateliers comme des &lt;em lang=&quot;en&quot;&gt;coding dojo&lt;/em&gt;, ils vont &lt;a href=&quot;http://wemeetintoulouse.net/&quot;&gt;boire un pot après leurs heures de boulot avec d'autres collègues&lt;/a&gt; parfois employés par leurs concurrents et même &lt;a href=&quot;http://dascritch.net/post/2013/05/13/Sud-Web-2013&quot;&gt;ils se paient deux jours &lt;em lang=&quot;en&quot;&gt;off&lt;/em&gt; pour aller dans une autre ville à un cycle de conférences&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Car la veille technologique est indispensable, surtout dans le secteur du web&amp;nbsp;: on est passé dans les années 1990 du webmestre qui savait tout faire (jusqu'à la réparation de la photocopieuse) à une multitude de métiers très spécifiques alliant design, UX, développement côté client, côté serveur, API, bases de données, etc...). Et que ces évolutions, il faut les suivre très régulièrement pour garder le niveau. Comme l'écrit l'un des concernés, &lt;a href=&quot;http://blog.pascal-martin.fr/post/developpeur-plus-que-9h-18h.html&quot;&gt;être développeur, c'est bien plus que 9h-18h.&lt;/a&gt; Et pourtant, il existe des dispositifs de formation, mais sont-ils adaptés&amp;nbsp;?
&lt;/p&gt;
&lt;p&gt;
Ben oui, on parle de &lt;abbr&gt;DIF&lt;/abbr&gt;, un fond de formation pour les salariés, mais quid des étudiants, quid des travailleurs indépendants&amp;nbsp;? ou même ceux qui veulent changer de métier&amp;nbsp;?
&lt;/p&gt;
&lt;p&gt;
Alors pourquoi des gens préfèrent griller une partie de leurs loisirs pour en apprendre plus sur leur travail&amp;nbsp;? Est-ce qu'il s'y amusent&amp;nbsp;? Mais alors, est-ce qu'il font un vrai travail&amp;nbsp;?&lt;br /&gt;
Je profite que &lt;a href=&quot;http://sudweb.fr/2015/programme.html&quot;&gt;Sud Web a eu lieu le week-end dernier&lt;/a&gt; pour parler de ce symposium annuel des professionnels du web.
&lt;/p&gt;
&lt;p&gt;
Aujourd'hui, je reçois deux co-fondateurs de &lt;a href=&quot;http://sudweb.fr&quot;&gt;Sud Web&lt;/a&gt;, co-fondateurs des &lt;a href=&quot;http://www.aperoweb.fr/category/Toulouse&quot;&gt;Apéro Web Toulouse&lt;/a&gt;&amp;nbsp;:&lt;br /&gt; 
&lt;a href=&quot;https://fr.linkedin.com/in/nathalierosenberg&quot;&gt;Nathalie Rosenberg, designeuse de site, référence accessibilité, lady gaga du web à paillettes et maître cappello entre les balises HTML.&lt;/a&gt;&lt;br /&gt;
Et &lt;a href=&quot;https://www.linkedin.com/in/franktaillandier&quot;&gt;Frank Taillandier, facilitateur agile, spécialiste en décodage de demandes client pour les équipes techniques et surtout faux hipster mais vrai jogger.&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Nathalie et Frank, bonjour
&lt;/p&gt;
&lt;p class=&quot;c&quot;&gt;
(Partie interview, exclusivement dans le sonore)
&lt;br /&gt;
- Quand a eu lieue la première conférence technique de professionnels du web&amp;nbsp;?&lt;br /&gt;
- Dans les cycles des conférences pro, il y a &lt;a href=&quot;http://www.paris-web.fr/&quot;&gt;Paris Web&lt;/a&gt;, &lt;a href=&quot;http://kiwiparty.fr/&quot;&gt;Kiwi Party à Strasbourg&lt;/a&gt;, &lt;a href=&quot;http://www.mix-it.fr/&quot;&gt;Mix It à Lyon&lt;/a&gt;. Qu'est-ce qui différencie &lt;a href=&quot;http://sudweb.fr/&quot;&gt;Sud Web&lt;/a&gt;&amp;nbsp;?&lt;br /&gt;
- Le ton desdites conférences, c'est une spécificité des métiers du web&amp;nbsp;: on se balance des balles en mousse, on n'a pas peur de rire. Une telle décontraction est-elle due à la rapidité fulgurante de ses technologies&amp;nbsp;?&lt;br /&gt;
- Pourquoi Sud Web change de ville organisatrice chaque année&amp;nbsp;?&lt;br /&gt;
- Est-ce que l'on paie les orateurs&amp;nbsp;?&lt;br /&gt;
- Pourtant c'est cher&amp;nbsp;? Alors pourquoi des professionnels paient aussi cher alors qu'il existe des tutos sur youtube&amp;nbsp;?&lt;br /&gt;
- Et d'ailleurs, &lt;a href=&quot;https://vimeo.com/sudweb&quot;&gt;pourquoi proposer gratuitement les vidéos après coup&amp;nbsp;?&lt;/a&gt;&lt;br /&gt;
- Il y a-t-il en coulisse une concurrence entre les orateurs&amp;nbsp;?&lt;br /&gt;
- Les jeunes veulent apprendre de la technique, les confirmés veulent surtout du sens et du retour sur leur métier. Comment concilier les deux publics&amp;nbsp;?&lt;br /&gt;
- il y a deux ans, un participant qui découvrait le milieu du web m'a dit «&amp;nbsp;&lt;em&gt;je n'ai jamais autant appris sur moi-même&lt;/em&gt;&amp;nbsp;»&lt;br /&gt;
- À chaque Sud Web, il y a un moment exutoire, où pendant une heure, le public prend la parole et s'y exprime. Malgré la consigne, un twit a échappé vendredi dernier, je le lis&amp;nbsp;: &lt;a href=&quot;https://twitter.com/n00yox/status/604308837013798912&quot;&gt;«&amp;nbsp;&lt;em&gt;Chaque fois que je me sens illégitime à une tâche, je me répète trois fois &lt;q&gt;David Douillet a été ministre&lt;/q&gt;&amp;nbsp;&lt;/em&gt;»&lt;/a&gt;&lt;br /&gt;
- L'an dernier, pour l'édition à Toulouse, il y a eu un excellent cours de dessin, de prise de note en croquis avec Eva Lotta Lamm. Cette année à Montpellier, ce fut un cours de pixel art avec Lucile Patron. On parle de contrainte graphique, d'expression de l'idée... avec un papier et un crayon, n'est-ce pas paradoxal pour une conférence de professionnels du web&amp;nbsp;?&lt;br /&gt;
- Il y a eu aussi Laetitia Phan, psychologue clinicienne qui parlait de hacker son cerveau. La culture générale et la compréhension d'autrui, n'est-ce pas ce qui manque à la plupart des formations du web&amp;nbsp;?&lt;br /&gt;
- J'ai asticoté l'an dernier un des orateurs en rappelant que &lt;a href=&quot;http://dascritch.net/post/2014/05/20/Un-Sud-Web-en-hauteur&quot;&gt;nous sommes les 1% de privilégiés qui investissent leur week-end pour enrichir leur savoir-faire.&lt;/a&gt; Est-ce que le manque de motivation général à progresser est désespérant ou une chance pour ceux qui s'y mettent&amp;nbsp;?
&lt;/p&gt;
&lt;p&gt;
Enfant du futur immédiat, lors de ce genre de conférences, j'y ai vu des technologies incroyablement futuristes, une réelle envie de faire progresser la société notamment &lt;a href=&quot;http://dascritch.net/post/2014/10/22/micro-%40HalluFMR-8-%3A-Accessible&quot;&gt;par l'intégration du handicap&lt;/a&gt;, &lt;a href=&quot;http://dascritch.net/post/2014/05/20/Un-Sud-Web-en-hauteur&quot;&gt;beaucoup de sourires, des angoisses éclater et aussitôt calmées...&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Oui, je fais parti de ces privilégiés qui se permettent d'aller à ce genre de conférences, mais ce qui caractérise tout le monde, c'est la banane , le réconfort et l'envie d'expérimenter. C'est comme un &lt;em lang=&quot;en&quot;&gt;free hug&lt;/em&gt; géant, mais où tu auras discuté la moitié de la journée des spécifications W3C et donc monté en &lt;em lang=&quot;en&quot;&gt;skills&lt;/em&gt; et en &lt;em lang=&quot;en&quot;&gt;level&lt;/em&gt;, comme disent les djeuns sur leurs &lt;q&gt;meuporg&lt;/q&gt;. 
&lt;/p&gt;
&lt;p&gt;
Et ceux qui ont participé au Sud Web de ce week-end &lt;a href=&quot;http://www.aperoweb.fr/category/Toulouse&quot;&gt;se retrouvent demain soir,&lt;/a&gt; l'occasion de voir si participer à ce genre de conférence n'est que du &lt;em lang=&quot;en&quot;&gt;personal branling&lt;/em&gt; ou un réel plus professionnel.
&lt;/p&gt;
&lt;hr /&gt;
Bonus : &lt;a href=&quot;http://aventures.nolife-tv.com/&quot;&gt;Le jeu en pixel art de Nolife&lt;/a&gt;</content:encoded>
    
    
      <enclosure url="/vrac/Emissions/AtHalluFMR/podcast/37-AtHalluFMR%2803-06-15%29.mp3"
      length="19319933" type="audio/mpeg3" />
    
    
      </item>
  
	<item>
		<title>micro @HalluFMR #31 : Vidéo</title>
		<link>https://dascritch.net/post/2015/04/29/micro-%40HalluFMR-31-%3A-Vid%C3%A9o</link>
		<guid isPermaLink="false">urn:md5:8220ae3dde8d5e6facc6f69282f7406e</guid>
		<dc:date>2015-04-29T18:57:00+02:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Radio</dc:subject>
        
    <description>On met la vidéo en ligne où ? Comme d'habitude ? Sur Youtube ? Ben joyeux anniversaire, alors ! Ah tiens, c'est aussi celui de Dailymotion…		&lt;span class="tags"&gt;&lt;br /&gt;&lt;a href="https://dascritch.net/category/Radio"&gt;Radio&lt;/a&gt; &lt;/span&gt;
	</description>
    <content:encoded>
		&lt;p&gt;On met la vidéo en ligne où ? Comme d'habitude ? Sur Youtube ? Ben joyeux anniversaire, alors ! Ah tiens, c'est aussi celui de Dailymotion…&lt;span class="tags"&gt;&lt;br /&gt;
		&lt;a href="https://dascritch.net/category/Radio"&gt;
			Radio&lt;/a&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;
&lt;a href=&quot;https://dascritch.net/tag/%40hallufmr&quot;&gt;&lt;img class=&quot;r&quot; src=&quot;https://dascritch.net/vrac/.blog2/radio/.1409-Hallucinarium-FMR_s.jpg&quot; alt=&quot;&quot; /&gt;
&lt;/a&gt;
Chronique lue en direct dans &lt;a href=&quot;http://radio-fmr.net/podcast/?idprog=1037&quot;&gt;l'Hallucinarium FMR&lt;/a&gt; du 29/04/2015.
&lt;br /&gt;
Avec Eugène Lawn, Marie Janote et Perrine Juan. Réalisation : Philippe Pitet.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://dascritch.net/vrac/Emissions/AtHalluFMR/31-AtHalluFMR(29-04-15).ogg&quot;&gt;&lt;img src=&quot;http://dascritch.net/nav/icons/32/audio-x-ogg.png&quot; alt=&quot;&quot; class=&quot;icone&quot; /&gt;Durée&amp;nbsp;: 10mn55.&lt;br /&gt;Format Ogg Vorbis, 8,4&amp;nbsp;Mo.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://dascritch.net/vrac/Emissions/AtHalluFMR/podcast/31-AtHalluFMR(29-04-15).mp3&quot;&gt;
&lt;img src=&quot;http://dascritch.net/nav/icons/16/audio-x-ogg.png&quot; alt=&quot;&quot; class=&quot;favicon&quot; /&gt;Format mp3 basse résolution pour podcast, 10,0&amp;nbsp;Mo.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Bonjour à toi, enfant du futur immédiat, toi qui nous écouteras dans quelques secondes, le temps que le ⏳ player bufferise, etc...
&lt;/p&gt;
&lt;p&gt;
Cette semaine, nous fêtons les 10 ans d'un des sites internet des plus importants en termes de fréquentation, débit, contributions et autres défis. Oui, Youtube a 10 ans, et a fait changer la face des internets.
&lt;/p&gt;
&lt;p&gt;
Le site d'information &lt;a href=&quot;http://arstechnica.com/gadgets/2015/04/cheaper-bandwidth-or-bust-how-google-saved-youtube/&quot;&gt;Ars Technica a sorti à ce sujet un long article, très documenté et riche d'informations, que je me permet aujourd'hui de vous inciter à le lire.&lt;/a&gt; Bon, je sais, il est en Anglais, mais &lt;a href=&quot;https://www.youtube.com/watch?v=G6NfRMv-4OY&quot;&gt;les traducteurs courent maintenant les rues, surtout les traducteurs automatiques,&lt;/a&gt; donc, enfant du futur immédiat, tu n'as aucune excuse.
&lt;/p&gt;
&lt;p&gt;
Comme je suis infiniment bon et patient, on arrête de pouffer de rire derrière, vous me coupez mon effet, je vous fait un très rapide résumé dudit papier, un &lt;q&gt;papier&lt;/q&gt; ainsi dénommé alors qu'il ne sort que sur un site web, &lt;small&gt;m'enfin bon, &lt;small&gt;vous m'avez compris…&lt;/small&gt;&lt;/small&gt;
&lt;/p&gt;
&lt;p&gt;
En gros : Youtube a été créé par deux étudiants. Au moment où Google les a achetés pour 1,6 Md&amp;nbsp;$, montant record qui a abasourdi tout le monde, ils n'avaient que 3 mois de trésorerie devant eux et une facture de bande passante astronomique.&lt;br /&gt;
Actuellement, Youtube est le 3&lt;sup&gt;ème&lt;/sup&gt; site le plus fréquenté au Monde… et perd toujours de l'argent&amp;nbsp;!
&lt;/p&gt;
&lt;p&gt;
Alors du coup, ma chronique sera &lt;a href=&quot;http://arstechnica.com/gadgets/2015/04/cheaper-bandwidth-or-bust-how-google-saved-youtube/&quot;&gt;en complément de cet article&lt;/a&gt;. &lt;small&gt;Oui, je suis lourd dans les hyperliens…&lt;/small&gt;
&lt;/p&gt;
&lt;p&gt;
Avant Youtube un site était devenu populaire en proposant des vidéos consultables dans le navigateur web, à savoir le site iTunes d'Apple. Effectivement, &lt;a href=&quot;http://trailers.apple.com/&quot;&gt;une page y propose toujours une foison de bandes annonces de films, principalement des super-productions américaines&lt;/a&gt;. Le &lt;em lang=&quot;en&quot;&gt;showcase&lt;/em&gt; idéal pour sa technologie Quicktime™. Hélas, &lt;a href=&quot;https://www.apple.com/quicktime/download/&quot;&gt;le plugin Quicktime™ n'était pas disponible sur toutes les plateformes&lt;/a&gt;. Ni Linux, ni téléphones portables, ni TV, ni consoles.&lt;br /&gt;
Mais étant un canal de diffusion mondial, les annonces de gros &lt;em lang=&quot;en&quot;&gt;blockbusters&lt;/em&gt; entraînaient un pic de trafic très conséquent. Pour y remédier, Apple faisait déjà appel à &lt;a href=&quot;http://www.akamai.com/&quot;&gt;un &lt;abbr lang=&quot;en&quot;&gt;CDN&lt;/abbr&gt; (un &lt;em lang=&quot;en&quot;&gt;Content Delivery Network&lt;/em&gt;), appelé Akamai&lt;/a&gt;. La prestation de cette entreprise consiste à rapprocher le contenu au plus près de la demande, surtout si le contenu est très populaire et d'un volume conséquent. Ce qui permet donc d'éviter que les serveurs d'Apple tombent, puisqu'Akamai fait en sorte d'avoir ses proxy au plus près des FAI grands-publics.
&lt;/p&gt;
&lt;p&gt;
Youtube a amené beaucoup de questions :
&lt;ul&gt; 
&lt;li&gt;comment gérer la publicité, la rentabilité au cout de transfert des vidéos,&lt;/li&gt;
&lt;li&gt;comment gérer le coût de traitement des vidéos et de leur diffusion&lt;/li&gt;
&lt;li&gt;comment gérer les problèmes de droits, quand on cite des films, des séries ou qu'on met de la musique&lt;/li&gt;
&lt;/ul&gt;
Ce que l'on oublie aussi, c'est que même si on hurle maintenant sur la mainmise de Google et son omniprésence, Google a aussi tout fait pour que Youtube soit présent partout. Youtube n'était pas lié à un vendeur de matériels ou de logiciels, Google n'avait aucune raison de ne pas être présent sur une plateforme, donc Youtube est sur Linux, BSD, consoles, téléphones, etc…&lt;br /&gt;
Et par la suite, devant le succès de ceux qui font des œuvres originales pour ce site, à savoir les youtubeurs, le site s'est entiché de devenir producteur et financeur de productions de ces amateurs, &lt;a href=&quot;https://www.youtube.com/yt/space/los-angeles.html&quot;&gt;allant jusqu'à construire de vrais studios de productions audiovisuelles&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Youtube a vraiment transformé la consommation du web en facilitant l'envoi, la diffusion et la consultation de vidéos pour tous&amp;nbsp;:
&lt;/p&gt;
&lt;p&gt;
Les clips vidéos ne sont plus du tout diffusés sur MTV (hi hi hi), on les retrouve et on les lit désormais sur Youtube. Quand Radio France a des soucis de négociations avec les sociétés d'ayant-droits pour &lt;a href=&quot;http://www.rf8.fr/&quot;&gt;son service d'écoute à la demande RF8&lt;/a&gt;, Radio France &lt;a href=&quot;http://ecrans.liberation.fr/ecrans/2014/03/27/rf8-coincee-dans-les-tuyaux-de-radio-france_990934&quot;&gt;a téléchargé tous les morceaux incunables de sa discothèque vers Youtube,&lt;/a&gt; qui a déjà négocié avec force fasse auxdits ayants-droits ayant mal audité Radio France, écoutez l'indifférence…&lt;br /&gt;
Et &lt;a href=&quot;http://www.numerama.com/magazine/20728-suspecte-de-brider-youtube-free-veut-que-google-investisse-davantage.html&quot;&gt;quand Free a tenté le bras de force contre Google&lt;/a&gt;, la dégradation de la qualité de transfert n'a pas basculé les clients de ce FAI vers les concurrents comme &lt;a href=&quot;http://dailymotion.com/&quot;&gt;Dailymotion&lt;/a&gt;, Facebook vidéo ou autres... ils ont pris leur mal en patience &lt;a href=&quot;http://forum.freenews.fr/index.php?topic=83916.0&quot;&gt;ou déjoué la limite (avec un VPN)&lt;/a&gt;. Juqu'à ce que finalement, &lt;a href=&quot;http://www.programmez.com/actualites/freebox-mini-4k-les-cles-de-free-donnees-google-22308&quot;&gt;Free face copain-copain avec Google dans sa Freebox 4K&lt;/a&gt;. En apparence…
&lt;/p&gt;
&lt;p&gt;
Une bien amère leçon pour &lt;a href=&quot;http://dailymotion.com&quot;&gt;Dailymotion&lt;/a&gt;, surtout que ce site a été créé quasi en même temps que Youtube. Dailymotion a même été &lt;a href=&quot;http://dascritch.net/post/2009/05/28/Rien-nest-anodin-dans-lopen-source#chap-4&quot;&gt;pionnière sur l'usage d'un &lt;em lang=&quot;en&quot;&gt;player&lt;/em&gt; vidéo en HTML5 pur,&lt;/a&gt; c'est à dire &lt;a href=&quot;http://dascritch.net/post/2007/10/19/Pardonnons-a-ce-Flash-qui-nous-agacent&quot;&gt;en se débarrassant de l'encombrant plugin Flash.&lt;/a&gt; Sauf que comme la rentabilité publicitaire était la plus forte, alors que celle-ci importe finalement peu pour Youtube, DailyMotion qui aurait pu avoir l'avantage technique, est revenu en arrière, et s'est donc tiré une balle dans le pied.
&lt;/p&gt;
&lt;p&gt;
Mais là où Youtube accepte n'importe quelle vidéo en entrée, quitte à le filtrer plus tard en cas de violation de droits, un autre fait le pari de n'y avoir aucune publicité&amp;nbsp;: &lt;a href=&quot;http://vimeo.com/&quot;&gt;Vimeo essaie justement d'attirer les productions originales&lt;/a&gt;, et notamment les &lt;em lang=&quot;en&quot;&gt;showcases&lt;/em&gt; de producteurs et créateurs, en proposant des comptes &lt;em lang=&quot;en&quot;&gt;premium&lt;/em&gt; pour un hébergement en très haute qualité. L'idée de Vimeo face à Youtube, c'est de travailler sur le &lt;em lang=&quot;en&quot;&gt;player&lt;/em&gt; intégrable dans une autre page web, pas d'attirer vers son site. Et donc de chercher la rentabilité non pas par la publicité envoyée aux internautes, mais par les créateurs qui sont prêts à payer pour héberger leurs vidéos.
&lt;/p&gt;
&lt;p&gt;
Car oui, Youtube a créé un vrai mouvement de fond : les youtubeurs. Qu'ils soient &lt;a href=&quot;https://www.youtube.com/user/joueurdugrenier&quot;&gt;Joueur du Grenier&lt;/a&gt;, ce démissionnaire obsédé de &lt;a href=&quot;https://www.youtube.com/user/pouhiou&quot;&gt;Pouhiou&lt;/a&gt;, ou des groupes de reprise comme &lt;a href=&quot;https://www.youtube.com/user/ScottBradleeLovesYa&quot;&gt;Postmodern Jukebox&lt;/a&gt; ou des vidéastes amateurs qui avaient enfin de quoi diffuser leurs productions autrement qu'en se passant des DVD gravés.&lt;br /&gt;
Youtube est hélas dans une balance permanente entre le respect du droit d'auteur et la censure abusée par pseudo violation de copyright. Et il arrive souvent que des productions originales se retrouvent dépubliées sauvagement.&lt;br /&gt;
Une situation bien embarrassante, mais d'un autre coté, les youtubeurs sont aussi heureux d'avoir une vraie source de revenus. En recevant une partie des revenus publicitaires générés par leurs vidéos, Youtube est devenu une vraie alternative de financement, à côté du crowdfunding ou des accès payants.&lt;br /&gt;
Mais lassé de la présence des publicités, tu auras envie au bout d'un moment de payer pour les faire disparaître. Oui, &lt;a href=&quot;http://www.business2community.com/youtube/youtubes-freemium-model-wins-marketers-consumers-01167100&quot;&gt;Youtube va passer à un modèle &lt;em&gt;freemium&lt;/em&gt;&lt;/a&gt;. Inutile de parier que la conversion sera intéressante pour les comptes où elle se fait, et que malheureusement, certains céderont aux sirènes et feront du contenu incitant au clic. Enrichissant pour eux, moins pour les autres…
&lt;/p&gt;
&lt;p&gt;
Enfant du futur immédiat. La prochaine fois que tu iras voir une vidéo de chatons, un youtubeur &lt;del&gt;comme Cyprien&lt;/del&gt; (euh non, surtout pas lui) ou &lt;a href=&quot;https://www.youtube.com/user/PomplamooseMusic&quot;&gt;un clip vidéo des Pomplamoose&lt;/a&gt;, il est très probable que tu le fasses sur Youtube. Or, si nous râlons de l'omniprésence de Youtube et des dangers associés à son monopole, il est peut-être temps de revenir à l'auto-hébergement pour réduire son importance&amp;nbsp;: le traitement et la diffusion de vidéos par le web n'est plus aussi coûteux qu'avant. 
&lt;/p&gt;
&lt;p&gt;
Eh oui, cette chute des coûts, nous le devons aussi à Youtube !
&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;
Eh mais ... On sera en direct au &lt;a href=&quot;http://fablabfestival.fr/&quot;&gt;Fablab Festival&lt;/a&gt; et le week-end suivant au &lt;a href=&quot;http://thsf.tetalab.org/&quot;&gt;THSF&lt;/a&gt; !
&lt;/p&gt;</content:encoded>
    
    
      <enclosure url="/vrac/Emissions/AtHalluFMR/podcast/31-AtHalluFMR%2829-04-15%29.mp3"
      length="10477067" type="audio/mpeg3" />
    
    
      </item>
  
	<item>
		<title>Brand new podcast</title>
		<link>https://dascritch.net/post/2014/09/30/Brand-new-podcast</link>
		<guid isPermaLink="false">urn:md5:bec7698a24f7d74459c6c50df3371e1b</guid>
		<dc:date>2014-09-30T07:20:00+02:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Radio</dc:subject>
        
    <description>Ça y est, les sonores @HalluFMR arrivent !		&lt;span class="tags"&gt;&lt;br /&gt;&lt;a href="https://dascritch.net/category/Radio"&gt;Radio&lt;/a&gt; &lt;/span&gt;
	</description>
    <content:encoded>
		&lt;p&gt;Ça y est, les sonores @HalluFMR arrivent !&lt;span class="tags"&gt;&lt;br /&gt;
		&lt;a href="https://dascritch.net/category/Radio"&gt;
			Radio&lt;/a&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;
Oui, &lt;a href=&quot;http://supplementweekend.fr&quot;&gt;le &lt;strong&gt;Supplément Week-End&lt;/strong&gt;&lt;/a&gt; est terminé, mais au même horaire, Ultimatom, Dusport et tous leurs comparses vous attendent pour leur émission &lt;strong&gt;Cross/Over&lt;/strong&gt;. Toujours le Samedi de 12 à 14h, sur &lt;a href=&quot;http://radio-fmr.net&quot;&gt;Radio &amp;lt;FMR&amp;gt;&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
Et de mon côté, ce parano foutraque d'Eugène Lawn m'a demandé d'animer une petite rubrique dans son 17/19 du Mercredi, aka &lt;strong&gt;L'Hallucinarium&lt;/strong&gt;. Occasion trop belle pour parler aux masses des enjeux du numérique, oui, mais attention&amp;nbsp;: avec un ton pédant.
&lt;/p&gt;
&lt;p&gt;
&lt;img class=&quot;r&quot; alt=&quot;&quot; src=&quot;http://dascritch.net/vrac/.blog2/radio/.1409-Hallucinarium-FMR_s.jpg&quot; /&gt;
Je viens enfin de recevoir les sonores, pour 3 des 4 premières émissions. Profitez&amp;nbsp;:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://dascritch.net/post/2014/09/03/micro-%40HalluFMR-1-%3A-Rebecca-purple&quot;&gt;Rebecca purple (3/09)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://dascritch.net/post/2014/09/10/micro-%40HalluFMR-2-%3A-Le-dilemme-Apple&quot;&gt;Le dilemme Apple (10/09)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://dascritch.net/post/2014/09/17/%40Hallucinarium-3-%3A-Loi-de-Lutte-contre-le-Terrorisme&quot;&gt;Loi de Lutte contre le terrorisme (17/09)&lt;/a&gt;, sonore à venir&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://dascritch.net/post/2014/09/24/%40HalluFMR-4-%3A-Les-prix-IgNobel&quot;&gt;Les prix IgNobel (24/09)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Mes rubriques restent en licence Creative Commons, permettant par exemple à &lt;a href=&quot;http://jukast.com/#login&quot;&gt;Jukast&lt;/a&gt; de proposer prochainement ma rubrique pour réveiller des gens au hasard sur Facebook.
&lt;/p&gt;
&lt;h3 id=&quot;poildecode&quot;&gt;Un petit poil de code&lt;/h3&gt;
&lt;p&gt;
(et là, normalement, je largue tout le monde, mouahahaha)
&lt;/p&gt;
&lt;p&gt;
Pour être définitivement honnête, il existe une multitude d'outils et de services en ligne qui gèrent très bien les podcast. Mais dans l'immédiat, je préfère en garder la gestion, et donc héberger les sonores et faire le code qui va avec.
&lt;/p&gt;
&lt;p&gt;
Pour mes amis, Thomas, Olivier, etc... voici un petit script qui à partir du &lt;code&gt;raw.wav&lt;/code&gt; me fait les deux fichiers nécessaires prêts-à-diffuser. Sachant que le format ogg vorbis est préféré au mp3 quand on reprend une archive en radio. &lt;a href=&quot;http://dascritch.net/post/2012/01/24/Pour-une-compression-mieux-g%C3%A9r%C3%A9e#inutile&quot;&gt;J'ai déjà écrit sur les encodeurs Franhoffer, la connerie ambiante sur le MP3,&lt;/a&gt; sachant qu'on en retrouve beaucoup d'héritages dans la famille AAC, là où le ogg vorbis est prévu pour un bitrate variable et n'a pas été conçu par une équipe de sourds.
&lt;/p&gt;
&lt;p&gt;
MP3 est le format le plus utilisé, mais non libre, Ogg Vorbis est mon format de préférence en html5 et passe sur pratiquement tous les navigateurs modernes, excepté Safari.
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&lt;strong&gt;#!/bin/bash&lt;/strong&gt;

&lt;em&gt;NUMERO=&lt;/em&gt;&lt;i&gt;&amp;quot;4&amp;quot;&lt;/i&gt;
&lt;em&gt;DDTMMTYY=&lt;/em&gt;&lt;i&gt;&amp;quot;24-09-14&amp;quot;&lt;/i&gt;
&lt;em&gt;DDSMMSYY=&lt;/em&gt;&lt;i&gt;&amp;quot;24/09/2014&amp;quot;&lt;/i&gt;
&lt;em&gt;SUJET=&lt;/em&gt;&lt;i&gt;&amp;quot;Les prix IgNobel&amp;quot;&lt;/i&gt;
&lt;em&gt;YEAR=&lt;/em&gt;&lt;i&gt;&amp;quot;2014&amp;quot;&lt;/i&gt;
&lt;em&gt;TRIGGER=&lt;/em&gt;&lt;i&gt;&amp;quot;AtHalluFMR&amp;quot;&lt;/i&gt;
&lt;em&gt;EMISSION=&lt;/em&gt;&lt;i&gt;&amp;quot;Da Scritch @HalluFMR&amp;quot;&lt;/i&gt;
&lt;em&gt;COPYRIGHT=&lt;/em&gt;&lt;i&gt;&amp;quot;DaScritch &amp;amp; co pour Radio FMR&amp;quot;&lt;/i&gt;
&lt;em&gt;SITE=&lt;/em&gt;&lt;i&gt;&amp;quot;http://dascritch.net&amp;quot;&lt;/i&gt;
&lt;em&gt;PADWAV=&lt;/em&gt;&lt;i&gt;&amp;quot;pad.wav&amp;quot;&lt;/i&gt;
&lt;strong&gt;oggenc&lt;/strong&gt; -o &lt;i&gt;&amp;quot;&lt;/i&gt;&lt;em&gt;$NUMERO&lt;/em&gt;&lt;i&gt;-&lt;/i&gt;&lt;em&gt;$TRIGGER&lt;/em&gt;&lt;i&gt;(&lt;/i&gt;&lt;em&gt;$DDTMMTYY&lt;/em&gt;&lt;i&gt;).ogg&amp;quot;&lt;/i&gt; -t &lt;i&gt;&amp;quot;&lt;/i&gt;&lt;em&gt;$EMISSION&lt;/em&gt;&lt;i&gt;: &lt;/i&gt;&lt;em&gt;$SUJET&lt;/em&gt;&lt;i&gt; (&lt;/i&gt;&lt;em&gt;$DDSMMSYY&lt;/em&gt;&lt;i&gt;)&amp;quot;&lt;/i&gt; -d &lt;i&gt;&amp;quot;&lt;/i&gt;&lt;em&gt;$DDSMMSYY&lt;/em&gt;&lt;i&gt;&amp;quot;&lt;/i&gt; -N &lt;i&gt;&amp;quot;&lt;/i&gt;&lt;em&gt;$NUMERO&lt;/em&gt;&lt;i&gt;&amp;quot;&lt;/i&gt; -a &lt;i&gt;&amp;quot;&lt;/i&gt;&lt;em&gt;$COPYRIGHT&lt;/em&gt;&lt;i&gt;&amp;quot;&lt;/i&gt; -G &lt;i&gt;&amp;quot;radio&amp;quot;&lt;/i&gt; -l &lt;i&gt;&amp;quot;&lt;/i&gt;&lt;em&gt;$SITE&lt;/em&gt;&lt;i&gt;&amp;quot;&lt;/i&gt; -c &lt;i&gt;&amp;quot;&lt;/i&gt;&lt;em&gt;$SUJET&lt;/em&gt;&lt;i&gt;&amp;quot;&lt;/i&gt; -q 6 &lt;em&gt;$PADWAV&lt;/em&gt;
&lt;strong&gt;lame&lt;/strong&gt; -b 128 --tt &lt;i&gt;&amp;quot;&lt;/i&gt;&lt;em&gt;$EMISSION&lt;/em&gt;&lt;i&gt; (&lt;/i&gt;&lt;em&gt;$DDSMMSYY&lt;/em&gt;&lt;i&gt;)&amp;quot;&lt;/i&gt; --tn &lt;em&gt;$NUMERO&lt;/em&gt; --ta &lt;i&gt;&amp;quot;&lt;/i&gt;&lt;em&gt;$COPYRIGHT&lt;/em&gt;&lt;i&gt;&amp;quot;&lt;/i&gt; --tl &lt;i&gt;&amp;quot;&lt;/i&gt;&lt;em&gt;$SITE&lt;/em&gt;&lt;i&gt;&amp;quot;&lt;/i&gt; --ty &lt;em&gt;$YEAR&lt;/em&gt; --tg 20 &lt;em&gt;$PADWAV&lt;/em&gt; &lt;i&gt;&amp;quot;podcast/&lt;/i&gt;&lt;em&gt;$NUMERO&lt;/em&gt;&lt;i&gt;-&lt;/i&gt;&lt;em&gt;$TRIGGER&lt;/em&gt;&lt;i&gt;(&lt;/i&gt;&lt;em&gt;$DDTMMTYY&lt;/em&gt;&lt;i&gt;).mp3&amp;quot;&lt;/i&gt; --tc &lt;i&gt;&amp;quot;&lt;/i&gt;&lt;em&gt;$SUJET&lt;/em&gt;&lt;i&gt;&amp;quot;&lt;/i&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;
Vous retrouverez sur github &lt;a href=&quot;https://github.com/dascritch/DSN13/blob/master/tpl/_mp3_player.html&quot;&gt;le snippet de template qui me sert à inclure les podcast&lt;/a&gt; dans &lt;a href=&quot;https://github.com/dascritch/DSN13/&quot;&gt;mon thème dotclear,&lt;/a&gt; mais qui doit être accompagné d'&lt;a href=&quot;https://github.com/dascritch/DSN13/blob/master/_public.php&quot;&gt;une extension spécifique au langage de template.&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Je l'ai écrit un peu trop vite, il manque notamment une regex pour automatiser le passage de &lt;code&gt;DDTMMTYY&lt;/code&gt; à &lt;code&gt;DDSMMSYY&lt;/code&gt; . Pardon, de &lt;code&gt;(\d{2})\-(\d{2})\-(\d{2})&lt;/code&gt; à &lt;code&gt;$1/$2/20$3&lt;/code&gt;, et une sortie qui me donne le code HTML à mettre en entête de billet, j'irais nettement plus vite.
&lt;/p&gt;
&lt;p&gt;
Mais là, ce soir, j'ai la flemme : y'a Castle à la tv.
&lt;/p&gt;</content:encoded>
    
    
    
      </item>
  
	<item>
		<title>Timecodehash : Lier vers un moment d'un sonore</title>
		<link>https://dascritch.net/post/2014/09/03/Timecodehash-%3A-Lier-vers-un-moment-d-un-sonore</link>
		<guid isPermaLink="false">urn:md5:6130075be274c9e3f44d905be2cc052e</guid>
		<dc:date>2014-09-03T10:04:00+02:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Webdev</dc:subject>
        
    <description>Un petit javascript autonome qui va plaire aux podcasteurs, aux musiciens et aux médias. Enfin, s'ils acceptent de jouer le jeu du web et des hypertextes.		&lt;span class="tags"&gt;&lt;br /&gt;&lt;a href="https://dascritch.net/category/Webdev"&gt;Webdev&lt;/a&gt; &lt;/span&gt;
	</description>
    <content:encoded>
		&lt;p&gt;Un petit javascript autonome qui va plaire aux podcasteurs, aux musiciens et aux médias. Enfin, s'ils acceptent de jouer le jeu du web et des hypertextes.&lt;span class="tags"&gt;&lt;br /&gt;
		&lt;a href="https://dascritch.net/category/Webdev"&gt;
			Webdev&lt;/a&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;
J'avais précédemment écrit une petite &lt;a href=&quot;http://dascritch.net/post/2014/06/24/Sniffeur-d-ancre&quot;&gt;bibliothèque javascript qui permet de voir les ancres d'une page web&lt;/a&gt;, ceci à fins de faire des liens sur le bon chapitre (s'il est indexé) dans un très long article. J'ai ensuite monté &lt;a href=&quot;https://addons.mozilla.org/fr/firefox/addon/anchors-reveal/&quot;&gt;Anchors Reveal en add-on pour Firefox,&lt;/a&gt; qui se montre redoutablement efficace.
&lt;/p&gt;
&lt;p&gt;
Or, depuis le temps que je monte et &lt;a href=&quot;http://supplementweekend.fr&quot;&gt;héberge le &lt;em&gt;Supplément Week-End&lt;/em&gt;&lt;/a&gt; —&amp;nbsp;l'un des plus vieux podcast francophone qui s'arrête cette semaine&amp;nbsp;— je regrettais qu'il manque un dispositif équivalent pour un sonore ou une vidéo embarquée dans une page distante. Un truc aussi simple qu'un &lt;code&gt;&amp;lt;&lt;strong&gt;a&lt;/strong&gt; &lt;em&gt;href&lt;/em&gt;=&quot;&lt;i&gt;page#element&lt;/i&gt;&quot;&amp;gt;&lt;/code&gt;…
&lt;/p&gt;
&lt;figure&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1410-TimecodeHash-Audacity.jpg&quot; alt=&quot;&quot; /&gt;
&lt;figcaption&gt;
Il existe néanmoins la possibilité de chapitrer dans certains formats containers, comme le mp4. Mais cette possibilité est très rarement implémentée et le problème reste entier dans le contexte d'une page web.&lt;br /&gt;
Ici, une piste marqueur dans &lt;a href=&quot;http://audacity.sourceforge.net/&quot;&gt;le logiciel d'édition Audacity.&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;
Tiens, encore ce matin, dans un e-mail, je voulais pointer &lt;a href=&quot;https://vimeo.com/81314505&quot;&gt;la séance des lightning talks du dernier Paris Web&lt;/a&gt; les passages de David Rousset et David Catuhe, ben Vimeo ne propose pas de pouvoir pointer à un point temporel précis.
&lt;/p&gt;
&lt;p&gt;
Et comme que des fois, on enchaîne beaucoup d'interviewes dans une émission qui dure deux heures. Et qu'on ne veut pointer que sur une seule à partir d'une autre page. Ouais, il me manquait de pouvoir faire ça&amp;nbsp;:
&lt;/p&gt;
	&lt;ul&gt;
		&lt;li&gt;&lt;a href=&quot;http://dascritch.net/post/2014/05/31/Suppl%C3%A9ment-Week-End%2C-samedi-31-Mai-2014#&amp;amp;t=26m20s&quot;&gt;0:26:20&lt;/a&gt; : &lt;strong&gt;David Tsang-Hin Sun et Joseph Saint-Pierre&lt;/strong&gt; pour &lt;strong&gt;&lt;a href=&quot;https://twitter.com/fablabups&quot;&gt;le Campus Fab&lt;/a&gt;&lt;/strong&gt;, fablab de l'Université Paul Sabatier&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;http://dascritch.net/post/2014/05/31/Suppl%C3%A9ment-Week-End%2C-samedi-31-Mai-2014#&amp;amp;t=56m35s&quot;&gt;0:56:35&lt;/a&gt; : &lt;strong&gt;Laurent Guerby&lt;/strong&gt; pour &lt;a href=&quot;http://tetaneutral.net/&quot;&gt;&lt;strong&gt;Tetaneutral&lt;/strong&gt;&lt;/a&gt; et co-organisateur du TSHF&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;http://dascritch.net/post/2014/05/31/Suppl%C3%A9ment-Week-End%2C-samedi-31-Mai-2014#&amp;amp;t=1h17m41s&quot;&gt;1:17:41&lt;/a&gt; : &lt;strong&gt;Philippe&lt;/strong&gt; pour le &lt;a href=&quot;http://tetalab.org/&quot;&gt;&lt;strong&gt;Tetalab&lt;/strong&gt;&lt;/a&gt;, co-organisateur du THSF et pour le badge programmable à souder&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;http://dascritch.net/post/2014/05/31/Suppl%C3%A9ment-Week-End%2C-samedi-31-Mai-2014#&amp;amp;t=1h25m28s&quot;&gt;1:25:28&lt;/a&gt; : &lt;strong&gt;Julien Peccoud&lt;/strong&gt; pour &lt;a href=&quot;http://cortecs.org/&quot;&gt;&lt;strong&gt;le collectif Cortecs&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;
&lt;h3 id=&quot;dontacte&quot;&gt;Dont acte :&lt;/h3&gt;
&lt;/p&gt;
&lt;ul class=&quot;bonus&quot;&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/dascritch/timecodehash&quot;&gt;Repository Github&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/dascritch/timecodehash/issues&quot;&gt;Todo-list et bugs actuels&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id=&quot;chainonmanquant&quot;&gt;Chaînon manquant&lt;/h3&gt;
&lt;p&gt;
Je me suis lancé dans l'écriture d'une petite bibliothèque javascript, à appeler à partir des pages qui seront appelées. L'idée est qu'il suffit de simplement insérer l'appel, et tout se fera tout seul&amp;nbsp;:
&lt;/p&gt;
&lt;p&gt;
&lt;code&gt;
&amp;lt;&lt;strong&gt;script&lt;/strong&gt; &lt;em&gt;src&lt;/em&gt;=&quot;&lt;i&gt;…/&lt;a href=&quot;https://github.com/dascritch/timecodehash/blob/master/src/timecodehash.js&quot;&gt;&lt;strong&gt;timecodehash.js&lt;/strong&gt;&lt;/a&gt;&lt;/i&gt;&quot;&amp;gt;&amp;lt;/&lt;strong&gt;script&lt;/strong&gt;&amp;gt;
&lt;/code&gt;&lt;br /&gt;
&lt;small&gt;Rappel : ne liez jamais ce genre de ressource extérieure à votre site ! Copiez la lib chez vous, elle est GPL&amp;nbsp;!&lt;/small&gt;
&lt;/p&gt;
&lt;p&gt;
Le code est du pur javascript, parfum &lt;em&gt;vanilla&lt;/em&gt;. Vous n'aurez donc besoin d'aucune autre bibliothèque &lt;a rel=&quot;nofollow&quot; href=&quot;http://www.anthony-brard.com/le-framework-jquery&quot;&gt;&lt;del&gt;ou framework&lt;/del&gt; tel que jQuery&lt;/a&gt;. À une unique exception, à savoir si vous voulez vérifier les tests, le développement a été commencé en TDD. &lt;small&gt;J'ai craqué car il fallait des promesses à QUnit. Oui, je suis faible.&lt;/small&gt;
&lt;/p&gt;
&lt;p&gt;
J'ai aussi tenté d'avoir une syntaxe d'URL la plus propre possible, qu'elle n'interfère pas avec les standards et que les ancres soient relativement transparentes. J'ai fait l'impasse sur un &lt;em&gt;fallback&lt;/em&gt;, donc en cas de plantage javascript, il ne se passera rien.
&lt;/p&gt;
&lt;p&gt;
Autre chose sur le développement : j'étais aussi en déploiement continu sur mon propre blog. Donc vous ne l'aviez pas vu passé, mais &lt;a href=&quot;http://dascritch.net/post/2014/05/31/Supplément-Week-End%2C-samedi-31-Mai-2014&quot;&gt;il y tourne depuis le podcast du THSF 2014.&lt;/a&gt;
&lt;/p&gt;
&lt;h3 id=&quot;ilyaunstandard&quot;&gt;Il y a un standard&lt;/h3&gt;
&lt;p&gt;
Mon script utilise strictement les API de base. Non seulement les éléments natifs sont gérés, mais tout &lt;em&gt;polyfill&lt;/em&gt;, script, add-ons ou plugins (ben oui) qui peuvent les prendre en charge sont du coup aussi compatibles.
&lt;/p&gt;
&lt;p&gt;
Il y a peut-être une petite vérification à faire, car oui, il existe encore des vieux tromblons à travers notre vaste mode, que &lt;a href=&quot;http://benramsey.com/blog/2008/05/206-partial-content-and-range-requests/&quot;&gt;votre serveur web supporte bien les requêtes HTTP &lt;code&gt;Content-range&lt;/code&gt;&lt;/a&gt; et réponde bien par le status code &lt;code&gt;206 Partial content&lt;/code&gt;. Le chargement par morceaux de ressources n'est d'ailleurs pas toujours supportés par certains &lt;em&gt;reverse-proxy&lt;/em&gt;.
&lt;/p&gt;
&lt;p&gt;
Grâce à &lt;a href=&quot;https://oncletom.io/&quot;&gt;Thomas Parisot&lt;/a&gt;, qui fait moult &lt;a href=&quot;http://www.bbc.co.uk/rd/people/thomas-parisot&quot;&gt;tours de magie javascript à la BBC&lt;/a&gt;, j'ai redécouvert &lt;a href=&quot;http://www.w3.org/2008/WebVideo/Fragments/WD-media-fragments-spec/&quot;&gt;le standard &lt;strong&gt;media fragment&lt;/strong&gt;&lt;/a&gt;. Oui, je l'avais lue à une époque et je l'avais stupidement oubliée.&lt;br /&gt;
Il permet d'adresser et de n'utiliser qu'une partie d'une ressource média, du type image, audio ou vidéo. Mais il manquait la gestion du lien vers la page où cette ressource est embarquée. C'est pour ça que j'ai construit ce petit bout de code.
&lt;/p&gt;
&lt;p&gt;
Dans les faits, à son implémentation, j'ai parfois une invalidation de cache. Je tente donc d'abord de forcer le lecteur à se positionner au timecode demandé et en cas d'échec, je tente avec la syntaxe que j'utilisais jusqu'ici, à savoir en changeant la propriété &lt;code&gt;element.&lt;em&gt;currentTime&lt;/em&gt;&lt;/code&gt;.
&lt;/p&gt;
&lt;p&gt;
Comme ces manipulations risquent de lever une erreur, j'ai utilisé non sans honte un &lt;code&gt;&lt;strong&gt;try&lt;/strong&gt; {&amp;nbsp;…&amp;nbsp;} &lt;strong&gt;catch&lt;/strong&gt;(e) {&amp;nbsp;…&amp;nbsp;}&lt;/code&gt;. Oui, je sais que &lt;a href=&quot;http://programmers.stackexchange.com/questions/144326/try-catch-in-javascript-isnt-it-a-good-practice&quot;&gt;cette structure est l'œuvre de Satan, qu'elle n'est pas Bien™ du tout et que ce démon tue les performances,&lt;/a&gt; mais je vous fais remarquer qu'on risque pas la dizaine d'appels par seconde pour cette fonction, donc le besoin avoir des perfs de F1 n'est pas ici un facteur de décision.
&lt;/p&gt;

&lt;h3 id=&quot;autoplaysalemanie&quot;&gt;Autoplay, la sale manie&lt;/h3&gt;
&lt;p&gt;
Rien n'est plus insupportable que les sons/vidéos qui se lancent toutes seules, sans demander d'autorisation. Pourtant ... si vous venez d'une autre page, j'ai considéré que mettre le sonore à une position précise équivalait à une lecture automatique.
&lt;/p&gt;
&lt;p&gt;
Je me demande si c'est raisonnable…
&lt;/p&gt;
&lt;p&gt;
&lt;small&gt;Enfin, là, ça ne marche pas à cause d'un souci d'événement. Assez pénible.&lt;/small&gt;
&lt;/p&gt;
&lt;h3 id=&quot;lasyntaxe&quot;&gt;La syntaxe&lt;/h3&gt;
&lt;p&gt;
Elle est très simple : l'URL de la page, suivi du hash de l'élément multimédia (au aucun pour le premier), d'un séparateur (par défaut &lt;code&gt;&amp;amp;t=&lt;/code&gt;) et le timecode, exprimé en secondes (&lt;code&gt;123&lt;/code&gt;), deux-points séparateur (&lt;code&gt;00:02:03&lt;/code&gt;) ou unités (&lt;code&gt;2m3s&lt;/code&gt;)
&lt;/p&gt;
&lt;p&gt;
Ce qui donne ceci :
&lt;/p&gt;
&lt;p&gt;
&lt;a href=&quot;http://dascritch.net/post/2014/05/31/Suppl%C3%A9ment-Week-End%2C-samedi-31-Mai-2014#&amp;amp;t=2m3s&quot;&gt;
&lt;code&gt;
&amp;lt;&lt;strong&gt;a&lt;/strong&gt; &lt;em&gt;href&lt;/em&gt;=&quot;&lt;i&gt;http://dascritch.net/post/2014/05/31/Suppl%C3%A9ment-Week-End%2C-samedi-31-Mai-2014&lt;strong&gt;#&amp;amp;t=2m3s&lt;/strong&gt;&lt;/i&gt;&quot;&amp;gt;
&lt;/code&gt;…&lt;/a&gt;
&lt;/p&gt;

&lt;h3 id=&quot;thanksandtodo&quot;&gt;Remerciements et TODO list&lt;/h3&gt;

&lt;p&gt;
En plus de &lt;a href=&quot;https://oncletom.io/&quot;&gt;Thomas Parisot&lt;/a&gt; et des débuggueurs &lt;a href=&quot;https://github.com/chibani&quot;&gt;Loïc Gerbaud&lt;/a&gt; et &lt;a href=&quot;https://twitter.com/infestedgrunt&quot;&gt;Benoît Salles&lt;/a&gt;, il me faut aussi remercier &lt;a href=&quot;http://www.touchalize.com/&quot;&gt;l'équipe éditrice de Touchalize&lt;/a&gt;, à savoir &lt;a href=&quot;http://www.phonitive.fr&quot;&gt;Phonitive&lt;/a&gt; et son créateur Guillaume Lemoine, pour m'avoir prêté de l'équipement afin de faire différents tests. Ce qui m'a permis de vérifier qu'effectivement Safari est vraiment &lt;del&gt;bugué à la moelle&lt;/del&gt; capricieux au possible.
&lt;/p&gt;

&lt;p&gt;
Tout n'est pas terminé : il manque encore le support des éléments AV non indexés (je rappelle que c'est pas franchement l'idéal), et &lt;a href=&quot;https://hacks.mozilla.org/2014/08/building-interactive-html5-videos/&quot;&gt;des chapitrages déjà existants.&lt;/a&gt;
&lt;/p&gt;
&lt;figure&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1409-TimecodeHash-FirefoxContext.jpg&quot; alt=&quot;&quot; /&gt;
&lt;figcaption&gt;
Cadeau !
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;
Petit bonus propre à Firefox : le menu contextuel sur l'élément (clic droit ou appui prolongé sur l'élément média) permet de récupérer le lien vers la position en cours de lecture. Mais comme on n'a &lt;a href=&quot;https://support.mozilla.org/fr/questions/1000877&quot;&gt;plus le droit de modifier le presse-papier comme on veut pour d'évidentes raisons de sécurité&lt;/a&gt;, vous aurez alors l'interface &lt;q&gt;roots&lt;/q&gt; d'un bon vieux &lt;code&gt;alert()&lt;/code&gt; des familles.
&lt;/p&gt;</content:encoded>
    
    
    
      </item>
  
	<item>
		<title>Formulaire de contact ou mailto: ?</title>
		<link>https://dascritch.net/post/2014/08/19/Formulaire-de-contact-ou-mailto</link>
		<guid isPermaLink="false">urn:md5:7b824f9010752271da1c27be1f363d0a</guid>
		<dc:date>2014-08-19T09:40:00+02:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Webdev</dc:subject>
        
    <description>Qu'aviez-vous prévu pour que les visiteurs de votre site puisse prendre contact avec vous&amp;nbsp;? Un formulaire Facebook&amp;nbsp;? Ou une pop-in d'assistante virtuelle à balconnet pigeonnant&amp;nbsp;?		&lt;span class="tags"&gt;&lt;br /&gt;&lt;a href="https://dascritch.net/category/Webdev"&gt;Webdev&lt;/a&gt; &lt;/span&gt;
	</description>
    <content:encoded>
		&lt;p&gt;Qu'aviez-vous prévu pour que les visiteurs de votre site puisse prendre contact avec vous&amp;nbsp;? Un formulaire Facebook&amp;nbsp;? Ou une pop-in d'assistante virtuelle à balconnet pigeonnant&amp;nbsp;?&lt;span class="tags"&gt;&lt;br /&gt;
		&lt;a href="https://dascritch.net/category/Webdev"&gt;
			Webdev&lt;/a&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;figure class=&quot;r&quot;&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/.1408-FormulaireDeContact-boitesuggestions_t.jpg&quot; alt=&quot;Boîte à suggestions. En bois.&quot; /&gt;
&lt;figcaption&gt;
&lt;small&gt;&lt;a href=&quot;http://www.demco.fr/efr-entretien-maintenance-des-locaux/efr-boites-a-suggestions/suggestions-box-1.html&quot;&gt;Source : Demco.fr&lt;/a&gt;&lt;/small&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;
Durant &lt;a href=&quot;http://dascritch.com&quot;&gt;mon activité de développeur indépendant (et en tant que salarié aussi)&lt;/a&gt;, on m'a régulièrement demandé de mettre en place un formulaire de contact sur un site web. Ce que j'ai toujours fait sans rechigner.&lt;br /&gt;
Il faut que j'avoue qu'il n'y a rien de sorcier derrière&amp;nbsp;: demander au visiteur de laisser un message, une adresse de contact, et envoyer le tout par e-mail.
&lt;/p&gt;
&lt;p&gt;
&lt;a class=&quot;l&quot; href=&quot;mailto:xav.com@.gmail-iermd+fromweb?subject=j'ai%20lu%20votre%20blog&quot;&gt;&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/.1408-FormulaireDeContact-mecontacter_s.jpg&quot; alt=&quot;me contacter : lien mailto: vers gmail&quot; /&gt;&lt;/a&gt;
Personnellement, si un formulaire de contact est du Porcinet —&amp;nbsp;l'enfance de lard, bandes d'incultes&amp;nbsp;— j'ai préféré utiliser la solution primitive d'un lien &lt;code&gt;&lt;strong&gt;mailto:&lt;/strong&gt;&lt;/code&gt; pour mon blog et mon site pro. Ce n'est pas par flemme, vous en comprendrez les raisons quand vous arriverez à &lt;a href=&quot;https://dascritch.net/post/2014/08/19/Formulaire-de-contact-ou-mailto#message&quot;&gt;la &lt;abbr title=&quot;Trop long ! Je ne lirai pas en entier&quot;&gt;[TL;DR]&lt;/abbr&gt; conclusion&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Ce billet est mon hommage personnel à &lt;a href=&quot;http://so-use.fr/&quot;&gt;So-Use!, société toulousaine spécialisée dans l'UX&lt;/a&gt;, qui vient malheureusement de clore son activité.&lt;br /&gt;
Bonus :
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=1055950&quot;&gt;(Firefox) Bug 1055950 - Form with mailto: action is wrongly escaping spaces chars&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 class=&quot;cl&quot; id=&quot;lestandard&quot;&gt;Ce que dit le standard&lt;/h3&gt;
&lt;p&gt;
J'aimerais rappeler un point tellement important qu'il en est évident, &lt;code&gt;&lt;strong&gt;mailto:&lt;/strong&gt;&lt;/code&gt; est &lt;a href=&quot;http://tools.ietf.org/html/rfc2368&quot; title=&quot;The mailto URL scheme&quot; hreflang=&quot;en&quot;&gt;une URL normalisée dans la RFC 2368 et acceptée partout&lt;/a&gt;.
&lt;/p&gt;
&lt;figure&gt;
&lt;figcaption&gt;Merci &lt;del&gt;Capitaine Évidence&lt;/del&gt; Captain Obvious !&lt;/figcaption&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1408-FormulaireDeContact-CaptainObvious.jpg&quot; alt=&quot;&quot; /&gt;
&lt;/figure&gt;
&lt;p&gt;
Quand vous écrivez &lt;code&gt;&amp;lt;&lt;strong&gt;a&lt;/strong&gt; &lt;i&gt;href&lt;/i&gt;=&quot;&lt;strong&gt;mailto:&lt;/strong&gt;&lt;i&gt;contact@example.com&lt;/i&gt;&quot;&amp;gt;&lt;/code&gt;, vous utilisez une notation URL raccourcie, qui s'écrit de manière développée comme suit&amp;nbsp;: &lt;code&gt;&lt;strong&gt;mailto:&lt;/strong&gt;?&lt;em&gt;to&lt;/em&gt;=&lt;i&gt;contact@example.com&lt;/i&gt;&lt;/code&gt;
&lt;/p&gt;
&lt;p&gt;
Oui, cela ressemble très fortement à une requête GET de formulaire. &lt;a href=&quot;http://support.microsoft.com/kb/279460&quot;&gt;Étonnant, non&amp;nbsp;?&lt;/a&gt; Et justement, parmi les paramètres sur lesquels vous pouvez compter&amp;nbsp;:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;?&lt;em&gt;subject&lt;/em&gt;=&lt;i&gt;…&lt;/i&gt;&lt;/code&gt; permet d'ajouter un titre qui reste éditable par l'utilisateur,&lt;/li&gt;
&lt;li&gt;&lt;code&gt;?&lt;em&gt;body&lt;/em&gt;=&lt;i&gt;…&lt;/i&gt;&lt;/code&gt; permet de définir un template de corps de message,&lt;/li&gt;
&lt;li&gt;&lt;code&gt;?&lt;em&gt;cc&lt;/em&gt;=&lt;i&gt;…&lt;/i&gt;&lt;/code&gt; permet d'ajouter d'autres destinataires en copie carbone,&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Ce sont les plus utiles dans votre affaire.
&lt;/p&gt;
&lt;figure&gt;
&lt;figcaption&gt;
Pour votre info, vous en avez un exemple &lt;a href=&quot;http://dascritch.net/post/2014/02/25/Le-retour-des-boutons-de-partage&quot;&gt;sur l'icône sociale&lt;/a&gt; &lt;q&gt;Envoyer par e-mail&lt;/q&gt;,&lt;br /&gt;
posé &lt;a href=&quot;https://dascritch.net/post/2014/08/19/Formulaire-de-contact-ou-mailto#content&quot;&gt;plus haut sur cette page&lt;/a&gt;.
&lt;/figcaption&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1408-FormulaireDeContact-exemple-ici.png&quot; alt=&quot;&quot; /&gt;
&lt;/figure&gt;
&lt;p&gt;
Alors certes, cette RFC comporte des limitations, notamment sur les caractères en 8&amp;nbsp;bits et &lt;a href=&quot;https://dascritch.net/tag/unicode&quot;&gt;l'unicode&lt;/a&gt;, mais dans les faits même ces exceptions sont implémentées partout.&lt;br /&gt;
Bien souvent, les demandes clients spécifiques pour un formulaire de contact venaient de l'ignorance de ces possibilités. Comme quoi, on ne relit jamais assez les standards.
&lt;/p&gt;
&lt;p&gt;
Maintenant, comparons les deux possibilités&amp;nbsp;:
&lt;/p&gt;

&lt;h3 id=&quot;anatomie&quot;&gt;Anatomie visuelle d'un formulaire de contact&lt;/h3&gt;
&lt;form action=&quot;https://dascritch.net/post/2014/08/19/Formulaire-de-contact-ou-mailto#&quot; method=&quot;post&quot;&gt;
&lt;style&gt;
form[action=&quot;https://dascritch.net/post/2014/08/19/Formulaire-de-contact-ou-mailto#&quot;] textarea { width:90% }
&lt;/style&gt;
&lt;p&gt;
Réduit à son strict minimum, le formulaire de contact comporte un champ e-mail, une zone de texte et un bouton de validation. Comme suit&amp;nbsp;:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
&lt;label&gt;Votre e-mail : &lt;input type=&quot;email&quot; required=&quot;required&quot; placeholder=&quot;visiteur@example.com&quot; /&gt;&lt;/label&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;label&gt;Votre message :&lt;br /&gt;&lt;textarea required=&quot;required&quot; placeholder=&quot;Vous faites de la glace au concombre ?&quot;&gt;&lt;/textarea&gt;&lt;/label&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;button type=&quot;submit&quot;&gt;Envoyer&lt;/button&gt;
&lt;/p&gt;

&lt;/blockquote&gt;
&lt;p&gt;
En général, il est complété d'un champ pour avoir le nom de la personne, et parfois d'un titre éditable ou dans un choix limité&amp;nbsp;:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
&lt;label&gt;Sujet : &lt;select&gt;
&lt;option&gt;Demande de renseignement&lt;/option&gt;
&lt;option&gt;Réclamation&lt;/option&gt;
&lt;option&gt;Partenariat&lt;/option&gt;
&lt;/select&gt;&lt;/label&gt;
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Pour pouvoir fonctionner, le formulaire de contact est forcément lié à un script côté serveur, qui s'occupe de l'envoi en e-mail, et/ou de stocker le message dans une base de données. Il arrive parfois &lt;a href=&quot;http://blog.codinghorror.com/so-youd-like-to-send-some-email-through-code/&quot;&gt;qu'envoyer un e-mail à partir d'un serveur n'est pas trivial du tout&amp;nbsp;!&lt;/a&gt;
&lt;/p&gt;
&lt;/form&gt;
&lt;h3 id=&quot;form_etendu&quot;&gt;Le formulaire, usage avancé&lt;/h3&gt;
&lt;p&gt;
Le traitement côté serveur permet des petits bonus, notamment de stocker le message dans la base de données et d'&lt;strong&gt;être accessible directement en &lt;i&gt;backoffice&lt;/i&gt;&lt;/strong&gt;. De là, on peut le lier à une commande, &lt;a href=&quot;http://dascritch.net/post/2013/12/10/I-love-bug-reports&quot;&gt;à un ticket interne&lt;/a&gt; voire y accoler différents métriques comme le temps de réponse à la demande client ou le taux de satisfaction. Il peut aussi être ventilé sur plusieurs e-mails d'un coup, voire (ça, c'est ma fonction préférée sur mon application dagence) de constituer un &lt;i&gt;digest&lt;/i&gt; quotidien afin de ne pas encombrer votre e-mail.&lt;br /&gt;
De telles fonctions sont aussi envisageables avec &lt;code&gt;mailto:&lt;/code&gt; mais construire une passerelle de réception d'e-mail est autrement plus compliquée.
&lt;/p&gt;
&lt;p&gt;
Si votre service web n'est pas un véritable intranet ou un &lt;i&gt;backoffice&lt;/i&gt; industriel, vous pouvez le faire via un service tiers comme &lt;a href=&quot;http://www.formsite.com/&quot;&gt;Formsite&lt;/a&gt;, le bien conçu &lt;a href=&quot;http://www.wufoo.com/gallery/templates/forms/contact-form/&quot;&gt;Wufoo&lt;/a&gt; ou même un bête formulaire Google Drive.
&lt;/p&gt;
&lt;figure&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1408-FormulaireDeContact-backoffWufoo.jpg&quot; alt=&quot;&quot; /&gt;
&lt;figcaption&gt;
Exemple de &lt;a href=&quot;https://examples.wufoo.com/reports/example-contact-form-report/&quot;&gt;reporting de formulaires de contacts par Wufoo&lt;/a&gt;.&lt;br /&gt;
N'oubliez pas que &lt;a href=&quot;https://aws.amazon.com/customerapps/Amazon-Mechanical-Turk/1289&quot;&gt;ces services sont souvent basés hors Europe&lt;/a&gt;. Donc si les données récoltées sont exploitées commercialement à votre insu, vous en êtes juridiquement responsable, ce qui peut faire très mal.
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;
Attention car &lt;strong&gt;si vous constituez une base de données à partir des e-mails, vous devez vous mettre en conformité en faisant &lt;a href=&quot;https://www.declaration.cnil.fr/declarations/declaration/declarant.display.action&quot;&gt;une déclaration CNIL&lt;/a&gt;&lt;/strong&gt;, en ajoutant des déclarations légales, un formulaire de rectification/désinscription sur votre site et bien sûr en ajoutant une checkbox à votre formulaire&amp;nbsp;:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;label&gt;&lt;input type=&quot;checkbox&quot; /&gt; Je ne souhaite pas être démarché commercialement&lt;/label&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Si vous devez le faire, c'est que votre site manipule suffisamment de données privées et vous l'avez &lt;strong&gt;normalement&lt;/strong&gt; prévu.
&lt;/p&gt;
&lt;h3 id=&quot;form_pragmatique&quot;&gt;Le formulaire, côté pragmatique&lt;/h3&gt;
&lt;p&gt;
Maintenant, regardons à l'usage ce que donne un formulaire de contact&amp;nbsp;:
&lt;/p&gt;
&lt;p&gt;
D'abord, sur le champ e-mail, qu'est-ce qui vous assure que &lt;strong&gt;votre interlocuteur donne son e-mail réel&amp;nbsp;?&lt;/strong&gt; ou qu'il n'a pas fait une faute de frappe&amp;nbsp;? Comparée à l'envoi standard d'un e-mail, ce champ est une saisie inutile.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;L'espace &lt;code&gt;&amp;lt;textarea&amp;gt;&lt;/code&gt; ne va-t-il pas frustrer&lt;/strong&gt; votre interlocuteur&amp;nbsp;? Notamment sur les dimensions, puisqu'elles sont fixées par design. Ceci dit, depuis 4 ans, la question se pose moins puisque tous les navigateurs proposent de redimensionner à la volée un tel champ. Encore faut-il comprendre à quoi sert cette poignée, et ensuite que le graphiste n'aie pas supprimé cette fonctionnalité &lt;a href=&quot;http://stackoverflow.com/questions/5235142/how-to-disable-resizable-property-of-textarea&quot;&gt;qui casse tout son design&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Le champ texte est simple. &lt;strong&gt;Il manque l'édition riche&lt;/strong&gt; qui peut parfois être utile par exemple pour insérer un lien, et la possibilité de joindre des documents, notamment image, pdf ou vcard. C'est bête, mais vous imaginez mal combien une vcard est pratique en prospection commerciale.
&lt;/p&gt;
&lt;p&gt;
&lt;a href=&quot;http://trve.ru/metal-kartinki/metal-kapchi/&quot;&gt;&lt;img class=&quot;r&quot; src=&quot;https://dascritch.net/vrac/.blog2/webdev/1408-FormulaireDeContact-captcha.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
À court terme, le formulaire va commencer à se faire &lt;strong&gt;repérer par des spammeurs&lt;/strong&gt;, et vous commencerez à avoir des messages indésirables, et un bruit de fond non négligeable. Soit vous avez l'énergie et les moyens pour construire des services de filtrage sur votre serveur (je l'ai fait pour des clients de dagence et c'est vraiment épuisant), ou vous vous basez sur des services tiers genre &lt;a href=&quot;http://akismet.com/plans/&quot;&gt;Askimet&lt;/a&gt; avec les risques très importants de faux-positifs/faux-négatifs. Soit vous comptez sur l'installation économique d'un test de Turing, un captcha donc, qui sera tout sauf une incitation à vous laisser un message. Et encore, j'ai pas parlé &lt;a href=&quot;http://www.urbandictionary.com/define.php?term=Voight-Kampff%20machine&quot;&gt;des machines de Voight-Kampff…&lt;/a&gt;&lt;br /&gt;
Qui plus est, côté script serveur, il existe une multitude de possibilité d'attaques, de détournement du service d'envoi. Combien savent qu'&lt;a href=&quot;http://resources.infosecinstitute.com/email-injection/&quot;&gt;il faut vraiment protéger la commande PHP &lt;code&gt;sendmail()&lt;/code&gt;&lt;/a&gt;&amp;nbsp;? Et d'ailleurs pas qu'en PHP, car j'ai vu ce genre de vulnérabilité en Ruby.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Les gens aiment avoir une trace dans leur client e-mail&lt;/strong&gt; ce qui est normal puisqu'un compte e-mail tient la trace de votre correspondance. Souvent nous profitons des systèmes de tris par discussion, par date, par mots-clés, par étiquettes. Un formulaire de contact est en dehors de cette correspondance. Sauf  si le script côté serveur vous renvoie le message envoyé à votre adresse.
&lt;br /&gt;
Mais &lt;strong&gt;ce genre de rappels est souvent exploité par des spammeurs. Oui, encore.&lt;/strong&gt; Il faut dire que c'est facile : on automatise l'envoi d'un message, mais c'est le serveur exploité qui va se faire bannir et l'entreprise qui le loue va voir sa réputation descendre en flèche. Ce n'est pas un scénario de science-fiction, je l'ai vu chez un client moins de 3 mois après la mise en place du formulaire.
&lt;/p&gt;
&lt;p&gt;
Au final, si vous ne prenez pas proprement en compte le risque de spam, &lt;strong&gt;votre site web pourrait être marqué comme spammeur&lt;/strong&gt; par des serveurs d'e-mail, bloqué par des antivirus, se prendre une mauvaise réputation et vous ne recevrez plus du tout de demande de contacts.&lt;br /&gt;
Une fois qu'on se retrouve dans une telle situation, en général suite à une négligence qu'on a laissé traîner très longtemps, il en est difficile d'en sortir.
&lt;/p&gt;

&lt;h3 id=&quot;mailto_pragmatique&quot;&gt;Le lien &lt;code&gt;mailto:&lt;/code&gt;, côté pragmatique&lt;/h3&gt;

&lt;p&gt;
On ne va pas reparler de la mécanique d'envoi d'un e-mail&amp;nbsp;: en usage depuis 40 ans, &lt;strong&gt;le système est parfaitement maîtrisé&lt;/strong&gt;, on peut donc lui faire confiance.
&lt;/p&gt;
&lt;p&gt;
Hélas, depuis le début des années 1980s, &lt;strong&gt;l'e-mail est encombré de spams&lt;/strong&gt;. Et depuis 15 ans, il existe des robots spiders qui ne font qu'une chose&amp;nbsp;: récolter le plus d'adresses e-mail possibles pour spammer plus. La précaution élémentaire est de ne pas donner une adresse e-mail liée à une personne, mais de créer un compte ou un alias jetable.
&lt;br /&gt;
Néanmoins, on peut se reposer tranquillement sur la cascade de &lt;a href=&quot;http://www.altospam.com/glossaire/filtres-bayesiens.php&quot;&gt;filtres bayésien&lt;/a&gt; et autres qui seront en place entre votre interlocuteur, son FAI, votre FAI et dans votre client e-mail. Et avec l'avantage que tout est déjà configuré, fonctionnel et d'un coût quasi-nul.
&lt;/p&gt;
&lt;p&gt;
Je répète : sauf pour un site personnel, &lt;strong&gt;n'exposez jamais en &lt;code&gt;mailto:&lt;/code&gt; une adresse e-mail nominative&lt;/strong&gt;. Une entreprise, collectivité ou association doit songer qu'une demande de contact peut être reprise par une toute autre personne qu'actuellement. Rien n'est immuable&amp;nbsp;: comme tout corps vivant, ces entités morales sont destinées à changer pour rester en vie. Et &lt;a href=&quot;http://wiki.gandi.net/fr/mail&quot;&gt;au coût actuel d'un alias e-mail chez Gandi&lt;/a&gt;, pourquoi s'en priver&amp;nbsp;?
&lt;/p&gt;
&lt;p&gt;
&lt;img class=&quot;r&quot; src=&quot;https://dascritch.net/vrac/.blog2/webdev/.1408-FormulaireDeContact-emailmobile_s.png&quot; alt=&quot;interface d'envoi d'e-mail à partir d'un smartphone&quot; /&gt;
Un lien e-mail a un avantage énorme, difficilement quantifiable&amp;nbsp;: contrairement à un formulaire web, il est forcément &lt;strong&gt;adapté au mieux suivant le type d'appareil&lt;/strong&gt; qui accède à votre site&amp;nbsp;: mobile, tablette braille, tout est forcément pris en compte au mieux.&lt;br /&gt;
Et avec les fonctionnalités manquantes, notamment texte enrichi ou ajout de pièces jointes, voire même une gestion automatisée de la signature électronique.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Le client de-mail natif sera forcément plus fonctionnel que n'importe quelle recréation en page web&lt;/strong&gt;. Sauf si vous avez les moyens de payer des dizaines de spécialistes comme Google, Yahoo ou Microsoft.
&lt;/p&gt;
&lt;p&gt;
Mais &lt;strong&gt;si votre visiteur n'a pas de compte e-mail sur cette machine&lt;/strong&gt;, par exemple au travail, dans un web-café ou sur une machine qu'il ne peut juger de confiance, oui cela peut être frustrant.&lt;br /&gt;
Et &lt;strong&gt;il ne peut facilement employer une autre adresse&lt;/strong&gt; e-mail, par exemple une adresse personnelle, un compte jetable ou celui d'une entreprise en cours de création, nous aurons le même souci.
&lt;/p&gt;
&lt;p&gt;
Un lien vers &lt;strong&gt;une adresse e-mail demande le minimum de technologie, inutile d'avoir un script côté serveur&lt;/strong&gt;. Le protocole &lt;code&gt;mailto:&lt;/code&gt; marche vraiment partout. Et en cas d'absence, il &lt;a href=&quot;https://developer.mozilla.org/en/docs/Web-based_protocol_handlers&quot;&gt;peut même s'enregistrer par une application tierce&lt;/a&gt;, et d'ailleurs, gmail le fait.
&lt;/p&gt;
&lt;p&gt;
&lt;img class=&quot;l&quot; src=&quot;https://dascritch.net/vrac/.blog2/webdev/.1408-FormulaireDeContact-thunderbird_s.jpg&quot; alt=&quot;le logo de Mozilla Thunderbird&quot; /&gt;
Côté réception, &lt;strong&gt;un e-mail peut tout à fait entrer dans un flux de gestion&lt;/strong&gt;, et un compte e-mail en Imap peut parfaitement être partagé entre plusieurs personnes. À vraie dire, je suis très surpris du nombre de gens qui utilisent quotidiennement un client e-mail comme Thunderbird ou Microsoft Outlook sans se rendre compte qu'ils pourraient &lt;a href=&quot;http://fr.wikibooks.org/wiki/Mozilla_Thunderbird/Gestion_des_filtres_de_messages&quot;&gt;se faciliter la vie en paramétrant un tri automatique&lt;/a&gt; et pallier à l'absence d'un outil de gestion documentaire tiers.&lt;br /&gt;
Là aussi, &lt;strong&gt;il vaut mieux se reposer sur l'existant, c'est nettement plus économique et fiable&lt;/strong&gt;, même s'il faut passer deux heures à lire la documentation.
&lt;/p&gt;
&lt;h3 id=&quot;message&quot;&gt;Message envoyé&lt;/h3&gt;
&lt;p&gt;
Le formulaire de contact pose d'innombrables questions d'interface, de sécurité et d'utilisabilité. Celles-ci sont toutes répondues avec la solution la plus standard, la plus simple, le bête lien &lt;code&gt;mailto:&lt;/code&gt;.
&lt;/p&gt;
&lt;p&gt;
La seule utilité réelle du formulaire est l'absence d'e-mail direct, ce qui veut dire qu'il répond à une non-question. 
&lt;/p&gt;
&lt;p&gt;
Si vous devez vous poser la question, et que nous ne construisez pas une importante solution d'e-commerce, ne vous embêtez plus&amp;nbsp;: &lt;strong&gt;les réponses les plus simples sont souvent les plus pertinentes.&lt;/strong&gt;
&lt;/p&gt;</content:encoded>
    
    
    
      </item>
  
	<item>
		<title>Travaux d'été</title>
		<link>https://dascritch.net/post/2014/07/08/Travaux-d-%C3%A9t%C3%A9</link>
		<guid isPermaLink="false">urn:md5:2c1f9b00e325a8305920a0f200ee1436</guid>
		<dc:date>2014-07-08T14:23:00+02:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Webdev</dc:subject>
        
    <description>Profitons de ce temps superbement maussade pour refaire son site “pro”, et vous inonder à la rentrée avec plein de nouveaux articles techniques. Ça m'oblige à m'ouvrir, à apprendre de nouvelles langues et &lt;q&gt;si visse pas sème, part à Belloume&lt;/q&gt; comme disais je ne sais plus qui…		&lt;span class="tags"&gt;&lt;br /&gt;&lt;a href="https://dascritch.net/category/Webdev"&gt;Webdev&lt;/a&gt; &lt;/span&gt;
	</description>
    <content:encoded>
		&lt;p&gt;Profitons de ce temps superbement maussade pour refaire son site “pro”, et vous inonder à la rentrée avec plein de nouveaux articles techniques. Ça m'oblige à m'ouvrir, à apprendre de nouvelles langues et &lt;q&gt;si visse pas sème, part à Belloume&lt;/q&gt; comme disais je ne sais plus qui…&lt;span class="tags"&gt;&lt;br /&gt;
		&lt;a href="https://dascritch.net/category/Webdev"&gt;
			Webdev&lt;/a&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;
C'est comme ça.&lt;br /&gt;
Ça vous démange pendant un bail, mais vous êtes intimidés ou peu motivé. Et d'un coup, vous avez envie de refaire ce câblage électrique qui a eu chaud, de couper ce lierre en petites bûchettes, de refaire cette tuyauterie qui donnait des signes de faiblesses et de ressouder ces prises bourrées de faux-contacts à force de manips.
&lt;/p&gt;
&lt;figure&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/webdev/1407-travauxdete/RipolineZeWeb1.png&quot; alt=&quot;&quot; /&gt;
&lt;figcaption&gt;
Moi, repeignant mon plafond et m'accrochant au pinceau. Selfie de 2006.
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;
Ben c'est un peu ce qui m'arrive cet été.
&lt;/p&gt;
&lt;h3 id=&quot;refasmonsitecorporate&quot;&gt;Je refais mon site corporate&lt;/h3&gt;
&lt;img class=&quot;r&quot; src=&quot;https://dascritch.net/vrac/.blog2/webdev/1407-travauxdete/.1407-dascritchcom-ancien_s.png&quot; alt=&quot;capture du site dascritch.com en juillet 2014&quot; /&gt;
&lt;p&gt;
Le design actuel de &lt;a href=&quot;http://dascritch.com&quot;&gt;dascritch.com&lt;/a&gt; date de 2011. Oui, il était déjà en &lt;em&gt;responsive web design&lt;/em&gt;, mais de nouveaux éléments méritaient d'y être intégrés, notamment mes conférences et plus de textes explicatifs.&lt;br /&gt;
Et aussi d'être un poil plus habillé, même si les css ne sont toujours pas mon fort.
&lt;/p&gt;
&lt;p&gt;
La différence, c'est que j'ai voulu le faire sur un serveur statique. L'actuel &lt;a href=&quot;http://dascritch.net/vrac/.blog2/webdev/1407-travauxdete/dascritchcom.html&quot;&gt;(backup de la page web)&lt;/a&gt; fonctionne sur dAgence, et utilise son moteur de pages, &lt;a href=&quot;http://dascritch.net/post/2014/05/12/Bricolages-en-img#forcement&quot;&gt;de sous-images&lt;/a&gt; et de news grâce à l'extension de feeds. Le code front est quasi-intégralement statique. Difficile de faire un code plus lisible à intégrer&amp;nbsp;:
&lt;/p&gt;
&lt;p&gt;&lt;code&gt;

&amp;lt;section id=&quot;rea&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp;  &amp;lt;h3&amp;gt;Quelques réalisations récentes&amp;amp;thinsp;:&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp;  &amp;lt;&lt;strong&gt;T:Pages&lt;/strong&gt; &lt;em&gt;limit&lt;/em&gt;=&quot;&lt;i&gt;5&lt;/i&gt;&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp;  &amp;nbsp; &amp;nbsp;  &amp;lt;article&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp;  &amp;nbsp; &amp;nbsp;  &amp;nbsp; &amp;nbsp;  &amp;lt;a href=&quot;https://dascritch.net/post/2014/07/08/{{&lt;strong&gt;T:PageText&lt;/strong&gt; &lt;em&gt;name&lt;/em&gt;=&quot;&lt;i&gt;lien&lt;/i&gt;&quot;}}&quot;&amp;gt;&amp;lt;img src=&quot;https://dascritch.net/post/2014/07/08/{{&lt;strong&gt;T:PageImage&lt;/strong&gt; &lt;em&gt;format&lt;/em&gt;=&quot;&lt;i&gt;realisat&lt;/i&gt;&quot;}}&quot; alt=&quot;{{&lt;strong&gt;T:PageTitle&lt;/strong&gt;}}&quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp;  &amp;nbsp; &amp;nbsp;  &amp;nbsp; &amp;nbsp;  &amp;lt;div&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp;  &amp;nbsp; &amp;nbsp;  &amp;nbsp; &amp;nbsp;  &amp;nbsp; &amp;nbsp;  &amp;lt;h4&amp;gt;{{&lt;strong&gt;T:PageTitle&lt;/strong&gt;}}&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp;  &amp;nbsp; &amp;nbsp;  &amp;nbsp; &amp;nbsp;  &amp;nbsp; &amp;nbsp;  {{&lt;strong&gt;T:PageText&lt;/strong&gt;}}&lt;br /&gt;
&amp;nbsp; &amp;nbsp;  &amp;nbsp; &amp;nbsp;  &amp;nbsp; &amp;nbsp;  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp;  &amp;nbsp; &amp;nbsp;  &amp;lt;/article&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp;  &amp;lt;/&lt;strong&gt;T:Pages&lt;/strong&gt;&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;

&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;
Seulement, dAgence est en fin de vie, son code n'a pas bougé depuis 2 ans. Avec Nicolas Guilhou, j'y ai mis beaucoup de cœur, de travail et j'aurais beaucoup à écrire sur ce qu'on y a fait, mais je n'ai ni l'envie de le continuer, ni de l'ouvrir. Ce dernier point à cause d'un client qui m'a dégoûte et aussi la qualité de mon propre code en 2007.
&lt;/p&gt;
&lt;p&gt;
J'ai alors pris une décision bizarre&amp;nbsp;:  Je me suis rendu compte que pratiquement personne n'a vu de code de ma part. Je suis très timide et j'ai pas eu l'occasion de travailler sur des projets open-sourcés. J'ai donc décidé d'utiliser &lt;a href=&quot;https://github.com/dascritch?tab=repositories&quot;&gt;mon github&lt;/a&gt; pour cette refactorisation. Accessoirement, cela facilite mon boulot quand je suis entre plusieurs machines.
&lt;/p&gt;
&lt;h3 id=&quot;fairesimple&quot;&gt;Mais pourquoi faire simple ?&lt;/h3&gt;
&lt;p&gt;
J'ai donc inversé le concept&amp;nbsp;: le backend est statique, le frontend puisera ses données.
&lt;/p&gt;
&lt;p&gt;
J'ai tenté &lt;a href=&quot;https://github.com/dascritch/dascritchcom-bootstraped-angularized&quot;&gt;une version AngularJS&amp;nbsp;+&amp;nbsp;Bootstrap&lt;/a&gt; volontairement pas codex, je l'avoue ;), une autre en ReactsJS&amp;nbsp;+&amp;nbsp;Foundation&amp;nbsp;+&amp;nbsp;Sass stupidement bloquée pour les raisons ci-dessous. Finalement, je suis reparti sur mon squelette, j'ai intégré le &lt;a href=&quot;http://tinytypo.tetue.net/&quot;&gt;TinyTypo de la fabuleuse  Romy “Tétue” Duhem-Verdière&lt;/a&gt;. J'en viens à la même conclusion que &lt;a href=&quot;http://paulrouget.com/&quot;&gt;Paul Rouget&lt;/a&gt; et &lt;a href=&quot;http://moox.io/&quot;&gt;Maxime Thirouin&lt;/a&gt;&amp;nbsp;: des fois, on va nettement plus vite sans s'encombrer de frameworks-couteau-suisse.
&lt;/p&gt;
&lt;figure&gt;
&lt;img class=&quot;r&quot; src=&quot;https://dascritch.net/vrac/.blog2/webdev/1407-travauxdete/1407-dascritchcom-memeIE9.png&quot; alt=&quot;capture du future site dascritch.com sous MSIE9 avec une alerte d'erreur windows&quot; /&gt;
&lt;figcaption&gt;
Et maintenant, ça marche comme je le voulais en MSIE9. Oui oui. Merci &lt;a href=&quot;http://netrenderer.com/&quot;&gt;IE Net Renderer&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;
Bon, par contre, le design RWD liquide avec 5 breakpoints de largeurs différents, je doute que ça soit une solution viable à terme ^^;
&lt;/p&gt;
&lt;p&gt;
Je voulais faire des requêtes cross-sites, mais les mesures de sécurité prophylactiques (CSP + CORS) que je loue tant me posent des soucis en développement local ou &lt;a href=&quot;http://dascritch.github.io/dascritchcom/&quot;&gt;en hébergement github.io&lt;/a&gt;. J'en ai donc profité pour écrire un parser pour récupérer mes derniers articles. Et plutôt que le faire en Javascript, en PHP ou même avec des &lt;a href=&quot;https://dascritch.net/tag/regex&quot;&gt;regex&lt;/a&gt; via le shell, j'ai tenté de le faire en python pour sortir de ma zone de confort. &lt;a href=&quot;https://github.com/dascritch/dascritchcom/blob/master/data/parse.py&quot;&gt;Oui, le code est crade&lt;/a&gt;, mais il &lt;a href=&quot;http://blog.kaelig.fr/post/50999705308/bbc-news-responsive-web-design-and-mustard&quot;&gt;coupe la moutarde&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Normalement, je devrais déployer cette nouvelle version avant la fin du mois. &lt;strong&gt;Vous pouvez toujours &lt;a href=&quot;https://dascritch.net/post/2014/07/08/Travaux-d-%C3%A9t%C3%A9#comment-form&quot;&gt;commenter en bas&lt;/a&gt; ou ouvrir un &lt;a href=&quot;https://github.com/dascritch/dascritchcom/issues?state=open&quot;&gt;ticket bug/suggestion sur github&lt;/a&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Le truc rageant, c'est que quand tu termines ton site, &lt;a href=&quot;http://jsonresume.org/&quot;&gt;tu tombes sur jsonresume&lt;/a&gt;.&lt;br /&gt;
Ah ben flute.
&lt;/p&gt;
&lt;h3 id=&quot;fauxcalme&quot;&gt;Le faux calme&lt;/h3&gt;
&lt;p&gt;
Vous verrez moins d'articles techniques publiés cet été. Des articles comme &lt;a href=&quot;http://dascritch.net/post/2013/12/10/I-love-bug-reports&quot;&gt;les bug reports&lt;/a&gt;, &lt;a href=&quot;http://dascritch.net/post/2014/01/07/Json-ou-l-histoire-d-une-licence-presque-libre&quot;&gt;la licence JSON,&lt;/a&gt; &lt;a href=&quot;http://dascritch.net/post/2014/03/25/Histoires-en-img&quot;&gt;la balise &amp;lt;img&amp;nbsp;/&amp;gt;&lt;/a&gt;, &lt;a href=&quot;http://dascritch.net/post/2014/03/11/Refaire-des-commentaires&quot;&gt;les floating labels&lt;/a&gt;, &lt;a href=&quot;http://dascritch.net/post/2014/02/25/Le-retour-des-boutons-de-partage&quot;&gt;les boutons de partage &lt;q&gt;sociaux&lt;/q&gt;&lt;/a&gt; et d'autres peuvent demander de la recherche. J'ai décidé de prendre le temps là-dessus pour gaver vos listes d'articles à lire en urgence.
&lt;/p&gt;
&lt;p&gt;
J'en profite aussi pour essayer différents projets qui justement vont me servir à écrire ces articles. Certains projets sont déjà consultables sur github pendant leur construction&amp;nbsp;:
&lt;/p&gt;
&lt;ul&gt;
&lt;lI&gt;Une bibliothèque javascript pour faire &lt;a href=&quot;https://github.com/dascritch/timecodehash&quot;&gt;des ancres timecode dans les pages web incluant sonore ou vidéo&lt;/a&gt;, par exemple un podcast&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/dascritch/ramrod&quot;&gt;Un jeu de programmation robotique&lt;/a&gt; sur une idée et avec &lt;a href=&quot;https://twitter.com/FTregan&quot;&gt;Fabien Tregan&lt;/a&gt;,  &lt;/li&gt;
&lt;li&gt;Un addon Firefox pour les auteurs utilisant dotclear&lt;/li&gt;
&lt;li&gt;Bricoler un peu pour me forcer à apprendre Dart, Python (c'est déjà parti), Ruby, Rust et Go&lt;/li&gt;
&lt;li&gt;Écrire des composants web-components avec &lt;a href=&quot;http://bosonic.github.io/&quot;&gt;la fantabuleuse bibliothèque Bosonic&lt;/a&gt; de &lt;a href=&quot;http://www.raphael-rougeron.com&quot;&gt;Maître Raphaël Rougeron&lt;/a&gt; &amp;amp; associates&lt;/li&gt;
&lt;li&gt;Ré-implémenter en js, php, ruby et python avec tests uniformes le système de numéro de commande de dagence&lt;/li&gt;
&lt;li&gt;Améliorer encore &lt;a href=&quot;https://github.com/dascritch/DSN13&quot;&gt;le thème de mon blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Parler des implémentations des systèmes de login sur les sites webs, et du faux conflit UX/Sécurité&lt;/li&gt;
&lt;li&gt;Reprendre après son long hiatus &lt;a href=&quot;http://dascritch.net/post/2008/10/21/Psychanalyse-du-clavier-la-premiere-consultation&quot;&gt;ma Psychanalyse du Clavier&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Disséquer la navigation documentaire&lt;/li&gt;
&lt;li&gt;Comparer BBCode-like et Wysiwyg HTML (je sais qu'il est très attendu, ce dossier)&lt;/li&gt;
&lt;li&gt;IPv6 sans pleurer&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Ça va m'occuper.
&lt;/p&gt;</content:encoded>
    
    
    
      </item>
  
	<item>
		<title>À l'heure Californienne : Google I/O 14</title>
		<link>https://dascritch.net/post/2014/06/26/%C3%80-l-heure-Californienne-IO14</link>
		<guid isPermaLink="false">urn:md5:e9c17c63c18550f7bfdb5dff8462d3dc</guid>
		<dc:date>2014-06-26T09:43:00+02:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Gizmo</dc:subject>
        
    <description>Hier, c'était la conférence Google IO, à destination des développeurs. Petit compte rendu du stream de San Francisco pris à Toulouse avec le TAUG en Extended™.		&lt;span class="tags"&gt;&lt;br /&gt;&lt;a href="https://dascritch.net/category/Gizmo"&gt;Gizmo&lt;/a&gt; &lt;/span&gt;
	</description>
    <content:encoded>
		&lt;p&gt;Hier, c'était la conférence Google IO, à destination des développeurs. Petit compte rendu du stream de San Francisco pris à Toulouse avec le TAUG en Extended™.&lt;span class="tags"&gt;&lt;br /&gt;
		&lt;a href="https://dascritch.net/category/Gizmo"&gt;
			Gizmo&lt;/a&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;figure&gt;
&lt;img src=&quot;https://dascritch.net/vrac/.blog2/gizmo/1406-GoogleIO.jpg&quot; alt=&quot;&quot; /&gt;
&lt;figcaption&gt;That's how we sell gizmos in California, USA&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;
Nous nous étions préparés, &lt;a href=&quot;http://arstechnica.com/gadgets/2014/06/required-reading-a-year-of-google-coverage-to-prepare-you-for-io/&quot;&gt;solidement documentés&lt;/a&gt;, chauds comme la braise ce soir-là chez Epitech.&lt;br /&gt;
&lt;a href=&quot;https://www.google.com/events/io&quot;&gt;L'événement Google I/O&lt;/a&gt; à destination de sa communauté de développeurs &lt;a href=&quot;http://youtu.be/wtLJPvx7-ys?t=19m18s&quot;&gt;s'ouvrait sur une gigantesque machine infernale. L'horloge à boules&lt;/a&gt; donnait le décompte avant d'envoyer dans le décor une grosse de bowling.
&lt;/p&gt;
&lt;figure&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;//www.youtube-nocookie.com/embed/wtLJPvx7-ys?rel=0&amp;amp;t=19m18s&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;
&lt;figcaption&gt;
Note : 18 minutes de mire, et pas de son avant 3 minutes après le début. On a eu pareil.
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;
Mais en soit, rien de franchement phénoménal ne devait y être annoncé pour le Grand Public&amp;nbsp;: On était là pour parler surtout technique et gizmos qui vont avec. Si vous ne comprenez rien de rien à HTML5, que vous n'êtes pas prêts &lt;a href=&quot;http://www.androsium.com/&quot;&gt;à apprendre à coder une appli Android (avec Androsium)&lt;/a&gt;, vous risquez d'être perdus à la lecture de ce compte-rendu.
&lt;/p&gt;
&lt;p&gt;
Moi, je m'en fous, j'étais là pour &lt;del&gt;troll&lt;/del&gt; twitter, goûter aux pizzas et &lt;a href=&quot;https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp&amp;hl=en&quot;&gt;démontrer KDE Connect&amp;nbsp;:&lt;/a&gt;
&lt;/p&gt;
&lt;blockquote class=&quot;twitter-tweet tw-align-center&quot; lang=&quot;en&quot;&gt;&lt;p&gt;RT &lt;a href=&quot;https://twitter.com/sim_previdente&quot;&gt;@sim_previdente&lt;/a&gt;: Petite démo de KDE Connect avec &lt;a href=&quot;https://twitter.com/dascritch&quot;&gt;@dascritch&lt;/a&gt; et &lt;a href=&quot;https://twitter.com/_PolyAd&quot;&gt;@_PolyAd&lt;/a&gt; ! &lt;a href=&quot;https://twitter.com/hashtag/magique?src=hash&quot;&gt;#magique&lt;/a&gt; &lt;a href=&quot;https://twitter.com/hashtag/io14?src=hash&quot;&gt;#io14&lt;/a&gt; &lt;a href=&quot;http://t.co/FxuPPt1Ws2&quot;&gt;pic.twitter.com/FxuPPt1Ws2&lt;/a&gt;  &lt;a href=&quot;https://twitter.com/hashtag/ioextended_tlse?src=hash&quot;&gt;#ioextended_tlse&lt;/a&gt;&lt;/p&gt;&amp;mdash; Xavier Mouton-Dubosc (@dascritch) &lt;a href=&quot;https://twitter.com/dascritch/statuses/481859638091317248&quot;&gt;June 25, 2014&lt;/a&gt;&lt;/blockquote&gt;
&lt;/p&gt;
&lt;p&gt;
D'abord un nouveau style d'interface pour la prochaine version d'Android. Désormais, les boutons du bas seront &lt;kbd&gt;◁&lt;/kbd&gt;&amp;nbsp;&lt;kbd&gt;□&lt;/kbd&gt;&amp;nbsp;&lt;kbd&gt;◯&lt;/kbd&gt;.&lt;br /&gt;
Oui, moi aussi, ça m'a choqué : il manque &lt;kbd&gt;×&lt;/kbd&gt; pour que Sony soit heureux de leur faire un procès.
&lt;/p&gt;
&lt;p&gt;
Google continue dans son optique connectée avec sa gamme Google Wear. Après les Google Glass, les Google Watch, et notamment une montre avec un écran rond, preuve des avancées de Sharp dans la production de &lt;a href=&quot;http://hothardware.com/News/Sharp-Announces-FreeForm-Display-Technology-Based-On-IGZO-Shaped-To-Application-Needs/#!4bL2f&quot;&gt;dalles non carrées&lt;/a&gt;.&lt;br /&gt;
Cela reste un gadget coûteux, très coûteux. Les applications proposées comme la biométrie n'en valent pas forcément le prix, et pouvoir consulter la recette de cuisine avec sa montre ne passera pas le test pratique quand vous aurez les doigts plein de farine. Et il faut toujours recharger toutes les 24&amp;nbsp;heures, n'en parlez pas à Jack Bauer. 
&lt;/p&gt;
&lt;h3 id=&quot;troublefetes&quot;&gt;Trouble-fêtes&lt;/h3&gt;
&lt;p&gt;
&lt;a href=&quot;http://www.bbc.com/news/technology-28020654&quot;&gt;Deux interruptions dans le public par des “anti google”&lt;/a&gt;, ou plutôt des personnes qui posent la question du rôle social de Google et de son slogan &lt;q&gt;Don't do evil&lt;/q&gt;. n'ont pas apprécié l'acquisition de &lt;a href=&quot;http://www.bostondynamics.com/&quot;&gt;Boston Dynamics&lt;/a&gt;. Je dirais qu'ils ont raison&amp;nbsp;: on parle du rachat d'une entreprise qui construit des dispositifs militaires, des engins de guerre. &lt;strong&gt;Faute d'une communication claire sur son avenir moral, Google fait peur&lt;/strong&gt;.
&lt;/p&gt;

&lt;blockquote class=&quot;twitter-tweet tw-align-center&quot; lang=&quot;en&quot;&gt;&lt;p&gt;&lt;a href=&quot;https://twitter.com/hashtag/io14?src=hash&quot;&gt;#io14&lt;/a&gt; &lt;a href=&quot;https://twitter.com/hashtag/ioextended_tlse?src=hash&quot;&gt;#ioextended_tlse&lt;/a&gt; &amp;quot;Voice enabled&amp;quot; par défaut. ne dites plus « OK Google » mais « Hello NSA »&amp;#10;Soyez poli, quoi , bordel ! merde !&lt;/p&gt;&amp;mdash; Xavier Mouton-Dubosc (@dascritch) &lt;a href=&quot;https://twitter.com/dascritch/statuses/481844063239290880&quot;&gt;June 25, 2014&lt;/a&gt;&lt;/blockquote&gt;

&lt;h3 id=&quot;privatisation&quot;&gt;La privatisation des API système continue&lt;/h3&gt;
&lt;p&gt;
Et je me demande de plus en plus ce qu'il va rester dans &lt;a href=&quot;https://source.android.com/&quot;&gt;l'Android Open Source Platform&lt;/a&gt;. Apple aussi avait ouvert l'iOS et MacOSX, mais maintenant, vous ne trouverez pratiquement plus grand chose concernant les versions modernes.
&lt;/p&gt;
&lt;p&gt;
Pour me faire l'Avocat du Diable (&lt;q&gt;but he doesn't do evil&lt;/q&gt;), je plaiderais que ce mouvement est logique. Il est dû aux péchés originaux de la plateforme Android&amp;nbsp;: impossible de pouvoir facilement faire migrer la majorité l'écosystème à la dernière &lt;em&gt;release&lt;/em&gt; de l'OS, contrairement à Apple. Les appareils sont souvent encombrés de surcouches constructeurs (Samsung en tête), opérateurs (hein Orange et SFR), et maintenant applicatives (Facebook).
&lt;/p&gt;
&lt;p&gt;
Donc une partie des API importantes ne sont plus dans les parties open-source d'Android, mais dans des applications Google, le framework Google Play Services, actuellement déployé sur 93% des terminaux. &lt;strong&gt;Couplage fort en vue, moins d'expérimentations intéressantes&amp;nbsp;?&lt;/strong&gt; Là où &lt;a href=&quot;https://play.google.com/store/apps/details?id=fr.xplod.focal&amp;hl=en&quot;&gt;une app comme Focal fait bien mieux&lt;/a&gt; que la plupart des applications d'appareil photo par défaut, ben ce choix alternatif risque de disparaître. Résultat, &lt;a href=&quot;http://www.cyanogenmod.org/&quot;&gt;si vous installez une ROM alternative comme CyanogenMod pour libérer votre gizmo&lt;/a&gt;, il est plus que probable que vous installerez rapidement Google Play et les applications Google de base.
&lt;/p&gt;
&lt;p&gt;
Fail.
&lt;/p&gt;
&lt;h3 id=&quot;leprochainmilliard&quot;&gt;La conquête du prochain milliard de devices&lt;/h3&gt;
&lt;p&gt;
Un milliard d'appareils tournant sous Android actuellement en fonction (je ne compte pas les tablettes &lt;em&gt;no-name&lt;/em&gt; qui calent vos commodes).
&lt;/p&gt;
&lt;p&gt;
Le prochain milliard, tout le secteur le sait, il &lt;strong&gt;sera dans les pays en voie de développement&lt;/strong&gt;.&lt;br /&gt;
Google l'a donc clairement annoncé hier qu'il y lancera un smartphone à 100&amp;nbsp;$. Par là-même, il tente donc &lt;a href=&quot;http://dascritch.net/post/2012/11/30/2012%2C-fin-d-un-monde-du-web&quot;&gt;de chasser sur les terres promises à Firefox OS et Tizen&lt;/a&gt;. Non, sans rire, Microsoft ne peut proposer de Windows Phone décent dans ce prix-là, et l'activité &lt;em&gt;feature phone&lt;/em&gt; de Nokia va donc péricliter.
&lt;/p&gt;
&lt;p&gt;
Des pays où les téléphones à double carte SIM y sont très populaires. Forcément, Google va donc proposer le double compte Google sur les appareils, ce qui &lt;strong&gt;amène enfin la possibilité de différencier sa vie privée de son activité professionnelle.&lt;/strong&gt; Effet de bord très bienvenu.
&lt;/p&gt;
&lt;h3 id=&quot;googletv&quot;&gt;Le retour de la Google TV&lt;/h3&gt;
&lt;p&gt;
4&lt;sup&gt;ème&lt;/sup&gt; lancement.&lt;br /&gt;
Va-t-il enfin voler&amp;nbsp;?&lt;br /&gt;
A-t-il une chance de commencer sérieusement en France&amp;nbsp;?&lt;br /&gt;
Ce segment de la conférence avance, un panneau annonce une vingtaine de partenaires industriels, et dans le lot &lt;strong&gt;on notera 2 FAI Français&amp;nbsp;!&lt;br /&gt;
Bouygues Télécom et SFR&lt;/strong&gt; trouveront là le moyen de sortir rapidement une box triple-play puissante, puisque les actuelles avaient été ridiculisées par la Freebox Revolution, et ceci malgré un investissement conséquent. BouygTel encombré d'une interface flash très vieillissante, SFR d'un manque d'applications tierces. C'est encore plus drôle quand on sait que la Freebox Revolution était annoncée officiellement quelques mois après les premières Google TV, et, selon certaines rumeurs parisiennes, devaient même embarquer la Google TV.
&lt;/p&gt;
&lt;p&gt;
Oui, mais la première Google TV était très mal conçue&amp;nbsp;: Basé sur le navigateur Chrome en plein écran, il accusait déjà deux ans de retard par rapport au navigateur qu'on pouvait installer sur son PC. Y développer une belle interface était si pénible qu'on arrivait à un résultat bien plus probant en Flash.
&lt;/p&gt;
&lt;p&gt;
SFR/Numéricable et Bouygues Tel se préparent une très belle nique à Free &lt;a href=&quot;http://dascritch.net/post/2012/01/17/Free-r%C3%A9volution&quot;&gt;(ils n'attendaient que ça)&lt;/a&gt;, faisant valoir de plus leur meilleure connectivité vers les services de Google.&lt;br /&gt;
Et Google lui-même va enfin pouvoir s'installer ans le pays qui a inventé le triple-play ADSL et où ni Google TV, ni AppleTV n'ont jamais pu s'implanter, s'assurant un parc d'abonnés plus que conséquent.
&lt;/p&gt;
&lt;blockquote class=&quot;twitter-tweet tw-align-center&quot; lang=&quot;en&quot;&gt;&lt;p&gt;&lt;a href=&quot;https://twitter.com/hashtag/io14?src=hash&quot;&gt;#io14&lt;/a&gt; &lt;a href=&quot;https://twitter.com/hashtag/ioextended_tlse?src=hash&quot;&gt;#ioextended_tlse&lt;/a&gt; Mantenant, vous pourrez dire « OK Google, skip this ad »&amp;#10;si pratique sur la TNT&lt;/p&gt;&amp;mdash; Xavier Mouton-Dubosc (@dascritch) &lt;a href=&quot;https://twitter.com/dascritch/statuses/481851900103774208&quot;&gt;June 25, 2014&lt;/a&gt;&lt;/blockquote&gt;

&lt;h3 id=&quot;codinginthecloud&quot;&gt;Coding in the  cloud&lt;/h3&gt;
&lt;p&gt;
La démonstration de l'offre d'hébergement de services par Google avait du mal à démarrer, effet Bolnadi oblige, mais elle valait l'attente.
&lt;/p&gt;
&lt;p&gt;
Écrire du code dans n'importe quel langage à partir de son navigateur&amp;nbsp;? Oui on peut, on a des IDE complètes, souvent basées sur &lt;a href=&quot;http://ace.c9.io/&quot;&gt;l'excellent éditeur Ace de Cloud9&lt;/a&gt; , comme par exemple &lt;a href=&quot;https://github.com/dascritch&quot;&gt;chez GitHub.&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Éditer, compiler, déployer&amp;nbsp;? plus rarement.
&lt;/p&gt;
&lt;p&gt;
Éditer, compiler, texter, déployer mais aussi  faire du débug dans une console, toujours dans votre navigateur web, en posant des &lt;em&gt;breakpoint&lt;/em&gt;&amp;nbsp;? Et ben là, ils ont fait hier la démonstration et nous étions bluffés.
&lt;/p&gt;
&lt;p&gt;
Mais pas pour tout le monde car à Toulouse, la tireuse à biaires venait d'ouvrir. &lt;small&gt;Ou le foot&amp;nbsp;?&lt;/small&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;blockquote class=&quot;twitter-tweet tw-align-center&quot; lang=&quot;en&quot;&gt;&lt;p&gt;Bière vs breackpoint et cloud programming &lt;a href=&quot;https://twitter.com/hashtag/ioExtended_tlse?src=hash&quot;&gt;#ioExtended_tlse&lt;/a&gt; &lt;a href=&quot;http://t.co/UD94uuRpVN&quot;&gt;pic.twitter.com/UD94uuRpVN&lt;/a&gt;&lt;/p&gt;&amp;mdash; Maxime Warnier (@maxdow) &lt;a href=&quot;https://twitter.com/maxdow/statuses/481864838139113472&quot;&gt;June 25, 2014&lt;/a&gt;&lt;/blockquote&gt;
&lt;blockquote class=&quot;twitter-tweet tw-align-center&quot; data-conversation=&quot;none&quot; lang=&quot;en&quot;&gt;&lt;p&gt;&lt;a href=&quot;https://twitter.com/maxdow&quot;&gt;@maxdow&lt;/a&gt; &lt;a href=&quot;https://twitter.com/dascritch&quot;&gt;@dascritch&lt;/a&gt; Certains ont essayé de résister mais pas longtemps hein 😀 &lt;a href=&quot;http://t.co/NrMdTU79PK&quot;&gt;pic.twitter.com/NrMdTU79PK&lt;/a&gt;&lt;/p&gt;&amp;mdash; Simon Prévidente (@sim_previdente) &lt;a href=&quot;https://twitter.com/sim_previdente/statuses/481866519744618496&quot;&gt;June 25, 2014&lt;/a&gt;&lt;/blockquote&gt;

&lt;blockquote class=&quot;twitter-tweet tw-align-center&quot; lang=&quot;en&quot;&gt;&lt;p&gt;&lt;a href=&quot;https://twitter.com/hashtag/ioextended_tlse?src=hash&quot;&gt;#ioextended_tlse&lt;/a&gt; this one is for &lt;a href=&quot;https://twitter.com/nitot&quot;&gt;@nitot&lt;/a&gt; and &lt;a href=&quot;https://twitter.com/mozilla_fr&quot;&gt;@mozilla_fr&lt;/a&gt; &lt;a href=&quot;https://twitter.com/MozillaZineFr&quot;&gt;@MozillaZineFr&lt;/a&gt; &lt;a href=&quot;http://t.co/Rl6qDAb4yN&quot;&gt;pic.twitter.com/Rl6qDAb4yN&lt;/a&gt;&lt;/p&gt;&amp;mdash; Xavier Mouton-Dubosc (@dascritch) &lt;a href=&quot;https://twitter.com/dascritch/statuses/481888624842375169&quot;&gt;June 25, 2014&lt;/a&gt;&lt;/blockquote&gt;

&lt;h3 id=&quot;htmlenforce&quot;&gt;Le HTML5 en force&lt;/h3&gt;
&lt;p&gt;
Et à un point qui est surprenant&amp;nbsp;: Android suit la voie inverse d'iOS. Au sens qu'au lancement d'iOS, aucune application n'était installable donc tout devait être fait en HTML5. Android lui, était prévu pour installer des applications d'entrée, mais en concevoir les &lt;em&gt;vues&lt;/em&gt;, l'aspect de l'interface, tourne au cauchemar car il faut prévoir un code spécifique pour pratiquement chaque dimension d'écran existante. Mais, par les joies du &lt;em&gt;Responsive Web Design&lt;/em&gt;, en intégrant une page html directement dans votre application, ce que l'on appelle une &lt;em&gt;WebView&lt;/em&gt;.&lt;br /&gt;
Dans les annonces d'hier, &lt;strong&gt;Android pousse de plus en plus vers HTML5 et pas que dans WebView.&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Énormément d'API montent dans le navigateur web, mais aussi l'arrivée en force des web-components. En résumé&amp;nbsp;: &lt;a href=&quot;http://www.polymer-project.org/&quot;&gt;Polymer&lt;/a&gt; va ainsi proposer les éléments d'interface du système Android transposés en HTML5 et en web-components. &lt;strong&gt;Ce sujet mérite un article complet, donc je le traiterai de manière approfondie la semaine prochaine.&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Depuis 6 ans, des gens très futés tentaient de faire des interface à la iPhone en HTML. La raison est que l'interface utilisateur a été énormément travaillée par des graphistes et des ergonomes et qu'elle possède sa propre logique. Mais jamais Apple n'avait proposé d'implémentation officielle de ses guidelines UI, et bien souvent, ces implémentations sont complètement foireuses, je pense notamment aux extensions “mobile” Wordpress pénibles et peu lisibles au final.
&lt;/p&gt;
&lt;p&gt;
Google va donc proposer son interface Android en &lt;em&gt;web-components&lt;/em&gt; standards, et en plus via Polymer, donc non limité à Chrome, mais compatible Firefox, Opera, Safari et même MSIE9.&lt;br /&gt;
C'est très important car cela sonne enfin le glas des frameworks css monolithiques à la &lt;a href=&quot;http://foundation.zurb.com/&quot;&gt;Foundation&lt;/a&gt; et surtout (kooff koooffff) &lt;a href=&quot;http://www.getbootstrap.com/&quot;&gt;Bootstrap&lt;/a&gt;. Nous allons donc très sérieusement y gagner en professionnalisme et en qualité d'interface pour nos applications web. Et Google offre aussi par là-même un moyen efficace de faire tester son univers mobile à tous les utilisateurs du web. C'est aussi une ouverture publique d'une partie du code-source.
&lt;/p&gt;
&lt;blockquote class=&quot;twitter-tweet tw-align-center&quot; lang=&quot;en&quot;&gt;&lt;p&gt;new polymer demos are cool &lt;a href=&quot;http://t.co/Zid5ko0ion&quot;&gt;http://t.co/Zid5ko0ion&lt;/a&gt; &amp;#10;&lt;a href=&quot;http://t.co/9B2qUl3Ifx&quot;&gt;http://t.co/9B2qUl3Ifx&lt;/a&gt;&amp;#10;&lt;a href=&quot;http://t.co/IWIVdyMlNv&quot;&gt;http://t.co/IWIVdyMlNv&lt;/a&gt; except for keyboard or assistive tech users&lt;/p&gt;&amp;mdash; Steve Faulkner (@stevefaulkner) &lt;a href=&quot;https://twitter.com/stevefaulkner/statuses/481859355583983616&quot;&gt;June 25, 2014&lt;/a&gt;&lt;/blockquote&gt;
&lt;p&gt;
Petit bémol pointé par Steve Faulkner dans son twit&amp;nbsp;: il y a encore des efforts à faire en terme d'accessibilité, ce qui est plutôt primordial dans le web.
&lt;/p&gt;
&lt;h3 id=&quot;surplace&quot;&gt;Et sur place&lt;/h3&gt;
&lt;p&gt;
Outre la retransmission de foot qui n'a intéressé qu'une demi-douzaine de masos, les boissons, pizzas, charcuteries et fromages fins, une douzaine de startups ont pu présenter leurs activités comme &lt;a href=&quot;http://unitag.fr/&quot;&gt;Unitag&lt;/a&gt;, &lt;a href=&quot;http://www.androsium.com/&quot;&gt;Androsium (de circonstance)&lt;/a&gt; et &lt;a href=&quot;http://register.jukast.com/&quot;&gt;le très prometteur Jukast&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
On a eu droit à de belles démos technologiques, mais c'est une fois de plus &lt;a href=&quot;http://www.toulouseinfos.fr/index.php/dossiers/breves/10916-bac-a-sable-a-realite-augmentee-une-premiere-francaise-a-futurapolis.html&quot;&gt;le bac-à-sable interactif de Science Animation&lt;/a&gt; qui a attiré ces grands enfant de devs hardcores. Internet des Objets, mais bien sûr ;)
&lt;/p&gt;
&lt;h3 id=&quot;lablablague&quot;&gt;La blague de la soirée&lt;/h3&gt;
&lt;p&gt;
Les participants de la soirée IO Extended à Epitech Toulouse pouvaient gagner des goodies sur un concours de bits. Euh pardon de retweets.
&lt;/p&gt;
&lt;p&gt;
J'ai stratégiquement axé mon sujet sur le chiffre des 93 millions de &lt;em&gt;selfies&lt;/em&gt; par jour dans le monde fait avec un gizmo android.
&lt;/p&gt;
&lt;blockquote class=&quot;twitter-tweet tw-align-center&quot; lang=&quot;en&quot;&gt;&lt;p&gt;One more selfie bite the dust &lt;a href=&quot;https://twitter.com/hashtag/ioextended_tlse?src=hash&quot;&gt;#ioextended_tlse&lt;/a&gt; &lt;a href=&quot;http://t.co/xp7rqZuuWl&quot;&gt;pic.twitter.com/xp7rqZuuWl&lt;/a&gt;&lt;/p&gt;&amp;mdash; Xavier Mouton-Dubosc (@dascritch) &lt;a href=&quot;https://twitter.com/dascritch/statuses/481834227756199936&quot;&gt;June 25, 2014&lt;/a&gt;&lt;/blockquote&gt;
&lt;p&gt;
Que j'ai gagné… d'une courte tête face &lt;a href=&quot;https://twitter.com/lslisbesanchez&quot;&gt;à Lisbé&lt;/a&gt;, &lt;strong&gt;sur une immonde faute d'anglais&lt;/strong&gt;. J'étais mortifié quand je m'en suis rendu compte 30mn trop tard.
&lt;/p&gt;
&lt;blockquote class=&quot;twitter-tweet tw-align-center&quot; lang=&quot;en&quot; data-conversation=&quot;none&quot; &gt;&lt;p&gt;&lt;a href=&quot;https://twitter.com/dascritch&quot;&gt;@dascritch&lt;/a&gt; &lt;a href=&quot;https://twitter.com/hashtag/ioextended_tlse?src=hash&quot;&gt;#ioextended_tlse&lt;/a&gt; JulienKT David et Xavier sur la même photo. Stylé les gars.&lt;/p&gt;&amp;mdash; Julien Del Rio (@JulienDelRio) &lt;a href=&quot;https://twitter.com/JulienDelRio/statuses/481837290784698369&quot;&gt;June 25, 2014&lt;/a&gt;&lt;/blockquote&gt;

&lt;blockquote class=&quot;twitter-tweet tw-align-center&quot; lang=&quot;en&quot;  data-conversation=&quot;none&quot;&gt;&lt;p&gt;“&lt;a href=&quot;https://twitter.com/dascritch&quot;&gt;@dascritch&lt;/a&gt; # &lt;a href=&quot;https://twitter.com/hashtag/ioextended_tlse?src=hash&quot;&gt;#ioextended_tlse&lt;/a&gt;  roooonnroooooon &amp;gt;^.^&amp;lt; &lt;a href=&quot;http://t.co/FJ6NA0YCsV&quot;&gt;pic.twitter.com/FJ6NA0YCsV&lt;/a&gt;” thanks to &lt;a href=&quot;https://twitter.com/BeMyAppFR&quot;&gt;@BeMyAppFR&lt;/a&gt; and &lt;a href=&quot;https://twitter.com/intel&quot;&gt;@intel&lt;/a&gt; france&lt;/p&gt;&amp;mdash; Julien Del Rio (@JulienDelRio) &lt;a href=&quot;https://twitter.com/JulienDelRio/statuses/481899714967642112&quot;&gt;June 25, 2014&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&quot;//platform.twitter.com/widgets.js&quot; charset=&quot;utf-8&quot;&gt;&lt;/script&gt;
&lt;p&gt;
Et pas &lt;del&gt;peu&lt;/del&gt; fier en brandissant mon Galaxy Tab 3 tout bô &lt;small&gt;qui d'ailleurs, n'est pas &lt;em&gt;vraiment&lt;/em&gt; le mien, c'est un outil de développement HTML5 fourni par Intel. Avantage&amp;nbsp;: j'ai un numéro de helpdesk aux US. &lt;q&gt;Hello IT&amp;nbsp;?&lt;/q&gt;&lt;/small&gt;&lt;br /&gt;
N'empêche… une prise électrique américaine ^^, mes &lt;a href=&quot;http://dascritch.net/post/2011/02/02/Blague-pipi-caca&quot;&gt;toilettes Toto&lt;/a&gt; vont se sentir moins seules sur mon transfo 110V/60Hz de salle de bain.
&lt;/p&gt;
&lt;p&gt;
Milles mercis à tous !
&lt;/p&gt;
&lt;blockquote class=&quot;twitter-tweet tw-align-center&quot; lang=&quot;en&quot;&gt;&lt;p&gt;Merci à tous !! &lt;a href=&quot;https://twitter.com/hashtag/io14?src=hash&quot;&gt;#io14&lt;/a&gt; &lt;a href=&quot;https://twitter.com/hashtag/ioExtended_tlse?src=hash&quot;&gt;#ioExtended_tlse&lt;/a&gt; &lt;a href=&quot;https://twitter.com/EPITECHToulouse&quot;&gt;@EPITECHToulouse&lt;/a&gt; &lt;a href=&quot;http://t.co/Dha11Zx6cG&quot;&gt;pic.twitter.com/Dha11Zx6cG&lt;/a&gt;&lt;/p&gt;&amp;mdash; ToulouseAndroidUG (@ToulouseAUG) &lt;a href=&quot;https://twitter.com/ToulouseAUG/statuses/481895425101021184&quot;&gt;June 25, 2014&lt;/a&gt;&lt;/blockquote&gt;
&lt;p&gt;
À Intel et &lt;a href=&quot;http://events.bemyapp.com/events/index/france&quot;&gt;BeMyApp France&lt;/a&gt; pour le superbe cadeau, au &lt;a href=&quot;http://toulouseaug.blogspot.fr&quot;&gt;Toulouse Android UG&lt;/a&gt;, &lt;em&gt;as usual&lt;/em&gt; à l'&lt;a href=&quot;http://www.epitech.eu/ecole-informatique-toulouse.aspx&quot;&gt;Epitech Toulouse&lt;/a&gt; pour leur accueil et surtout à &lt;a href=&quot;https://twitter.com/JulienDelRio&quot;&gt;Julien Del Rio&lt;/a&gt; qui était dans la salle de conférence à San Francisco et qui visiblement n'arrêtait pas de pouffer de mes blagues twittées sous les regards intrigués de ses voisins américains.
&lt;/p&gt;

&lt;script async src=&quot;//platform.twitter.com/widgets.js&quot; charset=&quot;utf-8&quot;&gt;&lt;/script&gt;</content:encoded>
    
    
    
      </item>
    
</channel>
</rss>