<?xml version="1.0" encoding="utf-8" standalone="no"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://dascritch.net/feed/rss2/xslt" ?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" version="2.0">
<channel>
	<title>da scritch net works</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, 13 Aug 2024 06:11:57 +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>2024-08-13T06:11:57+02:00</sy:updateBase>

	
	<xhtml:meta content="noindex" name="robots" xmlns:xhtml="http://www.w3.org/1999/xhtml"/><item>
		<title>Cinquantenaire</title>
		<link>https://dascritch.net/post/2024/08/02/Cinquantenaire</link>
		<guid isPermaLink="false">urn:md5:f1a8d21617230de29e08e67c4e8f837d</guid>
		<dc:date>2024-08-02T08:00:00+02:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Ma vie est une sitcom</dc:subject>
        
    <description>Ça devait finalement m'arriver...		&lt;span class="tags"&gt;&lt;br /&gt;&lt;a href="https://dascritch.net/category/Ma-vie-est-une-sitcom"&gt;Ma vie est une sitcom&lt;/a&gt; &lt;/span&gt;
	</description>
    <content:encoded>
		&lt;p&gt;Ça devait finalement m'arriver...&lt;span class="tags"&gt;&lt;br /&gt;
		&lt;a href="https://dascritch.net/category/Ma-vie-est-une-sitcom"&gt;
			Ma vie est une sitcom&lt;/a&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;
Voilà, j'ai 50 ans.
&lt;/p&gt;
&lt;p&gt;
Je suis censé être plus mûr, sûrement moins frais, plus sage mais plus aigri. Mais j'essaie de rester passionné même si j'ai délaissé dernièrement (provisoirement) mes engagements associatifs, mon émission de radio et ce blog.
&lt;/p&gt;
&lt;p&gt;
Je remercie tous mes amies et amis qui ont pu venir à notre soirée, et bien évidemment, j'en veux nullement à ceux qui n'ont pu venir ou se sont annulés à la dernière minute.
&lt;/p&gt;
&lt;img src="https://dascritch.net/vrac/.blog2/sitcom/.2408-cinquantenaire_m.jpg" alt="" /&gt;

&lt;p&gt;
PS 1 : Cette soirée n'aurait pu être possible sans Enflammée, bien sûr.
&lt;/p&gt;

&lt;p&gt;
PS 2 : Ce billet a été volontairement antidaté.
&lt;/p&gt;


&lt;p&gt;
PS 3 : Crédit photo NoCoGabriel.
&lt;/p&gt;</content:encoded>
    
    
    
      </item>
  
	<item>
		<title>Bye bye, GPDis !</title>
		<link>https://dascritch.net/post/2022/02/11/Bye-bye%2C-GPDis-%21</link>
		<guid isPermaLink="false">urn:md5:c8d8f17cb428a92e6e78a351c7c1589a</guid>
		<dc:date>2022-02-11T06:55:00+01:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Ma vie est une sitcom</dc:subject>
        
    <description>Aujourd'hui est mon dernier jour à Eurocentre. Je quitte mon emploi de développeur chez GPDis, un important acteur dans la vente d'électroménager. Mais pas que.		&lt;span class="tags"&gt;&lt;br /&gt;&lt;a href="https://dascritch.net/category/Ma-vie-est-une-sitcom"&gt;Ma vie est une sitcom&lt;/a&gt; &lt;/span&gt;
	</description>
    <content:encoded>
		&lt;p&gt;Aujourd'hui est mon dernier jour à Eurocentre. Je quitte mon emploi de développeur chez GPDis, un important acteur dans la vente d'électroménager. Mais pas que.&lt;span class="tags"&gt;&lt;br /&gt;
		&lt;a href="https://dascritch.net/category/Ma-vie-est-une-sitcom"&gt;
			Ma vie est une sitcom&lt;/a&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;
&lt;img src="https://dascritch.net/vrac/.blog2/sitcom/.2202-leaving-gpdis_s.jpg" alt="" class="r" /&gt;
Depuis 2007 je n'étais pas resté aussi longtemps dans une entreprise. Aujourd'hui, je quitte GPDis à quelques jours des 5&amp;nbsp;années de mon arrivée.&lt;br /&gt;
GPDis qui a intégré entre-temps &lt;a href="https://www.mda-electromenager.com/fr/"&gt;MDA Group,&lt;/a&gt; c'est des centaines de points de vente direct, des enseignes comme Pulsat, Villatech, Dimipro, Phox,et maintenant MDA, plusieurs plateformes d'e-commerce en &lt;abbr title="pour le grand public"&gt;B2C&lt;/abbr&gt; et &lt;abbr title="pour les entreprises"&gt;B2B&lt;/abbr&gt;, une logistique avec &lt;a href="http://www.gpdis.com/plateformes/"&gt;plusieurs entrepôts sur l'hexagone,&lt;/a&gt; un service &lt;abbr title="technique"&gt;IT&lt;/abbr&gt; dédiée à ses points de vente et aux commerciaux et tous les  services supports sur la multitude de canaux &lt;em lang="en"&gt;retail&lt;/em&gt; qui en couvre le spectre commercial.
&lt;p&gt;
Avant d'entrer dans cette très grosse &lt;abbr&gt;PME&lt;/abbr&gt;, j'avais développé plusieurs solutions d'e-commerce, &lt;a href="https://dascritch.net/tag/dagence"&gt;dont une&lt;/a&gt; avec &lt;a href="https://dascritch.net/post/2020/10/25/Adieu-Xylpho"&gt;le regretté Xylpho,&lt;/a&gt; mais je dois dire que chez GPDis j'ai appris de multiples choses sur la logistique, sur les particularismes, sur les veilles de prix et politiques tarifaires. Un groupe protéiforme avec de multiples canaux de ventes, un vaste panorama de clientèle &lt;abbr&gt;B2B&lt;/abbr&gt; et &lt;abbr&gt;B2C&lt;/abbr&gt;, j'avais vraiment beaucoup à y découvrir.
&lt;/p&gt;
&lt;p&gt;
Ayant eu en charge un outil métier qui semble simple mais dont l'historique git remonte à 2011, il m'a déjà raconté bien des choses sur la vie d'une entreprise.&lt;br /&gt;
Le genre d'outil &lt;em lang="en"&gt;custom&lt;/em&gt; costaud, l'ouvrage séculaire qui en impose, où l'on passe la lourde porte en bois pour entrer dans une immense cathédrale, où chaque pas sur le code de pierre résonnent dans l'immense nef de la Production au point qu'on n'ose marcher que sur la pointe des pieds afin de ne pas trop attirer l'attention (un peu comme dans le stock attenant après la période des soldes). Un progiciel avec lequel je discutais avec d'autres service internes et externes, où je me devais d'être carré. J'étais intimidé… mais le copain qui m'a mis là et l'équipe autour a su me mettre en confiance.
&lt;/p&gt;
&lt;p&gt;
J'ai eu à le stabiliser, le fiabiliser, l'accélérer et enfin l'étendre encore plus. Et autour de moi, un groupe aussi évoluait à toute vitesse.
&lt;/p&gt;
&lt;p&gt;
J'y ai beaucoup appris. J'avais une expérience sur le e-commerce, mais je n'avais pas l'expérience à cette échelle-là et sur autant de prestations. Si je connaissais déjà la différence entre un &lt;abbr title="Stock keeping unit, index interne à l'entreprise"&gt;SKU&lt;/abbr&gt; et un &lt;abbr title="Global Trade Item Number, index international standardisé par une autorité centrale"&gt;GTIN&lt;/abbr&gt;, j'ai eu aussi la surprise de découvrir qu'un même modèle d'un même fabricant pouvoir ne pas avoir le même &lt;abbr&gt;GTIN&lt;/abbr&gt; selon les fournisseurs. J'ai aussi (honte à moi) ri quand un prestataire e-commerce qui roulait des mécaniques tenait absolument à utiliser sa version des frais de port en fonction du poids, et qu'il a enfin compris que non, on ne vend pas comme des maillots de foot des frigos américains et des télés, la gestion des transports est nettement plus &lt;em lang="en"&gt;touchy&lt;/em&gt; que ça. J'ai aussi fait au grand plaisir de &lt;a href="https://www.linkedin.com/in/loick-daures-143078ab/"&gt;Loick Daures&lt;/a&gt; une démonstration de &lt;em lang="jp"&gt;chanbara&lt;/em&gt;, quand un ingénieur commercial d'un grand opérateur réseau a crû m'expliquer le &lt;abbr&gt;RGPD&lt;/abbr&gt; et s'est retrouver à sauter précipitamment les pages de son PowerPoint par dizaines devant ses collègues commerciaux en sueur alors qu'en devisant des citations latines, je sortais mon &lt;em lang="jp"&gt;katana&lt;/em&gt;. Et j'ai appris encore tant d'autres choses, rien que la formation &lt;abbr title="Sauveteur Secouriste du Travail"&gt;SST&lt;/abbr&gt; d'utilité publique que j'aurais dû avoir fait depuis une dizaine d'années, ou encore cette des &lt;a href="https://delicious-insights.com/"&gt;applicatifs javascript avec Christophe Porteneuve&lt;/a&gt; qui a été un grand moment dans l'équipe.
&lt;/p&gt;
&lt;p&gt;
J'ai mis ma patte aussi&amp;nbsp;: essayer de faire en sorte que le même vocabulaire soit utilisé d'un service à l'autre, qu'il y ai une gestion documentaire normalisée sur le logiciel dont j'avais la charge et enfin découpler du métier ce qui tient de l'&lt;abbr&gt;OS&lt;/abbr&gt; (notamment les transferts de fichiers) et normaliser &lt;a href="https://dascritch.net/tag/bash"&gt;les scripts bash&lt;/a&gt;, dont j'ai résumé la philosophie de mes scripts sur &lt;a href="https://dascritch.net/post/2017/09/25/En-20-lignes-pas-plus-%3A-un-verrou-non-concurrentiel-pour-tes-scripts-bash"&gt;le verrou non-concurrentiel&lt;/a&gt; et &lt;a href="https://dascritch.net/post/2018/01/08/En-20-lignes-pas-plus-%3A-g%C3%A9rer-les-options-d-appel-de-tes-scripts-bash"&gt;les options d'appel&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Je remercie ceux qui m'ont précédé à ce poste&amp;nbsp;: &lt;a href="https://www.linkedin.com/in/wo0dyn/"&gt;Nicolas Dubois&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/antoine-cezar/"&gt;Antoine Cézar&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/camille-alram-650519b9/"&gt;Camille Alram&lt;/a&gt; et &lt;a href="https://github.com/harmo"&gt;David Talagrand&lt;/a&gt;, ce dernier m'a co-opté pour prendre la suite (d'ailleurs, en 25&amp;nbsp;années, je n'ai été que co-opté pour mes postes). Par hasard, il se trouve que ce sont tous des amis. Je remercie infiniment &lt;a href="https://www.linkedin.com/in/david-lefoye/"&gt;David Lefoye&lt;/a&gt; pour sa bienveillance et sa connaissance &lt;q&gt;à 360°&lt;/q&gt; du secteur, &lt;a href="https://www.linkedin.com/in/r%C3%A9mi-soubranne-5a459a78/"&gt;Rémi Soubranne&lt;/a&gt; pour son amitié (un &lt;abbr title="Product owner"&gt;P.O.&lt;/abbr&gt; commercial dans la vente d'électroménager qui vous écrit parfaitement des tickets sur Github, c'est du bonheur&amp;nbsp;!), tous ceux qui ont été mes collègues à l'&lt;abbr&gt;IT&lt;/abbr&gt; et ceux qui y sont encore. Je salue aussi &lt;a href="https://www.linkedin.com/in/danielbroche/"&gt;Daniel Broche&lt;/a&gt; qui avant de travailler pour des concurrents, avant manqué de me prendre chez GPDis du temps de Discounteo. Lui aussi est resté un ami et j'occupe son ancien bureau.
&lt;/p&gt;
&lt;p&gt;
Alors évidemment, il y a les regrets des chantiers jamais commencés, des occasions prises pas assez tôt. Il y eu aussi la surprise pour certains que le télétravail fonctionne, alors qu'en étant déjà divisés entre 4&amp;nbsp;régions, nous appliquions déjà de fait tout ce qu'il fallait. Et puis les lancements qui furent de bonnes surprises malgré mes sombres prédictions.
&lt;/p&gt;
&lt;p&gt;
J'ai eu plaisir à travailler avec des professionnels sérieux, aux parcours et spécialisations variés, de la bonne humeur au café, &lt;a href="https://www.chocoblast.fr/"&gt;les raids de choco-blast (que j'ai commué en paniers de fruits),&lt;/a&gt; la paella en salle de réunion, les tournois de baby-foot, des &lt;abbr&gt;BBQ&lt;/abbr&gt; dehors et des soirées &lt;em lang="en"&gt;afterworks&lt;/em&gt;. Ce plaisir, j'espère qu'il fut partagé.
&lt;/p&gt;
&lt;p&gt;
Mes nouvelles aventures s'annoncent tout aussi palpitantes.
&lt;/p&gt;
&lt;p&gt;
Note : photo datant de 2019 d'où l'absence du port de protection faciale.
&lt;/p&gt;</content:encoded>
    
    
    
      </item>
  
	<item>
		<title>Radio FMR, mais elle dure depuis 40 ans</title>
		<link>https://dascritch.net/post/2021/11/22/Radio-FMR%2C-mais-elle-dure-depuis-40-ans</link>
		<guid isPermaLink="false">urn:md5:5012d996dbe435ac793bdd6559671f7c</guid>
		<dc:date>2021-11-22T07:07:00+01:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Radio</dc:subject>
        
    <description>Et elle a encore tant à vous dire		&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;Et elle a encore tant à vous dire&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="https://radio-fmr.net/archives-actus/#post-46313"&gt;Pour ses 40 ans, Radio &amp;lt;FMR&amp;gt; organise quelques soirées live,&lt;/a&gt; et cela a commencé dès Vendredi dernier, avec une prog qui allait du rockabilly au punk. Je poste les photos au fin fond du billet (exprès), et sinon une très grosse soirée aura lieue &lt;a href="https://lebikini.com/2021/11/27/40-ans-radio-fmr/"&gt;ce Samedi au Bikini avec un plateau de qualité&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Et là, vous allez me dire
