Apprendre JavaScript avec l'IA - 06 - Glossaire

Tous les termes JavaScript et IA de la serie expliques simplement. API, Promise, DOM, Closure, LLM et plus, avec exemples de code.

06 - Glossaire

Tous les termes rencontres dans cette serie, expliques en quelques lignes avec un exemple quand c'est utile.


A

API (Application Programming Interface)

Un ensemble de fonctions exposees par un programme pour que d'autres programmes puissent communiquer avec lui. Ollama expose une API REST sur le port 11434 : tu envoies une requête HTTP, tu recois une réponse JSON. Le navigateur expose aussi des APIs (DOM, fetch, localStorage).

Arrow Function

Une syntaxe compacte pour écrire des fonctions en JavaScript. Le this est hérité du contexte parent, contrairement aux fonctions classiques.

javascript// Fonction classique
function double(x) { return x * 2; }

// Arrow function equivalente
const double = (x) => x * 2;

Voir l'article sur les bases pour les détails.

Async/Await

Une syntaxe qui permet d'écrire du code asynchrone comme s'il etait synchrone. async devant une fonction, await devant une Promise. Le code attend le résultat sans bloquer le navigateur.

javascriptasync function poserQuestion(prompt) {
  const reponse = await fetch("/api/chat", {
    method: "POST",
    body: JSON.stringify({ prompt }),
  });
  return await reponse.json();
}

Voir l'article sur l'asynchrone.

C

Callback

Une fonction passee en argument a une autre fonction, qui sera appelee plus tard. C'est le mecanisme historique pour gerer l'asynchrone en JavaScript, avant les Promises.

javascriptdocument.getElementById("btn").addEventListener("click", () => {
  console.log("clique !");
});
// La arrow function est le callback

Closure

Une fonction qui "capture" les variables de son scope parent, meme apres que ce scope a fini de s'exécuter. C'est un mecanisme fondamental en JavaScript.

javascriptfunction compteur() {
  let n = 0;
  return () => ++n; // la fonction retournee "ferme" sur n
}
const c = compteur();
c(); // 1
c(); // 2

Console

L'objet console du navigateur ou de Node.js. console.log() affiche dans l'onglet Console des DevTools (navigateur) ou dans le terminal (Node.js). Ton premier outil de debug.

D

DOM (Document Object Model)

La representation en mémoire de la page HTML sous forme d'arbre d'objets. JavaScript manipule le DOM pour modifier la page : ajouter des éléments, changer du texte, reagir aux clics. Tout passe par le DOM.

Voir l'article sur le DOM.

E

Event Listener

Une fonction que tu attaches a un élément du DOM pour reagir a un événement (click, submit, keydown...). addEventListener est la méthode standard.

javascriptformulaire.addEventListener("submit", (e) => {
  e.preventDefault();
  // traitement du formulaire
});

F

Fetch

L'API native du navigateur (et de Node.js 18+) pour faire des requêtes HTTP. Remplace l'ancien XMLHttpRequest. Retourne une Promise.

javascriptconst res = await fetch("http://localhost:11434/api/generate", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({ model: "llama3", prompt: "Bonjour" }),
});

Voir l'article sur l'asynchrone et le projet Ollama.

Function

Un bloc de code réutilisable. En JavaScript, les fonctions sont des "first-class citizens" : tu peux les stocker dans des variables, les passer en argument, les retourner depuis d'autres fonctions.

H

Hoisting

Le comportement de JavaScript qui "remonte" les déclarations de var et de function en haut de leur scope avant l'exécution. C'est pour ca que let et const sont preferes : ils ne sont pas hoistes de la meme facon et produisent une erreur si tu les utilises avant la déclaration.

J

JSON (JavaScript Object Notation)

Un format de donnees texte inspire de la syntaxe des objets JavaScript. C'est le format standard pour les échanges entre un frontend et un backend. JSON.stringify() convertit un objet en texte, JSON.parse() fait l'inverse.

javascriptconst obj = { model: "llama3", prompt: "Salut" };
const texte = JSON.stringify(obj); // '{"model":"llama3","prompt":"Salut"}'

L

Let/Const/Var

Les trois mots-clés pour déclarer des variables en JavaScript. const pour les valeurs qui ne changent pas, let pour celles qui changent, var a éviter (scope de fonction, hoisting, bugs subtils). En 2026, tu n'as jamais besoin de var.

LLM (Large Language Model)

Un modèle d'intelligence artificielle entraine sur de grandes quantités de texte. GPT, Claude, Llama sont des LLM. Dans cette serie, on utilise un LLM local via Ollama pour apprendre JavaScript avec un assistant IA.

N

Node.js

Un runtime JavaScript qui fonctionne en dehors du navigateur. Il permet d'exécuter du JavaScript sur un serveur ou en ligne de commande. Dans le projet Ollama, on l'utilise pour créer le backend.

O

Ollama

Un logiciel qui permet de faire tourner des LLM en local sur ta machine. Pas de cloud, pas de clé API. Il expose une API REST locale que ton code JavaScript peut appeler. Voir le projet final.

P

Promise

Un objet qui represente une valeur future : le résultat d'une opération asynchrone qui n'est pas encore terminee. Une Promise est dans l'un de trois états : pending (en attente), fulfilled (reussie) ou rejected (echouee).

javascriptfetch("/api/chat")
  .then((res) => res.json())    // fulfilled
  .catch((err) => console.error(err)); // rejected

Voir l'article sur l'asynchrone.

Q

querySelector

La méthode du DOM pour sélectionner un élément HTML avec un sélecteur CSS. Retourne le premier élément qui correspond. querySelectorAll retourne tous les éléments.

javascriptconst titre = document.querySelector("h1");
const boutons = document.querySelectorAll(".btn");

S

Scope

La zone du code ou une variable est accessible. let et const ont un scope de bloc (entre {}), var a un scope de fonction. Comprendre le scope est la base pour éviter les bugs de variables.

T

Template Literal

Une chaîne de caractères delimitee par des backticks qui permet d'insérer des expressions JavaScript avec ${}. Plus lisible que la concatenation avec +.

javascriptconst nom = "Ollama";
const msg = `Bonjour ${nom}, tu tournes sur le port ${11434}`;

Type Coercion

La conversion implicite de types que JavaScript fait automatiquement. "5" + 3 donne "53" (string), "5" - 3 donne 2 (number). C'est une source de bugs classique. Utilise === au lieu de == pour éviter les surprises.


Sources

Retrouve d'autres articles techniques sur paltemps.fr.


Article précédent : 05 - Projet : app de chat avec Ollama

Début de la serie : Introduction

Réservez un audit gratuit de 30 minutes. Je vous montre concrètement ce qu'on peut automatiser.