Skip to content

Glossaire

Ce glossaire a pour but de fournir quelques indications sur la signification des termes techniques et fonctionnels que nous utilisons sur le site de Smartplatform. N'hésitez pas à nous demander si vous pensez que certains termes devraient être ajoutés.

ACID

ACID est un acronyme qui définit les propriétés garantissant la fiabilité des transactions en base de données : Atomicité (tout ou rien), Cohérence (respect des règles), Isolation (indépendance des transactions) et Durabilité (persistance des données).

Ces principes assurent que vos données restent cohérentes même en cas de panne ou d'accès simultanés.

Accessibilité

L'accessibilité désigne la conception d'interfaces utilisables par tous, y compris les personnes en situation de handicap (déficience visuelle, motrice, auditive...).

Cela implique des contrastes suffisants, une navigation au clavier, des textes alternatifs pour les images, etc. Une bonne accessibilité améliore l'expérience pour tous les utilisateurs.

Algorithme de hachage

Un algorithme de hachage (MD5, SHA-256...) est une fonction mathématique qui transforme n'importe quelle donnée en une empreinte unique de taille fixe.

Cette empreinte est impossible à inverser : on ne peut pas retrouver la donnée d'origine à partir du hash. C'est pourquoi les algorithmes de hachage sont utilisés pour stocker les mots de passe de manière sécurisée dans les bases de données.

Note : MD5 est aujourd'hui considéré comme obsolète pour la sécurité, SHA-256 est recommandé.

API (Interface de Programmation)

Une API (Application Programming Interface) est un point d'accès qui permet à deux applications de communiquer entre elles et d'échanger des données.

Dans le contexte web, une API permet par exemple à votre interface VueJS de récupérer ou modifier des données stockées sur votre serveur Symfony.

Authentification

L'authentification est le processus de vérification de l'identité d'un utilisateur, généralement via un couple login/mot de passe.

Elle répond à la question "Qui êtes-vous ?" et doit être distinguée de l'autorisation qui détermine "Que pouvez-vous faire ?".

Autorisation / Permissions

L'autorisation (ou gestion des permissions) est le contrôle des droits d'accès d'un utilisateur authentifié aux différentes fonctionnalités de l'application.

Par exemple : un commercial peut voir ses propres clients mais pas ceux des autres, tandis qu'un manager peut voir tous les clients de son équipe.

Backlog

Le backlog est la liste priorisée de toutes les fonctionnalités et améliorations à développer pour un projet.

Il est géré par le Product Owner et continuellement ajusté en fonction des retours utilisateurs et des priorités métier.

Backend

Le backend désigne la partie serveur d'une application qui gère la logique métier, la base de données et les traitements.

Dans SmartPlatform, le backend est développé avec Symfony. Il communique avec le frontend via une API.

Backup (sauvegarde)

Un backup (sauvegarde) est une copie de sécurité de vos données (base de données, fichiers...) permettant de restaurer votre application en cas de problème.

Il est essentiel de réaliser des sauvegardes régulières et de les tester périodiquement pour garantir la résilience de votre système.

Bug / Anomalie

Un bug (ou anomalie) est un dysfonctionnement de l'application qui ne correspond pas au comportement attendu.

Il peut s'agir d'une erreur d'affichage, d'un calcul incorrect, d'un plantage... Les bugs sont généralement signalés via des tickets et corrigés selon leur criticité.

Bundle Symfony

Un bundle est un paquet réutilisable de code Symfony qui apporte des fonctionnalités spécifiques.

SmartPlatform est lui-même un bundle qui enrichit Symfony avec des composants prêts à l'emploi pour accélérer vos développements.

Cache

Le cache est un système de stockage temporaire qui conserve des données fréquemment utilisées pour éviter de les recalculer ou de les récupérer à chaque fois.

L'utilisation du cache améliore significativement les performances de votre application mais nécessite une stratégie de rafraîchissement pour garantir la fraîcheur des données.

CI/CD (Intégration/Déploiement Continu)

