[Accueil](<https://pvs-studio.com/fr/>)

>

L'analyseur PVS‑Studio 

#  PVS-Studio est un analyseur statique qui veille à la qualité, la sécurité (SAST) et la sûreté du code 

##  Qu'est-ce que PVS-Studio ? 

###  Si vous vous demandez: "Qu'est-ce que PVS-Studio ?" - cette vidéo répondra à votre question. 

Nous y abordons les sujets et les aspects les plus importants de l'analyseur statique PVS-Studio. Vous y découvrirez non seulement comment PVS-Studio peut vous aider, mais aussi quels mécanismes et quelles approches il utilise. 

[ Toutes les vidéos de PVS-Studio ](<https://pvs-studio.com/fr/blog/video/opportunities/>)

Vous pouvez également consulter la présentation des fonctionnalité du produit. 

![Presentation icon](/static/images/icons/presentation.svg) [ Regarder la présentation ](<https://docs.google.com/presentation/d/e/2PACX-1vTTZM0yDEa6DlIb65063ioabxzOi1lKXs-Hojly4tC_Np0861CgP-hP8pfwdr9UBVupMxTvy-vc5UAM/pub?start=false&loop=false&delayms=3000>)

Quand est-il temps d'utiliser l'analyseur PVS-Studio ? 

Pour un développeur

Si vous faites occasionnellement des erreurs pendant le développement

Si vous passez trop de temps à débugger votre code

Si des erreurs se retrouvent dans le code versionné

Si, une fois parvenu à l’étape du QA, le code est difficile à débugger

[ Pour un chef de projet Si vous revenez trop souvent à d'anciennes tâches pour cause de bugs Si les utilisateurs rapportent des anomalies dans vos produits Si vous recrutez davantage de développeurs, mais constatez une baisse de la qualité du code Si, avec la taille croissante du code, il devient difficile d'en mesurer la qualité et la fiabilité ](<https://pvs-studio.com/fr/pvs-studio/for-managers/>)

[ Pour un Responsable Qualité Si des difficultés surgissent lors de l'audit externe du code Si vos clients demandent l'utilisation de tels outils Si vos clients imposent le respect des normes de sécurité et de sûreté dans le développement ](<https://pvs-studio.com/fr/pvs-studio/security/>)

Comment PVS-Studio identifie les potentielles vulnérabilités 

![cwe diagram](/static/images/backgrounds/cwe_diagram_small.svg)

PVS-Studio détecte divers types d'erreurs – fautes de frappe, code mort et vulnérabilités potentielles (Static Application Security Testing, SAST).

L'analyseur fait correspondre les warnings à la liste des Common Weakness Enumeration (CWE), aux normes de codage du SEI CERT et prend en charge la norme MISRA.

Cliquez sur les liens ci-dessous pour voir la classification des warnings de PVS-Studio pour les différentes normes :

[CWE](<https://pvs-studio.com/fr/pvs-studio/sast/cwe/>)

[Sei Cert](<https://pvs-studio.com/fr/pvs-studio/sast/cert/>)

[Misra](<https://pvs-studio.com/fr/pvs-studio/sast/misra/>)

[OWASP](<https://pvs-studio.com/fr/pvs-studio/sast/owasp/>)

[AUTOSAR](<https://pvs-studio.com/fr/pvs-studio/sast/autosar/>)

[En savoir plus...](<https://pvs-studio.com/fr/pvs-studio/sast/>)

Où s'intègre PVS-Studio ? 

IDE 

![Visual Studio](/static/images/integrated/Visual_Studio_Icon_2026.svg)

[Visual Studio](<https://pvs-studio.com/fr/docs/manual/6522/>)

![Visual Studio Code](/static/images/integrated/vcstuido.svg)

[Visual Studio Code](<https://pvs-studio.com/fr/docs/manual/6646/>)

![WebStorm](/static/images/integrated/webstorm.svg)

[WebStorm](<https://pvs-studio.com/fr/docs/manual/7189/>)

![PhpStorm](/static/images/integrated/phpstorm.svg)

[PhpStorm](<https://pvs-studio.com/fr/docs/manual/7189/>)

![GoLand](/static/images/integrated/goland.svg)

[GoLand](<https://pvs-studio.com/fr/docs/manual/7190/>)

![IntelliJ IDEA](/static/images/integrated/icon-intellij-idea.svg)

[IntelliJ IDEA](<https://pvs-studio.com/fr/docs/manual/6704/>)

![Rider](/static/images/integrated/icon-rider.svg)

[Rider](<https://pvs-studio.com/fr/docs/manual/0052/>)

![CLion](/static/images/integrated/clion.svg)

[CLion](<https://pvs-studio.com/fr/docs/manual/0052/>)

![Qt Creator](/static/images/integrated/QtProject-qtcreator.png)

[Qt Creator](<https://pvs-studio.com/fr/docs/manual/6648/>)

Les moteurs de jeu 

![Unreal Engine](/static/images/integrated/Unreal_Engine_Logo.svg)

[Unreal Engine](<https://pvs-studio.com/fr/docs/manual/0043/>)

![Unity](/static/images/integrated/unity_logo.svg)

[Unity](<https://pvs-studio.com/fr/docs/manual/6607/>)

Nombre de diagnostics 

![SonarQube](/static/images/integrated/SonarQube-icon.png)

[SonarQube](<https://pvs-studio.com/fr/docs/manual/0037/>)

![DefectDojo](/static/images/integrated/DefectDojo-3.png)

[DefectDojo](<https://pvs-studio.com/fr/docs/manual/6686/>)

![CodeChecker](/static/images/integrated/logo_codechecker.png)

[CodeChecker](<https://pvs-studio.com/fr/docs/manual/6819/>)

Embedded 

![Keil µVision, DS-MDK](/static/images/integrated/keil_icon.svg)

Keil µVision, DS-MDK 

![IAR Embedded Workbench](/static/images/integrated/iar_icon.svg)

IAR Embedded Workbench 

![QNX Momentics](/static/images/integrated/qnx_2026.svg)

QNX Momentics 

![TI ARM Code Generation](/static/images/integrated/ti_arm_icon.svg)

TI ARM Code Generation 

Les systèmes d'opération 

![MSBuild](/static/images/integrated/MSBuild-Logo.svg)

[MSBuild](<https://pvs-studio.com/fr/docs/manual/0035/>)

![CMake](/static/images/integrated/make_icon.svg)

[CMake](<https://pvs-studio.com/fr/docs/manual/6591/>)

![Make](/static/images/integrated/Official_gnu.svg)

Make 

![Ninja](/static/images/integrated/Ninja_icon.svg)

[Ninja](<https://pvs-studio.com/fr/docs/manual/0036/>)

![Gradle](/static/images/integrated/gradle-elephant-icon-dark-green-secondary.svg)

[Gradle](<https://pvs-studio.com/fr/docs/manual/6706/>)

![Maven](/static/images/integrated/file_type_maven_icon_130397.svg)

[Maven](<https://pvs-studio.com/fr/docs/manual/6705/>)

![JSON Compilation Database](/static/images/logo/dragon_medium.png)

[JSON Compilation Database](<https://pvs-studio.com/fr/docs/manual/6557/>)

Virtualization 

![Docker](/static/images/integrated/docker-tile.svg)

[Docker](<https://pvs-studio.com/fr/docs/manual/0047/>)

![WSL](/static/images/integrated/wsl_new.png)

WSL 

Distributed build 

![Incredibuild](/static/images/integrated/incdibuild_logo_high101.svg)

[Incredibuild](<https://pvs-studio.com/fr/docs/manual/0041/>)

CI 

![Jenkins](/static/images/integrated/jenkins-icon.svg)

[Jenkins](<https://pvs-studio.com/fr/docs/manual/0048/>)

![TeamCity](/static/images/integrated/icon-teamcity.svg)

[TeamCity](<https://pvs-studio.com/fr/docs/manual/0049/>)

Les plateformes Cloud 

![CircleCI](/static/images/integrated/icons8-circleci.svg)

[CircleCI](<https://pvs-studio.com/fr/docs/manual/0054/>)

![Travis CI](/static/images/integrated/Travis_icon.svg)

[Travis CI](<https://pvs-studio.com/fr/docs/manual/0057/>)

![GitLab](/static/images/integrated/wm_web.svg)

[GitLab](<https://pvs-studio.com/fr/docs/manual/0056/>)

![Azure DevOps](/static/images/integrated/Azure_icon.svg)

[Azure DevOps](<https://pvs-studio.com/fr/docs/manual/0053/>)

![GitHub Actions](/static/images/integrated/github_actions.svg)

[GitHub Actions](<https://pvs-studio.com/fr/docs/manual/6579/>)

## Travaillez dans votre navigateur

Travaillez avec les résultats de PVS-Studio dans votre navigateur : marquez les faux positifs et assignez des membres de l'équipe pour corriger les problèmes

  * [Comment utiliser CodeChecker](<https://pvs-studio.com/fr/docs/manual/6819/>)
  * [Comment utiliser SonarQube](<https://pvs-studio.com/fr/docs/manual/0037/>)

Langages et compilateurs pris en charge 

**Windows**

Visual Studio C, C++, C++/CLI, C++/CX (WinRT)

MinGW C, C++

Texas Instruments Code Composer Studio, C6000-CGT, C, C++

**Windows/Linux/macOS**

GNU Arm Embedded Toolchain, Arm Embedded  
GCC compiler, C, C++

GNU toolchain for RISC-V, C, C++

CLion, Qt Creator, VS Code, GCC, Clang C, C++

IntelliJ IDEA, Android Studio, VS Code Java

Visual Studio, JetBrains Rider, VS Code, .NET Framework, .NET C#

WebStorm, PhpStorm, VS Code JavaScript, TypeScript

GoLand, VS Code Go

Texas Instruments C2000-CGT, C, C++

**Windows/Linux**

IAR Embedded Workbench, C/C++ Compiler for ARM C, C++

QNX Momentics, QCC C, C++

Keil µVision, DS-MDK, ARM Compiler 5/6 C, C++

Texas Instruments Code Composer Studio, ARM Code  
Generation Tools C, C++

MPLAB XC8 C

Démarrer avec PVS‑Studio est facile

### Demandez une clé d'évaluation pour tester les possibilités de l'analyseur

Un filtre spécial sélectionne les avertissements qui indiquent le plus probablement une erreur.

[En savoir plus...](<https://pvs-studio.com/fr/docs/manual/6532/>)

### Intégrez-vous PVS‑Studio dans votre projet ? Cachez les avertissements sur l'ancien code.

De cette façon, vous ne travaillerez qu'avec les avertissements émis sur le code nouvellement écrit. Si nécessaire, vous pourrez revenir aux avertissements cachés plus tard.

[En savoir plus...](<https://pvs-studio.com/fr/docs/manual/0032/>)

Types de problèmes détectés par PVS-Studio

Quality 

Fautes de frappe

Déréférencement de pointeurs nuls/de références nuls

Index de tableau hors limites

Opérations de décalage incorrectes

et autres.

Security 

[CWE](<https://pvs-studio.com/fr/pvs-studio/sast/cwe/>)

[SEI CERT](<https://pvs-studio.com/fr/pvs-studio/sast/cert/>)

[OWASP](<https://pvs-studio.com/fr/pvs-studio/sast/owasp/>)

[Composants vulnérables (SCA)](<https://pvs-studio.com/fr/pvs-studio/sca/>)

Safety 

[MISRA](<https://pvs-studio.com/fr/pvs-studio/sast/misra/>)

[AUTOSAR](<https://pvs-studio.com/fr/pvs-studio/sast/autosar/>)

[Voir tous les types d'erreurs](<https://pvs-studio.com/fr/docs/warnings/>)

Nos clients choisissent PVS-Studio pour...

L'expertise du support technique

Au fil des ans, nous avons assemblé une équipe d'experts en analyse de code qui a fait ses preuves. Les clients bénéficient du soutien direct des développeurs de notre analyseur.

L'utilisation hors ligne

Vous pouvez utiliser notre analyseur hors ligne. Cela inclut l'installation, l'activation, le lancement, l'analyse du code source et tous les autres scénarios d'utilisation. Il s'agit d'une solution parfaite pour les sociétés qui utilisent des environnements de développement isolés et qui développent des logiciels pour les secteurs financier ou gouvernemental.

La facilité d'utilisation

Pour un aperçu rapide de l'analyseur, utilisez le système de surveillance de compilation. Il est conçu pour Windows et Linux et ne nécessite pas d'intégrer PVS-Studio à votre projet.

Les capacités de diagnostic

Nous avons développé plus de 1100 règles de diagnostic et en ajoutons de nouvelles chaque mois.

L'intégration multiplateforme

De nombreuses applications sont créées pour plusieurs plateformes afin de répondre aux demandes du marché. Notre analyseur multiplateforme fournit à ces utilisateurs une couverture complète du code.

Des rapports d'analyse faciles à exploiter

Les rapports de l'analyseur sont disponibles aux formats Html, Xml, Csv, Txt, Json, CompileError, TaskList, TeamCity. Le générateur de rapports est lui-même publié sur GitHub pour tout besoin de personnalisation.

CLI accessible

Vous pouvez choisir l'une de ces trois approches simples : exécuter l'analyseur à partir de la ligne de commande, l'intégrer dans un script de construction ou un CI.

Les plugins

Pour améliorer les interactions avec l'analyseur, nous fournissons des plugins pour Visual Studio, IntelliJ IDEA, Rider, SonarQube, Jenkins ou d'autres produits similaires.

Mode de vérification du code Legacy

Certains clients hésitent à introduire un analyseur dans leur processus de développement en raison de la taille du code base. PVS-Studio répond à ces clients en introduisant le mode de vérification du code Legacy. Vous pouvez installer PVS-Studio, desactiver provisoirement les warnings sur le code Legacy et utiliser l'analyseur pour vérifier le code plus récent.

La gestion des fausses alertes

L'analyse statique implique parfois de tomber sur des fausses alertes. Outre la possibilité de contacter notre assistance, les utilisateurs ont plusieurs moyens pour traiter les faux positifs, ce qui facilite grandement l'usage de l'analyseur.

![](/static/images/logo/pvs_logo.png) ![](/static/images/logo/pvs_logo_2.png)

[Télécharger](</fr/pvs-studio/download/>)

Le nombre de diagnostics   
dans PVS-Studio augmente chaque année 

Nombre de diagnostics

Nombre de diagnostics

Années 

Comment PVS-Studio fait-il tout cela ?

![Based on compilation parameters icon](/static/images/preprocessing.png)

**Le preprocessing des fichiers sources C et C++** (basé sur les paramètres de compilation) permet d'étendre les directives du préprocesseur, c'est-à-dire d'inclure des fichiers d'en-tête et de substituer des macros. L'analyseur utilise cette fonctionnalité pour construire le modèle sémantique le plus complet du code analysé. 

![The pattern-based analysis icon](/static/images/icons/abstract/1.png)

**L'analyse basée** sur un arbre syntaxique abstrait recherche les fragments du code source qui sont similaires aux schémas connus pour être source d'erreurs. 

![Method annotations icon](/static/images/icons/abstract/2.png)

**Les annotations sur les méthodes** fournissent plus d'informations sur les méthodes utilisées que ce que l'on peut obtenir en analysant uniquement leurs signatures. 

![Data-flow analysis icon](/static/images/icons/abstract/3.png)

**L'analyse du flux de données** est utilisée pour évaluer les limitations imposées aux valeurs des variables lors du traitement de diverses expressions. Par exemple, l'analyse du flux de données permet d'évaluer les valeurs qu'une variable peut prendre à l'intérieur de blocs if/else. 

![Type inference icon](/static/images/icons/abstract/4.png)

**L'exécution symbolique** évalue les valeurs des variables qui peuvent entraîner des erreurs et vérifie l'amplitude de ces valeurs. 

![Symbolic execution icon](/static/images/icons/abstract/5.png)

**L'inférence de type basée sur un modèle sémantique de programme** fournit à l'analyseur des informations complètes sur toutes les variables et instructions du code. 

![Tainted data analysis icon](/static/images/icons/abstract/taint.png)

**L'analyse des données altérées** détecte les cas où une application utilise des données utilisateurs non vérifiés. Une confiance excessive dans ces données peut entraîner des vulnérabilités (par exemple, SQLI, XSS, traversée de chemin). 

![Intermodular analysis icon](/static/images/icons/abstract/intermodular.png)

**L'analyse intermodulaire** permet aux diagnostics de tenir compte des fonctions déclarées dans d'autres unités de compilation. 

![Software composition analysis icon](/static/images/icons/abstract/sca_icon.png)

**L'analyse de la composition logicielle** (SCA) recherche les dépendances de l'application sur les composants qui contiennent des vulnérabilités.