Communiquer avec le serveur depuis un navigateur Web : XHR, SSE et WebSockets

112
18
avr.
2021
Internet

Dans cette dépêche, nous allons faire un tour d’horizon de différentes manières de communiquer avec un serveur depuis une application Web, avec un petit peu d’histoire, avant de rentrer plus profondément dans le fonctionnement des WebSockets, que nous allons démystifier. Nous digresserons ensuite à propos de la gestion (problématique) des requêtes longues et de HTTP 2 avec Apache, et nous discuterons d’une manière de limiter la casse. La dépêche contient quelques morceaux raisonnables mais l’absurdité est latente.

Supposons que nous ayons une application Web qui a besoin de recevoir des évènements du serveur pour voir si quelque chose s’est passé. À tout hasard, un jeu de société en ligne. Ce jeu a besoin d’envoyer les coups des joueurs et joueuses, et de recevoir les coups des autres.

Le serveur ne peut pas contacter le navigateur. Celui-ci est peut-être derrière un pare-feu, et de toute façon il n’y a pas de méthode pour cela. Le modèle du web, c’est une requête HTTP de la part du navigateur, et le serveur sert cette requête. Et puis, à la base, une requête = un chargement de page.

Mais des techniques sont apparues pour abuser de ce modèle, puis les standards se sont mis à intégrer des méthodes pour mener ces abus en toute sérénité.

Journal cpu-audio 7.0

Posté par  (site web personnel, Mastodon) . Licence CC By‑SA.
Étiquettes :
17
27
avr.
2021