CI/CD désigne l'automatisation du processus de développement : l'Intégration Continue (CI) teste automatiquement chaque modification de code, le Déploiement Continu (CD) met automatiquement en production les versions validées.

Cette approche réduit les erreurs humaines et accélère la mise en production des fonctionnalités.

Clé primaire / Clé étrangère

Une clé primaire est l'identifiant unique d'une ligne dans une table de base de données (généralement un ID auto-incrémenté).

Une clé étrangère est une référence à la clé primaire d'une autre table, permettant d'établir des relations entre les données. Par exemple, une facture possède une clé étrangère vers le client qui la concerne.

Code générique

Un code générique est un code abstrait fait pour être utilisé dans plusieurs contextes et sur plusieurs projets. Un code générique devra, la plupart du temps, être adapté pour correspondre aux spécificités de votre projet.

Composant

Un composant est un élément d'interface réutilisable (bouton, tableau, formulaire...) qui peut être instancié plusieurs fois dans différentes pages avec des paramètres différents.

L'approche par composants permet de construire des interfaces cohérentes et maintenables plus facilement.

Couverture de code

La couverture de code (code coverage) mesure le pourcentage de votre code qui est exécuté par vos tests unitaires et tests fonctionnels.

Un taux de couverture élevé (80%+) indique que la majorité de votre code est testée, réduisant les risques de bugs non détectés.

CRUD

CRUD est un acronyme anglais qui signifie Create, Read, Update and Delete (Créer, Lire, Modifier et Supprimer en français). C'est un basique du développement de logiciel qui formalise les opérations de base que nous pouvons réaliser sur une donnée.

CVE (Common Vulnerabilities and Exposures)

Une CVE est un identifiant unique attribué à une faille de sécurité découverte dans un logiciel ou une bibliothèque.

Exemple : CVE-2024-1234 désigne une vulnérabilité spécifique. Il est important de maintenir vos dépendances à jour pour corriger les CVE connues.

Dashboard / Tableau de bord

Un dashboard (tableau de bord) est une interface qui présente de manière visuelle et synthétique les informations et KPI les plus importants pour piloter votre activité.

Il permet d'avoir une vue d'ensemble rapide de l'état de votre business ou de vos projets.

DDD (Domain-Driven Design)

DDD (Domain-Driven Design) est une approche de conception logicielle qui place le métier au cœur du développement.

Elle favorise un langage commun entre développeurs et experts métier, et structure le code autour des concepts métier plutôt qu'autour de contraintes techniques.

Dépendance

Une dépendance est une bibliothèque ou un package externe utilisé dans votre projet pour éviter de réinventer la roue.

Par exemple, Symfony est une dépendance de SmartPlatform. Les dépendances sont gérées via des outils comme Composer (PHP) ou NPM (JavaScript).

Dette technique

La dette technique représente le coût futur des raccourcis ou compromis pris pendant le développement pour aller plus vite.

Comme une dette financière, elle accumule des "intérêts" : plus vous attendez pour la rembourser (via du refactoring), plus elle devient coûteuse à corriger.

Diagramme de flux

Un diagramme de flux (ou flowchart) est une représentation visuelle des étapes d'un processus métier ou technique.

Il permet de comprendre rapidement l'enchaînement des actions, les conditions et les décisions à prendre dans un workflow.

Entité / Objet

Une entité (ou objet en programmation) représente un concept métier de votre application avec ses propriétés et comportements.

Par exemple, dans un CRM, vous aurez des entités Client, Facture, Produit... Chaque entité correspond généralement à une table dans votre base de données.

Extensions

Les extensions de SmartPlatform désignent les parties de code optionnelles qui ne sont pas incluses dans Foundation. Il s'agit de code prévu pour répondre à une problématique métier.

Foundation

Foundation est le cœur de SmartPlatform qui contient les fonctionnalités de base indispensables au fonctionnement de tous les projets.

Les extensions viennent compléter Foundation avec des fonctionnalités métier optionnelles.

