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 8 mois avec Javascript (ES6) et vue.js : mon retour d'expérience du développement front en 2018

Posté par  (site web personnel, Mastodon) .
Étiquettes :
110
9
nov.
2018

Il y a environ huit mois, mon patron m'a dit : « SpaceFox, on est en dèche de développeurs front, y'a un projet à faire là, est-ce que tu veux le faire ? ».

Comme c'était un projet à démarrer depuis rien, que je ne connaissais pas le javascript moderne1, et que je ne serais pas coincé que sur cette technologie, eh bien j'ai accepté. Alors, huit mois plus tard, qu'est-ce que je peux en dire ?

Attention (…)

Firefox 67 introduit l’acte II du projet Quantum

91
22
mai
2019
Mozilla

La version 67 de Firefox a été publiée le 21 mai 2019.
Logo de Firefox Quantum

Les principales nouveautés portent sur la version bureau et concernent le lancement officiel de WebRender (limité à certaines configurations sous Windows dans un premier temps), des améliorations de performance, des raffinements de l’interface, la prise en charge du décodage de AV1 sur Windows, macOS et GNU/Linux et, surtout, des mesures significatives permettant de renforcer la protection de la vie privée.
Comme d’habitude, le détail des nouveautés suit en seconde partie.

N. D. M. : l’équipe de modération tient à remercier antistress pour l’exceptionnelle précision documentaire de sa dépêche.

Journal JavaScript, performances, et Firefox

Posté par  . Licence CC By‑SA.
83
10
août
2012

Sommaire

Le JavaScript (…)

Journal Unknown Pleasures : un pulsar iconique

Posté par  (site web personnel) . Licence CC By‑SA.
81
23
nov.
2021

Prenant prétexte du portage en Fortran d'un programme en Javascript sous licence MIT générant des figures similaires, je m'en vais vous conter l'histoire d'une icône post-punk, à la frontière de la science et de l'art, où l'on croisera à la fois pulsations métronomiques et épilepsie.

Découverte d'un phare céleste

En juillet 1967, Jocelyn Bell, étudiante en thèse à l'université de Cambridge sous la direction d'Antony Hewish 1, découvre un curieux signal se répétant toutes les 1,337 secondes dans (…)

Journal Et si JavaScript allait droit dans le mur ?

Posté par  (site web personnel) . Licence CC By‑SA.
78
2
mar.
2016
Ce journal a été promu en dépêche : Et si JavaScript allait droit dans le mur ?.

Always bet on JS - Brendan Eich

Je me pose pas mal de questions sur l'avenir du JavaScript. D'un côté, il semble plus fort que jamais et ses surcouches (CoffeeScript, PureScript, etc.) ne sont plus à la mode. De l'autre, ces défauts me sautent de plus en plus aux yeux.

Je passe pas mal de temps à regarder de nouveaux langages de programmation. La plupart resteront expérimental, mais de temps à autre, un langage perce. Ce fût par exemple le (…)

Protéger sa vie privée sur le Web, exemple avec Firefox

74
26
fév.
2018
Internet

Un internaute peut penser que sa navigation sur le Web est noyée dans la masse, et que personne ne s’intéresse à la pister, puisqu’elle n’a pas d’importance particulière. C’est le genre de réponse que l’on peut entendre autour de soi quand on tente de sensibiliser au pistage. Ces assertions ne sont malheureusement pas valables. Bien au contraire, le comportement des internautes intéresse beaucoup les grandes sociétés : beaucoup fondent leur modèle économique^W de fonctionnement dessus, pour refourguer de la publicité au passage qui est leur vrai client payant (vu que c’est gratuit en utilisateur, tu es le produit :/).

À partir des données recueillies, des techniques de manipulation sont appliquées aux internautes comme le datamining, le neuromarketing, le biais cognitif, etc. Ces techniques ont atteint une telle maturité et efficacité qu’il est impossible de ne pas en être victime. Il ne se passe pas une semaine sans que de nouveaux articles paraissent sur de nouvelles techniques. Même être conscient de l’existence de ces biais ne permet pas de s’en protéger directement. Tout cela est l’objet d’une marchandisation monstre dans lequel nous sommes tous plus ou moins victimes. Cet article vise à sensibiliser le lecteur et à proposer des solutions efficaces afin qu’il puisse préserver sa vie privée, son autonomie, son libre arbitre, sa liberté et son indépendance, ou simplement ne pas se faire polluer de pub clignotant à foison sur chaque page consultée.

Terminus : un jeu d’aventure pour apprendre à utiliser la ligne de commande

Posté par  . Édité par Davy Defaud, Nÿco, palm123 et Benoît Sibaud. Modéré par Nÿco. Licence CC By‑SA.
67
20
nov.
2017
Jeu

En 2011, des étudiant·e·s du MIT ont eu l’idée de passer par le biais du jeu vidéo pour apprendre à utiliser la ligne de commande GNU/Linux aux non‐initié(e)s. Trois ans plus tard sortait le jeu Terminus jouable (accès au code source).

Terminus, un jeu avec des gamins, des trolls, et des manuscrits

Firefox 45 ESR et autres actualités mozilliennes

64
27
mar.
2016
Mozilla

La 45e version de Firefox est sortie le 8 mars et devient la nouvelle version à support étendu, Extended Support Release (ESR), à la place de la version 38 sortie le 12 mai 2015.

