recursal/MDN huggingface dataset:
DTMF (Signalisation Dual-Tone Multi-Frequency)
==============================================

**La signalisation DTMF (*Dual-Tone Multi-Frequency*)** est un système par lequel des tonalités audibles sont utilisées pour représenter les boutons sur un clavier. Souvent appelé aux Etats-Unis "Touch-Tone" (après la marque Touch-Tone utilisée lors du passage de la numérotation par impulsions au DTMF), DTMF permet de signaler les chiffres 0-9 ainsi que les lettres "A" à "D" et les symboles "#" et "\*". Peu de claviers téléphoniques comprennent les lettres, qui sont généralement utilisées pour la signalisation de contrôle par le réseau téléphonique.

Les ordinateurs peuvent utiliser DTMF lors de la numérotation d'un modem ou lors de l'envoi de commandes à un système de menu pour une téléconférence ou à d'autres fins.

Voir aussi
----------

### Culture générale

* Code DTMF sur Wikipédia
IMAP
====

IMAP (Internet Message Access Protocol) est un protocole utilisé pour récupérer et stocker des courriels. Plus récent que POP3 (en-US), IMAP permet d'avoir des dossiers et des règles sur le serveur.

Contrairement à POP3, IMAP autorise des connexions multiples simultanées vers une boîte de messagerie. Les clients qui accèdent à une boîte peuvent recevoir des informations sur les changements d'état effectués par les autres clients. IMAP propose aussi un mode où les clients restent connectés et reçoivent des informations à la demande.

Mark Crispin a initialement développé IMAP en 1986 sous le nom *Interim Mail Access Protocol*. IMAP4 revision 1 est la version actuelle, définie par la RFC 3501.

Voir aussi
----------

* RFC 3501
* POP3 (en-US)
* IMAP sur Wikipédia
Vue
===

Une vue représente une zone polygonale (normalement rectangulaire) dans les graphiques d'ordinateur en cours de visualisation. En termes de navigateur web, elle se réfère à la partie du document que vous visualisez, qui est actuellement visible dans la fenêtre (ou à l'écran, si le document est en cours d'affichage en mode plein écran). Le contenu en dehors de la fenêtre d'affichage n'est pas visible à l'écran jusqu'à ce qu'il défile dans la vue.

Voir aussi
----------

### Culture générale
Expando
=======

Les propriétés expando sont des propriétés ajoutées aux nœuds DOM en JavaScript mais qui ne figurent pas dans la spécification DOM des objets :


```js
document.foo = 5; // foo est une propriété expando
```


Le terme peut également être appliqué aux propriétés ajoutées à des objets sans respecter l'objectif original de l'objet, comme ajouter des propriétés nommées non numériques pour un tableau.
Médias continus
===============

Les médias continus (« *Continuous Media* » en Anglais) sont des données pour lesquelles il existe une relation temporelle entre la source et la destination. Les exemples les plus courants de médias continus sont l'audio et la vidéo animée. Les médias continus peuvent être en temps réel (interactif), où il existe une relation temporelle « étroite » entre la source et le récepteur, ou en streaming (lecture), où la relation est moins stricte.

CSS peut être utilisé dans une variété de contextes, y compris les médias imprimés. Et certains CSS, en particulier ceux qui sont utilisés pour la mise en page, se comportent différemment selon le contexte dans lequel ils se trouvent.

Les médias continus identifient donc un contexte où le contenu n'est pas fragmenté. Il coule en continu. Le contenu Web affiché sur un écran est un média continu, tout comme le contenu parlé.
CardDAV
=======

**CardDAV** (extension vCard pour WebDAV) est un protocole normalisé par l'IETF et utilisé pour partager ou accéder à distance à des informations de contacts par l'intermédiaire d'un serveur.

Plus d'informations
-------------------

### Culture générale

* CardDAV sur Wikipédia
### Référence technique

* RFC 6352: vCard Extensions to Web Distributed Authoring and Versioning (WebDAV)
Time to interactive
===================