&lt;/p&gt;
&lt;h3 id="existe_encore"&gt;« FMR ? Ça existe encore ? »&lt;/h3&gt;
&lt;p&gt;
Eh ben oui ! Depuis 1981, elle vit encore grâce à la bonne volonté de bénévoles comme moi. Oui, une radio associative, c'est incongru à l'époque où l'on peut théoriquement se faire du pognon sur Youtube et Twitch, mais dans les faits, c'est justement une bonne garantie de ne pas avoir de publicités outrancières pour des pilules soit disant amaigrissantes par des évadés fiscaux au Qatar. Et ça change tout.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="https://cpu.dascritch.net/post/2021/11/25/Bonjour-%C3%A0-toi%2C-Enfant-du-Futur-Imm%C3%A9diat-%3A-Les-ann%C3%A9es-punk-de-radio"&gt;(En fait, je l'ai finalement mieux dit au micro, mais vous pouvez continuer à lire ce billet)&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Avoir un média qui ne vous traque pas dès que vous tentez d'y accéder, avoir un média qui ne soit pas derrière un logwall ou un paywall (coucou Instagram, coucou Webedia), avoir un média dont l'accès gratuit est garanti et son ancrage local aussi sans publicité, y'en a pas brézef.
&lt;/p&gt;
&lt;p&gt;
Mais un média qui ne cherche pas forcément l'audience et donc a sur son antenne &lt;a href="https://cpu.pm"&gt;des émissions aux sujets vraiment pointus, comme CPU&lt;/a&gt;, c'est encore plus rare&amp;nbsp;! Ni mon émission, ni d'autres qui sont sur FMR auraient eu la moindre chance sur un autre média à place limité. C'est ce qui en fait la complémentarité du secteur associatif de la radio. On a l'inconfort des moyens mais la liberté de ne pas être tributaire de l'audience et donc de la publicité, et sans être sous la coupe d'un pouvoir politique. Le CSA est seul juge sur notre existence.
&lt;/p&gt;
&lt;p&gt;
Alors le manque de moyens, les conditions des fois acrobatiques pour assurer un sujet, voire le snobisme de certaines boites quand on leur demande une interview, c'est pour moi la preuve que nous avons encore plus que jamais le mérite de continuer d'émettre.
&lt;/p&gt;
&lt;p&gt;
Et de ça, j'en reparlerais ce Jeudi à la radio sur pourquoi FMR est un putain de miracle encore actuellement.
&lt;/p&gt;

&lt;h3 id="photos"&gt;Photos de Vendredi dernier&lt;/h3&gt;
&lt;p&gt;
Mille mercis aux groupes, aux volontaires de la radio et à l'équipe de l'Usine à Musique, qui nous a fait un accueil vraiment super&amp;nbsp;!
&lt;/p&gt;
&lt;p class="c"&gt;
&lt;a rel="lightbox[concerts]" href="https://dascritch.net/vrac/.blog2/radio/2111-FMR-Concert-LesSaboteurs.jpg"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/radio/.2111-FMR-Concert-LesSaboteurs_m.jpg" alt="" /&gt;&lt;/a&gt;
&lt;a rel="lightbox[concerts]" href="https://dascritch.net/vrac/.blog2/radio/2111-FMR-Concert-RadicalKittens.jpg"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/radio/.2111-FMR-Concert-RadicalKittens_m.jpg" alt="" /&gt;&lt;/a&gt;
&lt;/p&gt;</content:encoded>
    
    
    
      </item>
  
	<item>
		<title>…sans Frank</title>
		<link>https://dascritch.net/post/2021/10/06/%E2%80%A6sans-Frank</link>
		<guid isPermaLink="false">urn:md5:9384add070757633e2aa6b8d273ed5d0</guid>
		<dc:date>2021-10-06T13:22:00+02:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Sortons</dc:subject>
        
    <description>J'ai pas le courage d'une conf web dans l'immédiat sans lui.		&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;J'ai pas le courage d'une conf web dans l'immédiat sans lui.&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;
Cela fait un mois que Frank Taillandier nous a brusquement quitté. Un individu attachant que j'ai vraiment découvert aux apéro-web. Un gars qui était un excellent teambuilder&amp;nbsp;: enthousiasmant, énergique, cultivé, passionné. Et il m'a poussé à présenter une conf alors que je déprimais, c'était &lt;a href="https://dascritch.net/post/2012/05/29/Bref-j-ai-fait-ma-pr%C3%A9sentation-%C3%A0-Sud-Web"&gt;à mon premier Sud Web&lt;/a&gt;. Plus tard, &lt;a href="https://dascritch.net/post/2015/06/03/micro-%40HalluFMR-37-%3A-Conf%C3%A9rence%2C-avec-Nathalie-Rosenberg-et-Frank-Taillandier"&gt;tu as dit que c'était des conférences pour réfléchir sur nos métiers.&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Je suis très loin d'être le seul que tu as pris par la main, pour nous hisser vers un autre niveau de responsabilités.
&lt;/p&gt;

&lt;p&gt;
Et là, quand il est parti, j'ai découvert combien &lt;a href="https://github.com/DirtyF?tab=repositories"&gt;il était impliqué dans plein de projets.&lt;/a&gt; Comme plein d'autres, j'ai découvert qu'&lt;a href="https://talk.jekyllrb.com/t/frank-aka-dirtyf/6418"&gt;il animait le repo Jekyll&lt;/a&gt;. Frank, tu es encore plein de surprises. Pour nous, &lt;a href="https://tina.io/blog/our-friend-frank-taillandier/"&gt;pour tes collègues&lt;/a&gt;, pour tes amis, pour ta famille. Tu as même réussi à t'auto-&lt;a href="https://www.chocoblast.fr/"&gt;chocoblaster&lt;/a&gt; quand tu es parti (et heureusement).
&lt;/p&gt;

&lt;p&gt;
Oui, &lt;a href="https://sudweb.github.io/frank/"&gt;personne qui ne l'a connu n'a manqué de louanges pour Frank.&lt;/a&gt; C'est plus que mérité.&lt;br /&gt;
Pourtant, je l'ai aussi connu énervé, d'un agacement communicatif quand quelqu'un fait mal son boulot, ne veut pas apprendre, n'en n'a rien à faire des autres. Il m'a aussi appris (un peu tard) à savoir lâcher prise, quand ça veut pas, ça veut pas. Je l'ai aussi vu faire craquer des gens qui ne méritaient pas tes colères. Mais tu nous a tellement amené d'objectifs positif dans nos vies…
&lt;/p&gt;


&lt;p&gt;
&lt;img src="https://dascritch.net/vrac/.blog2/sortons/2109-Frank.jpg" alt="" class="c" /&gt;
&lt;/p&gt;

&lt;p&gt;
Demain commence un Paris Web.&lt;br /&gt;
Ce genre de manifestations nous manque, mais là, j'ai un peu de mal un mois après, je ne me suis pas inscrit, alors que leur programme est formidable. Parce que Frank, entres autres, m'a fait rentrer dans cette communauté des 1% des web-devs riches de leurs passions. Et que j'ai encore besoin de digérer un peu cette perte.
&lt;/p&gt;

&lt;p&gt;
Voilà. Ça fait beaucoup de copains proches morts jeunes ces derniers temps, alors qu'on pouvait pas se voir de visu. J'ai le blues, j'ai mis un mois à publier ce billet, et je garderais cette formidable photo de toi en super-héros.&lt;br /&gt;
Ton départ brusque est une lourde perte, et c'est à nous de créer de nouvelles communautés avec ton héritage moral.
&lt;/p&gt;</content:encoded>
    
    
    
      </item>
  
	<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="Ex0117 À la source du son"
    poster="https://cpu.dascritch.net/public/Images/Emissions/.1910-Ex0117-SourceDuSon_s.jpg"
    canonical="https://cpu.dascritch.net/post/2019/10/17/Ex0117-%C3%80-la-source-du-son"
    waveform="https://cpu.dascritch.net/public/Sonores/Emissions/waveforms/0117-CPU%2817-10-19%29.png"
    twitter="@cpuprogramme"&gt;
    &lt;audio controls id="emission"&gt;
        &lt;source src="https://cpu.dascritch.net/public/Sonores/Emissions/hls/0117-CPU%2817-10-19%29/index.m3u8" type="application/x-mpegurl" /&gt; 
        &lt;source src="https://cpu.dascritch.net/public/Sonores/Emissions/0117-CPU%2817-10-19%29.ogg" type="audio/ogg" /&gt;
        &lt;source src="https://cpu.dascritch.net/public/Sonores/Emissions/podcast/0117-CPU%2817-10-19%29.mp3" type="audio/mpeg" data-downloadable /&gt;
        &lt;track kind="chapters" src="https://dascritch.net/vrac/.blog2/webdev/0117-CPU_17-10-19_.vtt" 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="https://dascritch.net/post/2018/11/06/Mettre-de-l-audio-dans-le-web-n-a-pas-%C3%A9t%C3%A9-simple"&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="https://dascritch.net/post/2018/11/06/Reconstruire-son-lecteur-audio-pour-le-web"&gt;Reconstruire son lecteur audio pour le web&lt;/a&gt; (sur la version 5)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dascritch.net/post/2019/06/05/Retravailler-un-lecteur-web-audio-dans-les-petites-largeurs"&gt;Retravailler un lecteur web audio dans les petites largeurs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dascritch.net/post/2019/06/18/Le-blues-du-navigator.share"&gt;Le blues du Web Share&lt;/a&gt;  (&lt;a href="https://dascritch.net/post/2019/06/26/We-need-Web-Share"&gt;english version&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dascritch.net/post/2019/11/13/Deux-couleurs-bizarres-en-CSS"&gt;Deux couleurs bizarres en CSS&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
&lt;a href="https://github.com/dascritch/cpu-audio/releases/tag/7.0"&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="http://cpu.pm"&gt;l'émission CPU&lt;/a&gt; en WebComponent a été revu en profondeur, &lt;a href="https://github.com/dascritch/cpu-audio/releases/tag/7.0"&gt;avec moult corrections et notamment l'arrivée des thèmes graphiques&lt;/a&gt; en plus du &lt;a href="https://dascritch.github.io/cpu-audio/applications/live_config.html"&gt;système simple de configuration&lt;/a&gt;&lt;/p&gt;


&lt;p class="c"&gt;&lt;a href="https://dascritch.github.io/cpu-audio/"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/webdev/.2104-cpuaudio-7_m.jpg" alt="" /&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="https://cpu.pm/0069"&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="en"&gt;vanilla&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;J'ai donc déjà longuement raconté sur ce blog &lt;a href="https://dascritch.net/post/2018/11/06/Reconstruire-son-lecteur-audio-pour-le-web"&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="https://github.com/dascritch/cpu-audio/issues/8"&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="https://github.com/dascritch/cpu-audio/issues/76"&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="https://dascritch.github.io/cpu-audio/applications/chapters_editor.html"&gt;l'éditeur de chapitre&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/dascritch/cpu-audio/issues/117"&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="https://linuxfr.org/users/dascritch/journaux/mixart-myrys-lutte-pour-sa-survie"&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="https://oncletom.io/"&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="https://github.com/chibani"&gt;Loïc Gerbaud&lt;/a&gt; pour des corrections&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.phonitive.fr/"&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="https://twitter.com/infestedgrunt"&gt;Benoît Salles&lt;/a&gt; et &lt;a href="https://twitter.com/MichelPoulain"&gt;Michel Poulain&lt;/a&gt; pour les tests, &lt;a href="https://twitter.com/GabiBoyer"&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="https://twitter.com/mariejulien/status/1047827583126183937"&gt;@mariejulien&lt;/a&gt; pour m'avoir donné envie de ré-écrire un &lt;a href="https://github.com/dascritch/cpu-audio/blob/master/CONTRIBUTING.md"&gt;CONTRIBUTING.md plus accessible&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://twitter.com/porteneuve"&gt;Christophe Porteneuve&lt;/a&gt; de &lt;a href="http://delicious-insights.com/"&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="https://github.com/scombat/react-cpu-audio"&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="https://github.com/edas"&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>Adieu Xylpho</title>
		<link>https://dascritch.net/post/2020/10/25/Adieu-Xylpho</link>
		<guid isPermaLink="false">urn:md5:d0ec5271113954b5d7b0bad63f8364d8</guid>
		<dc:date>2020-10-25T10:11:00+01:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Ma vie est une sitcom</dc:subject>
        
    <description>Nicolas Guilhou, vers une vie meilleure.		&lt;span class="tags"&gt;&lt;br /&gt;&lt;a href="https://dascritch.net/category/Ma-vie-est-une-sitcom"&gt;Ma vie est une sitcom&lt;/a&gt; &lt;/span&gt;
	</description>
    <content:encoded>
		&lt;p&gt;Nicolas Guilhou, vers une vie meilleure.&lt;span class="tags"&gt;&lt;br /&gt;
		&lt;a href="https://dascritch.net/category/Ma-vie-est-une-sitcom"&gt;
			Ma vie est une sitcom&lt;/a&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;
Ensemble, on en a fait des conneries au lycée, on a défriché les CSS, Ajax et les WebForms avant qu'ils deviennent HTML5, on a fait de la com' d'événementiels, on a voulu monter un service SaaS (dAgence), on a aussi tenté d'écrire des scénarii d'animation,… Et honnêtement, il y a beaucoup de projets dans lesquels je ne me serais pas lancé si tu n'étais pas partant toi aussi.
&lt;/p&gt;
&lt;p&gt;
Tu as toujours voulu être le copain rigolard. Au lycée, quand tu étais graphiste indépendant, quand tu es devenu web-designer, puis indépendant à nouveau.
&lt;/p&gt;
&lt;p class="c"&gt;
&lt;img src="https://dascritch.net/vrac/.blog2/sitcom/2010-NicolasGuilhou.jpg" alt="" /&gt;
&lt;/p&gt;
&lt;p&gt;
C'était la façade que tu as toujours voulu montrer, quitte à oublier tes années de galère, tes histoires sombres, ton cafard. À toi, à moi, à tes amis… Même à cette fille dont tu as assuré l'éducation.
&lt;/p&gt;
&lt;p&gt;
J'ai appris que tu n'as plus supporté tes tristesses. Et tu as préféré partir brusquement.
&lt;/p&gt;
&lt;p&gt;
J'en suis malheureux, car on correspondait encore, mais tu ne me l'as jamais écrit. J'aurais tu te voir plus souvent.
&lt;/p&gt;</content:encoded>
    
    
    
      </item>
  
	<item>
		<title>CD de nuits</title>
		<link>https://dascritch.net/post/2020/06/21/CD-de-nuits</link>
		<guid isPermaLink="false">urn:md5:57ec7d94fc5b18bcc3c9b6b5aec948cf</guid>
		<dc:date>2020-06-21T17:12:00+02:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Vide-Grenier</dc:subject>
        
    <description>Ré-écoutez Radio FMR telle qu'elle était les nuits entre 1998 et 2001		&lt;span class="tags"&gt;&lt;br /&gt;&lt;a href="https://dascritch.net/category/Vide-grenier"&gt;Vide-Grenier&lt;/a&gt; &lt;/span&gt;
	</description>
    <content:encoded>
		&lt;p&gt;Ré-écoutez Radio FMR telle qu'elle était les nuits entre 1998 et 2001&lt;span class="tags"&gt;&lt;br /&gt;
		&lt;a href="https://dascritch.net/category/Vide-grenier"&gt;
			Vide-Grenier&lt;/a&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;
Pour cette année, la Fête de la Musique est un peu exceptionnelle puisque plutôt calme, Covid-19 oblige. Mais nous avons une belle surprise pour vous : nous avons ouvert une capsule temporelle, rouvrant le son de la bande FM de Toulouse de la fin des années 1990s.
&lt;/p&gt;

&lt;p&gt;
Nous sommes en train de publier sur &lt;a href="https://podcloud.fr/podcast/fmr-mixes-classiques"&gt;podcloud&lt;/a&gt; les bandes de nuit de &lt;a href="http://radio-fmr.net"&gt;Radio &amp;lt;FMR&amp;gt;&lt;/a&gt; d'il y a 20 ans. &lt;a href="https://fmr-mixes-classiques.lepodcast.fr/"&gt;Vous pouvez retrouver nos mixes classiques ici&lt;/a&gt;.
&lt;/p&gt;
&lt;figure&gt;
&lt;a href="https://dascritch.net/vrac/.blog2/grenier/2006-BandesDeNuitFMR.jpg"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/grenier/.2006-BandesDeNuitFMR_m.jpg" alt="" /&gt;&lt;/a&gt;
&lt;figcaption&gt;Vous pouvez à nouveau entendre les fameux &lt;a href="https://fmr-mixes-classiques.lepodcast.fr/"&gt;CD de nuit de Radio &amp;lt;FMR&amp;gt;&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h3 id="bricolages"&gt;Tech, bricolages et programmes nocturnes&lt;/h3&gt;

&lt;p&gt;
Quand je suis devenu salarié de Radio &amp;lt;FMR&amp;gt;, les moments hors programmes en directs étaient remplis par une platine double-k7 auto-reverse. Ce qui faisait 3 heures de mix musical pré-enregistré  qui bouclait, qu'on appelait les &lt;q&gt;bandes de nuit&lt;/q&gt;. On y retrouvait une sélection musicale qui a été programmée, mixée, enregistrée par des animateurs de la radio, en complément de leur émission.  Les cassettes posaient plusieurs soucis : leur usure par temps chaud, et qu'il faille les changer tous les jours pour ne pas lasser les auditeurs.
&lt;/p&gt;
&lt;p&gt;
Avec la démocratisation des  graveurs  de CD, on a pu tenter de mettre en place un carrousel de CD, un lecteur Sony qui pouvait enchaîner 200 CD aléatoirement. Mais ce carrousel avait un bug : pour éviter toute consommation électrique inutile, il s'éteignait au bout de 24 heures de lecture, donc nous avions mis un minuteur pour le relancer, hélas en mode aléatoire, il arrivait une fois par mois qu'au redémarrage, l'appareil aie encore un CD dans le bras sur le carrousel, qui tentait de faire tourner pour lire les positions occupées. Et ayant souvent à le réparer, on avait une centaine de CD brisés.
&lt;/p&gt;
&lt;p&gt;
Heureusement, Sylvain qui se chargeait de la gravure des CD, avait les copies &lt;q&gt;master&lt;/q&gt; qu'il redupliquait.
&lt;/p&gt;
&lt;p&gt;
Puis, quelques années plus tard, nous sommes passés à un robot logiciel sur PC, avec une programmation musicale &lt;q&gt;aléatoire&lt;/q&gt; (il y a en fait plusieurs niveaux de rotations, plus des règles pour passer jingles et annonces). Mais ce système nous a fait perdre cette chaleur de programmation, le fait qu'un enchainement aie été calculé et effectué par un humain, même si Dusport nous fait une programmation éclectique fabuleuse.
&lt;/p&gt;

&lt;h3 id="archivons"&gt;Archivons&lt;/h3&gt;

&lt;p&gt;
Cela faisait quelques années que je me disais que c'était le moment ou jamais de numériser et publier ces programmes sur internet. La raison est évidente : les disques gravés sont encore moins éternels que les CD. Sylvain m'a donc fait l'honneur de m'amener ces archives inestimables, et la plupart semblent parfaitement numérisables avec un PC, d'autres demanderont de passer par une platine et une carte son. Ce qui tient du miracle, même si nous achetions des CD-R de qualité, ceux-ci n'étaient pas donnés pour durer plus de 5 ans.
&lt;/p&gt;
&lt;p&gt;
Pour ceux qui ont connu Radio &amp;lt;FMR&amp;gt; à cette époque, ils retrouveront avec plaisir les mixes de feu Raskal qui assaisonnait ses sélections d'extraits de films, de Rave Age et leur son club, de Clark Nova très pop, de Brian Brillant très easy-listening, des Sanguinaires et leurs faits divers, et les programmations de Dusport, Bernard Amade, etc…
&lt;/p&gt;
&lt;p&gt;
J'ai vraiment un plaisir à les redécouvrir, et un bonheur à pouvoir leur donner une nouvelle vie, notamment les insérer dans un créneau horaire nocturne sur &amp;lt;FMR&amp;gt; à partir de cet été. &lt;a href="https://fmr-mixes-classiques.lepodcast.fr/rss"&gt;Abonnez-vous au flux podcast,&lt;/a&gt; je vais essayer d'en mettre 5 en ligne par semaine. Et ces numérisations me permettent de compléter &lt;a href="https://cpu.dascritch.net/serie/Radio%20num%C3%A9rique"&gt;une expérience pour une future émission de CPU&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Accessoirement, &lt;a href="https://www.facebook.com/radiofmrtoulouse/"&gt;Radio &amp;lt;FMR&amp;gt; organise le Virus Fest pour soutenir la scène musicale locale et actuelle.&lt;/a&gt;
&lt;/p&gt;</content:encoded>
    
    
    
      </item>
  
	<item>
		<title>Le mouton tondu</title>
		<link>https://dascritch.net/post/2020/06/15/Le-mouton-tondu</link>
		<guid isPermaLink="false">urn:md5:e94d6b3dfd273b26057eefb1fbd65e01</guid>
		<dc:date>2020-06-15T13:53:00+02:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Ma vie est une sitcom</dc:subject>
        
    <description>(ok, ces images ont pratiquement un mois)		&lt;span class="tags"&gt;&lt;br /&gt;&lt;a href="https://dascritch.net/category/Ma-vie-est-une-sitcom"&gt;Ma vie est une sitcom&lt;/a&gt; &lt;/span&gt;
	</description>
    <content:encoded>
		&lt;p&gt;(ok, ces images ont pratiquement un mois)&lt;span class="tags"&gt;&lt;br /&gt;
		&lt;a href="https://dascritch.net/category/Ma-vie-est-une-sitcom"&gt;
			Ma vie est une sitcom&lt;/a&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;
Le déconfinement, c'est la joie d'avoir quelques kilos de cheveux en moins. Une expérience globale de l'importance de son coiffeur de quartier
&lt;/p&gt;
&lt;figure&gt;
&lt;img src="https://dascritch.net/vrac/.blog2/sitcom/.2006-tondu-avant_s.jpg" alt="" /&gt;
&lt;img src="https://dascritch.net/vrac/.blog2/sitcom/.2006-tondu-apres_s.jpg" alt="" /&gt;
&lt;/figure&gt;
&lt;p&gt;
Une belle tête déconfi-te.&lt;br /&gt;
Je sors ça un mois après, pour pas que mon +1 s'aperçoive depuis combien de temps j'ai pu passer à la coupe.
&lt;/p&gt;</content:encoded>
    
    
    
      </item>
  
	<item>
		<title>La vie d'après</title>
		<link>https://dascritch.net/post/2020/06/02/La-vie-d-apr%C3%A8s</link>
		<guid isPermaLink="false">urn:md5:93ab40b324937574a0e0ed51b8c79695</guid>
		<dc:date>2020-06-02T12:58:00+02:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Ma vie est une sitcom</dc:subject>
        
    <description>commence en sortant		&lt;span class="tags"&gt;&lt;br /&gt;&lt;a href="https://dascritch.net/category/Ma-vie-est-une-sitcom"&gt;Ma vie est une sitcom&lt;/a&gt; &lt;/span&gt;
	</description>
    <content:encoded>
		&lt;p&gt;commence en sortant&lt;span class="tags"&gt;&lt;br /&gt;
		&lt;a href="https://dascritch.net/category/Ma-vie-est-une-sitcom"&gt;
			Ma vie est une sitcom&lt;/a&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;figure&gt;
&lt;a href="https://dascritch.net/vrac/.blog2/sitcom/2006-VieApres.jpg" rel="lightbox"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/sitcom/.2006-VieApres_m.jpg" alt="" /&gt;&lt;/a&gt;
&lt;figcaption&gt;
Photo © Enflammée
&lt;/figcaption&gt;
&lt;/figure&gt;</content:encoded>
    
    
    
      </item>
  
	<item>
		<title>Ce printemps étrange</title>
		<link>https://dascritch.net/post/2020/05/16/Ce-printemps-%C3%A9trange-%C3%A0-t%C3%A9l%C3%A9travailler</link>
		<guid isPermaLink="false">urn:md5:f95749cd9816ae620e47ad2aaa2d91bb</guid>
		<dc:date>2020-05-16T10:29:00+02:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Ma vie est une sitcom</dc:subject>
        
    <description>Le télétravail qui te fait réapprendre le chemin du travail qui passe par le salon…		&lt;span class="tags"&gt;&lt;br /&gt;&lt;a href="https://dascritch.net/category/Ma-vie-est-une-sitcom"&gt;Ma vie est une sitcom&lt;/a&gt; &lt;/span&gt;
	</description>
    <content:encoded>
		&lt;p&gt;Le télétravail qui te fait réapprendre le chemin du travail qui passe par le salon…&lt;span class="tags"&gt;&lt;br /&gt;
		&lt;a href="https://dascritch.net/category/Ma-vie-est-une-sitcom"&gt;
			Ma vie est une sitcom&lt;/a&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;
Oui, un étrange printemps. Où la rue devant s'est quasi vidée pendant 3 semaines. Où tout le monde s'évite. Où les magasins on tiré leurs rideaux d'aciers. Où l'angoisse transpirait sur toutes les chaînes d'infos à l'ecœurement. Où Internet menaçait de s'effondrer à cause des méchants GAFAM. Où ces satanés salariés allaient lâchement profiter de l'entreprise pour ne rien faire.
&lt;/p&gt;

&lt;p&gt;
J'ai pas eu le temps d'écrire pendant ce moment-là, cette époque inédite, ni vraiment eu l'envie de documenter ma petite vie.&lt;br /&gt;
Pourtant, j'ai ce stress, cette peur de contaminer la personne qui vit avec moi. Et qui dans cette réouverture à petits pas, est toujours là. J'ai pas mal d'amis qui sont malheureusement tombés malades du COVID-19, et qui en ont souffert.
&lt;/p&gt;
&lt;p&gt;
Pourtant, je suis un immonde privilégié&amp;nbsp;: J'ai gardé mon travail, j'en avais d'ailleurs tellement à faire que je n'avais quasiment que ça à songer toute la journée, on a une petite cour ensoleillée, dans laquelle gambade un chat qui nous adore, et il y a donc celle qui vit avec moi, qui peut enfin en profiter pour qu'on mange ensemble à midi.&lt;br /&gt;
&lt;/p&gt;

&lt;p&gt;
J'ai télétravaillé pendant des années. En fait j'étais indépendant, et j'ai travaillé 6 ans dans le bureau de mon appartement. Et À l'époque, j'étais stressé pour d'autres raisons, plus financières. Car fallait vraiment pas être doué dans les affaires pour se lancer en indépendant dans un métier au moment où se déclenchait une crise financière.&lt;br /&gt;
On a vu des couples d'amis s'entre-déchirer à cette époque, eux aussi en indépendants, travaillant de chez eux, ou tournant en rond dans leur salon quand rien ne sort.
&lt;/p&gt;

&lt;p&gt;
Mais maintenant, je gère mieux ce stress, et ça se passe mieux avec ma copine de l'époque.&lt;br /&gt;
J'ai moins de soucis à gérer, on est plus sereins, et nous nous connaissons bien mieux. Et puis surtout, tu m'as encore plus appris la patience, c'est une chance.
&lt;/p&gt;
&lt;p&gt;
À toi, mon amour, je te souhaite un heureux anniversaire.
&lt;/p&gt;
&lt;figure&gt;
&lt;img src="https://dascritch.net/vrac/.blog2/sitcom/2005-AnnivEnflammee.jpg" alt="" /&gt;
&lt;figcaption&gt;
Merci pour tout, mon cœur, toi qui prend soin de moi.
&lt;/figcaption&gt;
&lt;/figure&gt;</content:encoded>
    
    
    
      </item>
  
	<item>
		<title>Battle of da Year 2K</title>
		<link>https://dascritch.net/post/2019/12/23/Battle-of-da-Year-2K</link>
		<guid isPermaLink="false">urn:md5:2f91ff08e60a2edefee363c28382d048</guid>
		<dc:date>2019-12-23T12:21:00+01:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Vide-Grenier</dc:subject>
        
    <description>Un flyer mythique pour une nuit redoutée : celle du passage à l'An 2000.		&lt;span class="tags"&gt;&lt;br /&gt;&lt;a href="https://dascritch.net/category/Vide-grenier"&gt;Vide-Grenier&lt;/a&gt; &lt;/span&gt;
	</description>
    <content:encoded>
		&lt;p&gt;Un flyer mythique pour une nuit redoutée : celle du passage à l'An 2000.&lt;span class="tags"&gt;&lt;br /&gt;
		&lt;a href="https://dascritch.net/category/Vide-grenier"&gt;
			Vide-Grenier&lt;/a&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;
Été 1999, j'étais salarié de &lt;a href="http://www.radio-fmr.net"&gt;Radio &amp;lt;FMR&amp;gt;&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Si je commençais à 10h en tant que coordinateur d'antenne, je ne décrochais pas à 19h, m'étant impliqué dans l'organisation de nombreuses soirées  principalement &lt;em lang="en"&gt;drum'n'bass&lt;/em&gt; et électro expérimentales. J'étais avec une bande de copains, la radio avait sur son antenne un groupe de DJs assez généreux, et des noms qui étaient aussi bien connus par le public festif (Le Lutin, DJ Kush, Youthman) que par le public exigeant (Doctor Livingstone, Circlips). J'avais souvent du Ninja Tune, du Warp, du Vendôme Records et du Moving Shadow dans ma besace &lt;a href="https://dascritch.net/archiveweb.php/zero/zero12.html"&gt;pour mes émissions persos&lt;/a&gt;.&lt;br /&gt;
À 27 ans, on est foufou, et l'énergie créative autour de la radio donnait une sérieuse envie de secouer la scène artistique.
&lt;/p&gt;

&lt;p&gt;
&lt;a href="https://www.facebook.com/dj.kush.fr"&gt;DJ Kush&lt;/a&gt; avait monté le Dragon Krew, un noyau dur d'organisation de soirées avec MC Youthman, Brooks,  DJ Peyo, il y avait aussi le groupe Kapsaïcine qui faisait les soirées &lt;q&gt;Kitty style&lt;/q&gt;, ou encore le collectif Massage auditif (Doc Livingstone, Peyo, Aurel, Sam Lawry), et moi j'oscillais autour en &lt;em lang="en"&gt;roadie&lt;/em&gt;.&lt;br /&gt;
Yep, moi, le toubab de bonne famille, je m'encanaillais en allant bricoler chez Le Lutin, qui des fois se lançait dans des sets sans prévenir, avant d'aller redécorer la cave d'un bar rue des Filatiers.
&lt;/p&gt;

&lt;p&gt;
Et pour le passage à l'An 2000, on savait qu'on pouvait proposer une soirée au &lt;a href="https://lebikini.com/"&gt;Bikini, la boite de nuit rock de Toulouse,&lt;/a&gt; à l'époque au 54 chemin des Étroits, route de Lacroix-Falgarde juste en face de l'usine AZF. Ce n'était pas la première fois qu'on y faisait des opérations étranges et folles&amp;nbsp;: entre le concert d'Amon Tobin avec du gazon déroulé sur le &lt;em lang="en"&gt;dancefloor&lt;/em&gt; ou la finale de la coupe du monde 1998 animée par Sportaz de Radio Campus, ou les soirées d'Halloween (qui correspondaient avec l'anniversaire de Kush, je ne vous dis pas le frisson de faire chanter &lt;q&gt;joyeux anniversaire&lt;/q&gt; à 1000 personnes). Plus le studio antenne de Radio &amp;lt;FMR&amp;gt; logé dessous nous permettait d'y faire des transmissions &lt;em lang="en"&gt;live&lt;/em&gt;. Alors plutôt que faire sa soirée avec loto à filet garnis, suivie de DJ Fabrice (Sansonnetto) aux platines, et la soupe à l'oignon à 10h, on a fait une proposition au maître des lieux&amp;nbsp;: 4 platines en &lt;em lang="en"&gt;back-to-back&lt;/em&gt; (une disposition plutôt rare à ce moment-là), 22 DJ soit du très festif &lt;em lang="en"&gt;drum'n'bass&lt;/em&gt;, soit de techno expérimentale, 2 MCs, et un prix raisonnable car tout le monde voulait faire la fête.
&lt;/p&gt;

&lt;p&gt;
Le &lt;em lang="en"&gt;line-up&lt;/em&gt; a été monté très vite, venant de toute la France et au-delà&amp;nbsp;: beaucoup connaissaient la scène de Toulouse et son public enthousiaste. Avoir Future Cut et Marcus Intalex montrait sa reconnaissance à l'international.
&lt;/p&gt;

&lt;h3&gt;Un flyer hors-normes&lt;/h3&gt;
&lt;p&gt;
Et là, je ne sais plus quand tout a dérapé…
&lt;/p&gt;
&lt;p&gt;
Kush a fait tirer un &lt;em lang="en"&gt;flyer&lt;/em&gt; en papier cartonné, recto-verso, format A4. Je crois que le tirage était de 1000&amp;nbsp;exemplaires, et forcément, devenu très vite  mythique, collector. Il n'y a pas que son support qui détonnait&amp;nbsp;: Son dessin par Alphabet City sous Illustrator (à l'époque, les &lt;em lang="en"&gt;flyers&lt;/em&gt; se faisaient plutôt avec Photoshop ou Quark X Press), son design &lt;em lang="en"&gt;lean&lt;/em&gt; inspiré des &lt;a href="https://www.thedesignersrepublic.com/"&gt;The Designers Republic&lt;/a&gt;. Et rédigé en Anglais, car l'objet promotionnel était aussi destiné à des partenaires internationaux. Son format faisait qu'on arrivait même pas à le mettre dans les porte-cartes des magasins ou les tablettes trop étroites, et on hésitait à le scotcher au mur pour pas que l'impression soit déchirée en retirant le scotch. On n'a fait que le mettre dans quelques magasins, et on l'a annoncé en radio.&lt;br /&gt;
À l'époque, le web balbutiait, pas de Facebook, ni même encore de MySpace, le &lt;em lang="en"&gt;flyer&lt;/em&gt; était le principal moyen de communication, avec les émissions radios et les gratuits culturels locaux comme IntraMuros. Et parfois les mentions sur la télé locale, TLT avait une grosse tranche culture le Vendredi.
&lt;/p&gt;
&lt;p&gt;
Donc je ne sais pas si vous voyez le niveau de bêtise&amp;nbsp;: tirer un &lt;em lang="en"&gt;flyer&lt;/em&gt; très cher, et annoncer à la radio pour dire qu'il existe mais que dans certains magasins. Pour une soirée unique. Où l'on ferait soirée blanche, je crois même que l'orga a perdu des sous.
&lt;/p&gt;

&lt;figure&gt;
&lt;a href="https://dascritch.net/vrac/.blog2/grenier/1912-BatteOfDaYear2k-recto.jpg" rel="lightbox[battle]"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/grenier/.1912-BatteOfDaYear2k-recto_m.jpg" alt="The battle of da year. The grand slam matchup of the century with 22 DJ's and 2 MC's. twelve rounds of one hour smoker. 22:00 PM 'til 10:00 AM. 31.12.1999 - Bikini - Toulouse. Jungle drum'n'bass / techno. Let's get ready to rrrumble !!! An evening for the entire family" /&gt;&lt;/a&gt;
&lt;a href="https://dascritch.net/vrac/.blog2/grenier/1912-BatteOfDaYear2k-verso.jpg" rel="lightbox[battle]"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/grenier/.1912-BatteOfDaYear2k-verso_m.jpg" alt="Round for round, drum'n'bass, blow by blow, techno. 22:00 PM 'til 10:00 AM. Live painting by Berg (Gluck family). Live video mix + special deco. Future Cut (2 DJ's - Renegade Hardware - UK), Marcus Intalex (Regenade Harware - UK), Grub (Spa connection - UK), Rykkk's (Diplodocus recs - Béziers), Elle (No u turn - UK), Peyo (FMR - Toulouse), Prisma Boundee (Good vibes - Nantes), Voodoo Mix (Radiobomb - Toulouse), Cliff Barnes (Time strechers - Bordeaux), Feubo (Aniversal recs - Tours), Tao Paï Paï (Kung funk - Rennes), Kafra (Selecta crew - Marseille), Kush (Dragon krew - Toulouse), Sti (Dragon krew - Toulouse), Brooks (Dragon krew - Toulouse), Le Lutin (Storm Trooper - Toulouse), Aurel (Balistik records - Toulouse), Damian (FMR - Toulouse), Shnow (Electro mix - Toulouse), Vee (Free bass project - Montpellier), Shuba  (Free bass project - Montpellier), MC Krayz-b (Ruud awakening - UK), Mc Youthman (Central Massive - Clermont-Ferrand). Prix : 120F (avec conso), 100F (avec conso). Préventes : Fnac, Cyberland, Vicious Circle, DJ Music. Bikini, 54 chemin des Étroits. www.hypertunez.com" /&gt;&lt;/a&gt;
&lt;figcaption&gt;
LA bête
&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h3&gt;L'événement lui-même fut hors-norme&lt;/h3&gt;

&lt;p&gt;
Gare Matabiau, le 31 à 14h. Il pleut littéralement à verse et j'attendais l'arrivée de Rykkk's. Kush m'avait prévenu, il a du style : costume impeccable, &lt;em lang="en"&gt;fly-cases&lt;/em&gt; élégants… On embarque dans ma Panda sous une pluie battante depuis la gare pour rejoindre la salle de concert. Rykkk's sur le chemin me dit &lt;q&gt;Oh ! Arrête-toi à cette boulangerie, j'ai la dalle, je me prends un sandwich&lt;/q&gt;. Il y restera 15  minutes, en sortira hilare avec 4 gros cartons&amp;nbsp;: C'était une pâtisserie, il venait de dévaliser ce qui n'était pas encore vendu, de superbes gâteaux pour le &lt;em lang="en"&gt;backstage&lt;/em&gt;. Rien que la perspective d'un Lutin à la coupe rasta se faire une religieuse au chocolat faisait marrer.
&lt;/p&gt;

&lt;p&gt;
On avait monté un décor avec tout ce qu'on avait trouvé de fou à y mettre, j'avais sorti mon Amiga avec un animation pour le passage à minuit (hélas, le cable vidéo était trop court pour atteindre le vidéo projecteur). Je me souviens encore d'Hervé qui arrive alors que j'étais à 8m de haut&amp;nbsp;: &lt;q&gt;Putain qu'elle coutent chers, ces conneries&lt;/q&gt;. Une dizaine de kilos de confettis professionnels. On en a mis partout. Des décorations partout. Il nous a bien fallut 3 heures pour toutes les installer.&lt;br /&gt;
J'ai hélas aucune photo.
&lt;/p&gt;

&lt;p&gt;
Sur l'orga non-artistique, on se relayait entre tenir l'entrée, les vestiaires, calmer ceux qui ne savent pas faire la fête et souffler derrière la scène, ou plutôt dessous. Les petits plats, les gâteaux, et le champagne fourni par le patron, mais forcément avec modération car on avait du taf. Je crois me souvenir que le lendemain midi, on était tous crevés, mais heureux.
&lt;/p&gt;

&lt;h3&gt;La gueule de bois&lt;/h3&gt;

&lt;p&gt;
Les soirées ont très vite périclité par les coups de buttoir de la Mairie de Toulouse qui voulait calmer des &lt;q&gt;comités de voisinage&lt;/q&gt; souvent noyautés par le Front National et de la Préfecture trop impatiente de passer les heures de fermeture de bars de 2h à 23h. &lt;a href="https://dascritch.net/post/2014/03/28/Toulouse%2C-que-tes-murs-sont-tartes"&gt;Les fantastiques muraux des Hanky Panky Girls ont été recouverts&lt;/a&gt; d'une couleur rose-orange flashy, plus conforme aux incompréhensibles prescriptions des Monuments de France. Et y'a eu en moins de 10 jours les attentats du 9/11 et l'explosion d'AZF. Voilà qui a tué l'esprit de la fête. La modeste &lt;em lang="es"&gt;movida&lt;/em&gt; de Toulouse (d'oùla radio &lt;q&gt;Le Mouv&lt;/q&gt; tirera son nom) s'est réduite en peau de chagrin et fêtes industrialisées. J'ai vieilli aussi, et il fallait laisser sa place aux générations d'après. Un jour, Nostalgie aura un créneau horaire pour les mix technos.
&lt;/p&gt;