Framework

Un framework est un ensemble de briques techniques construites pour fonctionner ensemble et destinées à apporter un cadre de travail stable dans le but de répondre à une problématique.

Le framework est un outil pour réaliser des développements plus stables, plus riches et plus rapidement.

SmartPlatform est développé sur les frameworks Symfony et VueJs.

Frontend

Le frontend désigne la partie cliente d'une application, c'est-à-dire l'interface utilisateur avec laquelle les utilisateurs interagissent.

Dans SmartPlatform, le frontend est développé avec VueJS et communique avec le backend via une API.

Fullstack

Un développeur fullstack maîtrise à la fois le backend et le frontend, capable d'intervenir sur toutes les couches d'une application.

Dans ton équipe, en tant que développeur Symfony et VueJS, tu es un développeur fullstack.

Google Core Web Vitals

Les Core Web Vitals sont des métriques de performance web définies par Google qui mesurent la qualité de l'expérience utilisateur sur votre site.

Les trois indicateurs principaux sont : LCP (vitesse de chargement), FID (interactivité) et CLS (stabilité visuelle). Ces critères impactent directement votre référencement Google.

Hotfix

Un hotfix est une correction urgente appliquée directement en production pour résoudre un bug critique qui impacte les utilisateurs.

Contrairement au processus normal de développement, le hotfix contourne certaines étapes pour gagner en rapidité, mais nécessite une attention particulière pour éviter d'introduire de nouveaux problèmes.

Injection SQL

L'injection SQL est une faille de sécurité qui permet à un attaquant d'exécuter des requêtes SQL malveillantes en injectant du code dans les champs de saisie.

L'utilisation d'un ORM comme Doctrine et de requêtes préparées protège efficacement contre ce type d'attaque.

Interface responsive

Une interface responsive s'adapte automatiquement à la taille de l'écran (ordinateur, tablette, smartphone) pour offrir une expérience optimale sur tous les appareils.

Avec Tailwind, vous disposez d'utilitaires (sm:, md:, lg:...) pour gérer facilement le responsive design.

KISS (Keep It Simple, Stupid)

KISS est un principe de conception qui encourage la simplicité : une solution simple est plus facile à comprendre, maintenir et faire évoluer qu'une solution complexe.

Avant d'ajouter de la complexité, demandez-vous toujours si une approche plus simple ne ferait pas l'affaire.

KPI (Indicateur de Performance)

Un KPI (Key Performance Indicator) est un indicateur chiffré qui mesure l'atteinte d'un objectif stratégique.

Par exemple : nombre de nouveaux clients par mois, taux de conversion, chiffre d'affaires... Les KPI sont généralement affichés dans un dashboard.

Log

Un log est un enregistrement horodaté des événements qui se produisent dans votre application (erreurs, actions utilisateurs, requêtes...).

Les logs sont essentiels pour le débogage et le monitoring. Ils doivent être suffisamment détaillés sans compromettre les données sensibles.

Merge Request

Une Merge Request (ou Pull Request sur GitHub) est une demande de fusion de code entre deux branches d'un projet.

Elle permet de faire relire et valider les modifications par l'équipe avant de les intégrer dans la branche principale. C'est une pratique essentielle pour maintenir la qualité du code.

Migration

Une migration est un processus de modification de la structure de la base de données (ajout de tables, colonnes, modifications de types...).

Les migrations permettent de versionner l'évolution de votre schéma de base de données et de l'appliquer facilement sur différents environnements.

Mockup / Wireframe

Un wireframe est une maquette basse-fidélité qui représente la structure d'une interface (disposition des éléments).

Un mockup est une maquette haute-fidélité avec les couleurs, typographies et éléments visuels finaux. Ces outils permettent de valider l'ergonomie avant de développer.

Modèle de données

Le modèle de données est la représentation structurée de toutes les informations que votre application doit gérer.

Il définit les entités, leurs propriétés et les relations entre elles (un client a plusieurs factures, une facture contient plusieurs lignes...).