Le **Time to Interactive** (TTI) est une métrique non standardisée des performances web indiquant la « progression » du chargement. Elle correspond au moment où la dernière tâche longue (en-US) s'est terminée et a été suivie de 5 secondes d'inactivité du réseau et du fil de chargement principal.

Proposé par le *Web Incubator Community Group* en 2018, le **TTI** est destiné à fournir une métrique qui décrit quand une page ou une application contient un contenu utile et que le fil de chargement principal est inactif et libre de répondre aux interactions des internautes, y compris l'enregistrement des gestionnaires d'événements.

Mise en garde
-------------

TTI est calculé en exploitant les informations de l'API *Long Tasks* (en-US). Bien que disponible dans certains outils de surveillance des performances, TTI ne fait partie d'aucune spécification web officielle au moment de la rédaction de cette entrée du glossaire.

Voir aussi
----------

* Défintion du TTI du groupe communautaire
 *Web Incubator*
 (en anglais)
* *Time to Interactive — focusing on human-centric metrics*
*par Radimir Bitsov*
 (en anglais)
* *Tracking TTI*
*Tracking TTI* (en anglais)
Domaine de deuxième niveau
==========================

Un domaine de deuxième niveau ou un SLD (*Second Level Domain*) est la partie du nom de domaine qui est hiérarchiquement directement sous un TLD (*Top Level Domain*).

Par exemple, dans `mozilla.org`, le SLD est `mozilla` et le TLD est `org`.

Un nom de domaine ne se limite pas à un TLD et un SLD. La création de sous-domaines supplémentaires permet de différencier les différentes fonctions d'un serveur ou pour délimiter des zones sous un même domaine. Par exemple, `www` est un sous-domaine habituellement utilisé pour indiquer le domaine qui pointe vers un serveur web.

Autre exemple, dans `developer.mozilla.org`, le sous-domaine `developer` sert à indiquer que le sous-domaine contient la section développeur du site web de Mozilla.

Voir aussi
----------

* SLD (Wikipédia)
* Glossaire
    + DNS
    + Domaine
    + Nom de domaine
    + TLD
Application monopage (SPA)
==========================

Une application monopage ou SPA (« *Single-page application* » en anglais) est une implémentation d'application web qui ne charge qu'un seul document web, puis met à jour le contenu du corps de ce document via des API JavaScript telles que `XMLHttpRequest` et Fetch lorsqu'un contenu différent doit être affiché.

Cela permet donc aux utilisateurs d'utiliser des sites web sans charger de nouvelles pages entières à partir du serveur, ce qui peut entraîner des gains de performances et une expérience plus dynamique, avec certains inconvénients tels que le référencement (SEO), plus d'efforts nécessaires pour maintenir l'état, mettre en œuvre la navigation et mesurer les performances.

Voir aussi
----------

* Application web monopage sur Wikipédia
* Comprendre les frameworks JavaScript côté client
* Glossaire
    + API
    + AJAX
    + JavaScript
* Certains des frameworks SPA les plus populaires incluent:
    + React
    + Angular
    + Vue.JS
Hypertexte
==========

L'hypertexte est un texte contenant des liens vers d'autres textes, par opposition à un unique flux linéaire comme dans un roman.

Le terme a été inventé par Ted Nelson aux alentours de 1965.

Pour en savoir plus
-------------------

### Culture générale

* Hypertexte sur Wikipédia
### Référence technique

* Hypertext Information Base
Ligne de grille (Row)
=====================

Une **ligne de grille** (row) est une piste horizontale dans une grille CSS, qui se situe dans l'espace entre deux lignes (lines) horizontales de lignes (rows). Elle est définie par la propriété `grid-template-rows` ou les propriétés raccourcies `grid` ou `grid-template`.

De plus, des lignes peuvent être créées dans la grille implicite lorsque les éléments sont placés en dehors des lignes créées dans la grille explicite. Ces lignes seront automatiquement dimensionnées par défaut, ou peuvent avoir une taille spécifiée avec la propriété `grid-auto-rows`.