&lt;p&gt;
Je me suis impliqué dans des événements moins festifs, et des combats politiques.&lt;br /&gt;
Car 20 ans après... Le futur riant que promettait l'An 2000 tourne à la dystopie de Talsorian's Cyberpunk 2020.
&lt;/p&gt;

&lt;p&gt;
Reste ce &lt;em lang="en"&gt;flyer&lt;/em&gt;, superbe.
Je croyais n'en n'avoir plus qu'un abimé. Je suis retombé sur mes archives de l'époque, miraculeusement préservées.
&lt;/p&gt;

&lt;p&gt;
Fallait que je vous le scanne.
&lt;/p&gt;</content:encoded>
    
    
    
      </item>
  
	<item>
		<title>Deux couleurs bizarres en CSS</title>
		<link>https://dascritch.net/post/2019/11/13/Deux-couleurs-bizarres-en-CSS</link>
		<guid isPermaLink="false">urn:md5:099704ba18580e0f1320028c6880d89e</guid>
		<dc:date>2019-11-13T13:41:00+01:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Webdev</dc:subject>
        
    <description>Une bête combinaison qui ne me permettent pas de faire un chouette aspect dans un cas très précis. Et vous allez même pouvoir vous amuser avec pour comprendre les limites de certaines propriétés CSS magiques		&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;Une bête combinaison qui ne me permettent pas de faire un chouette aspect dans un cas très précis. Et vous allez même pouvoir vous amuser avec pour comprendre les limites de certaines propriétés CSS magiques&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="https://dascritch.net/serie/cpu-audio"&gt;la série consacrée au développement&lt;/a&gt; de la bibliothèque &lt;a  href="https://dascritch.github.io/cpu-audio/"&gt;cpu-audio.js&lt;/a&gt; et documente les affres de &lt;a href="https://github.com/dascritch/cpu-audio/releases/tag/6.0"&gt;sa version 6.&lt;/a&gt; 
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="https://dascritch.net/post/2018/11/06/Mettre-de-l-audio-dans-le-web-n-a-pas-%C3%A9t%C3%A9-simple"&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="https://dascritch.net/post/2018/11/06/Reconstruire-son-lecteur-audio-pour-le-web"&gt;Reconstruire son lecteur audio pour le web&lt;/a&gt; (sur la version 5)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dascritch.net/post/2019/06/05/Retravailler-un-lecteur-web-audio-dans-les-petites-largeurs"&gt;Retravailler un lecteur web audio dans les petites largeurs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dascritch.net/post/2019/06/18/Le-blues-du-navigator.share"&gt;Le blues du Web Share&lt;/a&gt;  (&lt;a href="https://dascritch.net/post/2019/06/26/We-need-Web-Share"&gt;english version&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Deux couleurs bizarres en CSS&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dascritch.net/post/2021/04/28/cpu-audio.js-enfin-en-7.0"&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;
Je vous remets le &lt;em lang="en"&gt;player&lt;/em&gt;, dans la dernière version de dev. Sinon, &lt;a href="https://dascritch.net/post/2019/11/13/Deux-couleurs-bizarres-en-CSS#couleur_tombee_du_dom"&gt;⇓ sautez ⇓ directement ⇓ au chapitre suivant ⇓&lt;/a&gt;
&lt;/p&gt;

&lt;cpu-audio title="@HalluFMR, #26 : Brevet (25/03/2015)" poster="https://dascritch.net/vrac/.blog2/radio/.1409-Hallucinarium-FMR_s.jpg" canonical="https://dascritch.net/post/2015/03/25/micro-%40HalluFMR-26-%3A-Brevet"&gt;
&lt;strong&gt;&lt;a href="https://dascritch.net"&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 id="exemple"&gt;
      &lt;source src="https://dascritch.net/vrac/Emissions/AtHalluFMR/26-AtHalluFMR%2825-03-15%29.ogg" type="audio/ogg" /&gt;
      &lt;source src="https://dascritch.net/vrac/Emissions/AtHalluFMR/podcast/26-AtHalluFMR%2825-03-15%29.mp3" type="audio/mpeg" /&gt;
&lt;/audio&gt;
&lt;/cpu-audio&gt;
&lt;p&gt;
&lt;small&gt;Comment replacer un sujet tiers rien à voir avec le billet sous prétexte d'illustration d'exemple…&lt;/small&gt;
&lt;/p&gt;

&lt;h3 id="couleur_tombee_du_dom"&gt;La Couleur tombée du DOM&lt;/h3&gt;

&lt;p&gt;
Je vais parler non pas de &lt;a href="https://fr.wikipedia.org/wiki/Couleur_interdite"&gt;couleurs interdites&lt;/a&gt; (quel &lt;a href="https://www.franceculture.fr/emissions/fictions-samedi-noir/la-couleur-tombee-du-ciel-0"&gt;nom de film d'horreur génial&lt;/a&gt;&amp;nbsp;!) comme le Rouge Surbrillant, le Jaune Bleuté, ou l'Orange Hyperbolique, mais de deux définitions volontairement manquantes dans les CSS. Or, comme &lt;a href="https://dascritch.github.io/cpu-audio/applications/live_config.html"&gt;mon &lt;em lang="en"&gt;player&lt;/em&gt; a un aspect totalement paramétrable par les utilisateurs via la CSS&lt;/a&gt;, lesdits utilisateurs pourraient tenter de faire un effet qui sera systématiquement en échec.
&lt;/p&gt;

&lt;figure&gt;
&lt;figcaption&gt;
Allez, cadeau ! trois couleurs interdites (&lt;q&gt;impossibles&lt;/q&gt;, ou plutôt &lt;q&gt;chimériques&lt;/q&gt;).&lt;br /&gt;
Observez le point de gauche, votre regard fixé sur le × sans bouger pendant trente secondes,&lt;br /&gt; puis sautez au carré du milieu et restez sur sa ×.&lt;br /&gt;
Auteur : &lt;a href="https://en.wikipedia.org/wiki/File:Chimerical-color-demo.svg"&gt;Zowie CC-BY-SA pour Wikipédia.&lt;/a&gt;
&lt;/figcaption&gt;

&lt;img src="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-webshare/1906-WebShare-couleurs-chimeriques.svg" alt="" /&gt;
&lt;/figure&gt;

&lt;p&gt;
D'autres parlent bien mieux que moi &lt;a href="https://developer.mozilla.org/fr/docs/Web/CSS/Type_color"&gt;des couleurs en CSS&lt;/a&gt;, donc je ne ferais pas l'affront d'en faire un résumé imparfait, mais je sauterais direct au nœud du problème&amp;nbsp;: J'ai &lt;strong&gt;deux manques dans la norme, mais qui sont totalement justifiés. Et des effets de bords qui pourraient surprendre des intégrateurs non prévenus.&lt;/strong&gt;
&lt;/p&gt;


&lt;h3  id="transparent"&gt;transparent&lt;/h3&gt;
&lt;p&gt;
Cette couleur existe principalement en valeur de la propriété &lt;code&gt;background : &lt;em&gt;transparent&lt;/em&gt;&lt;/code&gt;. On a trouve aussi &lt;a href="https://developer.mozilla.org/fr/docs/Web/CSS/border-color"&gt;pour &lt;code&gt;border-color&lt;/code&gt;&lt;/a&gt; ou encore dans l'attribut &lt;code&gt;fill="&lt;em&gt;transparent&lt;/em&gt;"&lt;/code&gt; d'une &lt;a href="https://dascritch.net/tag/svg"&gt;balise SVG&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
En fait, transparent n'est pas un alias vers une couleur pleine, mais d'une couleur quelconque rendue avec une opacité de 0%.
&lt;/p&gt;

&lt;p&gt;
Sauf qu'il y a une méprise : il n'est pas possible de s'en servir pour la propriété css &lt;code&gt;color&lt;/code&gt; dans l'idée d'avoir le rendu derrière le fond du tag courant. Une couleur transparente fera que le texte est virtuellement non affiché mais présent par ses dimensions.
&lt;/p&gt;
&lt;p&gt;
Et c'est normal, car cela voudrait dire que le navigateur devrait être capable d'utiliser la forme des lettres pour découper le fond de l'élément support. C'est pas impossible, mais totalement tordu en terme de pensée, alors que &lt;a href="https://stackoverflow.com/questions/39657703/how-to-create-transparent-text-on-non-transparent-background#answer-39658289"&gt;vous pouvez preeeesque facilement le faire en SVG.&lt;/a&gt; Bon, dans les faits, je ne vous le conseille absolument pas&amp;nbsp;! Et ceci pour des raisons de performances de rendu, votre site va commencer à ramer sévère si vous vous lâchez.
&lt;/p&gt;

&lt;h3 id="currentColor"&gt;currentColor&lt;/h3&gt;
&lt;p&gt;
Cette magnifique couleur définie en CSS3 n'existe qu'en couleur de pinceau&amp;nbsp;: &lt;code&gt;&lt;em&gt;currentColor&lt;/em&gt;&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;&lt;em&gt;currentColor&lt;/em&gt;&lt;/code&gt; est immensément pratique, car elle fait référence à la couleur de pinceau héritée. Et si cette couleur héritée renvoie par exemple à une variable css au nom à coucher dehors (hello &lt;code&gt;var(&lt;var&gt;--cpu-playing-color&lt;/var&gt;)&lt;/code&gt;) , sur de nombreux rappels, on gagne de très nombreux octets... Exemple&amp;nbsp;:
&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&lt;strong&gt;main&lt;/strong&gt; {
    color : var(&lt;var&gt;--cpu-color&lt;/var&gt;);
}
&lt;strong&gt;main&lt;/strong&gt;.act-playing {
    color : var(&lt;var&gt;--cpu-playing-color&lt;/var&gt;);
}
&lt;strong&gt;a&lt;/strong&gt;, &lt;strong&gt;button&lt;/strong&gt; (je vous la fait courte) {
     color : &lt;em&gt;currentColor&lt;/em&gt;;
}
&lt;strong&gt;svg&lt;/strong&gt; {
     fill : &lt;em&gt;currentColor&lt;/em&gt;;
}&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;
Bien plus pratique que &lt;code&gt;color : &lt;em&gt;inherit&lt;/em&gt;&lt;/code&gt;, car pouvant s'appliquer sur d'autres propriétés.&lt;br /&gt;
À chaque coup, je gagne.
&lt;/p&gt;
&lt;p&gt;
&lt;code&gt;&lt;em&gt;currentColor&lt;/em&gt;&lt;/code&gt; est une Valeur Magique en css. &lt;q&gt;Magique&lt;/q&gt; dans le sens Noble du terme, au sens que justement, ce n'est pas une constante arbitraire (par rapport au sens commun en informatique, et qui tient de l'insulte) mais qu'elle fait référence à son contexte et elle permet de gagner un temps fou.
&lt;/p&gt;
&lt;p&gt;
Sauf que, hélas, et &lt;a href="https://stackoverflow.com/questions/39561566/could-currentbackgroundcolor-become-a-valid-useful-css-color-value-keyword"&gt;je ne suis pas seul à m'en plaindre&lt;/a&gt;, on n'a pas de &lt;code&gt;currentBackground&lt;/code&gt;…
&lt;/p&gt;

&lt;p&gt;
Et c'est tout à fait normal&amp;nbsp;: &lt;code&gt;background&lt;/code&gt; a été discuté jusqu'ici dans ce billet en tant qu'écriture raccourcie de la propriété &lt;code&gt;background-color&lt;/code&gt;. &lt;a href="https://developer.mozilla.org/fr/docs/Web/CSS/background#Syntaxe_formelle"&gt;La propriété &lt;code&gt;background&lt;/code&gt; est en fait composite, très complexe&lt;/a&gt;&amp;nbsp;: On peut créer des arc-en-ciels, étirer une image, mettre des motifs svg embarqués. Retenez que &lt;code&gt;background-color&lt;/code&gt; est la dernière composante définissant le fond d'un élément à être interprétée, lequel fond est &lt;a href="https://drafts.csswg.org/css-backgrounds-3/#backgrounds"&gt;défini par le standard comme ayant de multiples couches de rendus.&lt;/a&gt;
&lt;/p&gt;

&lt;h3 id="le_probleme"&gt;Alors quel est le problème ?&lt;/h3&gt;

&lt;p&gt;
Et ben tout simplement, je ne peux pas inverser la couleur et le fond hérités.
&lt;/p&gt;
&lt;p&gt;
Ainsi 
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&lt;strong&gt;button&lt;/strong&gt;:hover {
    background : &lt;em&gt;currentColor&lt;/em&gt;;
    color : &lt;del&gt;currentBackground&lt;/del&gt;;
}&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;
ça marche pas, puisque la propriété n'existe pas.
&lt;/p&gt;
&lt;p&gt;
Et 
&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&lt;strong&gt;button&lt;/strong&gt;:hover {
    color : var(&lt;var&gt;--cpu-background&lt;/var&gt;);
    background : var(&lt;var&gt;--cpu-color&lt;/var&gt;);
}
.act-playing &lt;strong&gt;button&lt;/strong&gt;:hover {
    color : var(&lt;var&gt;--cpu-playing-background&lt;/var&gt;);
    background : var(&lt;var&gt;--cpu-playing-color&lt;/var&gt;);
}&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;
Si vous aviez voulu mettre une des variables de couleur de fond à &lt;code&gt;&lt;em&gt;transparent&lt;/em&gt;&lt;/code&gt;... ça marchera pas non plus, vous vous retrouverez avec des boutons  avec du texte totalement transparent qui ne se distinguera pas du fond. &lt;small&gt;blanc, noir, rose, bleu schtroumpf, qu'importe la valeur que vous avez choisi&lt;/small&gt; ça sera &lt;span style="background:black;color:transparent"&gt;illisible&lt;/span&gt;&amp;nbsp;!
&lt;/p&gt;

&lt;p&gt;
Et si la couleur de texte est transparente et que la couleur de fond est fixée sur la couleur courante pour le même bloc, vous aurez une &lt;span style="outline : 1px solid gray;background:currentColor;color:transparent"&gt;superbe disparition&lt;/span&gt;&amp;nbsp;!&lt;br /&gt;
&lt;small&gt;(pourtour ajouté pour voir le bloc)&lt;/small&gt;
&lt;/p&gt;

&lt;h3 id="essayez"&gt;Essayez vous-même ! &lt;/h3&gt;

&lt;cpu-audio id="bac_a_sable" title="@HalluFMR #15 : Péritel (25/03/2015)" poster="https://dascritch.net/vrac/.blog2/radio/.1409-Hallucinarium-FMR_s.jpg" canonical="https://dascritch.net/post/2014/12/17/micro-%40HalluFMR-15-%3A-P%C3%A9ritel"&gt;
&lt;strong&gt;&lt;a href="https://dascritch.net"&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 et donc vous ne pouvez expérimenter avec l'édition interactive.&lt;/a&gt;&lt;/strong&gt;
&lt;audio controls id="exemple"&gt;
      &lt;source src="https://dascritch.net/vrac/Emissions/AtHalluFMR/15-AtHalluFMR%2817-12-14%29.ogg" type="audio/ogg" /&gt;
      &lt;source src="https://dascritch.net/vrac/Emissions/AtHalluFMR/podcast/15-AtHalluFMR%2817-12-14%29.mp3" type="audio/mpeg" /&gt;
&lt;/audio&gt;
&lt;/cpu-audio&gt;

&lt;p&gt;
Le bloc de code CSS ci-dessous est éditable, et il impacte directement le lecteur au-dessus. &lt;a href="https://dascritch.github.io/cpu-audio/INSTALL#personnalization-via-css-variables"&gt;Sur le détail des variables CSS du lecteur, je vous renvoie à la doc.&lt;/a&gt;
&lt;/p&gt;

&lt;pre&gt;&lt;style scoped style="display:block" contentEditable&gt;
#bac_a_sable {
--cpu-color : currentColor;
--cpu-background : transparent;
/* les lignes suivantes pour reprendre les définitions du dessus quand le composant est en lecture */
--cpu-playing-background : var(--cpu-background);
--cpu-playing-color : var(--cpu-color);
}
&lt;/style&gt;&lt;/pre&gt;