Monitoring

Le monitoring est la surveillance continue de votre application en production pour détecter rapidement les problèmes (performances, erreurs, disponibilité...).

Il s'appuie sur des logs, des métriques et des alertes pour vous prévenir en cas d'anomalie avant que les utilisateurs ne soient trop impactés.

MVP

Un MVP (Minimum Viable Product) est le périmètre minimum de votre logiciel qui pourra être utilisé par vos utilisateurs pour avoir un premier retour.

Vous pouvez le voir comme une version ultra light de votre application dans laquelle vous avez retiré tout le superflu afin de vous concentrer sur l'essentiel.

L'objectif de la démarche est d'aller tester au plus vite votre idée sur le marché dans le but de détecter tous les éventuels blocages à l'adoption de votre logiciel avant de se lancer dans des développements plus conséquents.

NTH

NTH (Nice to have) désigne des fonctionnalités non essentielles à votre projet mais qui pourraient apporter un plus si le budget le permet. Le terme "Nice to have" vient en complément des "Must have" qui désignent au contraire les besoins obligatoires du projet.

Open source

Un logiciel Open source est un programme dont le code est disponible en accès public sur Internet et utilisable gratuitement.

Les projets open source sont réalisés manière collaborative par un ensemble de contributeurs qui rassemblent leurs efforts pour créer une solution commune, généralement plus riche fonctionnellement et avec un meilleur niveau de qualité.

Ces dernières années, l'open source est devenu omniprésent dans notre métier, particulièrement depuis la création des plateformes Github et Gitlab qui ont révolutionné la façon de collaborer.

ORM (Object-Relational Mapping)

Un ORM (comme Doctrine dans Symfony) est une couche d'abstraction qui permet de manipuler la base de données via des objets PHP plutôt que d'écrire du SQL directement.

Vous travaillez avec des entités et l'ORM se charge de générer les requêtes SQL correspondantes, améliorant la productivité et la sécurité.

Product Owner

Le Product Owner (PO) est la personne responsable de définir et prioriser les fonctionnalités d'un produit logiciel.

Il fait le lien entre les besoins métier et l'équipe de développement, s'assure que le backlog est correctement priorisé et valide les développements réalisés.

PWA (Progressive Web App)

Une PWA (Progressive Web App) est une application web qui offre une expérience proche d'une application native : fonctionnement hors ligne, notifications push, installation sur l'écran d'accueil...

Les PWA combinent les avantages du web (accessibilité, mises à jour instantanées) et du mobile (performances, expérience utilisateur).

Recette

La recette (ou UAT - User Acceptance Testing) est la phase de validation d'une fonctionnalité par le client ou le Product Owner avant sa mise en production.

C'est le moment où l'on vérifie que le développement correspond bien au besoin exprimé et fonctionne correctement dans des conditions réelles d'utilisation.

Refactoring

Le refactoring est le processus d'amélioration de la structure et de la qualité du code sans modifier son comportement fonctionnel.

Il permet de rembourser la dette technique, d'améliorer la lisibilité et la maintenabilité du code. Les tests unitaires sont essentiels pour refactorer en toute sécurité.

Reprise de données

La reprise de données est le processus de transfert des données existantes depuis un ancien système vers votre nouveau logiciel.

Cette étape critique nécessite souvent du nettoyage, de la transformation et de la validation des données pour s'assurer de leur qualité dans le nouveau système.

Responsive

Une interface responsive désigne une interface qui s'adapte à l'écran sur lequel elle est utilisée. Lors du développement de ce type d'interface, il est nécessaire de bien définir les breakpoints à travailler en fonction des utilisateurs cibles.

En effet, plus le nombre de périphériques à prendre en compte est large et plus les temps de développement et de tests seront conséquents.

RGPD

Le RGPD (Règlement Général sur la Protection des Données) est la réglementation européenne qui encadre la collecte et le traitement des données personnelles.