Lorsque vous travaillez avec l'alignement dans une grille, l'axe le long duquel les lignes sont exécutées est appelé l'axe de ligne ou en ligne.

Voir aussi
----------

### Références de propriété

* `grid-template-rows`
* `grid-auto-rows`
* `grid`
* `grid-template`
### En lire plus

* Guide des grilles CSS : *Les concepts de base des grilles CSS*
Objet global
============

Un objet global est un objet qui existe toujours dans la portée globale.

En JavaScript, un objet global est toujours défini. Dans un navigateur web, quand les scripts créent des variables globales, elles sont créées comme membres de l'objet global (dans Node.js ce n'est pas le cas). L'objet global Interface dépend du contexte d'exécution dans lequel le script s'exécute. Par exemple :

* Dans un navigateur web, le code que le script n'a pas spécifiquement lancé comme tâche d'arrière-plan a pour objet global `Window`. C'est la grande majorité du code JavaScript sur le Web.
* L'exécution du code dans un `Worker` a pour objet global `WorkerGlobalScope` .
* Les scripts exécutés sous Node.js ont un objet appelé `global` pour objet global.
Empreinte digitale numérique
============================

Une **empreinte digitale numérique** est parfois construite par des sites web pour identifier un navigateur donné (et par extension, une personne donnée), en collectant et assemblant des caractéristiques particulières du navigateur et système d'exploitation sous-jacent. Parmi les éléments constituants une empreinte digitale numérique, on pourra par exemple trouver :

* La version du navigateur
* Le fuseau horaire et la langue préférée
* L'ensemble des codecs audio et vidéo disponibles sur le système
* Les polices installées sur le système
* L'état des paramètres du navigateur
* La taille d'affichage et la résolution de l'ordinateur

Un site web peut récupérer de telles informations en exécutant du JavaScript et du CSS sur l'appareil. L'assemblage des différentes données permet souvent de créer une empreinte unique pour un navigateur, qui peut être utilisée pour pister les personnes sur le Web.

Les standards web sont conçus pour minimiser ce type de collecte d'information, et les navigateurs ajoutent généralement d'autres protections.

Voir aussi
----------

* *Cover Your Tracks* : un outil pour afficher les données qu'un site web peut utiliser pour construire une empreinte digitale numérique.
* Réduire les risques de construction d'une empreinte digitale dans les spécifications web : un ensemble de bonnes pratiques à l'attention des autrices et auteurs de spécification web pour empêcher les constructions de telles empreintes.
URI
===

Un **URI** *(Uniform Resource Identifier)* *(Identifiant de ressource uniforme )* est une chaîne qui fait référence à une ressource. Les plus courantes sont les URL, qui identifient une ressource en donnant son emplacement sur le Web. Au contraire, les URN font référence à une ressource grâce à son nom, dans un environnement donné, par exemple le code ISBN d'un livre.

Voir aussi
----------

* URI sur Wikipédia
* RFC 3986 sur URI
* data URIs
* www vs non-www (en-US)
En-tête de réponse simple
=========================

Un *en-tête de réponse simple* (ou un en-tête de réponse sécurisé *CORS*) est un en-tête HTTP qui a été sécurisé pour ne pas être filtré lorsque les réponses sont traitées par CORS, car elles sont considérées comme sûres (comme les en-têtes listés dans `Access-Control-Expose-Headers` (en-US)). Par défaut, la liste des réponses sûres inclut les en-têtes de réponse suivants :

* `Cache-Control`
* `Content-Language`
* `Content-Type`
* `Expires`
* `Last-Modified`
* `Pragma` (en-US)
Exemples
--------

### Extension de la liste des en-têtes sécurisés

Vous pouvez étendre la liste des en-têtes de réponse sécurisés CORS en utilisant l'en-tête `Access-Control-Expose-Headers` (en-US) :
```

Access-Control-Expose-Headers: X-Custom-Header, Content-Length
```

Voir aussi
----------

* HTTP
* En-têtes HTTP
* `Access-Control-Expose-Headers` (en-US)
* CORS
* En-tête simple
* Noms d'en-tête interdits
* En-tête de requête
UUID
====