Les navigateurs IceCat et Tor Browser se baseront sur cette itération de Firefox pour leurs prochaines versions.

On ajoutera que la première version de correctifs de Firefox, 45.0.1, est sortie le 16 mars.

Il est donc temps de faire le point sur cette version ESR ainsi que sur l’actualité Mozillienne.

Mozilla Firefox ESR

Comment créer une carte Open Street Map

Posté par  . Édité par claudex, Benoît Sibaud et Bruno Michel. Modéré par Pierre Jarillon. Licence CC By‑SA.
61
15
juin
2013
Open Data

Vous avez déjà essayé de créer une carte personnalisée sur votre site ? Ce n’est pas toujours une partie de plaisir… Certains fournisseurs de map proposent des cartes très esthétiques, mais peu personnalisables, d’autres sont lourds à implémenter, bref, construire une carte à base d’open data peut être un parcours du combattant.

Mapping : why U no easy ?

Ce guide ne cherche pas à être exhaustif, il s’agit surtout d’un partage d’expérience, fort limité du fait que je ne suis pas un développeur ou mappeur professionnel. En revanche, je pense bien représenter le public non-codeur qui souhaiterait passer ces obstacles, et si cet article peut aider un débutant comme moi à trouver des ressources, des idées et des bouts de code pour parvenir à réaliser son objectif, alors cet article aura joué son rôle.
N’hésitez pas à partager vos avis, critiques et conseils dans les commentaires !
On commencera par lister quelques exemples de cartes, on verra un ou deux exemples de plateformes de création de carte sans coder, puis on entrera dans les détails du code nécessaire pour monter une carte avec OpenLayers.

Journal EnVadrouille, une galerie photo pour vos randos (5 ans après)

Posté par  . Licence CC By‑SA.
60
25
sept.
2018

Il y a presque 5 ans je présentais EnVadrouille, une galerie photo orientée petits voyages et randonnées. Cinq ans, 50 mises à jours, c'est le moment de refaire le point.

Récapitulatif

EnVadrouille permet d'afficher des photos, des vidéos et des traces gps. Les photos sont automatiquement placées sur la carte en utilisant les données exif ou la trace gps (corrélation entre le moment de la prise de vue et la trace). Ça ressemble à ça :

On (…)

Journal Où il est question de D3, des communes de France et des performances SVG des moteurs de rendu

60
21
mai
2013

Mes-dame-sieur-s, mesdemoise-lle-au-s-x, mestransgenres, bonmatin-jour-soir-nuit (j'espère n'avoir oublié personne, nulle part),
 

J'ai récemment eu l'occasion de m'éloigner de ma Vendée natale et de ma Loire-Atlantique d'adoption pour explorer le vaste monde autour de moi : je suis parti en expédition d'une part dans le sud lointain, la Charente-Maritime, et d'autre part dans le grand nord en m'aventurant dans le Morbihan. J'ai bien sûr eu l'occasion de passer par de nombreuses communes pittoresques et sauvages, entre autres Meursac, Rouffiac, (…)

GnuPG, OpenPGP.js & cie : quoi de neuf ?

59
15
avr.
2018
Sécurité

Le 8 mars 2018, la version 3.0.0 de la bibliothèque OpenPGP.js sortait. Elle implémente le format OpenPGP en JavaScript et est disponible sous licence LGPL 3.0. C’est l’occasion de présenter cette bibliothèque et les nouveautés apportées par cette version. C’est surtout un très bon prétexte pour parler du standard OpenPGP lui‐même, de ses principales implémentations et de ses évolutions futures.

Un nouveau logiciel libre : Lufi

58
6
oct.
2015
Internet

Après Lutim, qui permet d’héberger des images, je me suis dit « Pourquoi me limiter aux images ? ». Et puis, ça m’embêtait de chiffrer les images côté serveur. Bien sûr, pour pouvoir utiliser les images dans des balises <img>, il fallait que le chiffrement et le déchiffrement se fassent côté serveur. Mais, pour des fichiers, ça ne sert à rien.

J’ai donc pris exemple sur Zerobin, qui chiffre le texte côté client, en utilisant la bibliothèque Stanford Javascript Crypto et qui met la clé dans une ancre dans l’adresse URL.

Avec ça, j’ai repris le mode de fonctionnement de Lutim (qui lui‐même est fortement pompé sur mon logiciel Lstu), j’ai saupoudré de Bootstrap et de WebSocket et ça a donné Lufi !

Dernières avancées du côté de Thunderbird

Posté par  . Édité par Yves Bourguignon, orfenor, tisaac, Sylvestre Ledru, Xavier Teyssier et Julien Jorge. Modéré par Pierre Jarillon. Licence CC By‑SA.
58
24
sept.
2022
Bureautique

Récemment la version 102 est sortie. Au fur et à mesure des mises à jours mineures, des choses se sont améliorées ici et là. Côté mail pas grand-chose n’a bougé de l’extérieur mais une réécriture de sections critiques en JavaScript est en cours. Du côté des contacts et de l’agenda, une gestion native des protocoles utilisés par les solutions de partage (tel NextCloud) vient changer la donne. Du côté des messageries instantanées la prise en charge de Matrix a été ajoutée.