

# SEC11-BP04 Révisions de code manuelles
<a name="sec_appsec_manual_code_reviews"></a>

Procédez à une révision manuelle du code des logiciels que vous produisez. Ce processus permet de vérifier que la personne qui a écrit le code n'est pas la seule à en contrôler la qualité.

**Résultat souhaité :** l'inclusion d'une étape de révision manuelle du code au cours du développement permet d'améliorer la qualité du logiciel conçu, de renforcer les compétences des membres les moins expérimentés de l'équipe et d'identifier les domaines dans lesquels l'automatisation peut être utilisée. Les révisions de code manuelles peuvent être soutenues par des outils et des tests automatisés. 

**Anti-modèles courants :**
+  Ne pas effectuer de révision de code avant le déploiement. 
+  Faire rédiger et réviser le code par la même personne. 
+  Ne pas utiliser l'automatisation pour assister ou orchestrer les révisions de code. 
+  Ne pas former les créateurs à la sécurité des applications avant qu'ils ne procèdent à la révision du code. 

**Avantages liés au respect de cette bonne pratique :**
+  Amélioration de la qualité du code. 
+  Amélioration de la cohérence de développement du code grâce à la réutilisation d'approches communes. 
+  Réduction du nombre de problèmes découverts lors des tests de pénétration et des étapes ultérieures. 
+  Amélioration du transfert de connaissances au sein de l'équipe. 

 **Niveau de risque exposé si cette bonne pratique n'est pas respectée :** moyen 

## Directives d'implémentation
<a name="implementation-guidance"></a>

 L'étape de révision doit être implémentée dans le cadre du flux global de gestion du code. Les spécificités dépendent de l'approche utilisée pour les branches, les demandes d'extraction et la fusion. Vous utilisez peut-être AWS CodeCommit ou des solutions tierces telles que GitHub, GitLab ou Bitbucket. Quelle que soit la méthode utilisée, il est important de vérifier que vos processus exigent la révision du code avant qu'il ne soit déployé dans un environnement de production. L'utilisation d'outils tels que [Amazon CodeGuru Reviewer](https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/welcome.html) peut faciliter l'orchestration du processus de révision de code. 

### Étapes d'implémentation
<a name="implementation-steps-required-field"></a>
+  Implémentez une étape de révision manuelle dans le cadre de votre flux de gestion du code et procédez à cette révision avant de poursuivre. 
+  Envisagez [Amazon CodeGuru Reviewer](https://aws.amazon.com/codeguru/) pour gérer et vous aider dans les révisions de code. 
+  Implémentez un flux d'approbation qui exige qu'une révision de code soit achevée avant que le code puisse passer à l'étape suivante. 
+  Vérifiez qu'il existe un processus permettant d'identifier les problèmes découverts lors des révisions manuelles du code et qui pourraient être détectés automatiquement. 
+  Intégrez l'étape de révision manuelle du code d'une manière qui s'aligne sur vos pratiques de développement du code. 

## Ressources
<a name="resources-required-field"></a>

 **Bonnes pratiques associées :**
+  [SEC11-BP02 Automatisation des tests tout au long du cycle de développement et de publication](sec_appsec_automate_testing_throughout_lifecycle.md) 

 **Documents connexes :**
+  [Utilisation des demandes d'extraction dans les référentiels AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/pull-requests.html) 
+  [Utilisation des modèles de règles d'approbation dans AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/approval-rule-templates.html) 
+  [À propos des demandes de tirage (pull requests)](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) 
+  [Automate code reviews with Amazon CodeGuru Reviewer](https://aws.amazon.com/blogs/devops/automate-code-reviews-with-amazon-codeguru-reviewer/) 
+  [Automating detection of security vulnerabilities and bugs in CI/CD pipelines using Amazon CodeGuru Reviewer CLI](https://aws.amazon.com/blogs/devops/automating-detection-of-security-vulnerabilities-and-bugs-in-ci-cd-pipelines-using-amazon-codeguru-reviewer-cli/) 

 **Vidéos connexes :**
+  [Continuous improvement of code quality with Amazon CodeGuru](https://www.youtube.com/watch?v=iX1i35H1OVw) 

 **Exemples connexes :** 
+  [Atelier sur la sécurité pour les développeurs](https://catalog.workshops.aws/sec4devs) 