La synthèse vocale en JS: SILENCE DANS LA BIBLIOTHEQUE !

Comme mon cerveau ne cesse jamais vraiment d'avoir des idées et que le confinement est propice aux réflexions, à la créativité et aux projets, j'ai à l'idée de nouvelles applis de travail pour mes élèves.

Hélas, il me faudrait une bibliothèque JS qui me permette de faire de la synthèse vocale.

Mais attention, hein: je suis prof de langue, il me faut donc une synthèse vocale CORRECTE.

A la recherche de la bibliothèque perdue

J'ai eu beau chercher, je n'ai RIEN trouvé pour le moment, car il faut dire que je cherche une bibliothèque:

  • qui fasse bien son boulot: oui parce que la synthèse vocale de l'API native, pardon... je me croirais revenu à mon adolescence quand on faisait mumuse avec la synthèse vocale de l'atariST en écrivant «beesoo» pour obtenir un semblant de trucs vaguement compréhensible bien que particulièrement offensant à toute oreille humaine... Merci de ne pas plaisanter: nous sommes en 2021, j'estime pouvoir compter sur un minimum phonétique.
  • qui n'ait pas besoin d'un framework délirant pour fonctionner (genre REAC, Node.js etc). Si le projet doit embarquer plus de framework que de code natif et qu'il faut passer les six prochains mois à se former, je vois pas l'intérêt: une lib est censée FACILITER de travail.
  • qui n'utilise pas google: je chie à longueur d'année sur le G du gafam, c'est pas pour me précipiter dessus à la moindre déconvenue... ou alors en leur piquant une lib que j'hébergerais par la suite et qui ne fasse AUCUN appel à leurs serveurs.
  • qui soit gratuite: parce que. (oui, j'ai pas d'argument particulier mais j'aime pas payer des entreprises )
  • qui soit pérenne s'il s'agit d'un service tiers, je risque un beau matin d'en être privé sans prévenir et de me retrouver grosjean comme devant.

    Je demande pas grand chose   MERDE  .png

    Quelqu un a une idée     aïe .png

How to save a base64 image from javascript with php | Our Code World

Bon, on ne m'enlèvera pas de la tête que c'est pas super intuitif, ni super simple, mais bon, je n'ai trouvé que ça qui fonctionne...

Mon souci

  1. Je crée une image côté navigateur avec canvas
  2. je veux l'envoyer à mon serveur pour stockage

On pourrait croire que c'est simple, hein... ben j'ai pas trouvé, personnellement.

J'ai essayé

  1. de transformer le canvas en blob et de l'envoyer via un formdata
  2. de transformer le canvas en blob et de l'envoyer comme un objet simple
  3. de transformer le canvas en DataURL et de l'envoyer via un formdata
  4. de transformer le canvas en DataURL et de l'envoyer comme un objet simple

Mais à chaque fois, j'ai pas été foutu de récupérer les données côté PHP (bon, je me doute qu'il doit y avoir un pacson de trucs que j'ignore encore, hein...)

Ensuite, j'ai pensé

«et si je passais les données au format base64, je devrais pouvoir les récupérer facilement...» car je pratique couramment un optimisme ridicule au sujet duquel il m'arrive encore de sombrer dans la stupéfaction à grand fracas...

Dont acte: je recommence à farfouiller avec des fetch, des posts pis tout mais sans succès: les données décodées font une image invalide.

en désespoir de cause

Je décide de procéder moins élégamment: je copie les données vers un formulaire caché que je poste en target blank pour pas perdre ma page de travail... Oui, je sais, c'est sale, c'est moche, c'est pas secure, j'en ai conscience, c'est pas la peine de m'enfoncer, j'ai déjà assez honte comme ça...

Je reçois bien de la base 64, je décode... Et l'image n'est toujours pas valide. Puis une recherche m'apprend qu'il faut virer l'en-tête base64 côté serveur avant de décoder pour que ça fonctionne...

Je teste et... ça marche.

SUPER INTUITIF MERCI

How to Favicon in 2021: Six files that fit most needs — Martian Chronicles, Evil Martians’ team blog

Entre les navigateurs «legacy» qui veulent au max du 32x32, les apple qui demandent du 180x180 (c'est quoi ce format perso de merde à la apple), les webapps android qui réclament du 192x192 et du 512x512, les windows Tile, les Safari pinned (sans compter les trucs expérimentaux) et le fait que l'ensemble doit être déclinable en dark-mode ou bright-mode, ça en fait des icônes...

Mais qu est-ce que c est que ce bordel  les gars   .jpg

Genre, on se retrouve à charger plus lourd en favicon qu'en contenu pertinent et utile... tout ça pour afficher une icône dans l'onglet du navigateur ! Une trentaine d'icône pour être sûr que l'image elle sera zoulie partout... (on se croirait revenu au temps de la rétrocompatibilité IE6-8). Heureusement que l'auteur nous annonce que les favicons sont chargées en background par le navigateur et n'affectent pas l'expérience utilisateur...

Ha  ben ça va alors   .jpg

On est en 2020 les mecs

Genre, vous pourriez utiliser globalement le svg pour avoir un rendu joli quelle que soit la taille et c'est marre. Alors je sais, on a - globalement - des connexions de fifous qui s'accommodent de cette surcharge, mais:

  1. justement, pas tous: beaucoup n'ont pas des connexions de privilégiés; la campagne, les zones blanches, les pays en voie de développement etc... C'est pas cool de leur imposer des surcharges.
  2. ça me rappelle les développeurs qui tablent sur le perfectionnement technologique des machines pour pas s'emmerder à optimiser leurs bouzins en se disant que ça tourne sur leur bécane à 4000 boules.
  3. c'est du loose-loose: les devs s'emmerdent avec des brouettées d'icônes aux formats les plus strange qui soient et les utilisateurs se font bouffer le forfait 2€ free juste pour charger l'icône du site... Le jeu n'en vaut pas la chandelle: il y a sans doute de meilleurs emplois du temps de dev et de la bande passante.

Heureusement

...l'auteur propose de limiter à 5 le nombre d'icônes (avec un fichier manifest)... c'est déjà ça.

C est bon  j ai fini mon coup de gueule  vous pouvez y aller  (1).jpg

Via https://sebsauvage.net/links/?7JTrSQ

Documentation | SVGBox.net

Un service qui permet d'utiliser des icônes svg dans la couleur qu'on souhaite avec une API (du genre: hero-solid.svg?fill=f50a0a&ic=heart)

ça m'a paru pas mal du tout (j'ai même envisagé de m'en faire un à moi pour partager ensuite en version libre et auto hébergeable) et puis j'ai téléchargé une icône au hasard... 78ko.

78ko pour UNE icône SVG, les gars, c'est carrément trop... Pour info, une icône sur noun project ça pèse autour de 2ko... Une webfont personnalisée via fontello pèse 10 ko pour une vingtaine d'icônes... le pack «regular» complet de fontawesome pèse 136ko pour 152 icônes...

C'est avec des «services» de ce genre qu'on se retrouve avec des pages qui pèsent plusieurs méga pour le moindre contenu.

tsstss...

Covid: on nous cache tout ? On nous dit (plus) rien...

Je suis le seul à ne plus trouver les chiffres des nouvelles contaminations de Covid 19 par jour ?

Jusqu'à naguère, 20 minutes faisait un post quotidien avec un décompte précis... tous les fucking jours depuis des mois.

Or, depuis le pseudo confinement light, plus rien. Et quand je cherche, je tombe sur des chiffres cumulés, les nombres de morts, le nombre de lits occupés en réa etc, mais jamais le nombre de contaminations / jour...

Je serais complotiste, j'y verrais un moyen pour le gouvernement d'éviter qu'on leur prouve que confiner tout le monde sauf les écoles et les transports en commun ne sert à rien...

Je préfère penser que c'est moi qui suis un manche et que je n'ai pas encore (re)trouvé où chercher...

EDIT: Si, l'internaute semble avoir des infos https://www.linternaute.com/actualite/guide-vie-quotidienne/2489651-chiffres-covid-bilan-du-coronavirus-en-france-mardi-3-novembre-2020/

Edit2:

Edit3:

  • https://covidtracker.fr : Au moment où j'écris ces mots, les données ne sont pas à jour précisément pour le nombre de contaminations quotidiennes: 31/10 pour les contaminations alors que pour les autres chiffres, la dernière mise à jour date du 3/11...

(...)

Fil RSS des articles