cpu-audio.js vient de passer en version 7.0. Le player audio de l'émission CPU en WebComponent a été revu en profondeur, avec moult corrections et notamment l'arrivée des thèmes graphiques en plus du (système simple de configuration](https://dascritch.github.io/cpu-audio/applications/live_config.html)

L'idée d'origine de cette lib é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 pour (…)

Meta-Press.es, outil de recherche dans la presse, libre et respectueux de la vie privée

17
5
avr.
2021
Presse

Meta-Press.es, c’est quoi ? C’est un nouveau moteur de recherche, qui vous ouvre les portes de la presse en ligne. Développé depuis 3 ans par Simon Descarpentries (et grâce à un fond européen en 2020), cet outil vous veut du bien. Libre et gratuit, sans publicité, il vise un modèle économique basé sur l’entraide et la contribution (y compris financière) à l’image de l’encyclopédie en ligne Wikipédia.

Concrètement, il s’agit d’une Web Extension à installer dans son navigateur web Firefox. Cette extension ajoute un bouton dans la barre d’icônes et ce bouton permet d’ouvrir un onglet sur le moteur de recherche. Ce dernier ne s’exécute alors que dans votre navigateur et va directement interroger vos sources d’informations sans intermédiaire entre le navigateur et les journaux sélectionnés.

Vos recherches ne passent pas par les serveurs de Meta-Press.es, qui n’enregistrent rien de votre activité. De plus, aucun tracker publicitaire ou de réseau social n’est activé par la récupération des résultats par Meta-Press.es.

Une fois la recherche terminée, vous savez combien de résultats existent et vous avez à disposition les 10 derniers résultats de chaque source, simplement rangés par ordre chronologique.

Avec Meta-Press.es vous avez la possibilité de choisir finement les journaux dans lesquels vous souhaitez chercher : les choisir par langue, pays, thème, critères techniques (HTTPS, temps de réponse…) ; Meta-Press.es vous laisse même piocher à l’unité dans la liste des sources connues ! Liste que les utilisateurs chevronnés peuvent étendre eux-mêmes, pour leur compte ou en reversant leurs contributions dans la liste publique du projet.

Alors, si chercher dans la presse n’était pas votre réflexe jusqu’ici, les développeurs de Meta-Press.es espèrent que cette démarche, efficace et sensée, rentrera davantage dans les habitudes, grâce à un outil rapide, pratique, respectueux de la vie privée et écologique.

Librecours propose une initiation à la programmation informatique

Posté par  . Édité par Ysabeau 🧶 🧦 et Benoît Sibaud. Modéré par Benoît Sibaud. Licence CC By‑SA.
15
4
avr.
2021
Éducation

UPLOAD propose en avril 2021 une initiation à la programmation sur librecours.net « spécial confinement ». Un clin d’œil appuyé en direction des lycéennes et des lycéens. On démarre mardi 6 avril (mais on peut arriver en retard).

Aucun pré-requis. C’est prévu pour deux heures par jour, mais on avance à son rythme. L’équipe d’animation 100 % bénévole est prête, composée de profs, ingés et élèves-ingé de l’Université de technologie de Compiègne (UTC).

C’est ouvert. C’est gratuit. C’est libre (la licence utilisée est la plupart du temps une CC BY-SA). À vous de jouer.

Journal Fin des résultats directs sans Javascript sur Google

Posté par  . Licence CC By‑SA.
Étiquettes :
44
17
jan.
2021

Bonjour, nal, je te présente un travail inédit que j'ai fait sur le comportement des recherches sur Google en mode « low-tech », qui a changé tout récemment.

Ça fait pas mal d'années que j'utilise Google en mode très simple pour ne pas avoir à me taper le traçage qu'il implique quand on clique sur les liens. En effet, dans la version standard que tout le monde utilise de Google, tout un tas de Javascript vous fait voir et croire (…)

Journal Warp : les performances de Firefox s’améliorent

Posté par  . Licence CC By‑SA.
42
14
nov.
2020

Salut les confinés !

Pour ceux qui ont le courage : https://hacks.mozilla.org/2020/11/warp-improved-js-performance-in-firefox-83/

En fait, il y a à la fin des jolis graphiques, qui montrent par exemple que Google Docs chargent 20% plus rapidement.

Warp est une manière différente de compiler et d’optimiser le Javascript. Cela ne concerne donc pas le rendu graphique, mais améliore grandement les applications Web. Et ce qui semble être une bonne nouvelle, c’est que le code de Warp est plus simple, et surtout même pas (…)

Forum Astuces.divers Firefox : ré-allonger le menu des marque-pages en 2020

Posté par  . Licence CC By‑SA.
6
25
oct.
2020

Bonjour à tous,
Il y a dix ans, je postais ceci : https://linuxfr.org/forums/astucesdivers/posts/firefox-36-allonger-le-menu-des-dossiers-des-marque-pages

Il s'agissait d'allonger à la fois la liste des « dossiers récents » utilisés pour classer les marque-pages à l'aide de « Ctrl+D » et le panneau contenant leur arborescence quand il s'agit d'aller en classer un nouveau. Ça a très bien fonctionné jusqu'ici mais récemment, l'architecture des menus a été entièrement ré-écrite et cette astuce n'est plus applicable. Il est donc temps de s'y coller à (…)

Journal Piano Quick & Dirty

Posté par  . Licence CC By‑SA.
Étiquettes :
24
10
oct.
2020

Il y a 5 ans, j'ai voulu apprendre un chant que ma chorale avait fait l'année avant que je les rejoigne. À ma disposition, il y avait la partition, mes souvenirs auditifs et pas d'enregistrement. Ma voix n'était pas la voix principale de ce chant donc ça peut être un peu contre intuitif à apprendre. J'ai donc reproduit la partition sur MuseScore pour la jouer.

Je n'ai pas d'instrument non plus et avoir quelque chose pour jouer des notes rapidement (…)

Journal Psychologie d'un parseur Javascript

13
9
sept.
2020

(attention : beaucoup de suppositions, peu de vérifications dans ce journal. Lisez pour le cheminement plus que pour le résultat…)

Un constat choquant

De manière tout à fait intéressante en Javascript :

++ ++ i;

Donne l'erreur suivante dans Node (V8):

SyntaxError: Invalid left-hand side expression in prefix operation`

Et, dans Firefox (SpiderMonkey):

SyntaxError: expected expression, got '++'

Alors que :

i ++ ++;

Donne l'erreur suivante dans les deux moteurs (à quelque chose près) :

SyntaxError: Unexpected
(…)