Ressource développeurs
Le glossaire tech
d'AZER TY
Tous les termes essentiels du développement web, mobile et logiciel — expliqués simplement, sans jargon inutile.
Aucun terme ne correspond à votre recherche.
Frontend
D
DOM
Document Object Model. Représentation arborescente d'une page HTML en mémoire. JavaScript peut lire et modifier cet arbre pour changer dynamiquement le contenu ou le style sans rechargement de la page.
S
SPA
Single Page Application. Application web qui charge une seule page HTML et met à jour dynamiquement le contenu via JavaScript (React, Vue.js). Offre une navigation fluide, sans rechargement complet.
S
SSR
Server-Side Rendering. Le HTML est généré côté serveur avant d'être envoyé au navigateur. Améliore le SEO et le temps d'affichage initial. Utilisé avec Next.js ou Nuxt.js.
S
SSG
Static Site Generation. Les pages sont générées en HTML statique lors du build, puis servies directement. Ultra-rapide et sécurisé. Idéal pour les blogs, portfolios et sites à contenu peu changeant.
R
Responsive Design
Approche de conception qui permet à une interface de s'adapter automatiquement à la taille de l'écran (mobile, tablette, desktop) via des media queries CSS et des unités fluides.
C
Component
Bloc UI réutilisable et autonome (React, Vue). Encapsule son propre HTML, CSS et logique. Permet de construire des interfaces complexes à partir de petites briques indépendantes.
S
State / État
Données dynamiques qui déterminent l'affichage d'un composant à un instant T. Quand le state change, le composant se re-render automatiquement. Géré avec useState (React) ou reactive (Vue).
P
Props
Propriétés passées d'un composant parent à un composant enfant (React/Vue). Permettent de personnaliser un composant sans modifier sa logique interne. Les props sont en lecture seule.
V
Virtual DOM
Copie légère du DOM réel maintenue en mémoire par React. Lors d'un changement, React compare le Virtual DOM avec le DOM réel (diffing) et ne met à jour que les éléments modifiés, pour de meilleures performances.
L
Lazy Loading
Technique qui diffère le chargement des ressources (images, modules) jusqu'à ce qu'elles soient nécessaires. Réduit le temps de chargement initial et la consommation de bande passante.
Backend
A
API
Application Programming Interface. Ensemble de règles définissant comment deux applications communiquent. Une API REST expose des endpoints HTTP que les clients (frontend, mobile) appellent pour lire ou modifier des données.
R
REST
Representational State Transfer. Style d'architecture pour les APIs web utilisant les méthodes HTTP (GET, POST, PUT, DELETE). Les ressources sont identifiées par des URLs et les échanges se font en JSON ou XML.
M
MVC
Model-View-Controller. Patron de conception séparant la logique en 3 couches : le Modèle (données), la Vue (affichage), le Contrôleur (logique métier). Utilisé dans CodeIgniter, Laravel, Spring MVC.
M
Middleware
Couche logicielle intermédiaire qui intercepte les requêtes HTTP avant qu'elles atteignent le contrôleur. Utilisée pour l'authentification, la validation, la journalisation ou la gestion des CORS.
E
Endpoint
URL spécifique d'une API à laquelle un client envoie une requête. Chaque endpoint correspond à une ressource ou une action précise. Ex :
GET /api/users/42 retourne l'utilisateur 42.J
JWT
JSON Web Token. Standard d'authentification stateless. Le serveur génère un token signé contenant les infos utilisateur. Le client le renvoie dans chaque requête. Pas besoin de session côté serveur.
W
WebSocket
Protocole de communication bidirectionnel en temps réel entre client et serveur. Contrairement au HTTP classique, la connexion reste ouverte. Utilisé pour les chats, jeux multijoueur et dashboards live.
O
ORM
Object-Relational Mapping. Outil qui traduit les tables SQL en objets dans le code. Permet d'interagir avec la base de données sans écrire de SQL brut. Exemples : Eloquent (Laravel), Hibernate (Java), Prisma (Node.js).
C
CORS
Cross-Origin Resource Sharing. Mécanisme de sécurité HTTP qui contrôle les requêtes d'un domaine vers un autre. Le serveur déclare les origines autorisées via des headers spécifiques.
M
Microservices
Architecture où l'application est découpée en petits services indépendants communiquant via APIs. Chaque service gère une fonction précise et peut être déployé séparément. S'oppose à l'architecture monolithique.
M
Monolithe
Application dont toutes les fonctionnalités sont regroupées dans un seul codebase déployé ensemble. Simple à développer au départ, mais devient difficile à scaler et maintenir quand il grossit.
Base de données
S
SQL
Structured Query Language. Langage standard pour interroger et manipuler des bases de données relationnelles. Principales commandes : SELECT, INSERT, UPDATE, DELETE, JOIN. Utilisé avec MySQL, PostgreSQL, SQLite.
N
NoSQL
Catégorie de bases de données non relationnelles qui stockent les données sans schéma fixe. Adapté aux données non-structurées, au scaling horizontal et aux forts volumes. Exemples : MongoDB (documents), Redis (clé-valeur).
I
Index
Structure de données accélérant les requêtes sur une colonne ou un ensemble de colonnes. Comme l'index d'un livre, il évite de parcourir toute la table pour trouver des enregistrements. Contrepartie : espace disque supplémentaire.
C
Clé primaire / Foreign Key
Clé primaire : identifiant unique d'un enregistrement dans une table. Clé étrangère : colonne qui référence la clé primaire d'une autre table, établissant une relation entre les deux.
T
Transaction
Ensemble d'opérations SQL exécutées comme une unité atomique. Soit tout réussit (COMMIT), soit tout est annulé (ROLLBACK). Garantit la cohérence des données. Propriétés ACID : Atomicité, Cohérence, Isolation, Durabilité.
M
Migration
Script versionné décrivant une modification de la structure de la base (ajout de table, colonne, index). Permet de faire évoluer le schéma de manière contrôlée et reproductible sur tous les environnements.
J
Jointure (JOIN)
Opération SQL combinant des lignes de deux tables selon une condition. Types principaux : INNER JOIN (lignes communes), LEFT JOIN (toutes les lignes de gauche + correspondances), OUTER JOIN (toutes les lignes des deux tables).
C
Cache
Stockage temporaire de données fréquemment accédées pour accélérer les lectures. Peut être en mémoire (Redis), côté serveur ou navigateur. Réduit la charge sur la base de données principale.
S
Sharding
Technique de partitionnement horizontal d'une base de données sur plusieurs serveurs. Chaque shard contient une partie des données. Permet de scaler horizontalement et de gérer des volumes massifs.
DevOps & Infrastructure
C
CI/CD
Continuous Integration / Continuous Delivery. CI : automatisation des tests à chaque push. CD : déploiement automatique en production après validation. Réduit les risques et la friction des mises en production.
C
Container
Environnement léger et isolé contenant une application et toutes ses dépendances. Plus léger qu'une VM car il partage le noyau de l'OS hôte. Docker est l'outil de containerisation le plus populaire.
I
Image Docker
Modèle immuable décrivant un environnement d'exécution. Définie dans un Dockerfile, elle permet de créer des conteneurs identiques sur n'importe quel hôte. Partageable via Docker Hub ou registres privés.
G
Git Flow
Convention de gestion de branches Git : main (prod), develop, feature/*, hotfix/*, release/*. Structure le travail en équipe et évite les conflits. Chaque fonctionnalité vit dans sa propre branche jusqu'à la fusion.
P
Pull Request
Demande de fusion d'une branche vers une autre sur GitHub/GitLab. Permet la revue de code par un pair avant intégration. Inclut discussion, commentaires, et validation des tests automatiques.
D
Déploiement
Processus de mise en ligne d'une nouvelle version d'une application. Peut être manuel ou automatisé via CI/CD. Stratégies : Blue-Green (deux environnements en parallèle), Canary (déploiement progressif), Rolling update.
E
Environnement
Contexte d'exécution d'une application. Les trois principaux : dev (local, tests rapides), staging (pré-prod, miroir de la production), production (réel, utilisateurs finaux).
B
Build
Processus de compilation et d'optimisation du code source pour la production. Inclut : transpilation TypeScript → JS, minification, bundling, tree-shaking. Outils : Webpack, Vite, Maven (Java).
L
Logs
Enregistrements horodatés des événements d'une application (requêtes, erreurs, actions). Indispensables pour le debugging et la surveillance. Niveaux : DEBUG, INFO, WARN, ERROR, FATAL.
S
Scalabilité
Capacité d'un système à gérer une charge croissante. Verticale : augmenter les ressources d'un serveur. Horizontale : ajouter des serveurs en parallèle. Les microservices et conteneurs favorisent le scaling horizontal.
Architecture & Conception
D
Design Pattern
Solution réutilisable à un problème récurrent de conception logicielle. Les 3 familles : Créationnels (Singleton, Factory), Structurels (Adapter, Decorator), Comportementaux (Observer, Strategy). Pas du code, mais des recettes.
S
Singleton
Design pattern garantissant qu'une classe n'a qu'une seule instance dans tout le programme. Utilisé pour des ressources partagées : connexion BDD, configuration globale, logger.
S
SOLID
5 principes de conception OOP : Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion. Rendent le code maintenable et extensible.
D
DRY
Don't Repeat Yourself. Principe évitant la duplication de logique dans le code. Chaque connaissance doit avoir une représentation unique dans le système. Facilite la maintenance et réduit les bugs.
H
Héritage / Polymorphisme
Héritage : une classe enfant hérite des attributs et méthodes d'une classe parent. Polymorphisme : une méthode peut avoir des comportements différents selon la classe qui l'implémente.
I
Interface
Contrat définissant les méthodes qu'une classe doit implémenter, sans en définir le comportement. Favorise le découplage et l'interchangeabilité des implémentations. Fondamental en Java, TypeScript, PHP.
A
Abstraction
Principe OOP exposant uniquement ce qui est nécessaire et cachant la complexité interne. Permet de changer l'implémentation sans affecter le code qui l'utilise. Pilier de la maintenance à long terme.
R
Refactoring
Processus d'amélioration de la structure interne du code sans changer son comportement externe. Réduit la dette technique, améliore la lisibilité et la maintenabilité. Doit s'accompagner de tests.
Sécurité
I
Injection SQL
Attaque exploitant une mauvaise validation des entrées pour injecter des commandes SQL malveillantes. Prévention : utiliser des requêtes préparées (prepared statements) et ne jamais concaténer du texte utilisateur dans une requête SQL.
X
XSS
Cross-Site Scripting. Injection de scripts malveillants dans une page web consultée par d'autres utilisateurs. Prévention : échapper toutes les données affichées, utiliser Content Security Policy (CSP).
H
HTTPS / SSL / TLS
HTTPS = HTTP chiffré via TLS (anciennement SSL). Protège les données en transit entre le navigateur et le serveur. Indispensable pour tout site (SEO, confiance, RGPD). Certificats obtenables via Let's Encrypt (gratuit).
H
Hachage
Transformation irréversible d'une donnée en empreinte de taille fixe. Utilisé pour stocker les mots de passe (bcrypt, Argon2). Différent du chiffrement (réversible). Ne jamais stocker des mots de passe en clair.
C
CSRF
Cross-Site Request Forgery. Attaque forçant un utilisateur authentifié à effectuer une action non désirée. Prévention : token CSRF unique par formulaire, vérification de l'en-tête Origin/Referer.
R
RGPD
Règlement Général sur la Protection des Données. Législation européenne encadrant la collecte et le traitement des données personnelles. Obligations : consentement, droit à l'oubli, portabilité, notification des violations.
Méthodes & Tests
A
Agile / Scrum
Méthode de gestion de projet en cycles courts (sprints de 1-4 semaines). Scrum = cadre Agile avec rôles définis (Product Owner, Scrum Master, équipe) et cérémonies (daily standup, sprint review, rétrospective).
T
Tests unitaires
Tests vérifiant le comportement d'une fonction ou d'une classe de manière isolée. Chaque test couvre un seul cas précis. Outils : JUnit (Java), Jest (JS/TS), PHPUnit. Constituent le filet de sécurité du refactoring.
T
TDD
Test-Driven Development. Approche où on écrit le test avant le code. Cycle : Red (test échoue) → Green (code minimal pour passer) → Refactor (améliorer). Produit un code plus fiable et bien conçu.
C
Code Review
Examen du code par un ou plusieurs pairs avant intégration. Objectifs : détecter les bugs, garantir les standards, partager la connaissance. Pratique clé pour la qualité et la cohérence d'une équipe.
D
Dette technique
Coût implicite du code mal conçu ou des raccourcis pris pour livrer vite. Comme une dette financière, elle génère des intérêts (bugs, lenteur). Se rembourse par le refactoring et les tests.
D
Documentation
Ensemble des textes décrivant le fonctionnement d'un logiciel : README, commentaires inline, wikis, guides API (Swagger/OpenAPI). Une bonne doc réduit le temps d'onboarding et les erreurs d'utilisation.
V
Versionning / SemVer
Semantic Versioning : convention de numérotation MAJOR.MINOR.PATCH. MAJOR = changement incompatible, MINOR = nouvelle fonctionnalité rétrocompatible, PATCH = correction de bug. Ex : 2.1.4.