[{"data":1,"prerenderedAt":482},["ShallowReactive",2],{"/fr-fr/the-source/authors/joel-krooswyk/":3,"footer-fr-fr":34,"the-source-navigation-fr-fr":347,"the-source-newsletter-fr-fr":374,"joel-krooswyk-articles-list-authors-fr-fr":386,"joel-krooswyk-articles-list-fr-fr":416,"joel-krooswyk-page-categories-fr-fr":481},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"config":8,"seo":10,"content":12,"type":26,"slug":27,"_id":28,"_type":29,"title":11,"_source":30,"_file":31,"_stem":32,"_extension":33},"/fr-fr/the-source/authors/joel-krooswyk","authors",false,"",{"layout":9},"the-source",{"title":11},"Joel Krooswyk",[13,24],{"componentName":14,"componentContent":15},"TheSourceAuthorHero",{"config":16,"name":11,"role":19,"bio":20,"headshot":21},{"gitlabHandle":17,"linkedInProfileUrl":18},"jkrooswyk","https://www.linkedin.com/in/joelrkrooswyk/","Federal CTO","Joel Krooswyk est federal CTO chez GitLab. Joel contribue activement à la croissance de GitLab depuis 2017. Ses 25 années d'expérience en matière de leadership couvrent non seulement le secteur public américain, mais aussi les petites, moyennes et grandes entreprises à l'échelle mondiale. Joel cumule une profonde expertise en matière de politique gouvernementale avec une riche expérience dans les domaines de la technologie, du développement logiciel, de l'IA et de la cybersécurité. Il est souvent sollicité par le secteur public comme privé pour fournir des commentaires et des réponses dans le cadre de leurs politiques.",{"altText":11,"config":22},{"src":23},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1751463423/mkmdhuxsjggfvokdmdv7.jpg",{"componentName":25},"TheSourceArticlesList","author","joel-krooswyk","content:fr-fr:the-source:authors:joel-krooswyk.yml","yaml","content","fr-fr/the-source/authors/joel-krooswyk.yml","fr-fr/the-source/authors/joel-krooswyk","yml",{"_path":35,"_dir":36,"_draft":6,"_partial":6,"_locale":7,"data":37,"_id":343,"_type":29,"title":344,"_source":30,"_file":345,"_stem":346,"_extension":33},"/shared/fr-fr/main-footer","fr-fr",{"text":38,"source":39,"edit":45,"contribute":50,"config":55,"items":60,"minimal":334},"Git est une marque déposée de Software Freedom Conservancy et notre utilisation de « GitLab » est sous licence",{"text":40,"config":41},"Afficher le code source de la page",{"href":42,"dataGaName":43,"dataGaLocation":44},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":46,"config":47},"Modifier cette page",{"href":48,"dataGaName":49,"dataGaLocation":44},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":51,"config":52},"Veuillez contribuer",{"href":53,"dataGaName":54,"dataGaLocation":44},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":56,"facebook":57,"youtube":58,"linkedin":59},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[61,88,161,233,295],{"title":62,"links":63,"subMenu":69},"Plateforme",[64],{"text":65,"config":66},"Plateforme DevSecOps",{"href":67,"dataGaName":68,"dataGaLocation":44},"/fr-fr/platform/","devsecops platform",[70],{"title":71,"links":72},"Tarifs",[73,78,83],{"text":74,"config":75},"Voir les forfaits",{"href":76,"dataGaName":77,"dataGaLocation":44},"/fr-fr/pricing/","view plans",{"text":79,"config":80},"Pourquoi choisir GitLab Premium ?",{"href":81,"dataGaName":82,"dataGaLocation":44},"/fr-fr/pricing/premium/","why premium",{"text":84,"config":85},"Pourquoi choisir GitLab Ultimate ?",{"href":86,"dataGaName":87,"dataGaLocation":44},"/fr-fr/pricing/ultimate/","why ultimate",{"title":89,"links":90},"Solutions",[91,96,101,106,111,116,121,126,131,136,141,146,151,156],{"text":92,"config":93},"Transformation digitale",{"href":94,"dataGaName":95,"dataGaLocation":44},"/fr-fr/topics/digital-transformation/","digital transformation",{"text":97,"config":98},"Sécurité et conformité",{"href":99,"dataGaName":100,"dataGaLocation":44},"/fr-fr/solutions/security-compliance/","security & compliance",{"text":102,"config":103},"Livraison de logiciels automatisée",{"href":104,"dataGaName":105,"dataGaLocation":44},"/fr-fr/solutions/delivery-automation/","automated software delivery",{"text":107,"config":108},"Développement agile",{"href":109,"dataGaName":110,"dataGaLocation":44},"/fr-fr/solutions/agile-delivery/","agile delivery",{"text":112,"config":113},"Transformation cloud",{"href":114,"dataGaName":115,"dataGaLocation":44},"/fr-fr/topics/cloud-native/","cloud transformation",{"text":117,"config":118},"SCM",{"href":119,"dataGaName":120,"dataGaLocation":44},"/fr-fr/solutions/source-code-management/","source code management",{"text":122,"config":123},"CI/CD",{"href":124,"dataGaName":125,"dataGaLocation":44},"/fr-fr/solutions/continuous-integration/","continuous integration & delivery",{"text":127,"config":128},"Gestion de la chaîne de valeur",{"href":129,"dataGaName":130,"dataGaLocation":44},"/fr-fr/solutions/value-stream-management/","value stream management",{"text":132,"config":133},"GitOps",{"href":134,"dataGaName":135,"dataGaLocation":44},"/fr-fr/solutions/gitops/","gitops",{"text":137,"config":138},"Entreprises",{"href":139,"dataGaName":140,"dataGaLocation":44},"/fr-fr/enterprise/","enterprise",{"text":142,"config":143},"PME",{"href":144,"dataGaName":145,"dataGaLocation":44},"/fr-fr/small-business/","small business",{"text":147,"config":148},"Secteur public",{"href":149,"dataGaName":150,"dataGaLocation":44},"/fr-fr/solutions/public-sector/","public sector",{"text":152,"config":153},"Formation",{"href":154,"dataGaName":155,"dataGaLocation":44},"/fr-fr/solutions/education/","education",{"text":157,"config":158},"Services financiers",{"href":159,"dataGaName":160,"dataGaLocation":44},"/fr-fr/solutions/finance/","financial services",{"title":162,"links":163},"Ressources",[164,169,174,179,184,189,193,198,203,208,213,218,223,228],{"text":165,"config":166},"Installation",{"href":167,"dataGaName":168,"dataGaLocation":44},"/fr-fr/install/","install",{"text":170,"config":171},"Guides de démarrage rapide",{"href":172,"dataGaName":173,"dataGaLocation":44},"/fr-fr/get-started/","quick setup checklists",{"text":175,"config":176},"Apprentissage",{"href":177,"dataGaName":178,"dataGaLocation":44},"https://university.gitlab.com/","learn",{"text":180,"config":181},"Documentation sur le produit",{"href":182,"dataGaName":183,"dataGaLocation":44},"https://docs.gitlab.com/","docs",{"text":185,"config":186},"Blog",{"href":187,"dataGaName":188},"/fr-fr/blog/","blog",{"text":190,"config":191},"Histoires de réussite client",{"href":192,"dataGaLocation":44},"/customers/",{"text":194,"config":195},"Histoires de succès client",{"href":196,"dataGaName":197,"dataGaLocation":44},"/fr-fr/customers/","customer success stories",{"text":199,"config":200},"Travail à distance",{"href":201,"dataGaName":202,"dataGaLocation":44},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"text":204,"config":205},"Services GitLab",{"href":206,"dataGaName":207,"dataGaLocation":44},"/fr-fr/services/","services",{"text":209,"config":210},"TeamOps",{"href":211,"dataGaName":212,"dataGaLocation":44},"/fr-fr/teamops/","teamops",{"text":214,"config":215},"Communauté",{"href":216,"dataGaName":217,"dataGaLocation":44},"/community/","community",{"text":219,"config":220},"Forum",{"href":221,"dataGaName":222,"dataGaLocation":44},"https://forum.gitlab.com/","forum",{"text":224,"config":225},"Événements",{"href":226,"dataGaName":227,"dataGaLocation":44},"/events/","events",{"text":229,"config":230},"Partenaires",{"href":231,"dataGaName":232,"dataGaLocation":44},"/fr-fr/partners/","partners",{"title":234,"links":235},"Société",[236,241,246,251,256,261,266,270,275,280,285,290],{"text":237,"config":238},"À propos",{"href":239,"dataGaName":240,"dataGaLocation":44},"/fr-fr/company/","company",{"text":242,"config":243},"Emplois",{"href":244,"dataGaName":245,"dataGaLocation":44},"/jobs/","jobs",{"text":247,"config":248},"Leadership",{"href":249,"dataGaName":250,"dataGaLocation":44},"/company/team/e-group/","leadership",{"text":252,"config":253},"Équipe",{"href":254,"dataGaName":255,"dataGaLocation":44},"/company/team/","team",{"text":257,"config":258},"Manuel",{"href":259,"dataGaName":260,"dataGaLocation":44},"https://handbook.gitlab.com/","handbook",{"text":262,"config":263},"Relations avec les investisseurs",{"href":264,"dataGaName":265,"dataGaLocation":44},"https://ir.gitlab.com/","investor relations",{"text":267,"config":268},"Sustainability",{"href":269,"dataGaName":267,"dataGaLocation":44},"/sustainability/",{"text":271,"config":272},"Diversité, inclusion et appartenance (DIB)",{"href":273,"dataGaName":274,"dataGaLocation":44},"/fr-fr/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":276,"config":277},"Centre de confiance",{"href":278,"dataGaName":279,"dataGaLocation":44},"/fr-fr/security/","trust center",{"text":281,"config":282},"Newsletter",{"href":283,"dataGaName":284,"dataGaLocation":44},"/company/contact/","newsletter",{"text":286,"config":287},"Presse",{"href":288,"dataGaName":289,"dataGaLocation":44},"/press/","press",{"text":291,"config":292},"Déclaration de transparence sur l'esclavage moderne",{"href":293,"dataGaName":294,"dataGaLocation":44},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":296,"links":297},"Nous contacter",[298,303,308,313,318,323,328],{"text":299,"config":300},"Échanger avec un expert",{"href":301,"dataGaName":302,"dataGaLocation":44},"/fr-fr/sales/","sales",{"text":304,"config":305},"Aide",{"href":306,"dataGaName":307,"dataGaLocation":44},"/support/","get help",{"text":309,"config":310},"Portail clients GitLab",{"href":311,"dataGaName":312,"dataGaLocation":44},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"text":314,"config":315},"Statut",{"href":316,"dataGaName":317,"dataGaLocation":44},"https://status.gitlab.com/","status",{"text":319,"config":320},"Conditions d'utilisation",{"href":321,"dataGaName":322},"/terms/","terms of use",{"text":324,"config":325},"Déclaration de confidentialité",{"href":326,"dataGaName":327,"dataGaLocation":44},"/fr-fr/privacy/","privacy statement",{"text":329,"config":330},"Préférences en matière de cookies",{"dataGaName":331,"dataGaLocation":44,"id":332,"isOneTrustButton":333},"cookie preferences","ot-sdk-btn",true,{"items":335},[336,338,341],{"text":319,"config":337},{"href":321,"dataGaName":322,"dataGaLocation":44},{"text":339,"config":340},"Politique de confidentialité",{"href":326,"dataGaName":327,"dataGaLocation":44},{"text":329,"config":342},{"dataGaName":331,"dataGaLocation":44,"id":332,"isOneTrustButton":333},"content:shared:fr-fr:main-footer.yml","Main Footer","shared/fr-fr/main-footer.yml","shared/fr-fr/main-footer",{"_path":348,"_dir":9,"_draft":6,"_partial":6,"_locale":7,"logo":349,"subscribeLink":354,"navItems":358,"_id":370,"_type":29,"title":371,"_source":30,"_file":372,"_stem":373,"_extension":33},"/shared/fr-fr/the-source/navigation",{"altText":350,"config":351},"the source logo",{"src":352,"href":353},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1750191004/t7wz1klfb2kxkezksv9t.svg","/fr-fr/the-source/",{"text":355,"config":356},"S'abonner",{"href":357},"#subscribe",[359,363,366],{"text":360,"config":361},"Intelligence artificielle",{"href":362},"/fr-fr/the-source/ai/",{"text":97,"config":364},{"href":365},"/fr-fr/the-source/security/",{"text":367,"config":368},"Plateforme et infrastructure",{"href":369},"/fr-fr/the-source/platform/","content:shared:fr-fr:the-source:navigation.yml","Navigation","shared/fr-fr/the-source/navigation.yml","shared/fr-fr/the-source/navigation",{"_path":375,"_dir":9,"_draft":6,"_partial":6,"_locale":7,"title":376,"description":377,"submitMessage":378,"formData":379,"_id":383,"_type":29,"_source":30,"_file":384,"_stem":385,"_extension":33},"/shared/fr-fr/the-source/newsletter","La newsletter The Source","Recevez une mine d'informations sur l'avenir du développement logiciel.","Vous êtes désormais inscrit à la newsletter The Source.",{"config":380},{"formId":381,"formName":382,"hideRequiredLabel":333},28453,"thesourcenewsletter","content:shared:fr-fr:the-source:newsletter.yml","shared/fr-fr/the-source/newsletter.yml","shared/fr-fr/the-source/newsletter",{"amanda-rueda":387,"andre-michael-braun":388,"andrew-haschka":389,"ayoub-fandi":390,"brian-wald":391,"bryan-ross":392,"chandler-gibbons":393,"dave-steer":394,"ddesanto":395,"derek-debellis":396,"emilio-salvador":397,"erika-feldman":398,"george-kichukov":399,"gitlab":400,"grant-hickman":401,"haim-snir":402,"iganbaruch":403,"jlongo":404,"joel-krooswyk":11,"josh-lemos":405,"julie-griffin":406,"kristina-weis":407,"lee-faus":408,"ncregan":409,"rschulman":410,"sabrina-farmer":411,"sandra-gittlen":412,"sharon-gaudin":413,"stephen-walters":414,"taylor-mccaslin":415},"Amanda Rueda","Andre Michael Braun","Andrew Haschka","Ayoub Fandi","Brian Wald","Bryan Ross","Chandler Gibbons","Dave Steer","David DeSanto","Derek DeBellis","Emilio Salvador","Erika Feldman","George Kichukov","GitLab","Grant Hickman","Haim Snir","Itzik Gan Baruch","Joseph Longo","Josh Lemos","Julie Griffin","Kristina Weis","Lee Faus","Niall Cregan","Robin Schulman","Sabrina Farmer","Sandra Gittlen","Sharon Gaudin","Stephen Walters","Taylor McCaslin",{"allArticles":417,"visibleArticles":480,"showAllBtn":333},[418,459],{"_path":419,"_dir":420,"_draft":6,"_partial":6,"_locale":7,"slug":421,"type":422,"category":420,"config":423,"seo":427,"content":431,"_id":456,"_type":29,"title":432,"_source":30,"_file":457,"_stem":458,"_extension":33,"description":428,"date":433,"timeToRead":434,"heroImage":429,"keyTakeaways":435,"articleBody":439,"faq":440},"/fr-fr/the-source/security/why-legacy-code-is-a-security-risk-and-how-ai-can-help","security","why-legacy-code-is-a-security-risk-and-how-ai-can-help","article",{"layout":9,"template":424,"featured":6,"articleType":425,"author":27,"gatedAsset":426,"isHighlighted":6,"authorName":11},"TheSourceArticle","Regular","source-lp-how-a-devsecops-platform-drives-business-success-the-complete-guide",{"description":428,"ogImage":429,"ogDescription":428,"title":430,"ogTitle":430},"Modernisez vos systèmes hérités, renforcez la sécurité et stimulez la croissance de votre entreprise grâce à la refactorisation du code alimentée par l'IA.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1751463670/cdynzww9p2annh3mmbhl.png","Code hérité : protégez votre entreprise avec l'IA",{"description":428,"title":432,"date":433,"timeToRead":434,"heroImage":429,"keyTakeaways":435,"articleBody":439,"faq":440},"Le code hérité met la sécurité de votre entreprise en péril : voici comment l'IA peut vous aider","2025-01-15","Lecture : 6 min",[436,437,438],"La maintenance du code hérité est coûteuse et fastidieuse. Si celui-ci n'est pas compatible avec les outils de sécurité modernes, il devient un sérieux handicap pour les entreprises, tous secteurs confondus.","La refactorisation du code s'impose comme une stratégie puissante pour augmenter la lisibilité du code, et pour renforcer la stabilité du code base existant ainsi que la productivité et l'efficacité des développeurs.","Associée à des outils de sécurité préventifs, la refactorisation du code alimentée par l'IA peut aider les équipes à moderniser leur code hérité tout en réduisant le risque de failles de sécurité.","L'accélération rapide des technologies est passionnante, car elle ouvre la voie à de nouveaux produits, de nouvelles opportunités de croissance et de nouvelles innovations. Pourtant, cette évolution fulgurante et les changements qu'elle engendre présente aussi des risques, notamment en matière de sécurité : un seul acteur malveillant peut provoquer des perturbations massives de l'activité, nuire à la réputation et engendrer des pertes financières importantes.\n\nFace à cette réalité, de nombreux leaders s'inquiètent de leur dépendance à l'égard des systèmes « hérités » ou obsolètes, tout en affirmant clairement leur besoin urgent de transformation digitale. Bien que le code hérité ne soit pas intrinsèquement problématique, il n'est souvent pas compatible avec les outils de sécurité modernes, et peut exposer votre entreprise à des vulnérabilités exploitables. Associé à du code open source, qui nécessite une vigilance continue en matière de sécurité et de conformité, votre code base peut mettre en danger les données, les utilisateurs ainsi que la réputation de votre entreprise. \n\nOutre ces risques, il est coûteux et fastidieux à maintenir, même pour des développeurs expérimentés. \n\nCette dépendance est non seulement problématique, mais aussi coûteuse à long terme. La question est donc de savoir comment sortir de cette impasse.  \n\nDans cet article, découvrez ce qu'est le code hérité et comment la refactorisation alimentée par l'IA peut renforcer la sécurité et moderniser durablement le code base. Avec les fonctionnalités de test et de sécurité pilotées par l'IA, votre équipe pourra se projeter vers l'avenir en toute sérénité. \n\n## Qu'est-ce que le code hérité ? \n\nLe code hérité fait référence à un code base existant qu'une équipe hérite de ses anciens membres, et qu'elle continue d'utiliser et de maintenir. Même s'il fonctionne très bien, plusieurs développeurs l'ont probablement modifié au fil des années, rendant difficile la distinction entre les modifications qui sont utiles et celles qui sont superflues. De plus, le code est parfois écrit à l'aide d'un framework obsolète ou dans un langage de programmation que personne dans l'équipe ne connaît (qu'il soit simplement ancien ou complètement obsolète). \n\nAlors pour quelles raisons les entreprises s'appuient-elles encore sur du code hérité ? Les motivations peuvent varier. L'analogie avec une vieille maison est parlante : elle est confortable et familière, mais la plomberie n'est pas fiable, l'installation électrique est dépassée et il y a toujours quelque chose à réparer. Bien sûr, vous pourriez la rénover, mais cela impliquerait un énorme bouleversement : la présence quotidienne d'entrepreneurs en bâtiment, la nécessité d'obtenir des permis, vivre dans le chaos pendant des mois, ainsi que des coûts incontrôlables.\n\nAlors, vous continuez à réparer au cas par cas, en espérant que tout finisse par perdurer. Ce n'est pas idéal, mais cela fonctionne, au moins pour le moment. C'est un peu la même chose avec le code hérité. C'est la solution familière et « qui fonctionne », même si elle est démodée et inefficace. Réécrire entièrement le code hérité est une perspective décourageante avec ses propres risques et coûts. De plus, qui a le temps de procéder à une refonte complète alors qu'il y a de nouvelles fonctionnalités à créer et des bogues urgents à corriger ?\n\nLorsqu'il est temps de mettre à jour le code, de nombreuses entreprises décident de conserver leur code hérité, estimant que sa maintenance entraîne moins de perturbations immédiates. La mise à jour du code implique beaucoup de développement et de tests, ainsi que la nécessité, dans certains cas, de former une équipe afin de s'assurer qu'elle possède les compétences nécessaires pour travailler avec le langage de programmation ou le framework obsolète. En l'absence de documentation, la mise à jour peut être encore plus compliquée.   \n\n## Quels sont les risques à utiliser le code hérité ?\n\nSi votre entreprise (comme beaucoup) choisit de conserver son code hérité, elle s'expose à une multitude de problèmes potentiels. Étant donné que ce code n'a pas été conçu pour les nouvelles technologies, vous ne pourrez peut-être pas l'intégrer aux logiciels les plus récents et les plus performants (comme les outils d'IA, par exemple), ce qui pourrait également avoir un impact sur les performances et l'évolutivité de vos produits. Un tel choix peut freiner votre productivité, et au final avoir un impact sur l'expérience client. \n\nLe plus préoccupant avec le code hérité, qu'il date de 5 ou 50 ans, c'est qu'il n'est pas compatible avec les scanners de sécurité modernes, qui ne détectent souvent pas les vulnérabilités, laissant passer des failles potentielles pendant que vous effectuez les mises à jour. De plus, les développeurs chargés de ces mises à jour peuvent ne pas maîtriser le langage ou sa structure et même augmenter accidentellement le risque de failles. Enfin, les applications plus anciennes sont généralement écrites en C ou C++, qui sont des langages à mémoire non sécurisée, dont il est prouvé qu'ils hébergent [70 % des vulnérabilités identifiées](https://www.cisa.gov/news-events/news/urgent-need-memory-safety-software-products).\n\nCes trois problèmes (l'absence de solutions de sécurisation adaptées, le manque de méthodes permettant de mettre le code hérité à jour de façon sécurisé et le risque élevé de vulnérabilités) sont autant de signes avant-coureurs qui devraient alerter les entreprises, quel que soit leur secteur d'activité. \n\nDans son recensement des mauvaises pratiques susceptibles de compromettre les infrastructures critiques, la [Cybersecurity and Infrastructure Security Agency (CISA)](https://www.cisa.gov/stopransomware/bad-practices) aux Éatats-Unis a formulé l'avertissement suivant :\n\n« L'utilisation de logiciels non pris en charge (ou en fin de vie) pour des infrastructures ou fonctions critiques nationales représente un danger majeur. Elle augmente considérablement les risques pesant sur la sécurité nationale, l'économie, ainsi que sur la santé et la sécurité publiques. Cette pratique est d'autant plus préoccupante lorsqu'il s'agit de technologies accessibles depuis Internet. »\n\nMême si votre activité ne relève ni de la sécurité nationale ni de la santé publique, cet avertissement reste applicable : l'utilisation d'un code obsolète constitue une mauvaise pratique à éviter autant que faire ce peut. \n\n## La solution : la refactorisation du code\n\nSelon l'auteur et développeur de logiciels [Martin Fowler](https://www.martinfowler.com/), « la refactorisation est une technique rigoureuse et maîtrisée permettant d'améliorer la conception d'un code base existant en améliorant et en modifiant sa structure interne, sans en altérer le comportement externe. » \n\nEn d'autres termes, elle vous permet de sécuriser et de moderniser votre code hérité tout en préservant ses fonctionnalités d'origine. \n\nLa refactorisation peut prendre différentes formes, comme la refactorisation inline, qui consiste à simplifier le code en supprimant les éléments obsolètes, ou la refactorisation par abstraction, qui consiste à supprimer les doublons en regroupant les éléments redondants. Si elle est essentielle pour rendre le code plus lisible, stable et sécurisé, elle nécessite du temps, une expertise particulière ainsi que de nombreux tests, tandis que les équipes de développement sont déjà surchargées par d'autres tâches. \n\nAinsi, bien que la refactorisation du code soit certainement la solution pour faire évoluer votre code hérité, il s'agit d'un projet en soi, en particulier si vous travaillez à grande échelle. \n\n## Comment l'IA facilite-t-elle la refactorisation ?\n\nL'IA accélère non seulement le cycle de développement logiciel, mais elle peut également [aider les équipes à accélérer le processus de refactorisation](https://about.gitlab.com/blog/2024/08/26/refactor-code-into-modern-languages-with-ai-powered-gitlab-duo/). Des outils comme [GitLab Duo](https://about.gitlab.com/blog/2024/04/18/gitlab-duo-chat-now-generally-available/) peuvent en effet vous assister avec des explications du code existant et en générant du nouveau code, deux des plus grands obstacles lors de la modernisation du code hérité. Si un développeur ne connaît pas un langage, l'IA peut l'aider à combler ses lacunes. Elle peut également [analyser les causes profondes, générer des tests](https://about.gitlab.com/blog/2024/06/06/developing-gitlab-duo-blending-ai-and-root-cause-analysis-to-fix-ci-cd/) et [aider les développeurs à corriger les vulnérabilités](https://about.gitlab.com/the-source/ai/understand-and-resolve-vulnerabilities-with-ai-powered-gitlab-duo/). L'IA rend ainsi la refactorisation plus accessible et rapide, permettant de sortir ce projet du backlog et d'alléger la charge des développeurs. \n\nSelon [notre enquête Global DevSecOps 2024](https://about.gitlab.com/developer-survey/2024/ai/), 34 % des professionnels du développement interrogés utilisant déjà l'IA à chaque étape du cycle de développement logiciel l'utilisent pour moderniser le code hérité. Ce chiffre est encore plus élevé dans le secteur des services financiers (46 %). \n\nCependant, vous devez garder à l'esprit certains aspects lorsque vous souhaitez adopter l'IA, car elle n'est pas parfaite. Elle nécessite encore des tests, des garde-fous et une supervision humaine. Il est indéniable qu'elle peut absolument faciliter et accélérer certaines des tâches manuelles, critiques et fastidieuses, mais elle ne peut pas faire ce travail seule. Elle doit être intégrée dans une stratégie globale de sécurité, complétée par d'autres outils pour que votre code reste aussi sécurisé que possible. Nous vous recommandons de créer une [nomenclature logicielle dynamique](https://about.gitlab.com/blog/2022/10/25/the-ultimate-guide-to-sboms/) (SBOM) pour surveiller les risques de licence et de sécurité associés à votre logiciel, y compris le code hérité.\n\n## Transformez votre code hérité en un atout durable\n\nPasser de la simple maintenance du code hérité à sa modernisation peut sembler intimidant, mais c'est la meilleure voie à suivre si vous souhaitez garantir la sécurité de vos données et la pérennité de votre entreprise. Avec les bons outils et les méthodes adaptées, cette transition devient plus efficace pour vos équipes et plus rentable pour votre entreprise. \n\nBonne nouvelle : vos équipes n'ont pas besoin de consacrer du temps et des ressources à déchiffrer les anciens langages et à travailler avec les anciens frameworks, tâches qui entraînent frustration, retards et goulots d'étranglement. En laissant l'IA effectuer le travail difficile de refactorisation de votre code afin que ce dernier soit sûr, sécurisé et fonctionne comme il se doit, votre équipe de développement peut se concentrer sur ce qu'elle fait de mieux : créer de nouveaux produits, de nouvelles fonctionnalités et générer de la valeur pour vos clients.",[441,444,447,450,453],{"header":442,"content":443},"Pourquoi le code hérité est-il considéré comme posant un risque pour la sécurité ?","Le code hérité présente des risques, car il utilise souvent des frameworks ou des langages de programmation obsolètes dépourvus de mesures de sécurité modernes. Il est donc incompatible avec les outils de sécurité les plus récents, ce qui augmente le risque de vulnérabilités. De plus, les logiciels non pris en charge ou en fin de vie peuvent être facilement exploités par des attaquants, ce qui compromet l'intégrité et la sécurité des données.",{"header":445,"content":446},"Comment la refactorisation du code alimentée par l'IA peut-elle renforcer la sécurité du code hérité ?","La refactorisation du code alimentée par l'IA modernise les systèmes hérités en :\n - identifiant les coding patterns obsolètes ou non sécurisés et en suggérant des alternatives sécurisées.\n - automatisant les améliorations du code sans modifier le comportement externe, ce qui améliore la lisibilité et la maintenabilité.\n - générant des tests de sécurité et analysant les causes profondes des vulnérabilités, ce qui permet une correction plus rapide.\nCette approche réduit les efforts manuels et accélère la transition vers des codes bases plus sécurisés, efficaces et évolutifs.",{"header":448,"content":449},"À quels défis s'attendre lors de la maintenance du code hérité sans l'aide de l'IA ?","Les défis sont les suivants :\n - __Manque de prise en charge des outils de sécurité modernes__ : les scanners de sécurité traditionnels peuvent ne pas être compatibles avec le code hérité.\n - __Frameworks complexes et obsolètes__ : les développeurs peuvent ne pas avoir l'expertise nécessaire pour maintenir ou mettre à jour l'ancien code.\n - __Coûts de maintenance élevés__ : la maintenance des systèmes hérités est coûteuse et chronophage, ce qui détourne les ressources de l'innovation.\n - __Risques de sécurité__ : le code obsolète est plus sujet aux vulnérabilités et aux attaques, ce qui augmente le risque de violation de données.",{"header":451,"content":452},"Comment GitLab prend-il en charge la refactorisation alimentée par l'IA et la modernisation du code hérité ?","GitLab s'appuie sur GitLab Duo pour aider les développeurs à comprendre le code hérité, en leur fournissant des explications claires et en générant des suggestions de code. GitLab propose également :\n - des scans de sécurité pilotés par l'IA pour détecter les vulnérabilités dans le code hérité.\n - des corrections et des tests automatisés pour améliorer la sécurité du code.\n - des nomenclatures logicielles (SBOM) dynamiques offrant une visibilité sur les risques de licence et de sécurité, y compris les composants hérités.",{"header":454,"content":455},"Quels sont les avantages de l'utilisation de l'IA dans le cadre de la refactorisation du code hérité ?","Les avantages sont les suivants :\n - __Sécurité renforcée__ : l'IA identifie et atténue les vulnérabilités, améliorant ainsi la posture de sécurité.\n - __Productivité accrue__ : l'automatisation des tâches répétitives permet aux développeurs de se concentrer sur l'innovation.\n - __Rentabilité__ : réduction des coûts de maintenance en modernisant le code pour qu'il fonctionne avec les frameworks et les outils actuels.\n - __Modernisation évolutive__ : l'IA donne lieu à une refactorisation évolutive et cohérente des codes bases complexes, ce qui permet de pérenniser les actifs logiciels de l'entreprise.","content:fr-fr:the-source:security:why-legacy-code-is-a-security-risk-and-how-ai-can-help:index.yml","fr-fr/the-source/security/why-legacy-code-is-a-security-risk-and-how-ai-can-help/index.yml","fr-fr/the-source/security/why-legacy-code-is-a-security-risk-and-how-ai-can-help/index",{"_path":460,"_dir":420,"_draft":6,"_partial":6,"_locale":7,"config":461,"seo":463,"content":468,"type":422,"category":420,"slug":476,"_id":477,"_type":29,"title":464,"_source":30,"_file":478,"_stem":479,"_extension":33,"date":469,"description":465,"timeToRead":470,"heroImage":466,"keyTakeaways":471,"articleBody":475},"/fr-fr/the-source/security/strengthen-your-cybersecurity-strategy-with-secure-by-design",{"layout":9,"template":424,"articleType":425,"author":27,"featured":6,"gatedAsset":462,"isHighlighted":6,"authorName":11},"source-lp-guide-to-dynamic-sboms",{"title":464,"description":465,"ogImage":466,"config":467},"Secure by Design : notre guide pour renforcer votre cybersécurité","Examinez de plus près les grands principes du Secure by Design et les concepts connexes, et découvrez les mesures que vous pouvez prendre dès aujourd'hui.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1751463932/pnfdgovoaq5qd1yprxuc.png",{"ignoreTitleCharLimit":333},{"title":464,"date":469,"description":465,"timeToRead":470,"heroImage":466,"keyTakeaways":471,"articleBody":475},"2024-10-29","6 minutes de lecture",[472,473,474],"Secure by Design, Secure by Default et Secure by Demand préviennent les vulnérabilités et attaques sur la chaîne logistique logicielle en encourageant l'intégration de la sécurité dans tous les aspects du design et développement des produits.","L'adoption d'une approche DevSecOps complète, ainsi que la création et la mise à jour régulière de nomenclatures logicielles (SBOM), sont des étapes clés pour répondre aux principes Secure by Design.","L'intégration de l'IA dans le cycle de développement logiciel peut également accélérer les processus de développement, renforcer la sécurité et faciliter la résolution des vulnérabilités.","L'approche des équipes de développement en matière de cybersécurité doit constamment évoluer à mesure que les surfaces d'attaque augmentent et qu'elles en apprennent davantage sur les menaces potentielles. Sachant que les menaces peuvent provenir de n'importe quel point de la [chaîne d'approvisionnement logicielle](https://about.gitlab.com/fr-fr/solutions/supply-chain/ \"Chaîne d'approvisionnement logicielle\"), le concept Secure by Design intègre la sécurité dans les phases de conception, de codage, de test et de déploiement du développement logiciel. Élevé au rang de norme pour les agences fédérales américaines, et pour toute entreprise utilisant leurs logiciels, le concept Secure by Design est devenu une véritable référence pour l'intégration de la sécurité dans le cycle de vie du développement logiciel.\n\nAu fil du temps, le concept Secure by Design s'est ramifié en concepts connexes tels que _Secure by Default_ et _Secure by Demand_, lesquels mettent l'accent sur différentes façons d'aborder les principes Secure by Design :\n\n- Le concept [Secure by Default](#les-principes-secure-by-default) vise à garantir que tous les produits logiciels sont sécurisés dès leur déploiement.\n- Le concept [Secure by Demand](#les-principes-secure-by-demand) étend les principes du concept Secure by Design au processus d'achat.\n\nDécouvrez dans cet article une explication approfondie des grands principes du Secure by Design et de ces approches connexes, ainsi qu'un guide pour aider les équipes de développement à adapter leurs stratégies afin de prévenir les vulnérabilités exploitables et les attaques de la chaîne d'approvisionnement logicielle.\n\n## Les principes du concept Secure by Design\nL'agence de cybersécurité et de sécurité des infrastructures américaine (CISA) a présenté en avril 2023 son [initiative Secure by Design](https://www.cisa.gov/securebydesign) en insistant sur trois principes clés en matière de sécurité des logiciels :\n\n1. Prendre en charge les résultats en matière de sécurité des clients\n1. Adopter une approche radicalement transparente et responsable\n1. Mettre en place une structure organisationnelle et un leadership permettant d'atteindre ces objectifs\n\nLe concept Secure by Design intègre des grands principes et des protocoles de sécurité à chaque étape du processus de développement logiciel. Les mesures de sécurité sont ainsi considérées comme une priorité et intégrées directement dans les phases de conception, de codage, de test et de déploiement du développement logiciel.\n\nL'objectif du concept Secure by Design est de créer une structure sécurisée pour les logiciels dès leur phase de conception, en réduisant les vulnérabilités et les surfaces d'attaque potentielles.\n\n### Les principes du Secure by Default\nVariante du concept Secure by Design, le concept Secure by Default vise à garantir que tout logiciel ou matériel est configuré de la manière la plus sûre possible, sans que l'utilisateur ait à le reconfigurer. Les produits appliquant les principes du Secure by Default activent automatiquement les [contrôles de sécurité](https://about.gitlab.com/fr-fr/topics/devsecops/devsecops-security-checklist/ \"Liste de contrôle de sécurité DevSecOps\") essentiels pour protéger les entreprises contre les accès non autorisés par des acteurs malveillants. Les utilisateurs n'ont donc pas besoin de suivre des étapes supplémentaires pour s'assurer qu'un produit est protégé contre les techniques d'exploitation les plus courantes.\n\nLes stratégies du concept Secure by Default comprennent l'élimination des mots de passe par défaut, l'authentification multifacteur et l'authentification unique, afin que seuls les utilisateurs autorisés puissent accéder aux ressources. Cette approche comprend également des mises à jour et des correctifs automatiques, ainsi que des configurations sécurisées pour tous les comptes d'utilisateurs et les appareils.\n\n### Les principes du Secure by Demand\nLe concept Secure by Demand associe les principes du Secure by Design à la budgétisation et aux achats afin de faire du concept Secure by Design un impératif pour les fournisseurs et les sous-traitants. Le [guide du concept Secure by Demand de la CISA](https://www.cisa.gov/resources-tools/resources/secure-demand-guide) propose une série de questions et de ressources que les acquéreurs de logiciels, les acheteurs et les responsables des achats peuvent utiliser pour mieux comprendre l'approche d'un fournisseur potentiel en matière de cybersécurité. Il s'agit notamment de questions sur les pratiques d'authentification du fournisseur, sur la sécurité de la chaîne d'approvisionnement logicielle, ainsi que sur la divulgation et le signalement des vulnérabilités.\n\nEn exigeant des fournisseurs qu'ils adhèrent aux principes et protocoles du concept Secure by Design dans leurs produits et services, les entreprises peuvent contribuer à empêcher les vulnérabilités potentielles de s'introduire dans leur chaîne d'approvisionnement logicielle. L'approche Secure by Demand incite également les fournisseurs à améliorer en permanence leur propre dispositif de cybersécurité.\n\n## Comment élaborer une stratégie de cybersécurité avec le concept Secure by Design ?\nLa mise en œuvre du concept Secure by Design passe par la mise en place de pratiques DevSecOps efficaces, la tenue à jour d'une [nomenclature logicielle (SBOM)](https://about.gitlab.com/fr-fr/blog/the-ultimate-guide-to-sboms/ \"Qu’est-ce qu’une nomenclature logicielle (SBOM) ?\") et l'intégration de l'IA pour lutter contre les menaces à tous les points du cycle de vie du développement logiciel.\n\n### Adoptez les pratiques DevSecOps\nL'une des premières étapes nécessaires à la mise en œuvre du concept Secure by Design consiste à mettre en place un processus de développement logiciel sécurisé. Il s'agit donc de développer, construire, sécuriser et déployer des logiciels à l'aide d'une approche [DevSecOps](https://about.gitlab.com/fr-fr/topics/devsecops/ \"Qu'est-ce que DevSecOps ?\") complète.\n\nAujourd'hui, de nombreuses équipes de développement utilisent des outils complexes pour créer de nouveaux programmes. Selon une [récente enquête de GitLab](https://about.gitlab.com/fr-fr/developer-survey/), 62 % des personnes interrogées affirment utiliser 6 outils ou plus pour le développement logiciel, tandis que 20 % disent en utiliser au moins 11. Cette inefficacité accroît les risques en introduisant des failles de sécurité potentielles.\n\nLes équipes de développement devraient pouvoir accéder à tous les outils nécessaires aux workflows DevSecOps dans une interface unique et facile à utiliser. Une solution de bout en bout telle qu'une [plateforme DevSecOps](/platform/) permet la mise en œuvre d'une approche Secure by Design sans alourdir la charge de travail des équipes.\n\n### Créez et tenez à jour des SBOM\nLa transparence est un autre élément essentiel du concept Secure by Design. Les entreprises doivent comprendre ce que contiennent leurs logiciels, en particulier lorsqu'ils peuvent inclure des composants provenant de sources multiples.\n\nLes SBOM sont des outils essentiels pour parvenir à cette transparence. En offrant un inventaire détaillé des composants logiciels, y compris la version, la licence et les dépendances, elles permettent de mieux cerner les vulnérabilités potentielles ou toute injection de code malveillant.\n\nLa tenue à jour de cet inventaire permet de comprendre pleinement les vulnérabilités et les risques qui pourraient survenir lorsque des éléments sont extraits de dépôts open source et de composants tiers sous licence. Une plateforme DevSecOps peut aider à [générer et mettre à jour automatiquement les SBOM](/solutions/security-compliance/), à les intégrer dans les workflows existants et à les relier aux vulnérabilités associées.\n\nBien que de nombreuses entreprises utilisent aujourd'hui des SBOM, celles-ci doivent être dynamiques, connectées à des outils de scanning de sécurité et mises à jour en permanence pour être pleinement efficaces. Intégrées à des outils de scanning et à des tableaux de bord, les SBOM permettent d'identifier les risques liés à une application. Même lorsqu'elles ne sont pas requises, les SBOM peuvent contribuer à la [conformité aux règles de sécurité](https://about.gitlab.com/fr-fr/solutions/security-compliance/ \"Sécurité et conformité \") en validant que le code est sécurisé.\n\n### Utilisez l'IA dans le développement logiciel\nAlors que les entreprises explorent les possibilités de l'IA, les workflows de développement logiciel constituent un point d'entrée précieux pour intégrer cette technologie et exploiter son potentiel à accélérer les processus de développement et à renforcer la sécurité.\n\nLes entreprises de tous les secteurs commencent déjà à explorer ces applications : 39 % des personnes interrogées [au cours de l'enquête de GitLab](https://about.gitlab.com/fr-fr/developer-survey/2024/ai/) ont déclaré qu'elles utilisaient déjà l'IA dans leur cycle de développement logiciel.\n\nLe recours à l'IA dans l'ensemble du cycle de développement logiciel permet d'éviter les effets de silo et les backlogs générés par l'utilisation de multiples IA dans les différents workflows de développement. L'IA peut remplir des fonctions essentielles telles que :\n\n* L'explication du code et le réusinage du code hérité en [langages à mémoire sécurisée](https://about.gitlab.com/blog/memory-safe-vs-unsafe/)\n* L'[analyse des causes profondes pour les pipelines DevSecOps](https://about.gitlab.com/fr-fr/blog/developing-gitlab-duo-blending-ai-and-root-cause-analysis-to-fix-ci-cd/), qui permet de résoudre rapidement des problèmes complexes pendant les tests\n* La [résolution des vulnérabilités](https://about.gitlab.com/fr-fr/the-source/ai/understand-and-resolve-vulnerabilities-with-ai-powered-gitlab-duo/) pour comprendre les vulnérabilités connues et favoriser une remédiation plus approfondie\n\nAlors que les leaders du secteur intègrent l'IA dans leurs workflows, il est crucial de faire de la confidentialité et de la sécurité des données une priorité. Un aspect essentiel de l'adoption du concept Secure by Design est l'élaboration d'une [stratégie d'IA qui protège les données sensibles et les droits de propriété intellectuelle](https://about.gitlab.com/the-source/ai/building-a-transparency-first-ai-strategy-7-questions-to-ask-your-devops/).\n\n### Adoptez le concept Secure By Design dès aujourd’hui !\nLe concept Secure by Design pourrait bientôt devenir l'approche par défaut pour créer un écosystème logiciel plus fiable. Le [gouvernement américain](https://about.gitlab.com/the-source/security/national-cybersecurity-strategy-a-wake-up-call-for-software-developers/) travaille actuellement avec des équipes de développement logiciel pour créer des frameworks incitant légalement le secteur privé à produire et à sortir des logiciels répondant aux principes du Secure by Design, afin de pousser les entreprises à investir davantage dans les technologies et les pratiques sécurisées.\n\nGrâce à l'intégration de la sécurité dès le départ dans le développement logiciel, à la transparence garantie par des SBOM efficaces et à l'amélioration du processus de développement par l'IA, toutes les personnes impliquées dans le cycle de développement logiciel seront en mesure de mener leurs projets à bien.","strengthen-your-cybersecurity-strategy-with-secure-by-design","content:fr-fr:the-source:security:strengthen-your-cybersecurity-strategy-with-secure-by-design:index.yml","fr-fr/the-source/security/strengthen-your-cybersecurity-strategy-with-secure-by-design/index.yml","fr-fr/the-source/security/strengthen-your-cybersecurity-strategy-with-secure-by-design/index",[418,459],{"ai":360,"platform":367,"security":97},1754336041405]