BUT Informatique key terms
BUT Informatique · Get comfortable with the vocabulary.
- encapsulation
- Related: héritage, polymorphisme, interface
Principe orienté objet qui regroupe les données et les traitements dans une classe et n'expose que ce qui est nécessaire via une interface publique, en masquant les détails internes d'implémentation aux autres composants du programme.
- héritage
- Related: encapsulation, polymorphisme, classe abstraite
Mécanisme par lequel une classe dérive d'une autre et récupère ses attributs et méthodes, ce qui favorise la réutilisation du code mais peut créer un couplage fort si la hiérarchie est mal conçue.
- polymorphisme
- Related: héritage, interface, encapsulation
Capacité d'un même appel de méthode à produire des comportements différents selon le type réel de l'objet à l'exécution, souvent via la redéfinition de méthodes dans des sous-classes.
- interface
- Related: polymorphisme, injection de dépendances
Contrat qui déclare un ensemble de signatures de méthodes sans fournir d'implémentation, et qu'une classe s'engage à respecter, ce qui permet de découpler les composants et de faciliter les tests par substitution.
- classe abstraite
- Related: héritage, interface
Classe qui ne peut pas être instanciée directement et qui sert de base commune à des sous-classes, souvent en déclarant des méthodes abstraites que chaque sous-classe doit implémenter.
- injection de dépendances
- Related: interface, test unitaire, couplage
Technique où un objet reçoit ses collaborateurs de l'extérieur plutôt que de les créer lui-même, ce qui réduit le couplage, facilite les tests unitaires et permet de changer d'implémentation sans modifier le code appelant.
- test unitaire
- Related: injection de dépendances, intégration continue, couverture de tests
Test automatisé qui vérifie le comportement d'une petite unité de code isolée, comme une méthode, en contrôlant ses sorties et ses effets pour détecter rapidement les régressions lors des modifications.
- couplage
- Related: cohésion, injection de dépendances
Degré de dépendance entre deux modules ou classes : un couplage faible rend les composants plus faciles à modifier, à tester et à réutiliser séparément, tandis qu'un couplage fort propage les changements.
- cohésion
- Related: couplage, principe de responsabilité unique
Mesure de la pertinence des éléments regroupés dans un même module : une cohésion forte signifie que chaque composant participe à une responsabilité unique et clairement identifiable.
- complexité algorithmique
- Related: notation grand O, mémoïsation
Évaluation de la quantité de ressources, temps ou mémoire, consommée par un algorithme en fonction de la taille des données d'entrée, exprimée généralement en notation grand O.
- notation grand O
- Related: complexité algorithmique, index de base de données
Notation mathématique qui décrit la croissance asymptotique d'une fonction, par exemple O(n log n) pour un tri efficace, en ignorant les constantes et les termes de plus faible ordre.
- mémoïsation
- Related: complexité algorithmique, cache
Optimisation qui stocke les résultats déjà calculés d'une fonction pour les réutiliser lors d'appels identiques, transformant parfois un algorithme exponentiel en algorithme polynomial au prix d'une consommation mémoire.
- cache
- Related: mémoïsation, CDN
Stockage temporaire de données coûteuses à recalculer ou à récupérer, placé plus près de l'utilisateur que la source d'origine, avec une politique d'expiration ou d'éviction pour limiter l'obsolescence.
- index de base de données
- Related: plan d'exécution, normalisation
Structure auxiliaire, souvent un arbre B, qui accélère la recherche de lignes selon une ou plusieurs colonnes en évitant un parcours complet de la table, au prix d'espace disque et de ralentissement des écritures.
- plan d'exécution
- Related: index de base de données, jointure
Description produite par le SGBD de la stratégie choisie pour exécuter une requête, indiquant les parcours d'index, les jointures et les tris, et servant à diagnostiquer les requêtes lentes.
- normalisation
- Related: clé étrangère, intégrité référentielle
Démarche de conception d'un schéma relationnel qui répartit les données en tables pour éliminer les redondances et les anomalies de mise à jour, en respectant des formes normales successives.
- clé étrangère
- Related: intégrité référentielle, normalisation, jointure
Colonne ou ensemble de colonnes qui référence la clé primaire d'une autre table afin de matérialiser une relation et de faire respecter la cohérence entre les enregistrements liés.
- intégrité référentielle
- Related: clé étrangère, transaction
Contrainte garantissant qu'une valeur de clé étrangère correspond toujours à une ligne existante dans la table référencée, ou est nulle, empêchant les références orphelines.
- jointure
- Related: clé étrangère, plan d'exécution
Opération relationnelle qui combine les lignes de deux tables selon une condition de correspondance, interne lorsque seules les lignes appariées sont conservées, externe lorsqu'on garde aussi les lignes sans correspondance.
- transaction
- Related: intégrité référentielle, verrou
Ensemble d'opérations sur une base de données qui doit être exécuté comme une unité indivisible, en respectant les propriétés d'atomicité, de cohérence, d'isolation et de durabilité.
- verrou
- Related: transaction, interblocage
Mécanisme de contrôle de concurrence qui empêche plusieurs transactions de modifier simultanément la même donnée, au risque d'entraîner des attentes ou des interblocages si les ordres d'accès diffèrent.
- interblocage
- Related: verrou, transaction
Situation où deux transactions ou processus s'attendent mutuellement en détenant chacun une ressource nécessaire à l'autre, ce qui bloque leur progression tant qu'une stratégie de détection ou d'évitement n'intervient pas.
- ORM
- Related: index de base de données, plan d'exécution
Couche logicielle qui fait correspondre des objets du langage de programmation à des tables relationnelles, automatisant la génération des requêtes mais pouvant masquer des problèmes de performance.
- API REST
- Related: HTTP, idempotence, authentification
Style d'architecture d'interface réseau qui expose des ressources identifiées par des URI et manipulées par les méthodes HTTP, avec des échanges généralement sans état entre client et serveur.
- HTTP
- Related: API REST, idempotence, TLS
Protocole applicatif de type requête-réponse utilisé pour transférer des ressources sur le Web, défini par des méthodes, des en-têtes, des codes de statut et un corps de message optionnel.
- idempotence
- Related: API REST, HTTP
Propriété d'une opération dont l'exécution répétée produit le même état final qu'une exécution unique, ce qui permet de rejouer une requête en cas d'erreur réseau sans effet de bord supplémentaire.
- TLS
- Related: HTTP, authentification, pare-feu
Protocole de chiffrement qui sécurise les échanges entre client et serveur, assure la confidentialité et l'authenticité du serveur par certificat, et constitue la base du HTTPS.
- authentification
- Related: autorisation, TLS, API REST
Processus qui vérifie l'identité déclarée d'un utilisateur ou d'un service, par mot de passe, certificat ou jeton, avant d'autoriser l'accès aux ressources protégées.
- autorisation
- Related: authentification, principe du moindre privilège
Processus qui détermine les actions qu'une identité authentifiée est habilitée à effectuer sur une ressource, souvent selon des rôles ou des règles de politique d'accès.
- principe du moindre privilège
- Related: autorisation, pare-feu
Règle de sécurité consistant à n'accorder à chaque compte ou processus que les droits strictement nécessaires à sa tâche, afin de limiter l'impact d'une compromission ou d'une erreur.
- pare-feu
- Related: principe du moindre privilège, TLS
Dispositif matériel ou logiciel qui filtre le trafic réseau entrant et sortant selon des règles définies, afin d'isoler des zones de confiance et de bloquer les connexions non souhaitées.
- DNS
- Related: HTTP, CDN
Système hiérarchique et distribué qui traduit des noms de domaine lisibles en adresses IP, en s'appuyant sur des serveurs faisant autorité et sur un cache pour accélérer les résolutions.
- CDN
- Related: cache, DNS
Réseau de serveurs répartis géographiquement qui met en cache et sert des contenus au plus près des utilisateurs, réduisant la latence et la charge sur les serveurs d'origine.
- conteneur
- Related: intégration continue, déploiement continu
Unité d'exécution isolée qui embarque une application et ses dépendances, partageant le noyau du système hôte, ce qui la rend plus légère qu'une machine virtuelle à déployer.
- intégration continue
- Related: test unitaire, déploiement continu, revue de code
Pratique d'équipe consistant à fusionner fréquemment les modifications dans une branche commune et à lancer automatiquement compilation et tests, afin de détecter tôt les incompatibilités.
- déploiement continu
- Related: intégration continue, conteneur
Automatisation qui installe en production chaque version validée par la chaîne d'intégration, sans intervention manuelle, ce qui exige des tests fiables et un retour arrière rapide.
- revue de code
- Related: intégration continue, gestion de version
Lecture critique d'une modification par un ou plusieurs pairs avant sa fusion, visant à détecter les défauts, partager la connaissance et faire respecter les conventions de l'équipe.
- gestion de version
- Related: revue de code, intégration continue
Organisation du suivi des modifications du code au moyen d'un outil comme Git, avec des commits, des branches et des fusions qui permettent de revenir en arrière et de travailler en parallèle.
- méthodologie agile
- Related: backlog, sprint, revue de code
Approche de conduite de projet fondée sur des itérations courtes, la livraison régulière de valeur et l'adaptation aux retours, avec des rituels comme la revue et la rétrospective.
- backlog
- Related: sprint, méthodologie agile
Liste ordonnée et évolutive des besoins d'un produit, exprimés généralement en récits utilisateurs, que l'équipe estime et sélectionne progressivement pour alimenter les itérations.
- sprint
- Related: backlog, méthodologie agile
Itération de durée fixe, souvent deux à quatre semaines, pendant laquelle une équipe réalise un ensemble d'éléments du backlog et produit un incrément potentiellement livrable.
- principe de responsabilité unique
- Related: cohésion, couplage
Règle de conception selon laquelle une classe ou un module ne doit avoir qu'une seule raison de changer, ce qui renforce la cohésion et simplifie la maintenance et les tests.