&lt;p&gt;
Évidemment, y'en a qui vont me dire &lt;q&gt;ça marche pas sur mon appli de news&lt;/q&gt;, donc voici une capture d'écran de ce que vous devriez voir&amp;nbsp;:
&lt;/p&gt;

&lt;figure&gt;
&lt;img src="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-webshare/1906-WebShare-transparence-rendus.png" alt="" /&gt;
&lt;figcaption&gt;Le rendu du &lt;em lang="en"&gt;player&lt;/em&gt; en attente à gauche, lors d'un survol souris ou d'un clic sur le bouton de lecture à droite,&lt;br /&gt;lequel devient malencontreusement invisible.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h3 id="reve_background_opacity"&gt;Où tu rêves d'une licorne rose invisible&lt;/h3&gt;

&lt;p&gt;
Alors il y aurait une bonne astuce : au lieu d'utiliser &lt;code&gt;&lt;em&gt;transparent&lt;/em&gt;&lt;/code&gt;, spécifier une couleur de fond avec une transparence totale genre &lt;code&gt;&lt;em&gt;#ff777700&lt;/em&gt;&lt;/code&gt; (le fameux &lt;a href="https://fr.wikipedia.org/wiki/Licorne_rose_invisible"&gt;rose invisible de la légendaire licorne&lt;/a&gt;, qui est même &lt;a href="https://www.youtube.com/watch?v=UZDYPvbY6d8&amp;amp;t=1147&amp;amp;list=PLsbx1DYyydS-ie6wXA3Qu5zHLPWhilejW&amp;amp;index=6"&gt;enseignée en Zététique&lt;/a&gt;), et pouvoir mettre la transparence à opacité totale quand je tente d'utiliser cette &lt;q&gt;couleur&lt;/q&gt; en guise de couleur de police/remplissage.
&lt;/p&gt;

&lt;figure&gt;
&lt;img src="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-webshare/1906-WebShare-licorneroseinvisible.png" alt="" /&gt;
&lt;figcaption&gt;La fameuse licorne dans une représentation improbable de sa couleur impossible.&lt;br /&gt;
&lt;small&gt;&lt;a href="https://commons.wikimedia.org/wiki/File:Invisible_Pink_Unicorn.svg"&gt;CC-BY Bingo Pajama Bee via Wikipedia&lt;/a&gt;, loués soient-ils&lt;/small&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;
Mais là, il me manque (au choix)&amp;nbsp;:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;soit une propriété css &lt;code&gt;background-opacity&lt;/code&gt; (et son pendant &lt;code&gt;color-opacity&lt;/code&gt;),&lt;/li&gt;
&lt;li&gt;soit un transformateur standard de valeur css &lt;em lang="xx-advertising-quezac"&gt;que s'appelerio&lt;/em&gt; &lt;code&gt;plain-color()&lt;/code&gt; qui me rabote une couleur avec opacité en couleur sans opacité,&lt;/li&gt;
&lt;li&gt;soit des billes car ça existe peut-être déjà (j'ai pas dit que je connaissais à fond les CSS).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="tentative_rgba_vars"&gt;Tentative 1 : CSS pure, &lt;code&gt;rgba()&lt;/code&gt; et deux variables&lt;/h3&gt;
&lt;p&gt;
J'ai bien trouvé &lt;strong&gt;une &lt;a href="https://stackoverflow.com/questions/40010597/how-do-i-apply-opacity-to-a-css-color-variable/41265350#41265350"&gt;solution amusante avec la fonction css &lt;code&gt;rgba()&lt;/code&gt;&lt;/a&gt;&lt;/strong&gt; sous la forme&lt;br /&gt;
&lt;code&gt;background : rgba(var(&lt;var&gt;--background-color&lt;/var&gt;), var(&lt;var&gt;--background-opacity&lt;/var&gt;))&lt;/code&gt;&lt;br /&gt;
mais comme cette astuce joue sur le fait que &lt;code&gt;var()&lt;/code&gt; ne fait que restituer une chaine de caractère sans l'avoir interprété, elle induit&amp;nbsp;:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;que toutes les couleurs (encre et fond) paramétrées par l'intégrateur soient totalement opaques,&lt;/li&gt;
&lt;li&gt;que je doive introduire une propriété de plus à part pour la gestion d'opacité du fond,&lt;/li&gt;
&lt;li&gt;que la syntaxe de couleur suive strictement la syntaxe &lt;code&gt;&lt;em&gt;rrr&lt;/em&gt;,&amp;nbsp;&lt;em&gt;ggg&lt;/em&gt;,&amp;nbsp;&lt;em&gt;bbb&lt;/em&gt;&lt;/code&gt;, ce qui multiplie les risques d'erreurs,&lt;/li&gt;
&lt;li&gt;que l'intégrateur/utilisateur ne peut donc pas utiliser la syntaxe &lt;code&gt;hsl()&lt;/code&gt;/&lt;code&gt;hsla()&lt;/code&gt; que nombre de graphistes et intégrateurs trouvent extrêmement pratique,&lt;/li&gt;
&lt;li&gt;ni &lt;a href="https://dascritch.net/post/2014/08/26/Le-web-est-construit-par-des-humains"&gt;les couleurs nommées prédéfinies comme &lt;code&gt;&lt;em&gt;rebecca purple&lt;/em&gt;&lt;/code&gt;&lt;/a&gt; (&lt;a href="https://dascritch.net/post/2014/09/03/micro-%40HalluFMR-1-%3A-Rebecca-purple"&gt;version audio du billet&lt;/a&gt;),&lt;/li&gt;
&lt;li&gt;et seraient aussi bloqués ceux qui auraient voulu mettre un motif plutôt qu'une couleur unie.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Pour toutes ces raisons, ce hack me semble &lt;a href="https://dascritch.net/post/2013/03/26/Dirty-Hacky-%3A-je-parse-en-HTML-.357-SW"&gt;limite pour l'Inspecteur Hacky&lt;/a&gt;, donc pour l'instant ⇒ c'est non.
&lt;/p&gt;
&lt;h3 id="tentative_polyfill_javascript"&gt;Tentative 2 : Polyfill javascript pour déduire une couleur totalement opaque&lt;/h3&gt;
&lt;p&gt;
Certains m'ont suggéré &lt;strong&gt;d'utiliser/créer un &lt;em&gt;polyfill&lt;/em&gt; en javascript pour extraite la couleur opaque&lt;/strong&gt; en &lt;a href="https://dev.to/oleggromov/observing-style-changes---d4f"&gt;surveillant les modifications&lt;/a&gt; sur la &lt;a href="https://davidwalsh.name/css-variables-javascript"&gt;variable d'environnement&lt;/a&gt;, et en définissant une autre variable d'environnement à la volée avec le canal alpha complètement opaque. L'idée &lt;strong&gt;semblait&lt;/strong&gt; être une bonne idée, puisque les variables CSS peuvent changer suivant les contextes (position de l'élément dans le DOM, taille de la fenêtre, &lt;code&gt;:hover , :focus&lt;/code&gt;, etc...). Les innocents…
&lt;/p&gt;
&lt;p&gt;
Évidemment, &lt;a href="https://developer.mozilla.org/fr/docs/Web/CSS/Type_color"&gt;il faut convertir la couleur CSS qui peut être retournée en n'importe quelle notation valide&lt;/a&gt; vers un format RGBA ou HLSA (peu importe, tant qu'on peut avoir la valeur alpha à part). J'ai vérifié &lt;a href="https://zellwk.com/blog/css-values-in-js/#getting-computed-styles"&gt;avec la méthode &lt;code&gt;window.getComputedStyle()&lt;/code&gt;&lt;/a&gt; en l'appliquant sur un élément de référence, seul moyen de résoudre les contextes comme &lt;code&gt;currentColor&lt;/code&gt;. Outre que créer un élément de référence uniquement dans ce but est une méthode qui pue un peu, la fonction que j'appelle &lt;a href="https://drafts.csswg.org/cssom/#resolved-values"&gt;retourne à peu près le format qu'elle veut&lt;/a&gt;, selon l'envie du navigateur, l'historique de la propriété et le système derrière. Ainsi, on peut tout à fait imaginer qu'un écran passif travaille en HLS, ou qu'une évolution prochaine du standard passe d'un rendu de 8 à 16&amp;nbsp;bits par canal couleur. De petites fonctions pèteront le &lt;em lang="en"&gt;webcomponent&lt;/em&gt; à la gueule des utilisateurs sans que vous ne voyiez rien venir.
&lt;/p&gt;
&lt;p&gt;
Donc il nous faut une &lt;a href="https://dascritch.net/tag/regex"&gt;regex&lt;/a&gt; convertisseur magique qui n'existe pas en standard en pariant très fort que les navigateurs ne retournent que du &lt;code&gt;rgb()&lt;/code&gt; ou du &lt;code&gt;rgba()&lt;/code&gt;.&lt;br /&gt;
Là aussi, &lt;strong&gt;j'ai tenté, j'ai abandonné&amp;nbsp;: beaucoup trop de taf pour un résultat incertain et un usage marginal.&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Si néanmoins vous vous le sentez, tentez de le faire&amp;nbsp;: j'aurais toute une liste de cas d'usages à vous faire tester, vous allez en suer et vous finirez par écrire un billet technique sur le côté complexe et vain de cet exercice. Une bien maigre compensation, mais qui vous permettra de proposer une conf à un devfest.
&lt;/p&gt;

&lt;p&gt;
J'ai même réfléchi à faire un &lt;code&gt;filter : invert(&lt;em&gt;100%&lt;/em&gt;);&lt;/code&gt; plutôt qu'inverser les variables de couleurs, mais le rendu n'était pas plaisant dans nombre de cas.
&lt;/p&gt;

&lt;h3 id="voir_en_peinture"&gt;Et là, tu peux plus voir cette exception en peinture&lt;/h3&gt;
&lt;p&gt;
Mais tu sais que c'est normal et tu dois l'accepter. Je dois être un genre de fou à la Van Gogh. LIBÉREZ LA PALETTE CHROMATIQUE&amp;nbsp;!
&lt;/p&gt;


&lt;p&gt;
Alors évidemment, il y aura toujours des personnes qui vous diront «&amp;nbsp;&lt;em&gt;Ahlalalala&amp;nbsp;! Mais il suffisait simplement de passer par un pré-processeur CSS pour obtenir cet effet&lt;/em&gt;&amp;nbsp;». &lt;strong&gt;Sauf que&lt;/strong&gt;
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Ces personnes n'ont pas lu l'ensemble de cet article&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;Ni le chapitre d'un article précédant expliquant &lt;strong&gt;&lt;a href="https://dascritch.net/post/2018/11/06/Reconstruire-son-lecteur-audio-pour-le-web#mes_regles"&gt;les contraintes d'écriture d'un web-component réutilisable&lt;/a&gt;&lt;/strong&gt;&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;Que je veux que ma bibliothèque javascript soit utilisable directement en insérant le script et en ajoutant la balise &lt;code&gt;&amp;lt;&lt;strong&gt;cpu-audio&lt;/strong&gt;&amp;gt;&lt;/code&gt;,&lt;/li&gt;
&lt;li&gt;Qu'elle soit configurable même par des gens qui n'ont qu'un minimum de bagage HTML &lt;a href="https://dascritch.github.io/cpu-audio/applications/live_config.html"&gt;avec une bête page statique&lt;/a&gt;,&lt;/li&gt;
&lt;li&gt;Qu'elle utilise en priorité les standards du web et en évitant les rustines,&lt;/li&gt;
&lt;li&gt;Et sans avoir à installer une suite d'intégration complexe, genre NPM.js je-te-télécharge-internet-pour-changer-une-couleur.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
Donc nous sommes dans un cas limite qui est actuellement bloqué, et qu'on ne tentera pas de palier dans l'immédiat car elle n'impacte qu'un cas de paramétrage d'aspect très marginal, et qui est compensable.
&lt;/p&gt;

&lt;figure&gt;
&lt;img src="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-webshare/1906-WebShare-van-gogh.jpg" alt="" /&gt;
&lt;figcaption&gt;
Désolé Larcenet*, on s'est parfois engueulés ensemble, mais j'ai pas pu m'empêcher de citer dans mon billet technique le dos de la couverture du deuxième tome de tes fabuleuses « &amp;nbsp;&lt;em&gt;Aventure rocambolesque&lt;/em&gt;&amp;nbsp;», celui avec Vincent Van Gogh. C'est chez Dargaud. Achetez-le&amp;nbsp;!
&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;
Eh mais, du coup, je peux clore &lt;a href="https://github.com/dascritch/cpu-audio/issues/29"&gt;ce ticket #29 : &lt;em lang="en"&gt;Some css vars settings won't be useful&lt;/em&gt;&lt;/a&gt;, non&amp;nbsp;?
&lt;/p&gt;

&lt;p&gt;
Non&amp;nbsp;:
&lt;/p&gt;

&lt;h3 id="couleur_tombee_du_ciel"&gt;La couleur tombée du Ciel&lt;/h3&gt;

