Lexique
A
- Add-on
Greffon, Extension
Du code extérieur à l'application principale, sous forme de binaire compilé ou de code source (script), qui étend les fonctionnalités de l'application. (Vous pouvez également rencontrer dans le même sens le terme de plug-in.)
- API
API
Application Programming Interface, interface de programmation pour applications, offrant des fonctionnalités aux applications via un ensemble de fonctions, objets, etc.
- Array
Tableau
Organisation séquentielle de données, indexées (référencées) par un nombre, correspondant à l'ordre de stockage.
- Associative array
Tableau associatif, table d'association
Table utilisée avec des clés qui ne sont pas de simples indices entiers, mais par exemple des chaînes de caractères.
Voir aussi Table .
B
- Binding
Liaison
Bibliothèque logicielle qui permet d'appeler des fonctions d'un langage dans un autre langage. En Lua, il s'agit de fonctions écrites en C ou C++ mises à disposition au niveau de Lua.
Voir aussi Wrapper .
- Bit
Bit
Unité élémentaire (atomique) d'information, 0 ou 1.
- Block
Bloc
Portion de code délimitée, en Lua, par un mot clé de début (
do
,then
,repeat
) et un mot clé de fin (end
ouuntil
uniquement pourrepeat
). Les blocs peuvent être imbriqués. Un bloc délimite la portée des variables locales : elles ne sont plus disponibles après le motend
correspondant à leur niveau.- Boolean
Booléen
Les booléens, nommés en référence à la logique de Boole (mathématicien britannique du XIXe siècle) sont des valeurs logiques binaires correspondant à vrai ou faux.
- Buffer
(Mémoire) Tampon
Zone de mémoire où l'on stocke des données. Souvent utilisée pour la communication entre processus, où l'un remplit le tampon pendant que l'autre le vide, généralement à une vitesse différente.
- Byte
Octet
Huit bits. Correspond à la plus petite taille d'information adressable directement dans les processeurs modernes.
- Bytecode
Code à octets
Ensemble d'octets représentant un programme exécutable converti du format textuel (code source) à un format simple à interpréter par le moteur du langage.
C
- Callback
Fonction de rappel
Une fonction destinée à être appelée automatiquement par une librairie, en général pour signaler un évènement (données reçues, action utilisateur...) et le traiter.
- Character
Caractère
Un caractère correspond à une lettre (majuscule ou minuscule), un chiffre, un symbole (ponctuation), etc.
- Capture
Capture
Une sous-chaîne de la chaîne cible, correspondant à une partie d'un motif délimitée par des parenthèses.
- Character class
Classe de caractères, jeu de caractères
Dans un motif, ensemble de caractères (alphabétiques, numériques, etc.), présentés entre crochets, coïncidant avec n'importe quel caractère cible faisant partie de cet ensemble.
Voir aussi Set .
- Chunk
Morceau
Série d'instructions sans délimitation formelle, par exemple le code dans un fichier ou dans une chaîne de caractères.
- Closure
Fermeture
Fonction qui a "capturé" des variables dans son espace de visibilité. Ce qui signifie qu'elle utilise ces variables et garde leur référence même si le bloc les définissant a fini son cycle de vie.
D
- Database
Base de données
(Abrégé en DB ou BdD pour les francophones) Manière de stocker de façon persistante des données (souvent groupées et indexées par un nombre ou une valeur) pour pouvoir les récupérer rapidement selon certains critères.
- Decrement
Décrémenter
Diminuer une variable numérique d'une certaine valeur (généralement 1, quand ce n'est pas spécifié).
Voir aussi Increment .
- Deserialization
Désérialisation
Action de retransformer des données sérialisées en leur représentation d'origine pour être utilisables par le programme cible.
Voir aussi Serialization .
- Directory
Répertoire, Dossier
Un ensemble de fichiers et de répertoires. Comme les fichiers, un répertoire a un nom qui permet d'y accéder grâce au système d'exploitation . Généralement, les répertoires sont organisés sous forme d'arbre hiérarchique. (Vous pouvez également rencontrer dans le même sens le terme de folder.)
E
- Endianness (big endian, little endian)
Endianisme, Boutisme (gros-boutiste, petit-boutiste)
L'endianness définit l'orientation dans laquelle sont placés les octets pour définir un nombre dont la représentation nécessite plusieurs octets. On distingue deux orientations : little endian et big endian. En Big Endian, l'octet de poids fort est placé en premier, c'est le contraire en little endian. Ainsi, prenons la valeur hexadécimale
0x88776655
. ELle sera stockée sous la forme0x88 0x77 0x66 0x55
en big endian et0x55 0x66 0x77 0x88
en little endian. Héritée des débuts de l'informatique, cette divergence d'ordonancement des octets et toujours présente dans nos systèmes et continuent de polluer la vie des développeurs.- Environment
Environnement
En Lua, contexte d'exécution définissant quelles sont les variables globales accessibles. Il s'agit d'une table nommée
_ENV
dans laquelle les variables globales sont stockées. Chaque fonction peut se voir attribuer un environnement différent.
F
- File
Fichier
Unité de stockage d'information sur mémoire permanente (disque dur, Flash, etc.). Chaque fichier a un nom qui permet d'y accéder de manière aisée au travers du système d'exploitation.
- Folder
Voir %t.Directory .
- Function
Fonction
Portion de code effectuant une tâche de façon relativement indépendante du reste du programme. Une fonction peut recevoir des valeurs à traiter via des paramètres, et peut retourner une (ou plusieurs) valeurs résultat.
G
- Garbage collector
Ramasse-miettes
La mémoire de certains langages, dont Lua, est gérée par le moteur du langage (machine virtuelle). Si une zone mémoire n'a plus de référence (n'est plus utilisée par aucune variable), le ramasse-miettes la récupérera pour la recycler, c'est-à-dire l'affecter à nouveau quand de la nouvelle mémoire est requise.
- GUI
IHM
GUI est un acronyme courant pour Graphical User Interface, soit interface utilisateur graphique, plus couramment abrégé en IHM, soit Interface Homme-Machine. C'est ce que vous voyez sur votre écran : des boutons, des listes, des zones de texte, etc., organisé en fenêtres que votre système permet de gérer. Cela permet d'afficher des informations à l'utilisateur et d'avoir son entrée, généralement sous forme de clics de souris ou de frappe au clavier.
H
- Hashtable
Table de hachage
Structure de données permettant d'associer à une donnée de clé une donnée de valeur. Dans cette structure, la clé est passée dans un algorithme de hachage qui doit en calculer un nombre entier déterministe mais ayant une distribution statistique aléatoire, qui permet d'accéder à la valeur dans un temps constant O(1).
- Hook
Fonction hameçon ou d'hameçonnage
Une fonction hameçon (dite fonction hook en anglais) est une fonction permettant de s'insérer au sein d'un appel afin d'effectuer des actions complémentaires, souvent pour des activités de débogage. On parle aussi de fonction crochet.
I
- Increment
Incrémenter
Augmenter une variable numérique d'une certaine valeur (généralement 1, quand ce n'est pas spécifié).
Voir aussi Decrement .
- Iteration
Itération, Boucle
Le fait d'exécuter une portion de code (dans un block) de façon répétée, avec une boucle de code.
- Iterate
Itérer, Boucler
Dérouler, exécuter une itération (le corps de la boucle) ou une série d'itérations.
- Iterator
Itérateur, Boucleur
Une méthode encapsulant une partie de la logique d'une itération, qui implique souvent de mettre à jour une variable (par exemple incrémenter un nombre) et de vérifier une condition (par exemple de voir si la variable à atteint une limite).
En Lua, fonction qui retourne un élément à chaque fois qu'elle est appelée, puis
nil
quand tous les éléments ont été lus. Un itérateur est particulièrement utilisé dans une bouclefor
, car cette structure de contrôle appelle automatiquement la fonction à chaque itération.
J
- Just-In-Time compiler
Compilateur juste-à-temps, compilateur à la volée
Un compilateur à la volée permet de traduire en langage machine du langage interprété ou précompilé sous forme de bytecode. L'utilisation de ce type de technique permet de réaliser des optimisations tout en restant portable.
L
M
- Metamethod
Métaméthode
Les métaméthodes Lua sont des fonctions prédéfinies dont le contenu par défaut peut être changé par l'utilisateur. Cette technique permet de raffiner des appels en fonction du type de données.
- Metatable
Métatable
Il s'agit d'une table associée à une autre table ou une autre valeur permettant de modifier son comportement, par exemple de définir une opération d'addition entre deux objets.
- Match
Faire coïncider
S'applique à des motifs : on applique un motif à une chaîne de caractères pour faire coïncider les expressions régulières avec des sous-chaînes.
P
- Parsing
Analyse syntaxique.
Décomposition d'une chaîne de caractères (par exemple un code source) en unités élémentaires (tokens, soit jetons) syntaxiques, comme des mots clés, des opérateurs, des valeurs littérales, etc.
- Pattern
Motif
Chaîne de caractères servant de modèle pour vérifier qu'une chaîne donnée revêt une certaine forme. Peut aussi servir à capturer des parties de cette chaîne. En Lua, les motifs standards sont plus limités que les expressions régulières classiques.
- Plug-in
Voir %t.Add-on .
S
- Sandbox
Environnement sécurisé
Environnement d'exécution d'un programme qui empêche certaines fonctionnalités d'un langage ou de ses librairies (comme accéder aux fichiers de l'utilisateur) pour des raisons de sécurité.
- Serialization
Sérialisation
Action de transformer des données en mémoire (tables, par exemple) en données suivant un format précis (syntaxe Lua, XML, binaire...) permettant soit la sauvegarde sur disque, soit la transmission sur un réseau, ou d'autres usages comme l'enregistrement dans une base de données.
Voir aussi Deserialization .
- Scope
Portée
Une variable n'est généralement pas visible de l'ensemble des fonctions d'un programme, ce qui signifie qu'une fonction donnée ne peut accéder (utiliser) qu'à un petit nombre de variables du programme. Les règles de visibilité dépendent du langage et peuvent être complexes. (Vous pouvez également rencontrer dans le même sens le terme de visibility.)
- Set
Ensemble
Un groupe d'entités. Par exemple, on utilise des ensembles de caractères dans les motifs pour signifier qu'on cherche un de ces caractères.
Voir aussi Character class .
- Socket
Connecteur réseau
Dans le protocole TCP/IP utilisé sur Internet, un socket est une connexion ouverte entre un ordinateur client et un serveur.
- String
Chaîne de caractères
Une suite de caractères, généralement stockée de façon continue dans une table.
T
- Table
Table, Tableau associatif, Dictionnaire
Un tableau associatif associe une valeur (souvent une chaîne de caractères mais pas seulement) appelée clé, à une donnée (quelconque), appelée valeur. Cela permet d'indexer les valeurs par leur clé, par exemple de trouver la valeur d'une couleur en fonction de son nom. Le terme dictionnaire est assez évocateur : avec un mot, on peut trouver une définition.
V
- Variable
Variable
Une variable associe un symbole (le nom de la variable dans un code source) à une valeur. Comme le nom l'implique, la valeur peut généralement changer, mais par extension on peut utiliser le terme pour une constante.
- Virtual machine
Machine virtuelle
Un langage peut être traduit en code natif (assembleur) ou en code à octets. Dans ce dernier cas, un interpréteur exécute ce code, le traduisant par des actions en code natif. L'ensemble de cet interpréteur, du gestionnaire de mémoire, de l'exécuteur forme une machine virtuelle, une sorte de microprocesseur non physique.
- Visibility
Voir %t.Scope .
W
- Wrapper
Emballage
Une couche logicielle (écrite en C dans le cas de Lua) adaptant au langage de destination une librairie non dédiée. Dans le cas de Lua, on met à disposition des fonctions respectant, généralement, l'esprit de Lua. Par exemple, la librairie
io
emballe l'API C de bas niveau pour manipuler des fichiers et expose les fonctions que l'on connaît.Voir aussi Binding .