Un **identifiant universel unique** (dont l'acronyme anglais est **UUID** pour *Universally Unique Identifier*) est un libellé utilisé pour identifier de façon unique une ressource parmi toutes les autres ressources du même type.

Les systèmes informatiques génèrent des UUID localement en utilisant de très grands nombres aléatoires. En théorie, ces identifiants n'ont pas à être globalement uniques, même si la probabilité d'obtenir des doublons est très faible. Si un ou des systèmes ont besoin d'identifiants absolument uniques, ceux-ci doivent alors être émis par une autorité centrale.

Les UUID sont des valeurs sur 128 bits qui sont représentées généralement comme une chaîne de 36 caractères au format `123e4567-e89b-12d3-a456-426614174000` (soit 5 chaînes de chiffres hexadécimaux, séparées par des tirets). Il existe plusieurs versions et formats qui dépendent du mode de calcul, certains UUID incluent par exemple une information temporelle.

La définition formelle d'un UUID peut être trouvée dans la RFC4122.

Voir aussi
----------

* UUID sur Wikipédia
* `Crypto.randomUUID()`
Feuille de style
================

Une **feuille de style** est un ensemble de règles CSS utilisé pour contrôler la mise en page et le style d'une page web ou d'un document. Les feuilles de style *internes* sont disposées au sein d'une balise HTML `<style>` dans la section `<head>` du document web ; les feuilles de style *externes* sont quant à elles placées dans un fichier `.css` distinct : elles sont appliquées au document grâce à une référence au fichier dans un élément `<link>` dans l'en-tête du document, entre les balises `<head>`

On préfèrera utiliser des feuilles de style externes, car elles permettent de contrôler le style de plusieurs pages à partir d'un seul endroit, plutôt que d'avoir à répéter le même code CSS sur chaque page.

Voir aussi
----------

* Premiers pas avec CSS
* Les feuilles de style sur Wikipédia
Curseur "caret"
===============

Un curseur (*"caret"* parfois appelé "curseur de texte") est un indicateur affiché sur l'écran pour indiquer où la saisie de texte sera insérée. La plupart des interfaces utilisateur représentent le curseur à l'aide d'une fine ligne verticale ou d'une boîte de taille de caractère qui clignote, mais cela peut varier. Ce point dans le texte est appelé le point d'insertion. Le mot anglais "*caret*" différencie le point d'insertion du texte du curseur (*cursor*) de la souris.

Sur le web, un curseur "*caret*" est utilisé pour représenter le point d'insertion dans les éléments `<input>` et `<textarea>`, ainsi que tous les éléments dont l'attribut `contenteditable` est défini, permettant ainsi au contenu de l'élément d'être édité par l'utilisateur.

Voir aussi
----------

### Culture générale

* Curseur sur Wikipédia
### CSS lié au curseur "*caret*"

Vous pouvez définir la couleur du curseur pour le contenu modifiable d'un élément donné en définissant la propriété CSS `caret-color` de l'élément et une valeur appropriée de `<color>`.

### Éléments HTML susceptibles de présenter un signe d'insertion

Ces éléments fournissent des champs ou des zones de saisie de texte et utilisent donc le signe d'insertion.

* `<input type="text">`
* `<input type="password">`
* `<input type="search">`
* `<input type="date">`, `<input type="time">`, `<input type="datetime">` et `<input type="datetime-local">`
* `<input type="number">`, `<input type="range">`
* `<input type="email">`, `<input type="tel">` et `<input type="url">`
* `<textarea>`
* Tout élément avec son attribut défini `contenteditable`
Architecture de l'information
=============================

L'architecture de l'information, appliquée à la conception et au développement de sites web, consiste à organiser l'information / le contenu / la fonctionnalité d'un site web de manière à offrir la meilleure expérience possible, les informations et les services étant facilement utilisables et trouvables.

Voir aussi
----------

* Architecture de l'information sur Wikipédia
Signature
=========

Le terme **signature** peut avoir plusieurs significations selon le contexte. Il peut s'agir de :

Signature (fonctions)
Une **signature de fonction** (ou signature de *type*, ou signature de *méthode*) définit les entrées et sorties des Function et des Method.
Signature (sécurité)
Une **signature**, ou *signature numérique*, est un protocol montrant l'authenticité d'un message.
Voir aussi
----------

* Signature sur Wikipédia
Erreur de syntaxe
=================

Une exception provoquée par l'usage incorrect d'une syntaxe prédéfinie. Les erreurs de syntaxe sont détectées au cours de la compilation ou de l'interprétation du code source. Par exemple, si vous oubliez de fermer une accolade (`}`) lors de la définition d'une fonction JavaScript, vous déclencherez une erreur de syntaxe. Les outils de développement des navigateurs affichent les erreurs de syntaxe JavaScript et CSS dans la console.

Voir aussi
----------

### Culture générale

* Syntaxe sur Wikipédia
* `SyntaxError` objet JavaScript
Telnet
======

**Telnet** est un outil en ligne de commandes et un protocole basé sur TCP/IP pour accéder à des ordinateurs distants.

Plus d'informations
-------------------

* Telnet sur Wikipédia
rtl
===

RTL est une propriété de locale indiquant que le texte est écrit de la droite vers la gauche. Par example la locale `he` (pour Hébreu) possède la propriété RTL.
RVB
===

Rouge Vert Bleu (RVB) est un modèle de couleurs qui représente les couleurs comme étant une combinaison de trois composantes sous-jacentes (ou canaux), à savoir, rouge, verte et bleue. Chaque couleur est décrite par une suite de trois valeurs (en général comprises entre 0,0 et 1,0, ou entre 0 et 255) qui correspondent aux différentes intensités de rouge, vert et bleu contribuant à déterminer la couleur finale.

Il existe de nombreuses façons de décrire les composantes RVB d'une couleur. En CSS, elles peuvent être représentées sous la forme d'un unique entier de 24 bits en notation hexadécimale (par exemple, `#add8e6` pour du bleu clair), ou dans une notation fonctionnelle comme trois entiers 8 bits distincts (par exemple, rgb(46, 139, 87) est un vert océan). En OpenGL, WebGL et GLSL, les composantes rouge-vert-bleu sont des fractions (nombres à virgule flottante compris entre 0,0 et 1,0), bien qu'elles soient généralement stockées concrètement en mémoire vidéo comme des entiers 8 bits. Graphiquement, une couleur peut être représentée par un point dans un cube ou sur une grille tridimensionnelle, où chaque dimension (ou axe) correspond à un canal différent.

Voir aussi
----------

### Culture générale

* Modèle de couleurs RVB sur Wikipédia
### Apprendre

* Type de donnée CSS : <color>
SMTP
====

**SMTP** (Simple Mail Transfer Protocol) est un protocole utilisé pour envoyer un nouveau courriel. Tout comme POP3 et NNTP, il s'agit d'un protocole piloté par une machine d'état.

Le protocole est relativement simple. Les principales difficultés viennent du support des divers mécanismes d'authentification (GSSAPI, CRAM-MD5, NTLM, MSN, AUTH LOGIN, AUTH PLAIN, etc.), de la gestion des réponses en cas d'erreurs, et de trouver un moyen de réagir en cas d'échec des mécanismes d'authentification (e.g., le serveur affirme prendre en charge un mécanisme, mais ne le fait pas en réalité).

Voir aussi
----------

### Culture générale

* SMTP sur Wikipédia
Fonction de première classe
===========================

Un langage de programmation est dit avoir des fonctions de première classe lorsque les fonctions dans ce langage sont traitées comme n'importe quelle autre variable. Par exemple, dans un tel langage, une fonction peut être transmise en tant qu'argument à d'autres fonctions, peut être retournée par une autre fonction et peut être affectée en tant que valeur à une variable.

Voir aussi
----------

### Culture générale

* *First-class functions* (article en anglais) sur Wikipédia
Java
====

Java est un langage de programmation orientée objet basé sur des classes, de programmation informatique conçu pour être indépendant de l'implémentation.

Voir aussi
----------

### Culture générale

* Java sur Wikipédia
Real User Monitoring (RUM)
==========================

Le **Real User Monitoring** ou RUM mesure les performances d'une page à partir des machines des utilisateurs réels. Généralement, un script tiers injecte un script sur chaque page pour mesurer et rapporter les données de chargement de page pour chaque demande effectuée. Cette technique surveille les interactions réelles des utilisateurs d'une apllication. Dans RUM, le script tiers collecte des mesures de performances à partir des navigateurs des utilisateurs réels. RUM permet d'identifier comment une application est utilisée, y compris la répartition géographique des utilisateurs et l'impact de cette distribution sur l'expérience de l'utilisateur final.

Voir aussi
----------

* Surveillance des utilisateurs réels (RUM) vs surveillance synthétique (en-US)
* Surveillance synthétique (en-US)
* Beacon
REST
====

Representational State Transfer (**REST**) désigne un groupe de contraintes concernant l'architecture logicielle destiné à apporter aux systèmes efficacité, fiabilité et scalabilité. Un système est appelé "RESTful" lorsqu'il adhère à ces contraintes.

L'idée de base de REST est qu'une ressource, par exemple un document, est transférée avec son état et ses relations (hypertexte) via des opérations et des formats standardisés et bien définis. Souvent, les API ou les services s'appellent RESTful lorsqu'ils agissent sur n'importe quel type de document, par opposition à des actions déclenchées ailleurs.

Parce que HTTP, le protocole derrière le World Wide Web (WWW), transfère des documents et des liens hypertextes et est également une norme, les API HTTP simples sont parfois familièrement appelés API RESTful, RESTful Services ou simplement REST Services même s'ils n'adhèrent pas nécessairement à toutes les contraintes REST. Les débutants peuvent simplement supposer qu'un API REST signifie un service HTTP qui peut être appelé à l'aide de bibliothèques et d'outils web standards.

Voir aussi
----------

### Apprendre

* restapitutorial.com
* restcookbook.com
### Culture générale

* REST sur Wikipédia
* REST Architecture (en)
Conteneur de grille
===================

Utiliser la valeur `grid` ou `inline-grid` sur un élément le transforme en un conteneur de grille utilisant CSS Grid Layout, et les enfants directs de celui-ci deviennent un élément de cette grille.

Quand un élément devient un conteneur de grille il établit un **contexte** **de** **formatage** **de grille** (grid formatting context). Les enfants directs peuvent dorénavent se placer sur une grille explicite définie utilisant `grid-template-columns` et `grid-template-rows`, ou sur une grille implicite créée quand un élément est placé en dehors de la grille explicite.

Voir aussi
----------

### Référence de la propriété

* `grid-template-columns`
* `grid-template-rows`
* `grid-auto-columns`
* `grid-auto-rows`
* `grid`
* `grid-template`
### En lire plus

* Guide des grilles CSS *Basic concepts of grid layout*
Internet
========

Internet est un réseau mondial constitué de réseaux. Ce réseau utilise le protocole Internet aussi nommé TCP/IP d'après ses principaux protocoles.

Voir aussi
----------

### Culture générale

* Internet sur Wikipédia
* How the Internet works (introduction pour les débutants, article en anglais)
Expression Régulière
====================

Les **expressions régulières** (ou *regex* en anglais) sont des règles qui gouvernent quelles séquences de caractères ressortent dans une recherche.

Les expressions régulières (ou expressions rationnelles) sont implémentées dans de nombreux langages. La plus connue est l'implémentation de Perl, qui a donné naissance à son propre éco-système d'implémentations appelé PCRE (*Perl Compatible Regular Expression*). Sur internet, JavaScript fournit une autre implémentation *regex* à travers l'objet `RegExp`.

Voir aussi
----------

* Expressions régulières sur Wikipédia
* Tutoriel interactif
* Visualiseur d'expressions régulières
* Ecrire des expressions régulières en JavaScript