&lt;p&gt;
J'ai écrit cet article en Avril 2019.&lt;br /&gt;
Entretemps, &lt;a href="https://github.com/w3c/css-houdini-drafts/wiki"&gt;un nouveau groupe d'API natifs commence à arriver dans les navigateurs&amp;nbsp;: &lt;strong&gt;CSS Houdini&lt;/strong&gt;.&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Et ce groupe &lt;a href="https://codepen.io/collection/XwgeMo/"&gt;est tellement stupéfiant&lt;/a&gt; qu'on dirait &lt;a href="https://furyosa.com/un-trailer-pour-color-out-of-space-de-richard-stanley/"&gt;une nouvelle de Lovecraft adaptée part Richard Stanley&lt;/a&gt; (&lt;em lang="en"&gt;Personal message&amp;nbsp;: If you read me, I salute you, by the way. You're welcome for a craft beer.&lt;/em&gt;).
&lt;/p&gt;
&lt;p&gt;
L'idée est d'étendre les variables CSS pour leur faire porter une partie d'attributs, via l'API accessible en javscript&amp;nbsp;: &lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/CSS/RegisterProperty"&gt;&lt;code&gt;CSS.registerProperty&lt;/code&gt;&lt;/a&gt;.&lt;br /&gt;
Ce qui permet d'étendre &lt;a href="https://css-houdini.rocks/background-properties"&gt;les possibilités des propriété css &lt;code&gt;background&lt;/code&gt;&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
L'idée est géniale, audacieuse, mais je ne la mettrais pas dans ma bibliothèque, car elle relève plus de la coquetterie de chaque site que de réellement la responsabilité de mon web-component. De plu, il est probable que les performances de rendu navigateur impactent l'expérience utilisateur si vous êtes trop gourmands.&lt;br /&gt;
Néanmoins, l'usage des variables CSS dans mon code en laisse la possibilité à tout intégrateur aventureux.
&lt;/p&gt;

&lt;p&gt;
La prochaine fois, on va s'amuser avec des objets DOM incongrus, des méthodes javascripts et des fichiers de sous-titrage. Et croyez-moi, c'est à la fois instructif et éclairant quand une norme a des limites pour rester dans son intention.
&lt;/p&gt;</content:encoded>
    
    
    
      </item>
  
	<item>
		<title>5 ans après Supplément Week-End</title>
		<link>https://dascritch.net/post/2019/10/30/5-ans-apr%C3%A8s-Suppl%C3%A9ment-Week-End</link>
		<guid isPermaLink="false">urn:md5:c5496ac704ce6ce2f542a6c9a836e00e</guid>
		<dc:date>2019-10-30T11:05:00+01:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Vide-Grenier</dc:subject>
        
    <description>Je tue les flux rss encore existant. Ce billet est uniquement technique, ne plus tenir compte		&lt;span class="tags"&gt;&lt;br /&gt;&lt;a href="https://dascritch.net/category/Vide-grenier"&gt;Vide-Grenier&lt;/a&gt; &lt;/span&gt;
	</description>
    <content:encoded>
		&lt;p&gt;Je tue les flux rss encore existant. Ce billet est uniquement technique, ne plus tenir compte&lt;span class="tags"&gt;&lt;br /&gt;
		&lt;a href="https://dascritch.net/category/Vide-grenier"&gt;
			Vide-Grenier&lt;/a&gt;
				&lt;/span&gt;
		&lt;/p&gt;
		&lt;p&gt;
Ce billet sert juste à invalider les derniers pointeurs sur l'émission Supplément Week-End, qui a été terminée en 2014. Il sera supprimé après une opération technique côté &lt;a href="https://podcloud.fr"&gt;podcloud&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Le «&amp;nbsp;&lt;em&gt;Supplément Week-End&lt;/em&gt;&amp;nbsp;» est devenu par la suite &lt;a href="https://www.facebook.com/fmr.crossover"&gt;«&amp;nbsp;&lt;em&gt;Cross/Over&lt;/em&gt;&amp;nbsp;»&lt;/a&gt; avec une nouvelle équipe menée par Dusport et Ultimatom.
&lt;/p&gt;
&lt;p&gt;
DaScritch a créé l'émission &lt;a href="http://cpu.pm"&gt;«&amp;nbsp;&lt;em&gt;CPU (Carré Petit Utile)&lt;/em&gt;&amp;nbsp;»&lt;/a&gt; sur des sujets numériques.
&lt;/p&gt;

&lt;p&gt;
Merci de votre compréhension.
&lt;/p&gt;

&lt;p style="visibility:hidden"&gt;
&lt;a href="https://podcloud.fr/podcast/supplement-week-end-emissions?5db95c955e7d4a5e17aa6323" target="_blank"&gt;Retrouvez Supplément Week-End (émissions) sur podCloud&lt;/a&gt;
&lt;br /&gt;
&lt;a href="https://podcloud.fr/podcast/da-scritch-net-works?5db960b55e7d4a5c48aa6314" target="_blank"&gt;Retrouvez da scritch net works sur podCloud&lt;/a&gt;
&lt;/p&gt;</content:encoded>
    
    
    
      </item>
  
	<item>
		<title>Enregistrement en public de CPU le lundi 21 Octobre</title>
		<link>https://dascritch.net/post/2019/10/14/Enregistrement-en-public-de-CPU-le-lundi-21-Octobre</link>
		<guid isPermaLink="false">urn:md5:e396d91a2bdb9a6404e97009f43ee4e8</guid>
		<dc:date>2019-10-14T12:52:00+02:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Sortons</dc:subject>
        
    <description>Développeur ×10 (2&lt;sup&gt;ème&lt;/sup&gt; prise), Capitole du Libre et contes horrifiques d'Halloween pour effrayer les entreprises.		&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;Développeur ×10 (2&lt;sup&gt;ème&lt;/sup&gt; prise), Capitole du Libre et contes horrifiques d'Halloween pour effrayer les entreprises.&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;img src="https://dascritch.net/vrac/.blog2/vu/1711-Ex0066-OrdisSovietiques/.1711-OrdiSovietiques-librec-10_m.jpg" class="r" alt="" /&gt;
&lt;p&gt;
&lt;abbr title="C'est trop long ; j'veux l'résumé"&gt;TL;DR&lt;/abbr&gt; : Lundi 21 Octobre de 19h à 23h, au &lt;a href="https://www.tetalab.org/fr/blog"&gt;Tetalab&lt;/a&gt; à &lt;a href="http://mixart-myrys.org/"&gt;Mixart-Myrys&lt;/a&gt;, l'&lt;a href="http://cpu.pm"&gt;émission CPU (Carré Petit Utile sur Radio &amp;lt;FMR&amp;gt;)&lt;/a&gt; enregistre 3 émissions en public (entrée libre contre glouglou/miamiam)&amp;nbsp;:
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Lost+found sur le Capitole Du Libre&lt;/strong&gt;&lt;br /&gt;
Peut-être aura-t-on même une idée du programme de l'édition de cette année&lt;br /&gt;
Avec une bonne partie de l'équipe de production de CPU et des membres de Toulibre.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Développeur ×10&lt;/strong&gt;&lt;br /&gt;
C'était le Grand Débat des professionnels du code et des Venture Capitalists cet été : faut-il absolument avoir un développeur×10 dans son équipe pour que sa startup aie du succès&amp;nbsp;?&lt;br /&gt;
Avec Hadrien Lanneau. Enregistrement reprogrammé
&lt;/p&gt;


&lt;p&gt;
&lt;strong&gt;Crie si tu sais… &lt;span class="serif"&gt;III&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
Des histoires d'horreurs qu'on se racontent au fond des &lt;em lang="en"&gt;datacenters&lt;/em&gt; abandonnés
&lt;br /&gt;
Avec une bonne partie de l'équipe de production de CPU et quelques guests.
&lt;/p&gt;

&lt;p&gt;
L'accès et libre, n'hésitez pas à apporter de quoi boire et grignoter, vous aurez surement des choses à aborder sur nos sujets avec l'équipe et nos invités.&lt;br /&gt;
Le &lt;a href="https://www.tetalab.org/fr/blog"&gt;Double-Dragon/Tetalab&lt;/a&gt; est tout droit passée l'entrée du bâtiment principal de &lt;a href="http://mixart-myrys.org/"&gt;Mixart-Myrys (12 Rue Ferdinand Lassalle, 31200 Toulouse)&lt;/a&gt;.&lt;br /&gt;
Parking possible dans la cour de Myrys. Bus ligne 15, arrêt Tricou (c'est à 500m, pas hyper accessible)&lt;br /&gt;
&lt;/p&gt;</content:encoded>
    
    
    
      </item>
  
	<item>
		<title>La conférence de rentrée de CPU</title>
		<link>https://dascritch.net/post/2019/09/12/Comment-on-a-enregistr%C3%A9-notre-CPU-de-rentr%C3%A9e</link>
		<guid isPermaLink="false">urn:md5:bd0313ccec46f75e8df2a51d882b6ef1</guid>
		<dc:date>2019-09-12T11:00:00+02:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Radio</dc:subject>
        
    <description>Résumé de la soirée en moins de 3 minutes, en vidéo et sans le son. Ou alors avec le son, mais ça dure une heure, et vous n'avez pas les mêmes images.		&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;Résumé de la soirée en moins de 3 minutes, en vidéo et sans le son. Ou alors avec le son, mais ça dure une heure, et vous n'avez pas les mêmes images.&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="https://dascritch.net/post/2019/08/20/Enregistrement-public-CPU-%3A-conf%C3%A9rence-de-rentr%C3%A9e-2019"&gt;Comme annoncé,&lt;/a&gt; on a fait une rentrée &lt;q&gt;dans les normes&lt;/q&gt; : Au fin fond d'une zone industrielle, dans un célèbre lieu artistique, dans le double container d'un hackerspace. Et elle signe &lt;a href="https://cpu.dascritch.net/post/2019/09/12/Ex0112-lost-found-%28volume-5-%3A-Conf-de-rentr%C3%A9e-2019%29"&gt;le début de la nouvelle saison de l'émission.&lt;/a&gt;
&lt;/p&gt;


&lt;figure&gt;
&lt;video src="https://dascritch.net/vrac/.blog2/radio/1909-ConferenceDeRentreeCPU/1909-Timelapse-cpu-rentree-1.mp4" controls&gt;&lt;/video&gt;
&lt;figcaption&gt;Philippe Martorell au bout de la table, et un pc du service vidéo posé en plein milieu avec interdiction d'y toucher. Timelapse de la première émission &lt;a href="http://la.buvette.org/video/dascritch-cpu.html"&gt;capturée par TTh&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;
&lt;a href="http://la.buvette.org/video/dascritch-cpu.html"&gt;TTh, qui gère le lieu le soir où on a enregistré (&lt;a href="http://tetalab.org/"&gt;le Double-Dragon, antre du redoutable Tetalab&lt;/a&gt;), m'a enregistré en &lt;q lang="en"&gt;timelapse&lt;/q&gt;&lt;/a&gt;. Comme des invités étaient en retard, on a en plus branché au-dessus de la porte d'entrée du &lt;del&gt;container&lt;/del&gt; Double-Dragon un gigantesque &lt;q&gt;journal lumineux&lt;/q&gt; (enseigne à led qui affichent un texte préprogrammé), piloté par un minitel, pour signaler notre position qui était visible depuis le parking.
&lt;/p&gt;

&lt;figure&gt;
&lt;a href="https://dascritch.net/vrac/.blog2/radio/1909-ConferenceDeRentreeCPU/1909-ConferenceDeRentreeCPU-3.jpg" rel="lightbox[confrentree]"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/radio/1909-ConferenceDeRentreeCPU/.1909-ConferenceDeRentreeCPU-3_m.jpg" alt="" /&gt;&lt;/a&gt;
&lt;figcaption&gt;
Sur la gauche, &lt;a href="https://2019.devfesttoulouse.fr/speakers/nicolas_decoster/"&gt;Nicolas &lt;q&gt;ogadaki&lt;/q&gt; Decoster&lt;/a&gt; de &lt;a href="https://www.lacompagnieducode.org/fr/"&gt;l'association La Compagnie du Code&lt;/a&gt; pour le &lt;a href="https://devfesttoulouse.fr/fr/kids/"&gt;DevFest Pitchouns&lt;/a&gt;. 
Face à moi, de dos, &lt;a href="https://twitter.com/eliserigot"&gt;Élise Rigot&lt;/a&gt;, productrice de la nouvelle série &lt;q&gt;Bio is the new Black&lt;/q&gt;, qui commence dans 15 jours. Photo : Enflammée&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;figure&gt;
&lt;a href="https://dascritch.net/vrac/.blog2/radio/1909-ConferenceDeRentreeCPU/1909-ConferenceDeRentreeCPU-4.jpg" rel="lightbox[confrentree]"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/radio/1909-ConferenceDeRentreeCPU/.1909-ConferenceDeRentreeCPU-4_m.jpg" alt="" /&gt;&lt;/a&gt;
&lt;figcaption&gt;&lt;a href="https://www.linkedin.com/in/julien-elies-59402345/"&gt;Julien Eliès&lt;/a&gt; qui est notre invité pour l'émission sur le Cobol. Diffusion programmée dans un mois. Photo : Enflammée&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;figure&gt;
&lt;a href="https://dascritch.net/vrac/.blog2/radio/1909-ConferenceDeRentreeCPU/1909-ConferenceDeRentreeCPU-8.jpg" rel="lightbox[confrentree]"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/radio/1909-ConferenceDeRentreeCPU/.1909-ConferenceDeRentreeCPU-8_m.jpg" alt="" /&gt;&lt;/a&gt;
&lt;figcaption&gt;Les joyeux drilles de l'asso Silicium a ressorti de son bunker une sélection de livres autour du Cobol, sujet de la deuxième émission enregistrée. La BD à droite roxe. Normalement, ils préparent un billet sur leur sélection. Photo : René Spérenza.&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;figure&gt;
&lt;a href="https://dascritch.net/vrac/.blog2/radio/1909-ConferenceDeRentreeCPU/1909-ConferenceDeRentreeCPU-2.jpg" rel="lightbox[confrentree]"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/radio/1909-ConferenceDeRentreeCPU/.1909-ConferenceDeRentreeCPU-2_m.jpg" alt="" /&gt;&lt;/a&gt;
&lt;a href="https://dascritch.net/vrac/.blog2/radio/1909-ConferenceDeRentreeCPU/1909-ConferenceDeRentreeCPU-5.jpg" rel="lightbox[confrentree]"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/radio/1909-ConferenceDeRentreeCPU/.1909-ConferenceDeRentreeCPU-5_m.jpg" alt="" /&gt;&lt;/a&gt;
&lt;figcaption&gt;Pour cette saison, je passe à un dispositif d'enregistrement totalement différent, bien plus léger, et théoriquement avec un meilleur son. Ben ouais, je reste très papier pour mon conducteur : ça ne plante pas et il ne manque pas d'énergie pour le lire au milieu du troisième enregistrement. Moi, par contre,… Photo : Enflammée&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;figure&gt;
&lt;a href="https://dascritch.net/vrac/.blog2/radio/1909-ConferenceDeRentreeCPU/1909-ConferenceDeRentreeCPU-6.jpg" rel="lightbox[confrentree]"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/radio/1909-ConferenceDeRentreeCPU/.1909-ConferenceDeRentreeCPU-6_m.jpg" alt="" /&gt;&lt;/a&gt;

&lt;a href="https://dascritch.net/vrac/.blog2/radio/1909-ConferenceDeRentreeCPU/1909-ConferenceDeRentreeCPU-7.jpg" rel="lightbox[confrentree]"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/radio/1909-ConferenceDeRentreeCPU/.1909-ConferenceDeRentreeCPU-7_m.jpg" alt="" /&gt;&lt;/a&gt;
&lt;figcaption&gt;On peut mesurer ma fatigue au fait que les oreilles de chat soient de moins en moins bien dressées. Photos : Enflammée&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;figure&gt;
&lt;video src="https://dascritch.net/vrac/.blog2/radio/1909-ConferenceDeRentreeCPU/1909-Timelapse-cpu-rentree-2.mp4" controls&gt;&lt;/video&gt;
&lt;figcaption&gt;Timelapse de la deuxième émission &lt;a href="http://la.buvette.org/video/dascritch-cpu.html"&gt;capturée par TTh&lt;/a&gt; qui est resté veiller bien tard si j'en crois les images&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;
C'est foutraque, dingue, tu penses à littéralement autre chose après une journée bien chargée... 
&lt;/p&gt;

&lt;p&gt;
Et quand tu vas pour tout ranger, deux personnes toquent au studio improvisé et nous disent &lt;q&gt;Venez, on va répéter notre concert !&lt;/q&gt;. La salle est immense, une petite dizaine de fauteuils, la musique et la performance semblent vraiment bien, mais il est 23 heures et on est trop claqués.
&lt;/p&gt;

&lt;p&gt;
J'appelle ça &lt;q&gt;une chouette rentrée radiophonique !&lt;/q&gt;
&lt;/p&gt;</content:encoded>
    
    
      <enclosure length="57593897" type="audio/mpeg3" url="/vrac/Emissions/CPU/podcast/0112-CPU%2812-09-19%29.mp3"/>
    
    
      </item>
  
	<item>
		<title>Enregistrement en public de CPU le lundi 9 Septembre : conférence de rentrée 2019</title>
		<link>https://dascritch.net/post/2019/08/20/Enregistrement-public-CPU-%3A-conf%C3%A9rence-de-rentr%C3%A9e-2019</link>
		<guid isPermaLink="false">urn:md5:9ad0db625f696880064c007c7faf397e</guid>
		<dc:date>2019-08-21T12:24:00+02:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Sortons</dc:subject>
        
    <description>Conférence de rentrée, Développeur ×10 et See you, Space Cobol !		&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;Conférence de rentrée, Développeur ×10 et See you, Space Cobol !&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;img src="https://dascritch.net/vrac/.blog2/vu/1711-Ex0066-OrdisSovietiques/.1711-OrdiSovietiques-librec-10_m.jpg" class="r" alt="" /&gt;
&lt;p&gt;
&lt;abbr title="C'est trop long ; j'veux l'résumé"&gt;TL;DR&lt;/abbr&gt; : Lundi 9 Septembre de 19h à 23h, au &lt;a href="https://www.tetalab.org/fr/blog"&gt;Tetalab&lt;/a&gt; à &lt;a href="http://mixart-myrys.org/"&gt;Mixart-Myrys&lt;/a&gt;, l'&lt;a href="http://cpu.pm"&gt;émission CPU (Carré Petit Utile sur Radio &amp;lt;FMR&amp;gt;)&lt;/a&gt; enregistre 3 émissions en public (entrée libre contre glouglou/miamiam)&amp;nbsp;:
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Notre Conférence de Rentrée&lt;/strong&gt;&lt;br /&gt;
Nous en aurons des choses à vous faire miroiter : quelques nouveautés dont des nouveaux dans la team, un agenda, au moins 3 nouvelles séries d'émissions et une grande annonce pour Radio &amp;lt;FMR&amp;gt;&lt;br /&gt;
Avec une bonne partie de l'équipe de production de CPU.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Développeur ×10&lt;/strong&gt;&lt;br /&gt;
C'était le Grand Débat des professionnels du code et des Venture Capitalists cet été : faut-il absolument avoir un développeur×10 dans son équipe pour que sa startup aie du succès&amp;nbsp;?&lt;br /&gt;
Avec Hadrien Lanneau.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;See you, Space Cobol&lt;/strong&gt;&lt;br /&gt;
À l'occasion des 50 ans de la conquête de la Lune, revenons sur une des technologies qui a permis cette immense opération logistique&amp;nbsp;: le langage Cobol. Et pourquoi est-il encore si utilisé dans nos glorieuses nationales Bancassurances&amp;nbsp;? Est-ce la raison de leur puissance&amp;nbsp;?&lt;br /&gt;
Avec Julien Eliès.
&lt;/p&gt;

&lt;p&gt;
L'accès et libre, n'hésitez pas à apporter de quoi boire et grignoter, vous aurez surement des choses à aborder sur nos sujets avec l'équipe et nos invités.&lt;br /&gt;
Le &lt;a href="https://www.tetalab.org/fr/blog"&gt;Double-Dragon/Tetalab&lt;/a&gt; est tout droit passée l'entrée du bâtiment principal de &lt;a href="http://mixart-myrys.org/"&gt;Mixart-Myrys (12 Rue Ferdinand Lassalle, 31200 Toulouse)&lt;/a&gt;.&lt;br /&gt;
Parking possible dans la cour de Myrys. Bus ligne 15, arrêt Tricou (c'est à 500m, pas hyper accessible)&lt;br /&gt;
&lt;/p&gt;</content:encoded>
    
    
    
      </item>
  
	<item>
		<title>We need Web Share</title>
		<link>https://dascritch.net/post/2019/06/26/We-need-Web-Share</link>
		<guid isPermaLink="false">urn:md5:827c3a2b8b5db491bf772a91792c78c7</guid>
		<dc:date>2019-06-26T05:21:00+02:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Webdev</dc:subject>
        
    <description>We finally get a way to add share buttons without forgetting a service or use. And respecting the privacy of our public. Go into all the world wide web and preach the method to all creation ! Well… who can use it, because, alas, that function is not everywhere.		&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;We finally get a way to add share buttons without forgetting a service or use. And respecting the privacy of our public. Go into all the world wide web and preach the method to all creation ! Well… who can use it, because, alas, that function is not everywhere.&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;
This article is translated &lt;a href="https://dascritch.net/post/2019/06/18/Le-blues-du-navigator.share"&gt; from french, namely «&amp;nbsp;&lt;em lang="fr"&gt;Le blues du Web Share&lt;/em&gt;&amp;nbsp;»&lt;/a&gt;, in &lt;a href="https://dascritch.net/serie/cpu-audio"&gt;a series describing&lt;/a&gt; the development of &lt;a href="https://dascritch.github.io/cpu-audio/"&gt;the cpu-audio.js webcomponent.&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://www.youtube.com/watch?v=aU-3oiB9E54"&gt;&lt;q lang="fr"&gt;Excuse my French&lt;/q&gt;&lt;/a&gt; as we say in… French.
&lt;/p&gt;
&lt;style&gt;
#share_but {
display : inline-block; height:16px;width:16px;vertical-align: bottom; fill:currentColor
}
&lt;/style&gt;
&lt;p&gt;
Today, I talk about what lies behind the  &lt;button type="button" onclick="document.querySelector('cpu-audio').CPU.show_actions();"&gt;&lt;svg viewBox="-8 -8 40 40" id="share_but"&gt;&lt;path d="M 21 0 C 18.2 0 16 2.2 16 5 C 16 5.1 16 5.2 16.0 5.2 L 8.2 9.2 C 7.3 8.4 6.2 8 5 8 C 2.2 8 0 10.2 0 13 C 0 15.8 2.2 18 5 18 C 6.2 18 7.3 17.5 8.2 16.8 L 16 20.8 C 16.0 20.8 16 20.9 16 21 C 16 23.8 18.2 26 21 26 C 23.8 26 26 23.8 26 21 C 26 18.2 23.8 16 21 16 C 19.8 16 18.7 16.4 17.8 17.2 L 10 13.3 C 10 13.2 10 13.1 10 13 C 10 12.9 10 12.8 10 12.8 L 17.8 8.8 C 18.7 9.6 19.8 10 21 10 C 23.8 10 26 7.8 26 5 C 26 2.2 23.8 0 21 0 Z"&gt;&lt;/path&gt;&lt;/svg&gt; action&lt;/button&gt; button.
&lt;/p&gt;

&lt;p&gt;
Here is my player, in its last development version. You can  &lt;a href="https://dascritch.net/post/2019/06/26/We-need-Web-Share#the_switch"&gt;⇓ jump ⇓ to ⇓ the ⇓ next ⇓ chapter ⇓&lt;/a&gt;
&lt;/p&gt;

&lt;cpu-audio title="En attendant Le Supplément Week-End (09/06/2009)" poster="https://dascritch.net/vrac/.blog2/radio/swe-saison5.png" canonical="https://dascritch.net/post/2009/06/20/En-attendant-le-Supplement-Week-End"&gt;
&lt;strong&gt;&lt;a href="https://dascritch.net"&gt;You will need to go on my dascritch.net websit to read and experience my post. If you can read this text, you may probably not be on it.&lt;/a&gt;&lt;/strong&gt;
&lt;audio controls id="exemple"&gt;
      &lt;source src="https://dascritch.net/vrac/Emissions/Speciales/090620-En-attendant-le-SWE.ogg" type="audio/ogg" /&gt;
      &lt;source src="https://dascritch.net/vrac/Emissions/Speciales/podcast/090620-En-attendant-le-SWE.mp3" type="audio/mpeg" /&gt;
&lt;/audio&gt;
&lt;/cpu-audio&gt;
&lt;p&gt;
&lt;small&gt;Yes, I know, I’m talking in French and this show is 5 years old, but I’m not sure to be a better radio host today. Yes, the interface is in French here, because my blog usually gets contents in French. &lt;a href="https://dascritch.github.io/cpu-audio/"&gt;It may be started in English.&lt;/a&gt;&lt;/small&gt;
&lt;/p&gt;

&lt;h3 id="the_switch" lang="en"&gt;The switch&lt;/h3&gt;

&lt;figure&gt;
&lt;img src="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-webshare/1906-WebShare-interfacenormale.png" alt="" /&gt;
&lt;figcaption&gt;The main interface of the player&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;
This button (on the right of the main interface) will switch it to a share one. It is possible &lt;a href="https://dascritch.github.io/cpu-audio/INSTALL#attributes-references"&gt;to hide this button and so denying access to the share interface&lt;/a&gt; via &lt;code&gt;hide="&lt;em&gt;actions&lt;/em&gt;"&lt;/code&gt; attribute. It may be useful, by example when your website already have a share system.
&lt;/p&gt;

&lt;p&gt;
Once the button clicked, you get some possible actions, on the whole width of the main interface of the web component&amp;nbsp;:
&lt;/p&gt;

&lt;figure&gt;
&lt;img src="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-webshare/1906-WebShare-interfacepartage-full.png" alt="" /&gt;
&lt;figcaption&gt;Seen in full width. If you don’t see exactly that, there is no problem : it’s the subject of my post.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;
This panel has some different actions as direct downloading the media file (&lt;a href="https://dascritch.net/post/2018/11/06/Reconstruire-son-lecteur-audio-pour-le-web#codecs_libres_vs_payants"&gt;according to which  codec can be read by the browser&lt;/a&gt;, as we still get &lt;a href="https://caniuse.com/#feat=ogg-vorbis"&gt;some old guns as Safari&lt;/a&gt;) and also share the sound via e-mail, twitter or facebook to relatives, sending them the canonical URL of the sound’s page. Due to limitations on those social networks, only e-mail gets &lt;a href="https://dascritch.net/post/2018/11/06/Reconstruire-son-lecteur-audio-pour-le-web#pointer_dans_le_temps"&gt;a working media-fragment starting the play at the exact moment&lt;/a&gt; you were listening.&lt;br /&gt;
From left to right :
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;a copy of the cover, going back to the main interface,&lt;/li&gt;
&lt;li&gt;share on Twitter &lt;a href="https://dascritch.net/post/2014/02/25/Le-retour-des-boutons-de-partage#ilyadeuxtypes"&gt;(vanilla link)&lt;/a&gt;,&lt;/li&gt;
&lt;li&gt;share on Facebook &lt;a href="https://dascritch.net/post/2014/02/25/Le-retour-des-boutons-de-partage#ilyadeuxtypes"&gt;(vanilla link)&lt;/a&gt;,&lt;/li&gt;
&lt;li&gt;share by e-mail &lt;a href="https://dascritch.net/post/2014/08/19/Formulaire-de-contact-ou-mailto"&gt;(&lt;code&gt;mailto:&lt;/code&gt; link)&lt;/a&gt;,&lt;/li&gt;
&lt;li&gt;download the media (according to which codec can be read),&lt;/li&gt;
&lt;li&gt;cancel, going back to the main interface.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
As my web component is in liquid design and mobile first, the interface is simplified on small width&amp;nbsp;: cover and text labels are hidden.
&lt;/p&gt;

&lt;figure&gt;
&lt;img src="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-webshare/1906-WebShare-interfacepartage-small.png" alt="" /&gt;
&lt;figcaption&gt;Yes I know. For any critics on icon’s design, please commit me better ones. &lt;a href="http://www.st-minutiae.com/humor/doctorisms.html"&gt;I'm a coder, not Picasso.&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;
&lt;q&gt;Canonical URL&lt;/q&gt; means that if you want to share the radio show &lt;a href="http://cpu.pm/"&gt;on cpu.pm front page,&lt;/a&gt; as i’m only showing the last broadcasted episode, its audio tag will be removed after next one is broadcasted, so there is a better choice&amp;nbsp;: providing the page of the episode. And please, don’t look  like you don’t &lt;a href="https://www.yakaferci.com/link-rel-canonical/"&gt;use this useful tag.&lt;/a&gt; &lt;small&gt;Yes, even if, as I do, you don’t code a website optimized for desktops, and a &lt;code&gt;.m&lt;/code&gt; one for mobiles, because, you know, it’s a loss of time.&lt;/small&gt;
&lt;/p&gt;
&lt;p&gt;
If the canonical URL is not the one where is hosted the player, &lt;a href="https://dascritch.github.io/cpu-audio/INSTALL#attributes-references"&gt;the &lt;code&gt;canonical=""&lt;/code&gt; attribute will do the job.&lt;/a&gt;
&lt;/p&gt;

&lt;h3 id="the_wish" lang="en"&gt;The wish&lt;/h3&gt;

&lt;p&gt;
We already have browsers with a &lt;q&gt;share on social networks&lt;/q&gt; menu on mobile platforms. I’ve explained &lt;a href="https://dascritch.net/post/2014/02/25/Le-retour-des-boutons-de-partage"&gt;in a 2014 post in French about why I put again share buttons on my blog.&lt;/a&gt; It was 5 years ago, and, even if the general interface of the browsers moved, this over useful interface is still here.
&lt;/p&gt;
&lt;figure&gt;
&lt;img src="https://dascritch.net/vrac/.blog2/webdev/.1402-BoutonsSociaux-Firefox_m.png" alt="" /&gt;
&lt;figcaption&gt;Seen there in Firefox on Android in 2014, and was literally rocking, getting you directly in their respecting function in the native apps.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;
Cool. Except that your browser will take the title of the page, a title encumbered with unmeaningful   elements as separation glyphs, name of the site before title of the page, &lt;em lang="la"&gt;in extenso&lt;/em&gt; description of old-school SEO &lt;small&gt;with a bunch of keywords &lt;small&gt;names verbs persons &lt;small&gt;marks important&lt;/small&gt;&lt;/small&gt;&lt;/small&gt; etc… Up to the user to clean it up and rephrase it.
&lt;/p&gt;

&lt;h3 id="the_witch" lang="en"&gt;The witch&lt;/h3&gt;

&lt;p&gt;
Here enter the good fairies of the web standards&amp;nbsp;:
&lt;a href="https://wicg.github.io/web-share/"&gt;The W3C introduced &lt;code&gt;&lt;strong&gt;navigator&lt;/strong&gt;.share()&lt;/code&gt; aka WebShare&lt;/a&gt;, a function standardizing how to do it and allowing to suggest a bit longer description.
&lt;/p&gt;

&lt;p&gt;
This function has numerous wins&amp;nbsp;:
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;being &lt;strong&gt;standard&lt;/strong&gt; (in theory, I’ll explain later)&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;not forgetting a service&lt;/strong&gt; used by your reader (instead of the facebook/twitter classical duo)&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;use &lt;strong&gt;a native control&lt;/strong&gt; of the host OS, really more useful on smartphones&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;deep sending you to the share function in the native app&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;not tracking the users as do social networks&lt;/strong&gt; with rich buttons (this is a shared win with &lt;a href="https://dascritch.net/post/2014/02/25/Le-retour-des-boutons-de-partage#ilyadeuxtypes"&gt;classical HTML links&lt;/a&gt;)&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;not tracking the users by the hosting website&lt;/strong&gt;, guessing which sharing service they use&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;not encumbering the small screen&lt;/strong&gt; of a smartphone with gazillions of services.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
&lt;strong&gt;Calling it is damn simple&lt;/strong&gt;.&lt;br /&gt;
&lt;a href="https://css-tricks.com/how-to-use-the-web-share-api/"&gt;I’m really delighted having a so lean and perfectly thought process&lt;/a&gt;, instead to construct an instance builder with parameters set by another class serving a specific object and call it via an event dispatcher.
&lt;/p&gt;
&lt;p&gt;
♫ In a webpage, &lt;code&gt;https://&lt;/code&gt; served , on a user action (as  &lt;button type="button" onmouseover="this.disabled=!navigator.share" onclick="navigator.share({title: document.title,text: document.querySelector('meta[name=description]').content,url: window.location.href});"&gt;click on this button&lt;/button&gt;), cook&amp;nbsp;*&amp;nbsp;:
&lt;/p&gt;

&lt;code&gt;&lt;pre&gt;&lt;strong&gt;navigator&lt;/strong&gt;.share({
            '&lt;em&gt;title&lt;/em&gt;': &lt;strong&gt;document&lt;/strong&gt;.title,
            '&lt;em&gt;text&lt;/em&gt;': &lt;strong&gt;document&lt;/strong&gt;.querySelector('&lt;em&gt;meta[name="description"]&lt;/em&gt;').content,
            '&lt;em&gt;url&lt;/em&gt;': &lt;strong&gt;window&lt;/strong&gt;.location.href
        });&lt;/pre&gt;&lt;/code&gt;

&lt;p&gt;
&lt;small&gt;* in French, it sings as the &lt;a href="https://www.youtube.com/watch?v=lckuX1aaslg&amp;amp;t=84"&gt;Cake d'Amour song in the famous  «&amp;nbsp;&lt;em&gt;Peau d'Âne&lt;/em&gt;&amp;nbsp;» movie, directed by Jacques Demy.&lt;/a&gt; That’s what I call &lt;q&gt;love&lt;/q&gt;.&lt;/small&gt;
&lt;/p&gt;
&lt;p&gt;
If you have a clean coded html page, &lt;a href="https://alligator.io/js/web-share-api/"&gt;your whole job is done&lt;/a&gt;. If it’s a piggy mess, you should start to not forget the &lt;code&gt;&amp;lt;&lt;strong&gt;meta&lt;/strong&gt;...&lt;/code&gt; description tag.&lt;br /&gt;
By the way, you can &lt;a href="https://wicg.github.io/web-share/level-2/"&gt;share files with this standard’s level 2&lt;/a&gt;, and an &lt;abbr&gt;API&lt;/abbr&gt; to test the share (&lt;code&gt;&lt;strong&gt;navigator&lt;/strong&gt;.canShare()&lt;/code&gt;).&lt;br /&gt;
Pure genius&amp;nbsp;!
&lt;/p&gt;

&lt;h3 id="the_twist" lang="en"&gt;The twist&lt;/h3&gt;

&lt;p&gt;
Except :
&lt;/p&gt;

&lt;figure&gt;
&lt;a href="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-webshare/1906-WebShare-CanIUse.png"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-webshare/.1906-WebShare-CanIUse_m.png" alt="Seulement Chrome sur Android et Safari sur le tout dernier iOS" /&gt;&lt;/a&gt;
&lt;figcaption&gt;
&lt;a href="https://caniuse.com/#feat=web-share"&gt;CanIUse.com support stats&lt;/a&gt; as taken when I wrote the original french post.
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;ul&gt;
&lt;li&gt;This &lt;abbr&gt;API&lt;/abbr&gt; is &lt;strong&gt;not available on desktop computers&lt;/strong&gt; (except Safari Mac)&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;It is also &lt;strong&gt;not available on Chrome Desktop, even in &lt;q&gt;responsive&lt;/q&gt; mode&lt;/strong&gt; (by the way, not a real mobile emulation, and may induce you in error)&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;This &lt;abbr&gt;API&lt;/abbr&gt; is &lt;strong&gt;as today only on iOS and Chrome Android&lt;/strong&gt;&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;On iOS, each native app should carry its own sharing list, so we had a lot of missing ones due to the lack of a system-wide registry. We have it finally with, guess what ? &lt;a href="https://webkit.org/status/#feature-web-share"&gt;Experimental support of &lt;code&gt;&lt;strong&gt;navigator&lt;/strong&gt;.share&lt;/code&gt;&lt;/a&gt;&amp;nbsp;!&lt;/li&gt;
&lt;li&gt;It is &lt;strong&gt;still not possible of a online service accessed via a browser to be registered&lt;/strong&gt;, &lt;a href="https://github.com/WICG/web-share-target"&gt;as long Web Share Target API&lt;/a&gt; is nowhere implemented (and if it will be somewhere, we need to have it accepted by the user via a specific interface, to avoid spam attempts).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
We have a very volatile scene of social networks, and the landing of &lt;a href="https://carlchenet.com/de-limportance-de-bien-choisir-son-instance-mastodon/"&gt;decentralized hives, where inhabitants is supposed to easily migrate&lt;/a&gt; from an instance to another one. For 3 years Web Share is so under-esteemed and only usable on one platform is a real shame. I’m deeply convinced we have technical ability to build a WebExtension doing that job on desktop browsers.
&lt;/p&gt;
&lt;p&gt;
I have some request to add, or being able to add, sharing option for a lambda website. Sure, I’d only put Facebook and Twitter, some people shamed me for forgetting &lt;a href="https://diasporafoundation.org/"&gt; Diaspora*&lt;/a&gt;, &lt;a href="https://vk.com/"&gt;VKontakte&lt;/a&gt;, &lt;a href="https://mastodon.social/about"&gt;Mastodon&lt;/a&gt;, &lt;a href="http://perdu.com/"&gt;etc.social.random()&lt;/a&gt; in the action interface of my player. They are right.&lt;br /&gt;
Except &lt;strong&gt;the more you get in a limited place, smaller each button will be&lt;/strong&gt; and all those services will be tight on the bench a wide as a smartphone. And, whatever we can do, there is no way to keep an exhaustive list of any available share services, even for specialized audience, for a real obvious point&amp;nbsp;: &lt;strong&gt;New services appear each day.&lt;/strong&gt;
&lt;/p&gt;


&lt;figure&gt;
&lt;img src="https://dascritch.net/vrac/.blog2/webdev/805-SocialBookmarkingBadges.png" alt="" /&gt;
&lt;figcaption&gt;
So I’m re-using this really lame joke, again.
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;
Looking this image again, we note that a lot of those &lt;q&gt;social&lt;/q&gt; services that died during the last 5 years. And having so much begging puppies makes the whole page unreadable.
&lt;/p&gt;

&lt;h3 id="the_tweet" lang="en"&gt;The tweet&lt;/h3&gt;

&lt;p&gt;
Well, I can not declare those missing services in the webcomponent code, and create an &lt;abbr&gt;API&lt;/abbr&gt;  permitting the web-developer to add some&amp;nbsp;?
&lt;/p&gt;
&lt;blockquote&gt;
­Ahem. No. Wrong idea.
&lt;/blockquote&gt;
&lt;p&gt;
Because a such function will induce other problems&amp;nbsp;: charging the work &lt;strong&gt;to whom will include my webcomponent in his website&lt;/strong&gt;, asking to have some &lt;a href="https://dascritch.net/tag/javascript"&gt;javascript&lt;/a&gt; knowledge and read &lt;a href="https://github.com/dascritch/cpu-audio/blob/master/API.md"&gt;my &lt;abbr&gt;API&lt;/abbr&gt;'s documentation.&lt;/a&gt; I can hear you, noisy kids&amp;nbsp;: even with a big &lt;abbr&gt;RTFM&lt;/abbr&gt;, you won’t.&lt;br /&gt;
And I can bet that the web operator will forget some sharing services.
&lt;/p&gt;
&lt;p&gt;
It also means giving to the integrator some parameters that may be harmful&amp;nbsp;:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;describing a color, injecting it via the &lt;code&gt;style="&lt;em&gt;background-color&lt;/em&gt;"&lt;/code&gt; attribute&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;describing a monochromatic &lt;a href="https://dascritch.net/tag/svg"&gt;SVG&lt;/a&gt; logo, needed because of the color inversion on  &lt;code&gt;:hover&lt;/code&gt; and &lt;code&gt;:focus&lt;/code&gt;, and betting the image will be exactly matching my template constraints and is not having an embedded javascript&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;describing an URL canvas where to send for that sharing service, if a such URL exists.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Yes, I’m talking about you, social services with sharing systems that don’t support a simple link for that job. With the main motive to force your users using your mobile app full of tracking ads. You, nasty boys.
&lt;/p&gt;

&lt;h3 id="ben_alors" lang="en"&gt;So what ?&lt;/h3&gt;
&lt;p&gt;
I don't know what to tell.
&lt;/p&gt;
&lt;p&gt;
Today, a feature detection replaces the facebook/twitter/e-mail buttons by a unique button, launching the  &lt;code&gt;&lt;strong&gt;navigator&lt;/strong&gt;.share()&lt;/code&gt; function. You can see it only on Chrome Android and Safari.
&lt;/p&gt;

&lt;figure&gt;
&lt;img src="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-webshare/1906-WebShare-interfacewebshare.png" alt="" /&gt;
&lt;figcaption&gt;
The action interfaces, with the &lt;code&gt;&lt;strong&gt;navigator&lt;/strong&gt;.share()&lt;/code&gt; button
&lt;/figcaption&gt;
&lt;/figure&gt;



&lt;figure&gt;
&lt;img src="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-webshare/1906-WebShare-effet-safari-mac.png" alt="" /&gt;
&lt;figcaption&gt;
Screenshoted on Safari Mac by Hadrien Lanneau. It pops up a contextual menu where the mouse is.
&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;p&gt;
And later, yes, &lt;strong&gt;build a polyfill WebExtension may be a great idea&lt;/strong&gt; (in a more generic and without jQuery way, compared to &lt;a href="https://shgysk8zer0.github.io/posts/javascript/2017/10/19/web-share-api/"&gt;web-share-api by C. Zuber&lt;/a&gt;). As long as sharing services will collaborate without pollute it with &lt;q&gt;analytics&lt;/q&gt; and other ad-tracking.
&lt;/p&gt;
&lt;p&gt;
For me, the best looking interface to add a share service in my browser is to re-use &lt;a href="https://support.mozilla.org/en-US/kb/add-or-remove-search-engine-firefox"&gt;what already exists in Firefox to add a search engine.&lt;/a&gt; Because it's a lean interface, explicit one, standard-based and most of the work is already done there.
&lt;/p&gt;
&lt;p&gt;
It’s up to you to build it, now. &lt;abbr&gt;IMHO&lt;/abbr&gt;, this is not a over-difficult job to complete, and will be still a future-proof solution instead of &lt;a href="https://dascritch.net/post/2008/05/28/Bookmark-moi-cette-page"&gt;any old AddThis script.&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
You can also support initiatives to add WebShare into&amp;nbsp;:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.chromestatus.com/feature/5668769141620736"&gt;Chrome Desktop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mozilla/standards-positions/issues/27"&gt;Firefox&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Again, it was a long post talking about code, standard, implementations, but, for me, it worth it because this issue is not limited to my cpu-audio.js.&lt;br /&gt;
My next post in this series will be in French and talks about &lt;a href="https://dascritch.net/tag/css"&gt;CSS&lt;/a&gt;, standards and implementations for some… strange colors.&lt;br /&gt;
&lt;small&gt;May be it’s a frightening title, may be related to a horror story, so I have to say the killing sentence&amp;nbsp;:&lt;/small&gt;
&lt;/p&gt;
&lt;p&gt;
I’ll be back… soon !
&lt;/p&gt;</content:encoded>
    
    
    
      </item>
  
	<item>
		<title>J'ai donné ma collection d'Animeland à la Cinémathèque</title>
		<link>https://dascritch.net/post/2019/06/24/J-ai-donn%C3%A9-ma-collection-d-Animeland-%C3%A0-la-Cin%C3%A9math%C3%A8que</link>
		<guid isPermaLink="false">urn:md5:a1085935c5c2e824bf03faf679b2ec29</guid>
		<dc:date>2019-06-24T13:31:00+02:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Sortons</dc:subject>
        
    <description>Et hop ! Quelque place en plus pour euh.... pour... euh...		&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;Et hop ! Quelque place en plus pour euh.... pour... euh...&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;
J'avais commencé à acheter &lt;a href="https://animeland.fr/"&gt;la revue &lt;em&gt;Animeland&lt;/em&gt;&lt;/a&gt;, parce que comme je causais de plus en plus de manga dans mes émissions radio, il fallait bien que je me renseigne et que je dise moins de conneries. Or ce magazine, qui a commencé comme fanzine, était réellement indépendant de tout éditeur, et proposait des articles, dossiers et interviewes de qualité, avec une réelle approche critique.
&lt;/p&gt;

&lt;p&gt;
Puis, j'ai arrêté mon activité de chroniqueur BD après 25 ans d'activité. Mes revues se sont retrouvées dans un rayonnage quand j'ai arrêté de faire mes chroniques BD, quand nous avons arrêté &lt;em&gt;Supplément Week-End&lt;/em&gt;. Puis j'ai fait la place dans la bibliothèque et ces revues sont allées dans des cartons. Et les cartons sont restés, plein de revues, de dossiers, d'albums et des masters d'interviewes, encombrant de son m³. J'ai donné des albums, des revues, mais je me suis dis que certaines d'entre elles pouvaient intéresser au-delà d'une collection privée.
&lt;/p&gt;
&lt;p&gt;
Alors j'ai fait une proposition à la Bibliothèque Municipale de Toulouse et à la Cinémathèque de Toulouse. Et cette dernière s'est trouvée intéressée par ma collection &lt;em&gt;Animeland&lt;/em&gt;, qui va approximativement de la 37 à la 110. Environ 60cm linéaires..
&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://dascritch.net/vrac/.blog2/sortons/1906-Animeland-Cinematheque/1906-Animeland-Cinematheque_1.jpg" rel="lightbox[animeland]"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/sortons/1906-Animeland-Cinematheque/.1906-Animeland-Cinematheque_1_m.jpg" alt="" /&gt;&lt;/a&gt;&lt;a href="https://dascritch.net/vrac/.blog2/sortons/1906-Animeland-Cinematheque/1906-Animeland-Cinematheque_4.jpg" rel="lightbox[animeland]"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/sortons/1906-Animeland-Cinematheque/.1906-Animeland-Cinematheque_4_m.jpg" alt="" /&gt;&lt;/a&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;/figure&gt;
&lt;figure&gt;&lt;a href="https://dascritch.net/vrac/.blog2/sortons/1906-Animeland-Cinematheque/1906-Animeland-Cinematheque_5.jpg" rel="lightbox[animeland]"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/sortons/1906-Animeland-Cinematheque/.1906-Animeland-Cinematheque_5_m.jpg" alt="" /&gt;&lt;/a&gt;&lt;figcaption&gt;Pour les amateurs, il me reste du &lt;em&gt;Fluide Glacial&lt;/em&gt; et du &lt;em&gt;BoDoi&lt;/em&gt;, faire offre très très vite&lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;
Je suis vraiment heureux que la Cinémathèque de Toulouse se soit manifestée. Depuis qu'ils sont à la Rue du Taur, ils n'ont pas hésité à mettre en avant les films dits &lt;q&gt;de genre&lt;/q&gt;, d'abord par &lt;q&gt;les faubourgs du cinéma&lt;/q&gt; et ensuite le festival &lt;q&gt;extrême cinéma&lt;/q&gt;, que Radio &amp;lt;FMR&amp;gt; a accompagné autant que possible. J'ai pu y rencontrer Jean Rollin, et d'autres noms célèbres du &lt;q&gt;bis&lt;/q&gt;, on a pu y monter des projections nanardes tout comme des ciné-concerts d'exceptions (et j'ai un souvenir ému du &lt;a href="http://www.soitditenpassant.com/?go=movies/1999_05_Extreme_Cinema.php"&gt;&lt;q&gt;Point ne tueras&lt;/q&gt; avec Doctor Livingstone et DJ Peyo&lt;/a&gt; en Novembre 1998).&lt;br /&gt;
Ils ont un réel respect pour des œuvres qui n'étaient pas forcément bienvenue dans un cadre académique et &lt;a href="https://www.lacinemathequedetoulouse.com/collections/presentation"&gt;un fonds d'une richesse exceptionnelle qui date de leurs tous débuts&lt;/a&gt;. Et je le dis d'autant plus que Franck Lubet et Professeur Thibault sont des amis et des puits de science.
&lt;/p&gt;
&lt;p&gt;
Et c'est ainsi que nous avons transféré cette collection, direction &lt;a href="https://www.lacinemathequedetoulouse.com/la-cinematheque/visite-guidee/taur"&gt;la rue du Taur, et sa magnifique bibliothèque au premier étage&lt;/a&gt;.
&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://dascritch.net/vrac/.blog2/sortons/1906-Animeland-Cinematheque/1906-Animeland-Cinematheque_9.jpg" rel="lightbox[animeland]"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/sortons/1906-Animeland-Cinematheque/.1906-Animeland-Cinematheque_9_m.jpg" alt="" /&gt;&lt;/a&gt;&lt;a href="https://dascritch.net/vrac/.blog2/sortons/1906-Animeland-Cinematheque/1906-Animeland-Cinematheque_10.jpg" rel="lightbox[animeland]"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/sortons/1906-Animeland-Cinematheque/.1906-Animeland-Cinematheque_10_m.jpg" alt="" /&gt;&lt;/a&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;
Ceci est la salle publique de consultation de la bibliothèque (&lt;a href="https://www.lacinemathequedetoulouse.com/la-cinematheque/visite-guidee/balma"&gt;le fond films et vidéos est à Balma&lt;/a&gt;). Outre des scénarii, des ouvrages critiques, des biographies, etc... on trouve les revues parues dans l'année. Pour consulter les années précédentes, il faut demander gentiment au personnel présent. Pour le coup, nous avons été autorisés à voir le &lt;em&gt;back office&lt;/em&gt;, le fonds de la bibliothèque, entreposée dans ses impressionnantes armoires automatiques. 
&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://dascritch.net/vrac/.blog2/sortons/1906-Animeland-Cinematheque/1906-Animeland-Cinematheque_7.jpg" rel="lightbox[animeland]"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/sortons/1906-Animeland-Cinematheque/.1906-Animeland-Cinematheque_7_m.jpg" alt="" /&gt;&lt;/a&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;
Le fonds est divisé entre les collections de revues complètes francophones, et les étrangères et incomplètes. Pour l'anecdote, ils ont même du &lt;em&gt;Hot Video&lt;/em&gt;, les légendes des rayonnages racontent qu'une directrice a voulu s'en débarrasser, mais que l'équipe a tenu bon&amp;nbsp;: Si ce n'est la Cinémathèque de Toulouse qui les archive, aucune autre institution ne conserverait d'archives d'un cinéma aussi marginal.
&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://dascritch.net/vrac/.blog2/sortons/1906-Animeland-Cinematheque/1906-Animeland-Cinematheque_8.jpg" rel="lightbox[animeland]"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/sortons/1906-Animeland-Cinematheque/.1906-Animeland-Cinematheque_8_m.jpg" alt="" /&gt;&lt;/a&gt;&lt;a href="https://dascritch.net/vrac/.blog2/sortons/1906-Animeland-Cinematheque/1906-Animeland-Cinematheque_6.jpg" rel="lightbox[animeland]"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/sortons/1906-Animeland-Cinematheque/.1906-Animeland-Cinematheque_6_m.jpg" alt="" /&gt;&lt;/a&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;
Mes revues ont rejoint le fond de leur bibliothèque, et sont consultables à la rue du Taur, avec d'autres bien plus prestigieuses. Si jamais vous en ouvrez un et que vous tombez sur un bout de post-it, ben vous saurez que j'ai parfois fait des chroniques en catastrophe par manque de temps.
&lt;/p&gt;

&lt;p&gt;
Si vous avez ce genre de revues en collection, dans un état impeccable, n'hésitez pas à contacter les bibliothèques municipales et les musées, vous pourriez leur donner une nouvelle vie et aider des étudiants et des chercheurs.&lt;br /&gt;
Et d'ailleurs....
&lt;/p&gt;

&lt;p&gt;
Et il se trouve que la Cinémathèque avait la revue &lt;em&gt;Animeland&lt;/em&gt; du n°12 au n°37. Drôle de hasard. Du coup, j'ai demandé à voir le plus vieux. Et dedans, enfin la réponse que je cherchais depuis 3 mois.
&lt;/p&gt;

&lt;h3 id="jodo"&gt;La fin de l'histoire de fin&lt;/h3&gt;

&lt;p&gt;
&lt;a href="https://dascritch.net/post/2019/06/01/Akira%2C-ce-qu-Otomo-r%C3%A9v%C3%A8le-sur-nos-soci%C3%A9t%C3%A9s-par-la-gestion-des-foules"&gt;Lors du dernier THSF, j'ai fait une conférence autour de l'œuvre «&amp;nbsp;&lt;em&gt;Akira&lt;/em&gt;&amp;nbsp;» de Katsuhiro Otomo&lt;/a&gt;. Régulièrement, je lis dans des articles que Otomo était embêté sur le final de sa BD (qu'il réalisera bien après le film) et que Alejandro Jodorowsky lui aurait conseillé une fin. Le problème est que je n'avais aucune confirmation de ce fait dans une interview d'Otomo, et, ayant déjà eu Jodorowsky en interview et plusieurs témoignages, je savais que l'individu avait tendance à broder de nombreuses légendes sur sa personne. J'étais pas sûr,  et je voulais une réponse si jamais cette histoire revenait. J'avais seulement des témoignages comme quoi ils se voyaient souvent, ce qui aurait corroboré cette thèse.
&lt;/p&gt;

&lt;p&gt;
Et en ouvrant &lt;em&gt;Animeland&lt;/em&gt; n°12, en feuilletant, je tombe pile poil sur une interview du mangaka, qui efface enfin les doutes&amp;nbsp;:
&lt;/p&gt;

&lt;figure&gt;
&lt;a href="https://dascritch.net/vrac/.blog2/sortons/1906-Animeland-Cinematheque/1906-Animeland-Cinematheque_2.jpg" rel="lightbox[animeland]"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/sortons/1906-Animeland-Cinematheque/.1906-Animeland-Cinematheque_2_m.jpg" alt="" /&gt;&lt;/a&gt; 
&lt;a href="https://dascritch.net/vrac/.blog2/sortons/1906-Animeland-Cinematheque/1906-Animeland-Cinematheque_3.jpg" rel="lightbox[animeland]"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/sortons/1906-Animeland-Cinematheque/.1906-Animeland-Cinematheque_3_m.jpg" alt="" /&gt;&lt;/a&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;/figure&gt;

&lt;blockquote&gt;
(question) Il me semble avoir lu dans une interview datant de l'année dernière que le scénariste chilien Alexandre Jodorowsky a affirmé vous avoir suggéré la fin d'Akira lors d'une fête. Tout d'abord je voudrais savoir si cela est vrai […]&lt;br /&gt;
(réponse) En vérité, la fin d'Akira était déjà décidée depuis le début.
&lt;/blockquote&gt;
&lt;p&gt;
Plus de doutes, Jodo est un mytho.
&lt;/p&gt;</content:encoded>
    
    
    
      </item>
  
	<item>
		<title>Le blues du Web Share</title>
		<link>https://dascritch.net/post/2019/06/18/Le-blues-du-navigator.share</link>
		<guid isPermaLink="false">urn:md5:81bd96d1b9b6ccdee974287c66ef443f</guid>
		<dc:date>2019-06-18T06:52:00+02:00</dc:date>

    <dc:creator>Da Scritch</dc:creator>
        <dc:subject>Webdev</dc:subject>
        
    <description>Il y a enfin un moyen pour mettre des boutons de partage sans oublier une plateforme ou un usage et ceci, en assurant le respect de la confidentialité de vos ouailles. Allez et partagez la bonne nouvelle ! Enfin, ceux qui l'ont, car évidemment, la fonction est très peu répandue.		&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;Il y a enfin un moyen pour mettre des boutons de partage sans oublier une plateforme ou un usage et ceci, en assurant le respect de la confidentialité de vos ouailles. Allez et partagez la bonne nouvelle ! Enfin, ceux qui l'ont, car évidemment, la fonction est très peu répandue.&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="https://dascritch.net/post/2019/06/26/We-need-Web-Share"&gt;&lt;strong&gt;An english translation is available.&lt;/strong&gt;&lt;/a&gt;
&lt;br /&gt;
Cet article est dans &lt;a href="https://dascritch.net/serie/cpu-audio"&gt;la série consacrée au développement&lt;/a&gt; de la bibliothèque &lt;a  href="https://dascritch.github.io/cpu-audio/"&gt;cpu-audio.js&lt;/a&gt; et documente les affres de &lt;a href="https://github.com/dascritch/cpu-audio/releases/tag/6.0"&gt;sa version 6.&lt;/a&gt; (enfin, &lt;a href="https://github.com/dascritch/cpu-audio/releases/tag/6.1"&gt;la 6.1, car j'ai dû modifier l'icône dont il est question&lt;/a&gt;).
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="https://dascritch.net/post/2018/11/06/Mettre-de-l-audio-dans-le-web-n-a-pas-%C3%A9t%C3%A9-simple"&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="https://dascritch.net/post/2018/11/06/Reconstruire-son-lecteur-audio-pour-le-web"&gt;Reconstruire son lecteur audio pour le web&lt;/a&gt; (sur la version 5)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dascritch.net/post/2019/06/05/Retravailler-un-lecteur-web-audio-dans-les-petites-largeurs"&gt;Retravailler un lecteur web audio dans les petites largeurs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Le blues du Web Share&lt;/strong&gt;  (&lt;a href="https://dascritch.net/post/2019/06/26/We-need-Web-Share"&gt;english version&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dascritch.net/post/2019/11/13/Deux-couleurs-bizarres-en-CSS"&gt;Deux couleurs bizarres en CSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dascritch.net/post/2021/04/28/cpu-audio.js-enfin-en-7.0"&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;style&gt;
#share_but {
display : inline-block; height:16px;width:16px;vertical-align: bottom; fill:currentColor
}
&lt;/style&gt;
&lt;p&gt;
Je continue le tour des coulisses du &lt;a href="https://dascritch.github.io/cpu-audio/"&gt;webcomponent cpu-audio.js&lt;/a&gt;. Et aujourd'hui, on va parler de ce qu'il y a derrière son bouton &lt;button type="button" onclick="document.querySelector('cpu-audio').CPU.show_actions();"&gt;&lt;svg viewBox="-8 -8 40 40" id="share_but"&gt;&lt;path d="M 21 0 C 18.2 0 16 2.2 16 5 C 16 5.1 16 5.2 16.0 5.2 L 8.2 9.2 C 7.3 8.4 6.2 8 5 8 C 2.2 8 0 10.2 0 13 C 0 15.8 2.2 18 5 18 C 6.2 18 7.3 17.5 8.2 16.8 L 16 20.8 C 16.0 20.8 16 20.9 16 21 C 16 23.8 18.2 26 21 26 C 23.8 26 26 23.8 26 21 C 26 18.2 23.8 16 21 16 C 19.8 16 18.7 16.4 17.8 17.2 L 10 13.3 C 10 13.2 10 13.1 10 13 C 10 12.9 10 12.8 10 12.8 L 17.8 8.8 C 18.7 9.6 19.8 10 21 10 C 23.8 10 26 7.8 26 5 C 26 2.2 23.8 0 21 0 Z"&gt;&lt;/path&gt;&lt;/svg&gt; action&lt;/button&gt;
&lt;/p&gt;

&lt;p&gt;
Je vous remets le &lt;em lang="en"&gt;player&lt;/em&gt;, dans la dernière version de dev. Sinon, &lt;a href="https://dascritch.net/post/2019/06/18/Le-blues-du-navigator.share#the_switch"&gt;⇓ sautez ⇓ directement ⇓ au chapitre suivant ⇓&lt;/a&gt;
&lt;/p&gt;

&lt;cpu-audio title="En attendant Le Supplément Week-End (09/06/2009)" poster="https://dascritch.net/vrac/.blog2/radio/swe-saison5.png" canonical="https://dascritch.net/post/2009/06/20/En-attendant-le-Supplement-Week-End"&gt;
&lt;strong&gt;&lt;a href="https://dascritch.net"&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 id="exemple"&gt;
      &lt;source src="https://dascritch.net/vrac/Emissions/Speciales/090620-En-attendant-le-SWE.ogg" type="audio/ogg" /&gt;
      &lt;source src="https://dascritch.net/vrac/Emissions/Speciales/podcast/090620-En-attendant-le-SWE.mp3" type="audio/mpeg" /&gt;
&lt;/audio&gt;
&lt;/cpu-audio&gt;
&lt;p&gt;
&lt;small&gt;Ouais, le sonore date un peu, mais c'est pour illustrer et de toutes façons, je ne fais pas mieux en radio depuis.&lt;/small&gt;
&lt;/p&gt;

&lt;h3 id="the_switch" lang="en"&gt;The switch&lt;/h3&gt;

&lt;figure&gt;
&lt;img src="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-webshare/1906-WebShare-interfacenormale.png" alt="" /&gt;
&lt;figcaption&gt;L'interface normale du lecteur ci-dessus&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;
Ce bouton (à droite de l'interface normale) bascule l'interface de lecture, vers une interface de partage. À noter qu'il est possible de &lt;a href="https://dascritch.github.io/cpu-audio/INSTALL#attributes-references"&gt;cacher ce bouton et rendre l'interface d'action inaccessible&lt;/a&gt; via l'attribut &lt;code&gt;hide="&lt;em&gt;actions&lt;/em&gt;"&lt;/code&gt;, ce qui peut se comprendre, par exemple si le site a déjà sa propre interface de partage.
&lt;/p&gt;

&lt;p&gt;
Une fois le  bouton cliqué, on se retrouve sur le panneau d'actions qui prend toute la largeur du panneau principal du &lt;em lang="en"&gt;web component&lt;/em&gt;&amp;nbsp;:
&lt;/p&gt;

&lt;figure&gt;
&lt;img src="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-webshare/1906-WebShare-interfacepartage-full.png" alt="" /&gt;
&lt;figcaption&gt;Vue en pleine largeur. Pas de panique si vous ne voyez pas exactement ça&amp;nbsp;: c'est le sujet de l'article.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;
Ce panneau propose différentes actions comme la possibilité de charger directement le sonore (&lt;a href="https://dascritch.net/post/2018/11/06/Reconstruire-son-lecteur-audio-pour-le-web#codecs_libres_vs_payants"&gt;en fonction du format qui est supporté par le navigateur&lt;/a&gt;, parce qu'&lt;a href="https://caniuse.com/#feat=ogg-vorbis"&gt;il reste des vieux tromblons comme Safari&lt;/a&gt;), et aussi celui de partager le sonore par e-mail, sur twitter et sur facebook à des amis en renvoyant vers l'URL canonique de la page du sonore. À cause des limitations imposées pour les partages sur les réseaux sociaux sus-mentionnés, seul le partage par e-mail permet en l'état &lt;a href="https://dascritch.net/post/2018/11/06/Reconstruire-son-lecteur-audio-pour-le-web#pointer_dans_le_temps"&gt;de profiter du &lt;em lang="en"&gt;media fragment&lt;/em&gt; pour pointer exactement au même moment.&lt;/a&gt;&lt;br /&gt;
De gauche à droite : 
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;reprise de la &lt;em lang="en"&gt;cover&lt;/em&gt; pour revenir à l'interface de base,&lt;/li&gt;
&lt;li&gt;partager sur Twitter &lt;a href="https://dascritch.net/post/2014/02/25/Le-retour-des-boutons-de-partage#ilyadeuxtypes"&gt;(lien simple)&lt;/a&gt;,&lt;/li&gt;
&lt;li&gt;partager sur Facebook &lt;a href="https://dascritch.net/post/2014/02/25/Le-retour-des-boutons-de-partage#ilyadeuxtypes"&gt;(lien simple)&lt;/a&gt;,&lt;/li&gt;
&lt;li&gt;partager par e-mail &lt;a href="https://dascritch.net/post/2014/08/19/Formulaire-de-contact-ou-mailto"&gt;(lien &lt;code&gt;mailto:&lt;/code&gt;)&lt;/a&gt;,&lt;/li&gt;
&lt;li&gt;télécharger le sonore (en fonction du codec accepté par le navigateur),&lt;/li&gt;
&lt;li&gt;annuler, revenir à l'interface normale.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Comme le &lt;em lang="en"&gt;web component&lt;/em&gt; est en interface liquide et en &lt;em lang="en"&gt;mobile first&lt;/em&gt;, l'interface est simplifiée sur les petites largeurs&amp;nbsp;: la &lt;em lang="en"&gt;cover&lt;/em&gt; disparaît, et les textes aussi.
&lt;/p&gt;

&lt;figure&gt;
&lt;img src="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-webshare/1906-WebShare-interfacepartage-small.png" alt="" /&gt;
&lt;figcaption&gt;Oui, alors, si vous avez des remarques sur le design des icônes, rien ne vous empêche de proposer mieux. &lt;a href="http://www.st-minutiae.com/humor/doctorisms.html"&gt;Je suis programmeur, pas Picasso.&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;
&lt;q&gt;URL canonique&lt;/q&gt; voulant dire que si par exemple vous partagez l'émission qui est &lt;a href="http://cpu.pm"&gt;en une du site cpu.pm&lt;/a&gt;, vu que c'est la dernière émission diffusée, elle y disparaîtra à l'émission suivante, donc il vaut mieux directement renvoyer vers la page de l'émission. Et ne faites pas ceux qui ne connaissent pas, &lt;a href="https://www.yakaferci.com/link-rel-canonical/"&gt;vous devriez utiliser le tag&lt;/a&gt;. &lt;small&gt;Oui, même si, comme moi, vous ne doublez pas un site prévu pour desktop avec un &lt;code&gt;m.&lt;/code&gt; pour mobile parce que ça fait trop perdre de temps.&lt;/small&gt;
&lt;/p&gt;

&lt;p&gt;
Si l'URL canonique de ce sonore n'est pas celle de la page où est intégré le &lt;em lang="en"&gt;player&lt;/em&gt;, &lt;a href="https://dascritch.github.io/cpu-audio/INSTALL#attributes-references"&gt;l'attribut &lt;code&gt;canonical=""&lt;/code&gt; est là pour ça&lt;/a&gt;.
&lt;/p&gt;

&lt;h3 id="the_wish" lang="en"&gt;The wish&lt;/h3&gt;

&lt;p&gt;
Il existe déjà sur les navigateurs des plateformes mobiles un menu de partage de lien vers les réseaux sociaux. Je l'avais déjà fait remarquer &lt;a href="https://dascritch.net/post/2014/02/25/Le-retour-des-boutons-de-partage"&gt;dans le billet où je parlais de la réapparition des boutons de partage sur mon blog.&lt;/a&gt; C'était y'a 5&amp;nbsp;ans, et si le design général des navigateurs a changé, cette interface hyper pratique est toujours là.
&lt;/p&gt;
&lt;figure&gt;
&lt;img src="https://dascritch.net/vrac/.blog2/webdev/.1402-BoutonsSociaux-Firefox_m.png" alt="" /&gt;
&lt;figcaption&gt;Ici, dans Firefox Android en 2014, et ça déchirait déjà pas mal, renvoyant sur les applications natives correspondantes.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;
C'est cool, sauf que, bien souvent le navigateur va reprendre le titre de la page, lequel est bien souvent encombrée d'éléments inutiles genre glyphes de séparation, titre du site en plus de la page, description &lt;em lang="la"&gt;in extenso&lt;/em&gt; pour du SEO à la papa &lt;small&gt;bourrée de mots-clés &lt;small&gt;mot-clé keyword &lt;small&gt;key word terme important&lt;/small&gt;&lt;/small&gt; &lt;/small&gt;, etc… Ce qui laisse le boulot à l'utilisateur de nettoyer et de remettre en forme.
&lt;/p&gt;

&lt;h3 id="the_witch" lang="en"&gt;The witch&lt;/h3&gt;

&lt;p&gt;
Arrivent les bonnes fées des standards du web&amp;nbsp;:
&lt;a href="https://wicg.github.io/web-share/"&gt;Le W3C a introduit &lt;code&gt;&lt;strong&gt;navigator&lt;/strong&gt;.share()&lt;/code&gt; aka WebShare&lt;/a&gt;, une fonction qui standardise l'action et permet de  proposer un texte descriptif un poil plus long.
&lt;/p&gt;

&lt;p&gt;
Cette fonction présente plusieurs avantages&amp;nbsp;:
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;être &lt;strong&gt;standard&lt;/strong&gt; (théoriquement, on verra plus loin)&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ne pas oublier un service&lt;/strong&gt; de l'utilisateur (au lieu de rester sur le diptyque facebook/twitter)&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;utiliser &lt;strong&gt;un contrôle natif&lt;/strong&gt; de l'OS beaucoup plus pratique sur les smartphones&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;envoyer directement le lien à l'application native installée dans son interface idoine&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ne pas pister les utilisateurs par les réseaux sociaux&lt;/strong&gt; en proposant les boutons enrichis (avantage partagé si vous &lt;a href="https://dascritch.net/post/2014/02/25/Le-retour-des-boutons-de-partage#ilyadeuxtypes"&gt;utilisez les liens HTML classiques&lt;/a&gt;)&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ne pas pister les utilisateurs par le site web&lt;/strong&gt; en devinant quels services de partage l'utilisateur emploie&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ne pas encombrer l'écran&lt;/strong&gt; du smartphone avec trouzemillions de services.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
&lt;strong&gt;L'appel est hyper simple&lt;/strong&gt;.&lt;br /&gt;
&lt;a href="https://css-tricks.com/how-to-use-the-web-share-api/"&gt;Ça fait même hyper plaisir d'avoir quelque chose d'aussi simple et correctement pensé&lt;/a&gt;, au lieu de devoir faire appel à un constructeur de classe, à des paramètres instanciés par un autre constructeur pour un objet spécifique, et d'envoyer via un diffuseur d'événement.
&lt;/p&gt;
&lt;p&gt;
♫ Dans une page… ♬ dans une page web *, ♫ servie en &lt;code&gt;h&lt;/code&gt;… ♬ servie en &lt;code&gt;https://&lt;/code&gt;, sur une action utilisateur (genre &lt;button type="button" onmouseover="this.disabled=!navigator.share" onclick="navigator.share({title: document.title,text: document.querySelector('meta[name=description]').content,url: window.location.href});"&gt;clique sur ce bouton&lt;/button&gt;), lancer&amp;nbsp;:
&lt;/p&gt;

&lt;code&gt;&lt;pre&gt;&lt;strong&gt;navigator&lt;/strong&gt;.share({
            '&lt;em&gt;title&lt;/em&gt;': &lt;strong&gt;document&lt;/strong&gt;.title,
            '&lt;em&gt;text&lt;/em&gt;': &lt;strong&gt;document&lt;/strong&gt;.querySelector('&lt;em&gt;meta[name="description"]&lt;/em&gt;').content,
            '&lt;em&gt;url&lt;/em&gt;': &lt;strong&gt;window&lt;/strong&gt;.location.href
        });&lt;/pre&gt;&lt;/code&gt;

&lt;p&gt;
&lt;small&gt;* Honte à moi, oui, j'ai bien chanté ce paragraphe sur l'air du &lt;a href="https://www.youtube.com/watch?v=lckuX1aaslg&amp;amp;t=84"&gt;Cake d'Amour dans «&amp;nbsp;&lt;em&gt;Peau d'Âne&lt;/em&gt;&amp;nbsp;» de Jacques Demy.&lt;/a&gt; Et maintenant, vous l'avez dans votre tête, votre journée sera foutue. &lt;a href="https://dascritch.net/post/2019/06/18/Le-blues-du-navigator.share#comment-form"&gt;Plaintes en commentaires ↓, merci&lt;/a&gt;&lt;/small&gt;
&lt;/p&gt;
&lt;p&gt;
Si votre site est déjà bien conçu, &lt;a href="https://alligator.io/js/web-share-api/"&gt;vous n'avez quasi plus de boulot à faire&lt;/a&gt;. Si votre site est conçu comme un cochon, il va déjà falloir apprendre à ne plus oublier les balises &lt;code&gt;&amp;lt;&lt;strong&gt;meta&lt;/strong&gt;...&lt;/code&gt; descriptives.&lt;br /&gt;
D'ailleurs, on pourra aussi &lt;a href="https://wicg.github.io/web-share/level-2/"&gt;partager des fichiers avec le niveau 2 de ce standard&lt;/a&gt; et une &lt;abbr title="interface de programmation"&gt;API&lt;/abbr&gt; pour tester l'envoi (&lt;code&gt;&lt;strong&gt;navigator&lt;/strong&gt;.canShare()&lt;/code&gt;).&lt;br /&gt;
C'est génial&amp;nbsp;!
&lt;/p&gt;

&lt;h3 id="the_twist" lang="en"&gt;The twist&lt;/h3&gt;

&lt;p&gt;
Sauf que :
&lt;/p&gt;

&lt;figure&gt;
&lt;a href="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-webshare/1906-WebShare-CanIUse.png"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-webshare/.1906-WebShare-CanIUse_m.png" alt="Seulement Chrome sur Android et Safari sur le tout dernier iOS" /&gt;&lt;/a&gt;
&lt;figcaption&gt;
&lt;a href="https://caniuse.com/#feat=web-share"&gt;Les chiffres de support par CanIUse.com&lt;/a&gt; relevés à l'écriture de ce billet.
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;ul&gt;
&lt;li&gt;Cette &lt;abbr title="interface de programmation"&gt;API&lt;/abbr&gt; &lt;strong&gt;n'existe pas sur ordinateurs de bureau&lt;/strong&gt; (excepté Safari Mac)&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;Elle est aussi &lt;strong&gt;indisponible sur Chrome Desktop, même en mode &lt;q&gt;responsive&lt;/q&gt;&lt;/strong&gt; (qui n'est pas un vrai émulateur mobile, et n'est pas toujours fiable pour tester réellement)&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;Cette &lt;abbr title="interface de programmation"&gt;API&lt;/abbr&gt; n'est &lt;strong&gt;pour l'instant supportée que par Chrome sur Android et iOS&lt;/strong&gt; (eh&amp;nbsp;!)&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;Sur iOS , chaque application devait prévoir sa propre liste de partage, il y a donc souvent des oublis faute de registre commun au système. C'est enfin arrangé depuis la dernière version d'iOS avec, devinez quoi&amp;nbsp;? &lt;a href="https://webkit.org/status/#feature-web-share"&gt;Le support expérimental de &lt;code&gt;&lt;strong&gt;navigator&lt;/strong&gt;.share&lt;/code&gt;&lt;/a&gt;&amp;nbsp;!&lt;/li&gt;
&lt;li&gt;Il n'est &lt;strong&gt;pas possible pour un service en ligne accédé via le navigateur de s'inscrire&lt;/strong&gt;, &lt;a href="https://github.com/WICG/web-share-target"&gt;tant que l'API Web Share Target&lt;/a&gt; n'est implémentée nulle part (et si elle l'est, il sera impératif de demander l'autorisation à l'utilisateur par une interface de validation, afin d'éviter le spam).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Devant la volatilité des réseaux sociaux, et surtout l'arrivée &lt;a href="https://carlchenet.com/de-limportance-de-bien-choisir-son-instance-mastodon/"&gt;des ruches décentralisées où un habitant est supposé pouvoir migrer facilement&lt;/a&gt; vers un autre service, il est vraiment dommage de Web Share soit si peu considéré depuis 3 ans, et cantonné que sur une plateforme. Il y a pourtant sûrement le moyen de créer une WebExtension qui fasse le taf pour les ordinateurs de bureaux.
&lt;/p&gt;
&lt;p&gt;
Alors, on m'a souvent demandé la possibilité de rajouter dans le lecteur une option de partage vers un site particulier. Ben oui, j'avais mis que Facebook et Twitter, beaucoup me reprochent de ne pas avoir mis &lt;a href="https://diasporafoundation.org/"&gt;Diaspora*&lt;/a&gt;, &lt;a href="https://vk.com/"&gt;VKontakte&lt;/a&gt;, &lt;a href="https://mastodon.social/about"&gt;Mastodon&lt;/a&gt;, &lt;a href="http://perdu.com/"&gt;etc.social.random()&lt;/a&gt; dans l'interface d'action de mon &lt;em lang="en"&gt;player&lt;/em&gt;.&lt;br /&gt;
Sauf que, évidemment, &lt;strong&gt;plus on en met dans un espace délimité, plus les boutons de chaque site sont petits&lt;/strong&gt; et les services sont serrés sur une banquette large comme un écran de smartphone.  Et quoique l'on fasse, impossible de couvrir toutes les solutions de partage, même pour les sites spécialisés, ne serait-ce que pour une raison évidente&amp;nbsp;: &lt;strong&gt;Chaque jour naissent de nouveaux sites.&lt;/strong&gt;
&lt;/p&gt;


&lt;figure&gt;
&lt;img src="https://dascritch.net/vrac/.blog2/webdev/805-SocialBookmarkingBadges.png" alt="" /&gt;
&lt;figcaption&gt;
Et du coup, je ressors du même billet précédent cette image à l'humour douteux. .
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;
À revoir cette illustration, on remarque immédiatement que nombre de ces services &lt;q&gt;sociaux&lt;/q&gt; ont disparu dans les 10&amp;nbsp;ans. Et qu'un tel foisonnement rend la page totalement illisible.
&lt;/p&gt;

&lt;h3 id="the_tweet" lang="en"&gt;The tweet&lt;/h3&gt;

&lt;p&gt;
Donc si je met pas les services dans le code du composant, peut-être pourrais-je créer une &lt;abbr title="interface de programmation"&gt;API&lt;/abbr&gt; pour que l'intégrateur puisse en rajouter&amp;nbsp;?
&lt;/p&gt;
&lt;blockquote&gt;
­— HIN ! HIN ! &lt;a href="https://www.youtube.com/watch?v=Q4FamibkUH4"&gt;&lt;strong&gt;F.B.I. Fausse Bonne Idée !&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
— Hein ? Quoi ? &lt;a href="https://dascritch.net/post/2019/06/05/Retravailler-un-lecteur-web-audio-dans-les-petites-largeurs#jog_shuttle"&gt;Encore ?&lt;/a&gt;&lt;br /&gt;
­— Ben oui, je ne m'en lasse pas.
&lt;/blockquote&gt;
&lt;p&gt;
Car cette possibilité induirait un autre problème&amp;nbsp;: elle laisse le travail &lt;strong&gt;à la charge de celui qui intègrera le composant sur son site&lt;/strong&gt;, ce qui induit le prérequis qu'il s'y connaisse en &lt;a href="https://dascritch.net/tag/javascript"&gt;javascript&lt;/a&gt; et &lt;a href="https://github.com/dascritch/cpu-audio/blob/master/API.md"&gt;&lt;strong&gt;qu'il lise la doc de mon &lt;abbr title="interface de programmation"&gt;API&lt;/abbr&gt;&lt;/strong&gt;&lt;/a&gt;. Je vous connais bande de petits coquinous&amp;nbsp;: même avec un &lt;abbr title="Mais lisez donc la documentation, rah !"&gt;RTFM&lt;/abbr&gt;, vous ne le faites jamais.&lt;br /&gt;
Et évidemment, invariablement, l'opérateur du site oubliera d'autres sites de partage.
&lt;/p&gt;
&lt;p&gt;
Cela induisait aussi d'inclure des paramètres par l'intégrateur qui pouvaient poser soucis&amp;nbsp;:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;intégrer une couleur en l'injectant via l'attribut &lt;code&gt;style="&lt;em&gt;background-color&lt;/em&gt;"&lt;/code&gt;&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;intégrer un logo monochrome en &lt;a href="https://dascritch.net/tag/svg"&gt;SVG&lt;/a&gt;, et on est obligé d'être monochrome à cause de l'inversion de couleur au &lt;code&gt;:hover&lt;/code&gt; et &lt;code&gt;:focus&lt;/code&gt;, sans compter le pari que l'image soit ajustée aux contraintes de mon canvas et que l'intégrateur n'aura pas mis de js embarqué quelconque&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;intégrer un motif d'URL où renvoyer pour le service ciblé, à condition qu'une telle URL existe.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Oui, je pense à vous, les sites de partages sur réseaux sociaux qui n'ont pas de possibilité d'enregistrer par un lien simple. Souvent par volonté d'obliger leurs utilisateurs de passer par une appli mobile native bourrée de traceurs publicitaires.
&lt;/p&gt;

&lt;h3 id="ben_alors" lang="en"&gt;Ben alors, on fait rien ?&lt;/h3&gt;
&lt;p&gt;
Je ne sais quoi vous dire…
&lt;/p&gt;
&lt;p&gt;
Pour l'instant, je fais une &lt;em lang="en"&gt;feature detection&lt;/em&gt;, qui fait que les boutons vers facebook, twitter et e-mail sont remplacés par un bouton unique lançant la fonction &lt;code&gt;&lt;strong&gt;navigator&lt;/strong&gt;.share()&lt;/code&gt;. Une solution qui n'apparait uniquement que sur Chrome Android et Safari.
&lt;/p&gt;

&lt;figure&gt;
&lt;img src="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-webshare/1906-WebShare-interfacewebshare.png" alt="" /&gt;
&lt;figcaption&gt;
Le panneau d'actions, avec le bouton unique lançant &lt;code&gt;&lt;strong&gt;navigator&lt;/strong&gt;.share()&lt;/code&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;



&lt;figure&gt;
&lt;img src="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-webshare/1906-WebShare-effet-safari-mac.png" alt="" /&gt;
&lt;figcaption&gt;
Capture d'écran sur Safari Mac par Hadrien Lanneau. La fonction ouvre un menu contextuel à la position de la souris.
&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;p&gt;
Et pour les autres, oui, &lt;strong&gt;construire une WebExtension &lt;em lang="en"&gt;polyfill&lt;/em&gt; serait une bonne idée&lt;/strong&gt; (dans une version plus générique et sans jQuery que &lt;a href="https://shgysk8zer0.github.io/posts/javascript/2017/10/19/web-share-api/"&gt;web-share-api de C. Zuber&lt;/a&gt;). À condition que les sites de partage participent au mouvement sans vouloir y embarquer du script &lt;q&gt;analytics&lt;/q&gt; de traçage publicitaire.
&lt;/p&gt;
&lt;p&gt;
Personnellement, je pense que la meilleure interface possible pour inscrire un site de partage en plus dans son navigateur est de reprendre &lt;a href="https://support.mozilla.org/fr/kb/ajouter-ou-supprimer-un-moteur-de-recherche-dans-firefox"&gt;ce qui existe déjà pour ajouter un moteur de recherche.&lt;/a&gt; Parce que cette interface est propre, elle est explicite, elle est standardisée, et les évolutions à y faire apporter ne sont pas énormes.
&lt;/p&gt;
&lt;p&gt;
Pour la réalisation, à vous de tenter, je ne crois pas que cela soit hyper-compliqué, et ça sera toujours mieux à long terme qu'&lt;a href="https://dascritch.net/post/2008/05/28/Bookmark-moi-cette-page"&gt;un antique script à la AddThis.&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Et en attendant, soutenez les initiatives pour ajouter WebShare dans&amp;nbsp;:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.chromestatus.com/feature/5668769141620736"&gt;Chrome sur Desktop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mozilla/standards-positions/issues/27"&gt;Firefox&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Ce billet fut un poil long là aussi, et j'ai causé de code, de standard et d'implémentation, mais je pense que cela le valait, surtout que ce problème ne s'applique pas, loin de là, uniquement à mon cpu-audio.js. Prochain épisode, on va plutôt parler de &lt;a href="https://dascritch.net/tag/css"&gt;CSS&lt;/a&gt;, et là aussi, on parlera standard et implémentations pour… des couleurs bizaaaaaaaarres&amp;nbsp;!&lt;br /&gt;
&lt;small&gt;Si le titre vous fait peur, c'est que je tiens sûrement le titre d'un film d'horreur, et donc je me dois de sortir la réplique qui tue&amp;nbsp;:&lt;/small&gt;
&lt;/p&gt;
&lt;p&gt;
Prochaine épisode : &lt;a href="https://dascritch.net/post/2019/11/13/Deux-couleurs-bizarres-en-CSS"&gt;Des couleurs impossibles&lt;/a&gt;
&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="https://dascritch.net/serie/cpu-audio"&gt;la série consacrée au développement&lt;/a&gt; de la bibliothèque &lt;a  href="https://dascritch.github.io/cpu-audio/"&gt;cpu-audio.js&lt;/a&gt; et documente les affres de &lt;a href="https://github.com/dascritch/cpu-audio/releases/tag/6.0"&gt;sa version 6.&lt;/a&gt; 
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="https://dascritch.net/post/2018/11/06/Mettre-de-l-audio-dans-le-web-n-a-pas-%C3%A9t%C3%A9-simple"&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="https://dascritch.net/post/2018/11/06/Reconstruire-son-lecteur-audio-pour-le-web"&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="https://dascritch.net/post/2019/06/18/Le-blues-du-navigator.share"&gt;Le blues du Web Share&lt;/a&gt; (&lt;a href="https://dascritch.net/post/2019/06/26/We-need-Web-Share"&gt;english version&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dascritch.net/post/2019/11/13/Deux-couleurs-bizarres-en-CSS"&gt;Deux couleurs bizarres en CSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dascritch.net/post/2021/04/28/cpu-audio.js-enfin-en-7.0"&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="https://dascritch.net/post/2018/11/06/Reconstruire-son-lecteur-audio-pour-le-web"&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="Extrait de la performance “La Radio du Bout de la Nuit”"&gt;
&lt;strong&gt;&lt;a href="https://dascritch.net"&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="https://dascritch.net/vrac/Emissions/Speciales/podcast/1009-LaRadioDuBoutDeLaNuit.mp3"&gt;
	&lt;/audio&gt;
&lt;/cpu-audio&gt;
&lt;p&gt;
	&lt;small&gt;&lt;a href="http://www.printempsdeseptembre.com/fr/le-festival/avant/2011/la-radio-du-bout-de-la-nuit/757"&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="en"&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="en"&gt;web component&lt;/em&gt; faisant office de &lt;em lang="en"&gt;player&lt;/em&gt; audio. Que &lt;strong&gt;ce composant a été écrit afin de l'intégrer &lt;a href="http://cpu.pm"&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="https://cpu.dascritch.net/category/Programmes"&gt;qui durent en moyenne une bonne heure&lt;/a&gt;. La &lt;a href="https://cpu.dascritch.net/post/2017/12/14/Ex0069-How-deep-learning-is-your-love"&gt;plus longue des émissions de CPU dure 5h30&lt;/a&gt;, un exemple &lt;abbr title="pas franchement recommandé devant un public prude, mineur ou non-consentant"&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="petit_poche_gros_contrainte"&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="https://dascritch.github.io/cpu-audio/"&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="en"&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="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-pointer-ordinateur.png" alt="" /&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="http://dpi.lv/"&gt;en fait l'écran fait dans les 1080&amp;nbsp;pixels physiques&lt;/a&gt;, mais expliquer &lt;a href="https://developer.mozilla.org/fr/docs/Web/CSS/resolution#dpi"&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="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"&gt;un gros doigt normal prompt à la bourde&lt;/a&gt;.
&lt;/p&gt;
&lt;figure&gt;
&lt;img src="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-pointer-smartphone.png" alt="" /&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="https://www.uxpin.com/studio/blog/a-hands-on-guide-to-mobile-first-design/"&gt;&lt;strong&gt;&lt;em lang="en"&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="https://www.alsacreations.com/article/lire/1615-cest-quoi-le-responsive-web-design.html"&gt;&lt;strong&gt;&lt;em lang="en"&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="https://learn.onemonth.com/responsive-vs-adaptive-vs-fluid-design/"&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="en"&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="https://github.com/dascritch/cpu-audio/releases/tag/5.4"&gt;la version 5&lt;/a&gt; pour que mon &lt;em lang="en"&gt;player&lt;/em&gt; audio soit vraiment confortable à utiliser sur smartphones.
&lt;/p&gt;

&lt;h3 id="soucis_en_def"&gt;Et déjà un premier souci avec les CSS &lt;em lang="en"&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="https://dascritch.net/tag/css"&gt;CSS&lt;/a&gt; par des règles &lt;em lang="en"&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="en"&gt;breakpoint&lt;/em&gt;, une dimension critique d'une &lt;em lang="en"&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="en"&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="https://webdesign.tutsplus.com/articles/the-current-state-of-element-queries--cms-29690"&gt;mais avec des &lt;em lang="en"&gt;polyfill&lt;/em&gt; en &lt;a href="https://dascritch.net/tag/javascript"&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="https://www.youtube.com/watch?v=hUxRkuL_LMU"&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="https://tomhodgins.github.io/element-queries-spec/element-queries.html"&gt;&lt;strong&gt;CSS Element Queries&lt;/strong&gt; qui proposent de définir en &lt;em lang="en"&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="https://github.com/dascritch/cpu-audio/blob/5/src/scoped.css#L409"&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="en"&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="en"&gt;polyfill&lt;/em&gt; est lourd, même avec l'arrivée prochaine de l'API &lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver"&gt;ResizeObserver&lt;/a&gt;. &lt;br /&gt;
Pourquoi ? Imaginez que vous chargez 4 ou 5 &lt;em lang="en"&gt;web components&lt;/em&gt; dans la même philosophie de conception, qui chacune lance son &lt;em lang="en"&gt;polyfill&lt;/em&gt;… Ouais, évitez le &lt;em lang="en"&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="en"&gt;breakpoints&lt;/em&gt;, des changements de résolutions significatifs. Dans mon projet, &lt;a href="https://github.com/dascritch/cpu-audio/blob/master/src/scoped.css"&gt;le style est défini est dans une CSS locale&lt;/a&gt;, tandis que &lt;a href="https://github.com/dascritch/cpu-audio/blob/master/src/global.css"&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="en"&gt;breakpoints&lt;/em&gt;&amp;nbsp;!&lt;br /&gt;
C'est pour ça qu'&lt;a href="https://github.com/dascritch/cpu-audio/issues/51"&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="en"&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="https://knowyourmeme.com/memes/do-want-do-not-want"&gt;&lt;q lang="en-CN"&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="https://drafts.csswg.org/css-env-1/#env-function"&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="https://dascritch.net/tag/css"&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="en"&gt;fallback&lt;/em&gt;. L'invariance de la valeur représentée en quelqu'endroit du &lt;a href="https://dascritch.net/tag/dom"&gt;DOM&lt;/a&gt; le rend alors utilisable pour définir un &lt;em lang="en"&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="https://caniuse.com/#feat=css-env-function"&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="comme_un_porc"&gt;&lt;em lang="en"&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="https://dascritch.github.io/cpu-audio/FEATURES"&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="https://dascritch.net/post/2013/03/26/Dirty-Hacky-%3A-je-parse-en-HTML-.357-SW"&gt;dégainer l'Inspecteur Dirty Hacky&lt;/a&gt;
&lt;/p&gt;
&lt;figure&gt;
&lt;a href="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-hack-iframe.png"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/.1906-PetiteTaille-playerv5-hack-iframe_m.png" alt="" /&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="https://github.com/dascritch/cpu-audio/blame/5.4/FEATURES.md#L28"&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="https://dascritch.net/tag/dom"&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="https://dascritch.net/post/2018/11/06/Reconstruire-son-lecteur-audio-pour-le-web#pointer_dans_le_temps"&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="https://dascritch.github.io/cpu-audio/FEATURES#playlists"&gt;les &lt;em lang="en"&gt;playlists&lt;/em&gt;,&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;et &lt;a href="https://dascritch.github.io/cpu-audio/FEATURES#global-page-controller"&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="fine_fine"&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="en"&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="https://www.zdnet.com/product/blackberry-key2/"&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="en"&gt;time-line&lt;/em&gt; était indispensable. 
&lt;/p&gt;

&lt;figure&gt;
&lt;figcaption&gt;Une &lt;em lang="en"&gt;time-line&lt;/em&gt; c'est ÇA&amp;nbsp;: &lt;/figcaption&gt;
&lt;img src="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-wtf-la-time-line.png" alt="" /&gt;
&lt;/figure&gt;

&lt;p&gt;
N'oublions pas que mon &lt;em lang="en"&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="en"&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="en"&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="en"&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="en"&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="exemples_natifs"&gt;Quatre exemples de &lt;em lang="en"&gt;time-line&lt;/em&gt; en natif&lt;/h3&gt;

    &lt;p id="exemple_youtube"&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="lightbox[largeur]" href="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-podcastaddict-youtube-portrait.jpg"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/.1906-PetiteTaille-playerv5-podcastaddict-youtube-portrait_m.jpg" alt="" /&gt;&lt;/a&gt;
&lt;a rel="lightbox[largeur]" href="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-podcastaddict-youtube-paysage.jpg"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/.1906-PetiteTaille-playerv5-podcastaddict-youtube-paysage_m.jpg" alt="" /&gt;&lt;/a&gt;
    &lt;figcaption&gt;&lt;small&gt;Mais pourquoi ai-je pris une vidéo d'&lt;a href="https://cpu.dascritch.net/category/Chroniques/Eug%C3%A8ne-r%C3%AAve"&gt;Eugène Lawn&lt;/a&gt;&amp;nbsp;?&lt;/small&gt;&lt;/figcaption&gt;
&lt;/figure&gt;

    &lt;p id="exemple_henrymp"&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="en"&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="en"&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="lightbox[largeur]" href="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-mphenry-portrait.jpg"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/.1906-PetiteTaille-playerv5-mphenry-portrait_m.jpg" alt="" /&gt;&lt;/a&gt;
&lt;a rel="lightbox[largeur]" href="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-podcastaddict-mphenry-paysage.jpg"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/.1906-PetiteTaille-playerv5-podcastaddict-mphenry-paysage_m.jpg" alt="" /&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="exemple_podcastaddict"&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="en"&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="lightbox[largeur]" href="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-podcastaddict-page-portrait.jpg"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/.1906-PetiteTaille-playerv5-podcastaddict-page-portrait_m.jpg" alt="" /&gt;&lt;/a&gt;
&lt;a rel="lightbox[largeur]" href="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-podcastaddict-page-paysage.jpg"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/.1906-PetiteTaille-playerv5-podcastaddict-page-paysage_m.jpg" alt="" /&gt;&lt;/a&gt;
    &lt;figcaption&gt;Dans la vue présentation d'un épisode, basculer en mode paysage étend la &lt;em lang="en"&gt;time-line&lt;/em&gt;.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;figure&gt;
&lt;a rel="lightbox[largeur]" href="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-podcastaddict-sonore-portrait.jpg"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/.1906-PetiteTaille-playerv5-podcastaddict-sonore-portrait_m.jpg" alt="" /&gt;&lt;/a&gt;
&lt;a rel="lightbox[largeur]" href="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-podcastaddict-sonore-paysage.jpg"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/.1906-PetiteTaille-playerv5-podcastaddict-sonore-paysage_m.jpg" alt="" /&gt;&lt;/a&gt;
    &lt;figcaption&gt;Sauf que, petite inconsistance : sur la vue propre à un sonore, en mode paysage, la &lt;em lang="en"&gt;time-line&lt;/em&gt; est… plus courte. Oups.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p  id="exemple_lescroissants"&gt;
    Je termine ce tour avec &lt;a href="https://www.lescroissants.fr/"&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="https://www.lescroissants.fr/"&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="lightbox[largeur]"  href="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-lescroissants.jpg"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/.1906-PetiteTaille-playerv5-lescroissants_m.jpg" alt="" /&gt;&lt;/a&gt;
    &lt;figcaption&gt;En haut, vous avez une vue sur l'ensemble de l'émission dans une &lt;em lang="en"&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="en"&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="en"&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="jog_shuttle"&gt;Le &lt;em lang="en"&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="en"&gt;jog shuttle&lt;/em&gt;&amp;nbsp;! Oui, &lt;a href="https://dascritch.net/post/2006/11/03/582-mighty-moshin-emo-rangers"&gt;même en pleine &lt;q&gt;frustrajoie&lt;/q&gt;&lt;/a&gt;.
&lt;/p&gt;

&lt;figure&gt;
&lt;a rel="lightbox[largeur]"  href="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-beta-sp.jpg"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/.1906-PetiteTaille-playerv5-beta-sp_m.jpg" alt="" /&gt;&lt;/a&gt;

    &lt;figcaption&gt;Vous ne pouvez pas louper le &lt;em lang="en"&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="https://www.pinterest.com/pin/368450813255454681/"&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="en"&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="en"&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="http://fr.traxmag.com/article/33539-revox-annonce-un-nouveau-magneto-a-bande-reel-to-reel"&gt;sur un bon vieux &lt;em lang="en"&gt;reel-to-reel&lt;/em&gt; ReVox&lt;/a&gt;, ou que vous caliez un disque vinyle (étant &lt;a href="https://www.radio-fmr.net"&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="560" height="315" src="https://www.youtube-nocookie.com/embed/B1HGrqLQu3Q?start=102" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" 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="https://www.shutterstock.com/fr/video/clip-3103627-editor-working-on-betacam-sp-recorder-tv"&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="https://www.pond5.com/fr/stock-footage/12721187/editeur-travaille-sur-betacam-sp-enregistreur.html"&gt;montrant un autre point de vue&lt;/a&gt;.&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;p&gt;
À noter que &lt;a href="https://www.transfert-films-dvd.com/magnetoscopes-vhs-de-salon/"&gt;certains magnétoscopes très haut de gamme&lt;/a&gt; des années 1990s avaient un combo bouton central &lt;em lang="en"&gt;shuttle&lt;/em&gt; rotatif et pourtour &lt;em lang="en"&gt;jog&lt;/em&gt; à ressort. Peut-être fut-il utile pour &lt;a href="http://www.bitoman.net/french/bitoweb/histoire.htm"&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="en"&gt;trackpad&lt;/em&gt;. Mais le &lt;em lang="en"&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="http://xahlee.info/kbd/jog_wheel_shuttle_control.html"&gt;un &lt;q lang="en"&gt;jog shuttle wheel&lt;/q&gt; sur leur poste de montage&lt;/a&gt;. Les &lt;a href="https://www.microsoft.com/en-us/p/surface-dial/925r551sktgn?activetab=pivot%3aoverviewtab"&gt;&lt;q lang="en"&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="en"&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="en"&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="https://fr.audiofanzine.com/platine-md/sony/MZ-R35/"&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="https://www.gsmarena.com/sony_cmd_z5-pictures-133.php"&gt;le téléphone Z5 (celui de l'An 2000)&lt;/a&gt; ou encore &lt;a href="https://www.fnac.com/Sony-Clie-PEG-T625C/a1298600/w-4"&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="http://hallofshame.gp.co.at/qtime.htm"&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="en"&gt;rushes&lt;/em&gt;.&lt;br /&gt;
Alors l'idée d'un &lt;em lang="en"&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="https://www.youtube.com/watch?v=Q4FamibkUH4"&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="en"&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="bord_rond"&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="en"&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="en"&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="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-timeline-bords-ronds.png" alt="" /&gt;
    &lt;figcaption&gt;La &lt;em lang="en"&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="https://www.qualiblog.fr/outils-et-methodes/la-methode-des-5-pourquoi-pour-eradiquer-vos-problemes/"&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="https://hightech.bfmtv.com/smartphone/forme-rectangle-aux-coins-arrondis-appartient-a-apple-379106.html"&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="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-timeline-entre-boutons.png" alt="" /&gt;
    &lt;figcaption&gt;À 18&amp;nbsp;secondes par pixels pour un sonore d'une heure, cela faisait 2'27" 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="agrandir_timeline"&gt;Agrandir la &lt;em lang="en"&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="https://cpu.dascritch.net/post/2017/12/14/Ex0069-How-deep-learning-is-your-love"&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="en"&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="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-timeline-entre-boutons.png" alt="" /&gt;
    &lt;figcaption&gt;Pour reprendre l'exemple de mon blog, la &lt;em lang="en"&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="en"&gt;breakpoint&lt;/em&gt;, c'est que j'ai utilisé &lt;a href="https://developer.mozilla.org/fr/docs/Web/CSS/pointer-events"&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="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-timeline-sous-boutons.png" alt="" /&gt;
    &lt;figcaption&gt;Retravaillée la &lt;em lang="en"&gt;time-line&lt;/em&gt; fait toute la largeur du &lt;em lang="en"&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="coup_oeil"&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="en"&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="https://www.w3.org/TR/webvtt1/"&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="https://dascritch.github.io/cpu-audio/applications/chapters_editor.html"&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=""&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="http://sox.sourceforge.net/"&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="en"&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="lightbox[largeur]" href="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-formdonde-spectre.jpg"&gt;&lt;img src="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/.1906-PetiteTaille-playerv5-formdonde-spectre_m.jpg" alt="" /&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="https://cpu.dascritch.net/post/2019/04/04/Ex0107-%F0%9F%8D%BA-Bi%C3%A8re"&gt;&#127866; Bière&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;



&lt;h3 id="navigeur_finement"&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="en"&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="https://uxdesign.cc/a-comprehensive-and-honest-list-of-ux-clich%C3%A9s-96e2a08fb2e9"&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="en"&gt;time-line&lt;/em&gt; avec des mouvements genre &lt;em lang="en"&gt;pinch-in&lt;/em&gt;/&lt;em lang="en"&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="en"&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="en"&gt;pinch&lt;/em&gt;, justement).&lt;br /&gt;
Et comme mon &lt;em lang="en"&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="en"&gt;pinch-in&lt;/em&gt;/&lt;em lang="en"&gt;pinch-out&lt;/em&gt;.
&lt;/p&gt;
&lt;p&gt;
Donc finalement, supposer qu'un appui long sur la &lt;em lang="en"&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="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-alt-handheld-full.png" alt="" /&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="mauvaise_surprise_time"&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="&lt;em&gt;time&lt;/em&gt;"&amp;gt;&lt;/code&gt;, yep, icelui&amp;nbsp;: &lt;input type="time" step="1"&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="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-chrome-android-time.png" alt="" /&gt;
    &lt;figcaption&gt;Le sélecteur d'heure d'Android, extrait de &lt;a href="https://developer.mozilla.org/fr/docs/Web/HTML/Element/Input/time"&gt;l'excellent article sur &lt;code&gt;&amp;lt;&lt;strong&gt;input&lt;/strong&gt; type="&lt;em&gt;time&lt;/em&gt;"&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="&lt;em&gt;fr&lt;/em&gt;"&lt;/code&gt;.
&lt;/p&gt;
&lt;p&gt;
Tiens, si je règle un champ &lt;em lang="en"&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="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-firefox-locale-fr.png" alt="00:01:23" /&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="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-firefox-locale-enUS.png" alt="12:01:23 AM" /&gt;
    &lt;figcaption&gt;&lt;em lang="la-CUISINE"&gt;&lt;a href="https://fr.wikiquote.org/wiki/Kaamelott/Loth"&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="https://stackoverflow.com/questions/13523060/html5-time-inputs-shows-12-hours#answer-13525154"&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="https://dascritch.net/tag/dom"&gt;DOM&lt;/a&gt; expose au &lt;a href="https://dascritch.net/tag/javascript"&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="https://dascritch.github.io/cpu-audio/applications/chapters_editor.html"&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="https://github.com/dascritch/cpu-audio/issues/63 "&gt;d'écrire un &lt;em lang="en"&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="&lt;em&gt;time&lt;/em&gt;"&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=""&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="&lt;em&gt;time&lt;/em&gt;"&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="https://dascritch.net/post/2013/10/02/Dirty-Hacky-VIII-%3A-Pr%C3%A9fixes-frelat%C3%A9s"&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="enfer_petits_details"&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="en"&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="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-alt-handheld-small.png" alt="" /&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="&lt;em&gt;time&lt;/em&gt;"&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="en"&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="https://dascritch.net/vrac/.blog2/webdev/1906-tagcpupm-petiteslargeurs/1906-PetiteTaille-playerv5-alt-handheld-smallest.png" alt="" /&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="reference_obligee"&gt;Bref…&lt;/h3&gt;
&lt;p&gt;
&lt;em lang="la"&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="https://dascritch.net/post/2019/06/18/Le-blues-du-navigator.share"&gt;parlé de Web Share&lt;/a&gt;...
&lt;/p&gt;</content:encoded>
    
    
    
      </item>
    
</channel>
</rss>