Il impose notamment le consentement explicite, le droit à l'oubli, la portabilité des données et la sécurisation des informations. Le non-respect du RGPD peut entraîner de lourdes sanctions.

Scalabilité

La scalabilité est la capacité d'une application à gérer une augmentation de la charge (plus d'utilisateurs, plus de données...) sans dégradation des performances.

Une architecture scalable permet de faire évoluer votre infrastructure (serveurs, base de données...) en fonction de la croissance de votre activité.

Serverless

Le serverless est une approche où vous ne gérez pas directement les serveurs : le fournisseur cloud s'occupe automatiquement de l'infrastructure.

Vous ne payez que pour le temps d'exécution réel de votre code. Cela simplifie la gestion technique mais peut créer une dépendance forte au fournisseur.

SOLID

SOLID est un acronyme regroupant 5 principes de conception orientée objet qui favorisent un code maintenable et évolutif : Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion.

Ces principes aident à créer des applications robustes et faciles à faire évoluer.

SPA (Single Page Application)

Une SPA (Single Page Application) est une application web qui fonctionne sur une seule page HTML, où le contenu est rechargé dynamiquement sans recharger toute la page.

Les applications développées avec VueJS sont souvent des SPA, offrant une expérience utilisateur plus fluide et rapide.

Symfony

Symfony est un framework PHP professionnel utilisé pour les développements de SmartPlatform.

TDD (Test-Driven Development)

TDD (Test-Driven Development) est une méthodologie où l'on écrit les tests AVANT le code de production.

Le cycle est : écrire un test qui échoue, écrire le code minimal pour le faire passer, puis refactorer. Cette approche améliore la qualité du code et la couverture de tests.

Test fonctionnel

Un test fonctionnel valide qu'une fonctionnalité complète fonctionne correctement du point de vue utilisateur.

Par exemple : "quand je clique sur le bouton de connexion avec des identifiants valides, je dois être redirigé vers le tableau de bord". Ces tests simulent le comportement réel d'un utilisateur.

Test unitaire

Un test unitaire vérifie qu'une petite portion de code (une fonction, une méthode) fonctionne correctement de manière isolée.

Par exemple : tester qu'une fonction de calcul de TVA retourne bien le bon résultat. Les tests unitaires permettent de détecter rapidement les régressions lors des modifications de code.

Ticket

Un ticket est une unité de travail dans un outil de gestion de projet (Jira, Linear, Asana...).

Il peut représenter une fonctionnalité à développer, un bug à corriger, une amélioration... Chaque ticket contient une description, une priorité, un assigné et un statut.

URL (Uniform Resource Locator)

Une URL est l'adresse web qui permet d'accéder à une ressource sur Internet.

Par exemple : https://smartplatform.com/documentation/glossairehttps:// est le protocole, smartplatform.com est le domaine et /documentation/glossaire est le chemin vers la ressource.

User Story

Une User Story est une description d'une fonctionnalité du point de vue de l'utilisateur final.

Elle suit généralement le format : "En tant que [rôle], je veux [action] afin de [bénéfice]". Par exemple : "En tant que commercial, je veux pouvoir filtrer mes clients par région afin de planifier mes visites plus efficacement."

VueJS

VueJS est un framework frontend basé sur le langage Javascript utilisé pour les développements des interfaces de SmartPlatform.

Webhook

Un webhook est un mécanisme de notification automatique entre applications : lorsqu'un événement se produit dans une application A, elle envoie automatiquement une requête HTTP vers une application B.

Par exemple, Stripe peut notifier votre application via webhook lorsqu'un paiement est effectué, permettant de mettre à jour votre CRM en temps réel.

Workflow

Un workflow est un enchaînement automatisé ou semi-automatisé de tâches qui constituent un processus métier.

Par exemple : validation d'un devis → signature → génération de facture → envoi au client. Les workflows permettent de standardiser et d'optimiser vos processus.

Vous n'avez pas trouvé ce que vous cherchiez ?

N'hésitez pas à nous demander si vous pensez que certains termes devraient être ajoutés.