diff --git a/content/fr/_TEMPLATE.md b/content/fr/_TEMPLATE.md index 94c1ec1b1a..abc74f8160 100644 --- a/content/fr/_TEMPLATE.md +++ b/content/fr/_TEMPLATE.md @@ -5,8 +5,6 @@ category: concept --- -## Ce que c'est - Un bref descriptif de la technologie ou du concept. ## Problème auquel il répond diff --git a/content/fr/agile-software-development.md b/content/fr/agile-software-development.md index e1356610b8..7192a7bfeb 100644 --- a/content/fr/agile-software-development.md +++ b/content/fr/agile-software-development.md @@ -5,8 +5,6 @@ category: concept tags: ["méthodologie", "", ""] --- -## Ce que c'est - Un ensemble de pratiques qui mettent l'accent sur les cycles de développement itératifs et les équipes auto-organisées. Contrairement aux projets dits en cascade où la valeur n'est générée qu'à la toute fin du projet, le développement Agile de logiciels se concentre sur une livraison de valeur continue et incrémentale, ainsi que sur l'amélioration évolutive du processus lui-même. diff --git a/content/fr/api-gateway.md b/content/fr/api-gateway.md index 9ea41b7d69..11ce4e4cfa 100644 --- a/content/fr/api-gateway.md +++ b/content/fr/api-gateway.md @@ -5,8 +5,6 @@ category: technology tags: ["réseau", "", ""] --- -## Ce que c'est - Une passerelle d'[API](/fr/application-programming-interface/) est un outil qui regroupe des APIs d'applications individuelles, les rendant toutes disponibles en un seul endroit. Celà permet aux organisations de déplacer des fonctions clés, telles que l'authentification et l'autorisation ou la limitation du nombre de requêtes entre applications, vers un emplacement géré de manière centralisée. Une passerelle d'API fonctionne comme une interface commune pour les consommateurs d'API (souvent externes). diff --git a/content/fr/application-programming-interface.md b/content/fr/application-programming-interface.md index 8e9faef426..2e6b7731dd 100644 --- a/content/fr/application-programming-interface.md +++ b/content/fr/application-programming-interface.md @@ -5,8 +5,6 @@ category: technology tags: ["architecture", "fondamental", ""] --- -## Ce que c'est - Une API est un moyen pour les programmes informatiques d'interagir entre eux. Tout comme les humains interagissent avec un site web via une page web, une API permet aux programmes informatiques d'interagir les uns avec les autres. Contrairement aux interactions humaines, les APIs ont des contraintes sur ce qui peut ou non leur être demandé. diff --git a/content/fr/bare-metal-machine.md b/content/fr/bare-metal-machine.md index 66a8766284..0c67d93a57 100644 --- a/content/fr/bare-metal-machine.md +++ b/content/fr/bare-metal-machine.md @@ -5,8 +5,6 @@ category: technology tags: ["infrastructure", "", ""] --- -## Ce que c'est - Une machine physique, ou machine bare metal, fait référence à un ordinateur physique, plus précisément à un serveur, qui possède un et un seul système d'exploitation. En informatique moderne, la plupart des serveurs sont des [machines virtuelles](/fr/virtual-machine/), il est donc important de faire cette distinction. Un serveur physique est généralement un ordinateur assez gros qui intègre du matériel puissant. diff --git a/content/fr/blue-green-deployment.md b/content/fr/blue-green-deployment.md new file mode 100644 index 0000000000..718bd4dfb7 --- /dev/null +++ b/content/fr/blue-green-deployment.md @@ -0,0 +1,27 @@ +--- +title: Déploiement bleu/vert +status: Completed +category: concept +tags: ["méthodologie", "application", ""] +--- + +Le déploiement bleu/vert (ou Blue/Green) est une stratégie pour mettre à jour les systèmes informatiques en cours d'exécution avec un temps d'arrêt minimal. +L'opérateur maintient deux environnements, appelés "bleu" et "vert". +L'un sert le trafic de production (la version que tous les utilisateurs utilisent actuellement), tandis que l'autre est mis à jour. +Une fois que les tests ont été conclus sur l'environnement passif (vert), +le trafic de production est basculé (souvent via l'utilisation d'un répartiteur de charge). +Notez que le déploiement bleu/vert signifie généralement la basculement de l'ensemble des environnements, comprenant de nombreux [services](/fr/service/), en une seule fois. +De manière confuse, parfois le terme est utilisé en référence à des services individuels au sein d'un système. +Pour éviter cette ambiguïté, le terme "déploiement sans temps d'arrêt" (ou "zero-downtime") est préféré lorsqu'il s'agit de composants individuels. + +## Problème auquel il répond + +Les déploiements bleu/vert permettent une interruption minimale lors de la mise à jour de logiciels qui doivent être modifiés en "étapes vérouillées" (ou lockstep en anglais) en raison d'un manque de rétrocompatibilité. +Par exemple, le déploiement bleu/vert serait approprié pour une boutique en ligne composée d'un site web et d'une base de données qui doivent être mise à jour, mais la nouvelle version de la base de données ne fonctionne pas avec l'ancienne version du site web, et vice versa. +Dans ce cas, les deux doivent être modifiés en même temps. +Si cela était fait sur le système de production, les clients remarqueraient une interruption de service. + +## Quel en est l'utilité + +Le déploiement bleu/vert est une stratégie appropriée pour les logiciels non Cloud Natives qui doivent être mis à jour avec un temps d'arrêt minimal. +Cependant, son utilisation est normalement un "signe" que le logiciel hérité doit être redéveloppé afin que les composants puissent être mis à jour individuellement. diff --git a/content/fr/canary-deployment.md b/content/fr/canary-deployment.md new file mode 100644 index 0000000000..1e22de82ab --- /dev/null +++ b/content/fr/canary-deployment.md @@ -0,0 +1,31 @@ +--- +title: Deploiement canari +status: Completed +category: concept +tags: ["méthodologie", "application", ""] +--- + +Le déploiement canari est une stratégie de déploiement qui commence avec deux environnements : +l'un avec du trafic en direct et l'autre contenant le code mis à jour sans trafic en direct. +Le trafic est progressivement déplacé de la version originale de l'application vers la version mise à jour. +Cela peut commencer par le transfert de 1% du trafic en direct, puis 10%, 25%, et ainsi de suite, +jusqu'à ce que tout le trafic passe par la version mise à jour. +Les organisations peuvent tester la nouvelle version du logiciel en production, obtenir des commentaires, +diagnostiquer les erreurs et revenir rapidement à la version stable si nécessaire. + +Le terme "canari" fait référence à la pratique du "canari dans la mine de charbon", +où des canaris étaient amenés dans les mines de charbon pour assurer la sécurité des mineurs. +Si des gaz nocifs inodores étaient présents, l'oiseau mourait et les mineurs savaient qu'ils devaient évacuer rapidement. +De même, si quelque chose ne va pas avec le code mis à jour, le trafic en direct est "évacué" vers la version originale. + +## Problème auquel il répond + +Peu importe la rigueur de la stratégie de test, il y aura toujours des bugs qui seront découverts en production. +Le fait de basculer 100% du trafic d'une version d'application vers une autre peut intensifier l'impact des défaillances sur les utilisateurs. + +## Quel en est l'utilité + +Les déploiements canaris permettent aux organisations de voir comment se comporte le nouveau logiciel dans des scénarios réels +avant de transférer un trafic significatif vers la nouvelle version. +Cette stratégie permet aux organisations de minimiser les temps d'arrêt et de revenir rapidement en arrière en cas de problèmes avec le nouveau déploiement. +Elle permet également des tests de l'application en production plus approfondis sans impact significatif sur l'expérience utilisateur globale. diff --git a/content/fr/cloud-computing.md b/content/fr/cloud-computing.md index 779d1140f3..45f23d04bf 100644 --- a/content/fr/cloud-computing.md +++ b/content/fr/cloud-computing.md @@ -5,8 +5,6 @@ category: concept tags: ["infrastructure", "fondamental", ""] --- -## Ce que c'est - Le cloud computing, ou informatique en nuage, ou encore infonuagique au Québec, offre des ressources informatiques telles que de la puissance de calcul, du réseau et de l'espace de stockage à la demande sur Internet, permettant aux utilisateurs d'accéder à des ressources informatiques situées dans un emplacement physique distant. Nous différencions généralement le cloud privé du cloud public, diff --git a/content/fr/cloud-native-apps.md b/content/fr/cloud-native-apps.md index 681d9437ba..b131b15c5a 100644 --- a/content/fr/cloud-native-apps.md +++ b/content/fr/cloud-native-apps.md @@ -5,8 +5,6 @@ category: concept tags: ["application", "fondamental", ""] --- -## Ce que c'est - Les applications Cloud Natives sont des applications conçues pour tirer avantage des innovations du [cloud computing](/fr/cloud-computing/). Ces applications s'intègrent facilement avec leurs architectures cloud respectives, en tirant avantage des ressources proposées par le Cloud et de leur capacité de [mise à l'échelle](/fr/scalability/). Ce terme fait aussi référence aux applications qui tirent avantage d'infrastructure pilotée par le cloud computing. diff --git a/content/fr/cloud-native-security.md b/content/fr/cloud-native-security.md new file mode 100644 index 0000000000..18240d1d04 --- /dev/null +++ b/content/fr/cloud-native-security.md @@ -0,0 +1,27 @@ +--- +title: Sécurité Cloud Natives +status: Completed +category: concept +tags: ["sécurité", "", ""] +--- + +La sécurité Cloud Native est une approche qui intègre la sécurité dans les [applications Cloud Natives](/fr/cloud-native-apps/). +Il garantit que la sécurité fait partie du cycle de développement de l'application du développement jusqu'à la mise en production. +La sécurité Cloud Native vise à garantir les mêmes standards que les modèles de sécurité traditionnels tout en s'adaptant aux particularités des environnements Cloud Natives, comme les infrastructures éphémères ainsi que les livraisons de code fréquentes. +La sécurité Cloud Native est hautement liée à la pratique du [DevSecOps](/fr/devsecops/) + +## Problème auquel il répond + +Les modèles de sécurité traditionnels ont été conçus avec des hypothèses qui ne sont aujourd'hui plus valides. +Les applications Cloud Natives changent fréquemment, utilisent beaucoup d'outils et de bibliothèques open source, elles tournent dans des infrastructures souvent contrôlées par un revendeur et elles sont sujettes à des changements d'infrastructures rapides. +Les revues de code, les longs cycles d'assurance qualité, l'analyse des vulnérabilités des hôtes, et les révisions de sécurité de dernière minute ne se mettent pas à l'échelle avec les applications Cloud Natives. + +## Quel en est l'utilité + +La sécurité Cloud Native introduit une nouvelle façon de travailler qui protègent les applications +en migrant depuis les modèles de sécurité traditionnels vers un modèle ou la sécurité est impliquée dans chaque étape du cycle de livraison. +Les audits et vérifications manuelles sont remplacés par des analyses automatisées. +Les pipelines de livraison de code ont intégré les outils qui analysent le code pour détecter des vulnérabilités avant que celui-ci soit compilé. +Les bibliothèques open source sont récupérées depuis des sources de confiance qui monitorent leurs vulnérabilités. +Au lieu de ralentir le changement, le modèle de sécurité Cloud Native l'adopte +en mettant à jour les composants vulnérables fréquemment ou en s'assurant que l'infrastructure est remplacée régulièrement. diff --git a/content/fr/cloud-native-tech.md b/content/fr/cloud-native-tech.md index 501c83fb53..df493c2baa 100644 --- a/content/fr/cloud-native-tech.md +++ b/content/fr/cloud-native-tech.md @@ -5,8 +5,6 @@ category: Concept tags: ["fondamental", "", ""] --- -## Ce que c'est - Les technologies Cloud Natives, aussi référencées comme la pile des technologies Cloud Natives, sont les technologies utilisées pour construire des [applications Cloud Natives](/fr/cloud-native-apps/). Ces technologies permettent aux organisations de développer des applications capables de se mettre à l'échelle dans des environnements diff --git a/content/fr/cluster.md b/content/fr/cluster.md index ced7e68ff9..bcff692c6d 100644 --- a/content/fr/cluster.md +++ b/content/fr/cluster.md @@ -5,8 +5,6 @@ category: Concept tags: ["infrastructure", "fondamental", ""] --- -## Ce que c'est - Un cluster est un groupe d'ordinateurs ou d'applications qui fonctionnent ensemble dans un but commun. Dans un contexte Cloud Native, le terme est souvent appliqué à [Kubernetes](/fr/kubernetes/). Un cluster Kubernetes est un ensemble de services (ou de charges de travail) qui s'exécutent dans leurs propres conteneurs, souvent sur des machines différentes. diff --git a/content/fr/container-orchestration.md b/content/fr/container-orchestration.md index 7c4073e43a..578c6c8407 100644 --- a/content/fr/container-orchestration.md +++ b/content/fr/container-orchestration.md @@ -4,8 +4,6 @@ status: Completed category: Concept --- -## Ce que c'est - L'orchestration de [Conteneurs](/fr/container/) fait référence à la gestion et à l'automatisation du cycle de vie d'applications conteneurisées au sein d'environnements dynamiques. Réalisée à l'aide d'un orchestrateur de conteneurs (la plupart du temps, [Kubernetes](/fr/kubernetes)), elle permet les déploiements, le passage à l'échelle (automatique), (l'auto-)remédiation et le monitoring. L'orchestration est une métaphore: diff --git a/content/fr/container.md b/content/fr/container.md index 76ced13b29..12ec423d4e 100644 --- a/content/fr/container.md +++ b/content/fr/container.md @@ -5,8 +5,6 @@ category: technology tags: ["application", "fondamental", ""] --- -## Ce que c'est - Un conteneur est un processus qui fonctionne avec des contraintes de ressources et de capacités gérées par le système d'exploitation d'un ordinateur. Les fichiers accessibles au processus du conteneur sont regroupés dans une image de conteneur. Les conteneurs sont exécutés les uns à côté des autres sur la même machine, diff --git a/content/fr/containerization.md b/content/fr/containerization.md index 8f753d7473..5ba774f81f 100644 --- a/content/fr/containerization.md +++ b/content/fr/containerization.md @@ -5,8 +5,6 @@ category: Technology tags: ["application", "", ""] --- -## Ce que c'est - La conteneurisation est l'action de regrouper une application et ses dépendances dans une image de conteneur. Le processus de construction du conteneur nécessite de respecter le standard de l'[Open Container Initiative](https://opencontainers.org) (OCI). Du moment que le résultat est une image qui respecte ce standard, l'outil de conteneurisation qui sera utilisé n'a pas d'importance. diff --git a/content/fr/continuous-delivery.md b/content/fr/continuous-delivery.md new file mode 100644 index 0000000000..bbfa65d1e9 --- /dev/null +++ b/content/fr/continuous-delivery.md @@ -0,0 +1,35 @@ +--- +title: Livraison Continue (Continuous Delivery) +status: Completed +category: concept +tags: ["méthodologie", "application", ""] +--- + +La livraison continue, souvent abrégée en CD, est un ensemble de pratiques +dans lequel les modifications de code sont automatiquement déployées dans un environnement d'acceptation +(ou, en cas de déploiement continu, en production). +La CD comprend des procédures pour garantir que le logiciel est correctement testé +avant le déploiement et fournit un moyen de revenir en arrière sur les modifications si nécessaire. +L'intégration continue (CI) est la première étape vers la livraison continue +(c'est-à-dire que les modifications doivent fusionner proprement avant d'être testées et déployées). + +## Problème auquel il répond + +Le déploiement de mises à jour [fiables](/fr/reliability/) devient un problème à grande échelle. +Idéalement, nous déploierions plus fréquemment pour fournir de meilleures prestations aux utilisateurs finaux. +Cependant, le faire manuellement se traduit par des coûts élevés pour chaque modification. +Historiquement, pour éviter ces coûts, les organisations publiaient moins fréquemment, +déployant plus de changements à la fois et augmentant le risque que quelque chose se passe mal. + +## Quel en est l'utilité + +Les stratégies CD créent un parcours entièrement automatisé vers la production +qui teste et déploie le logiciel en utilisant diverses stratégies +telles que les déploiements [canari](/fr/canary-deployment/) ou [bleu/vert](/fr/blue-green-deployment/). +Cela permet aux développeurs de déployer du code fréquemment, leur donnant ainsi la certitude que la nouvelle révision a été testée. +En règle générale, le développement basé sur le tronc (trunk-based development) est utilisé dans les stratégies CD, par opposition aux branches de fonctionnalités (feature branching) ou aux propositions de révision (pull requests). + +## Termes liés + +* [Intégration Continue](/fr/continuous-integration/) +* [Déploiement Continu](/fr/continuous-deployment/) \ No newline at end of file diff --git a/content/fr/continuous-deployment.md b/content/fr/continuous-deployment.md new file mode 100644 index 0000000000..9a288f9763 --- /dev/null +++ b/content/fr/continuous-deployment.md @@ -0,0 +1,33 @@ +--- +title: Déploiement Continu (Continuous Deployment) +status: Completed +category: concept +tags: ["application", "méthodologie", ""] +--- + +Le déploiement continu, souvent abrégé en CD, va plus loin que la [livraison continue](/fr/continuous-delivery/) +en déployant le logiciel fini directement en production. +Le déploiement continu (CD) va de pair avec [l'intégration continue](/fr/continuous-integration/) (CI), +et on parle souvent CI/CD. +Le processus CI teste si les modifications apportées à une application donnée sont valides, +et le processus CD déploie automatiquement les modifications de code dans les environnements d'une organisation, de l'environnement de test jusqu'à celui de production. + +## Problème auquel il répond + +La livraison de nouvelles versions de logiciels peut être un processus fastidieux et source d'erreurs. +C'est aussi souvent quelque chose que les organisations ne voudront faire que rarement, pour éviter les incidents de production +et réduire le temps durant lequel les ingénieurs doivent être disponibles en dehors des heures ouvrées. +Les modèles traditionnels de déploiement de logiciels plongent les organisations dans un cercle vicieux, +où le processus de livraison du logiciel ne parvient pas à répondre aux besoins de l'organisation, à la fois en termes de stabilité et de fréquence de livraison des fonctionnalités. + +## Quelle en est l'utilité + +En automatisant le cycle de livraison et en obligeant les organisations à livrer en production plus fréquemment, +la CD fait pour les équipes d'exploitation ce que la CI a fait pour les équipes de développement. +Plus précisément, cela oblige les équipes opérationnelles à automatiser les parties pénibles et sujettes aux erreurs des déploiements en production, réduisant ainsi le risque global. +Cela permet également aux organisations de mieux accepter et de s'adapter aux changements de production, ce qui conduit à une plus grande stabilité. + +## Termes liés + +* [Intégration Continue](/fr/continuous-integration/) +* [Livraison Continue](/fr/continuous-delivery/) diff --git a/content/fr/continuous-integration.md b/content/fr/continuous-integration.md new file mode 100644 index 0000000000..92d31c3593 --- /dev/null +++ b/content/fr/continuous-integration.md @@ -0,0 +1,31 @@ +--- +title: Intégration Continue (CI) +status: Completed +category: concept +tags: ["application", "méthodologie", ""] +--- + +L'intégration continue, souvent abrégée en CI, est la pratique consistant à intégrer les modifications de code aussi régulièrement que possible. +La CI est un prérequis à la [livraison continue](/fr/continuous-delivery/) (CD). +Traditionnellement, le processus CI commence lorsque les modifications de code sont envoyées dans un système de contrôle de code source (Git, Mercurial ou Subversion), +et se termine par un artefact testé prêt à être consommé par un système CD. + +## Problème auquel il répond + +Les systèmes logiciels sont souvent grands et complexes, et de nombreux développeurs les maintiennent et les mettent à jour. +En travaillant en parallèle sur différentes parties du système, +ces développeurs peuvent apporter des modifications contradictoires et, par inadvertance, se causer les uns les autres des problèmes. +De plus, avec plusieurs développeurs travaillant sur le même projet, +toutes les tâches quotidiennes telles que tester ou mesurer la qualité du code devraient être répétées par chaque développeur, ce qui ferait perdre du temps. + +## Quel en est l'utilité + +Le logiciel de CI vérifie automatiquement que les modifications de code sont fusionées proprement chaque fois qu'un développeur soumet une modification. +L'utilisation du serveur CI pour exécuter des contrôles de qualité du code, des tests et même des déploiements est une pratique quasi universelle. +À ce titre, cela devient une mise en œuvre concrète d'un contrôle qualité au sein des équipes. +La CI permet aux équipes logicielles de transformer chaque modification de code en un échec concret ou en une version livrable viable. + +## Termes liés + +* [Livraison Continue](/fr/continuous-delivery/) +* [Déploiement Continu](/fr/continuous-deployment/) diff --git a/content/fr/data-center.md b/content/fr/data-center.md new file mode 100644 index 0000000000..93194110ab --- /dev/null +++ b/content/fr/data-center.md @@ -0,0 +1,29 @@ +--- +title: Centre de données (Datacenter) +status: Completed +category: Technology +tags: ["infrastructure", "fondamental", ""] +--- + +Un centre de données (datacenter en anglais) est un bâtiment ou une installation spécialisée conçue pour héberger des ordinateurs, le plus souvent des serveurs. +Ces centres de données sont généralement connectés à des lignes internet à haut débit, en particulier lorsqu'ils sont axés sur le [cloud computing] (/fr/cloud-computing/). +Les bâtiments qui abritent les centres de données sont équipés pour maintenir le service même en cas d'événements défavorables, y compris des générateurs qui fournissent de l'électricité pendant les pannes et des climatiseurs puissants qui gardent les ordinateurs, produisant de la chaleur, au frais. + +## Problème auquel il répond + +Avant que les centres de données ne se généralisent à la fin des années 1990, il existait principalement des ordinateurs indépendants chargés de tâches spécifiques ou utilisés par des particuliers pour effectuer leur travail. + +Or, les ordinateurs ont des ressources matérielles limitées (disque, mémoire vive et processeur). +Cela signifie que les applications qui s'exécutent dessus ont les mêmes contraintes, ce qui limite les types d'applications qu'ils peuvent exécuter. +Avant les centres de données, l'échelle de l'application était limitée par la capacité de l'ordinateur sur lequel elle s'exécute. +Mais si vous pensez à des applications à grande échelle comme Gmail ou Netflix (l'application côté serveur, pas l'interface utilisateur que vous avez sur votre téléphone ou votre ordinateur), celles-ci ont besoin d'une capacité de calcul supérieure à celle qu'un seul ordinateur peut fournir. +C'est là qu'interviennent les centres de données. + +## Quel en est l'utilité + +En connectant plusieurs serveurs, les utilisateurs peuvent créer un système distribué (/fr/distributed-systems/) qui fonctionne comme un "superordinateur". +En regroupant la puissance de plusieurs machines, il est désormais possible d'exécuter des applications beaucoup plus importantes ou traiter des tâches de calcul beaucoup plus complexes. +Les centres de données font fonctionner la plupart des applications que nous utilisons quotidiennement. + +Les [clouds publics] (/fr/cloud-computing/) sont des centres de données qui louent leur capacité à leurs clients. +Au cours des dernières années, nous avons assisté à une transition depuis des centres de données appartenant aux organisations elles-mêmes vers l'utilisation des clouds publics. diff --git a/content/fr/devops.md b/content/fr/devops.md index 5141cd7e41..14a743c41d 100644 --- a/content/fr/devops.md +++ b/content/fr/devops.md @@ -6,8 +6,6 @@ tags: ["méthodologie", "", ""] --- -## Ce que c'est - Le DevOps est une méthodologie dans laquelle une équipe gère le processus complet du développement d'une application jusqu'aux opérations en production, d'où le terme DevOps. Ceci va au-delà de l'implémentation de technologies et demande un changement complet dans la culture et les processus. Le DevOps fait appel à un groupe d'ingénieurs travaillant sur des petits composants (en opposition à une fonctionnalité complète), permettant ainsi de réduire les actions de passations – une source d'erreurs commune. diff --git a/content/fr/devsecops.md b/content/fr/devsecops.md new file mode 100644 index 0000000000..d4c4f16955 --- /dev/null +++ b/content/fr/devsecops.md @@ -0,0 +1,30 @@ +--- +title: DevSecOps +status: Completed +category: concept +tags: ["méthodologie", "sécurité", ""] +--- + +Le terme DevSecOps fait référence à une fusion culturelle des responsabilités de développement, opérationnelles et de sécurité. +Il étend l'approche [DevOps](/fr/devops/) pour inclure les problématiques de sécurité +avec un minimum de perturbations, voire nulle, du flux de travail des développeurs et des opérations. +Comme DevOps, DevSecOps est un changement culturel, poussé par les technologies adoptées, avec des méthodes d'adoption uniques. + +## Problème auquel il répond + +Les pratiques DevOps incluent l'[intégration continue](/fr/continuous-integration/), la [livraison continue](/fr/continuous-delivery/), +et le [déploiement continu](/fr/continuous-deployment/) et accélèrent les cycles de développement et de publication d'applications. +Malheureusement, les processus de publication automatisés qui ne parviennent pas à représenter +toutes les parties prenantes de l’organisation peuvent exacerber les problèmes existants. +Un processus qui publie rapidement de nouveaux logiciels sans tenir compte des besoins de sécurité +peut dégrader la posture de sécurité d’une organisation. + +## Quel en est l'utilité + +DevSecOps se concentre sur la suppression des silos d'équipe et promeut la création de flux de travail sécurisés et automatisés. +Lors de la sélection d'applications de sécurité, les organisations doivent tirer parti +des flux de travail CI/CD automatisés et d'une application des politiques de sécurité qui responsabilisent le développeur. +Le but n’est pas de bloquer mais de faire respecter les politiques de sécurité +tout en donnant aux utilisateurs des informations précises sur la manière de faire avancer leur projet. +Quand le DevSecOps est correctement mis en œuvre, une organisation bénéficiera d'une meilleure communication d'équipe et +réduira les incidents de sécurité et les coûts associés. diff --git a/content/fr/distributed-apps.md b/content/fr/distributed-apps.md index 27f3b7a924..043f5a0198 100644 --- a/content/fr/distributed-apps.md +++ b/content/fr/distributed-apps.md @@ -5,8 +5,6 @@ category: concept tags: ["architecture", "", ""] --- -## Ce que c'est - Une application distribuée est une application dont les fonctionnalités sont découpées en plusieurs parties indépendantes et plus petites. Les applications distribuées sont généralement composées de [microservices](/fr/microservices-architecture/) individuels qui s'occupent de différentes problématiques au sein d'une application plus large. diff --git a/content/fr/distributed-systems.md b/content/fr/distributed-systems.md index 0baddd50c4..a758d5a8a9 100644 --- a/content/fr/distributed-systems.md +++ b/content/fr/distributed-systems.md @@ -5,8 +5,6 @@ category: concept tags: ["architecture", "", ""] --- -## Ce que c'est - Un système distribué est un ensemble de composants autonomes connectés via un réseau, et qui apparaît à ses utilisateurs comme un seul système cohérent. La plupart du temps appelés [nœuds](/fr/nodes/), ces composants peuvent aussi bien être des machines physiques (des ordinateurs ou des téléphones portables par exemple) que des processus logiciels. Les nœuds sont programmés pour atteindre un objectif commun et échangent des messages via le réseau afin de collaborer. diff --git a/content/fr/horizontal-scaling.md b/content/fr/horizontal-scaling.md index 85138b5f2f..e75c85eaf0 100644 --- a/content/fr/horizontal-scaling.md +++ b/content/fr/horizontal-scaling.md @@ -5,8 +5,6 @@ category: Concept tags: ["infrastructure", "", ""] --- -## Ce que c'est - La mise à l'échelle horizontale est une technique qui consiste à augmenter la capacité d'un système en ajoutant plus de [nœuds](/fr/nodes/) au lieu d'ajouter plus de ressources informatiques à des nœuds unitaires (ce dernier étant connu sous le nom de [mise à l'échelle verticale (Vertical Scaling)](/fr/vertical-scaling/)). Supposons que nous avons un système avec 4 Go de mémoire et que nous voulons augmenter sa capacité à 16 Go, la mise à l'échelle horizontale consiste à ajouter 4 × 4 Go de mémoire plutôt que de passer à un système avec 16 Go de mémoire. diff --git a/content/fr/infrastructure-as-a-service.md b/content/fr/infrastructure-as-a-service.md new file mode 100644 index 0000000000..865b4a1f85 --- /dev/null +++ b/content/fr/infrastructure-as-a-service.md @@ -0,0 +1,25 @@ +--- +title: Infrastructure en tant que Service (IaaS) +status: Completed +category: Technology +tags: ["infrastructure", "", ""] +--- + +L'infrastructure en tant que service, ou Infrastructure as a Service (IaaS) en anglais, est un modèle de service de cloud computing qui offre des ressources physiques ou virtualisées de calcul, de stockage et de réseau à la demande selon un modèle de paiement à l'utilisation. +Les fournisseurs de cloud computing possèdent et exploitent le matériel et les logiciels, qui sont mis à la disposition des consommateurs dans des déploiements de cloud computing publics, privés ou hybrides. + +## Problème auquel il répond + +Dans les configurations traditionnelles sur site, les organisations ont souvent du mal à utiliser efficacement les ressources informatiques. +Les centres de données doivent être construits pour répondre aux pics de demande potentiels, même s'ils ne sont nécessaires que 1 % du temps. +Lorsque la demande est plus faible, ces ressources informatiques sont inutilisées. +Et si la charge de travail dépasse la demande prévue, il y a une pénurie de ressources informatiques pour traiter la charge de travail. +Ce manque de capacité de mise à l'échelle entraîne une augmentation des coûts et une utilisation inefficace des ressources. + +## Quel en est l'utilité + +Avec l'IaaS, les entreprises peuvent éviter d'acheter et de maintenir la capacité de calcul et le centre de données pour leurs applications. +Une infrastructure à la demande leur permet de louer des ressources informatiques en fonction de leurs besoins et de différer d'importantes dépenses d'investissement, tout en leur donnant la possibilité d'augmenter ou de réduire leur capacité. + +L'IaaS réduit les coûts initiaux liés à l'expérimentation ou à l'essai d'une nouvelle application et permet de déployer rapidement une infrastructure. +Un fournisseur de cloud est une excellente option pour les environnements de développement ou de test, ce qui aide les développeurs à expérimenter et à innover. diff --git a/content/fr/infrastructure-as-code.md b/content/fr/infrastructure-as-code.md index 5c3311a43f..fa1af9948e 100644 --- a/content/fr/infrastructure-as-code.md +++ b/content/fr/infrastructure-as-code.md @@ -5,8 +5,6 @@ category: concept tags: ["infrastructure", "méthodologie", ""] --- -## Ce que c'est - L'infrastructure en tant que code est la pratique de stocker la définition d'infrastructure dans un ou plusieurs fichiers. Ceci remplace le modèle traditionnel où l'infrastructure en tant que service est provisionnée manuellement, habituellement au travers de scripts ou autres outils de configuration. diff --git a/content/fr/kubernetes.md b/content/fr/kubernetes.md index 4ca9953bba..ea3347776e 100644 --- a/content/fr/kubernetes.md +++ b/content/fr/kubernetes.md @@ -5,8 +5,6 @@ category: technology tags: ["infrastructure", "fondamental", ""] --- -## Ce que c'est - Kubernetes, souvent abrégé en k8s, est un orchestrateur de conteneurs open source. Il automatise le cycle de vie des applications conteneurisées sur des infrastructures modernes, fonctionnant comme un "Système d'exploitation de centre de données" qui gère des applications à travers un [système distribué](/fr/distributed-systems/). diff --git a/content/fr/microservices-architecture.md b/content/fr/microservices-architecture.md index 23ca0e22b6..fcaa075500 100644 --- a/content/fr/microservices-architecture.md +++ b/content/fr/microservices-architecture.md @@ -4,8 +4,6 @@ status: Completed tags: ["architecture", "fondamental", ""] --- -## Ce que c'est - Une architecture en microservices est une approche architecturale qui divise les applications en (micro)[services](/fr/service/) distincts et indépendants, chaque service étant focalisé sur une fonctionnalité spécifique. Ces services fonctionnent en étroite collaboration, et l'utilisateur final a l'impression d'utiliser un seul service. Prenons Netflix comme exemple. diff --git a/content/fr/monolithic-apps.md b/content/fr/monolithic-apps.md index 6548b2ca25..1dc68b7de7 100644 --- a/content/fr/monolithic-apps.md +++ b/content/fr/monolithic-apps.md @@ -5,8 +5,6 @@ category: concept tags: ["architecture", "fondamental", ""] --- -## Ce que c'est - Une application monolithique contient toutes les fonctionnalités au sein d'un unique logiciel déployable. C'est souvent la manière la plus simple pour commencer le développement d'une application. Cependant, lorsque l'application se complexifie, les monolithes peuvent devenir difficiles à maintenir. diff --git a/content/fr/mutual-transport-layer-security.md b/content/fr/mutual-transport-layer-security.md new file mode 100644 index 0000000000..d27ced785f --- /dev/null +++ b/content/fr/mutual-transport-layer-security.md @@ -0,0 +1,23 @@ +--- +title: Sécurité mutuelle de la couche de transport (mTLS) +status: Completed +category: Concept +tags: ["sécurité", "réseau", ""] +--- + +Le TLS mutuel (mTLS, mutual TLS en anglais) est une technique utilisée pour authentifier et chiffrer les messages envoyés entre deux [services](/fr/service/). +Le TLS mutuel est le protocole standard de la [sécurité de la couche de transport](/fr/transport-layer-security/), mais +au lieu de valider l'identité d'une seule connexion, les deux parties sont validées. + +## Problème auquel il répond + +Les [microservices] (/fr/microservices/) communiquent sur un réseau et, +tout comme sur votre réseau wifi, les communications qui transitent par ce réseau peuvent être piratées. +Le mTLS garantit qu'aucune partie non autorisée ne peut écouter ou usurper des requêtes légitimes. + +## Quel en est l'utilité + +mTLS garantit que le trafic est sécurisé et digne de confiance dans les deux sens entre un client et un serveur, +Il fournit une couche de sécurité supplémentaire aux utilisateurs qui se connectent à un réseau ou à des applications. +Il vérifie également les connexions avec les appareils clients qui ne suivent pas de processus de connexion, tels que les appareils de l'Internet des objets (IoT). +Les attaques telles que les attaques par tiers interposé (ou on-path attack en anglais), les attaques par usurpation d'identité, le bourrage de données d'identification, les attaques par force brute, etc. peuvent être évitées grâce au mTLS. \ No newline at end of file diff --git a/content/fr/nodes.md b/content/fr/nodes.md index 7eeb3f3a13..4ea039776e 100644 --- a/content/fr/nodes.md +++ b/content/fr/nodes.md @@ -5,8 +5,6 @@ category: Concept tags: ["infrastructure", "fondamental", ""] --- -## Ce que c'est - Un nœud est un ordinateur qui travaille de concert avec d'autres ordinateurs, ou nœuds, pour accomplir une tâche commune. Prenons par exemple votre ordinateur portable, votre modem et votre imprimante. Ils sont tous connectés via votre réseau wifi, communiquant et collaborant ensemble, chacun représentant un nœud. diff --git a/content/fr/pod.md b/content/fr/pod.md new file mode 100644 index 0000000000..128c01deef --- /dev/null +++ b/content/fr/pod.md @@ -0,0 +1,29 @@ +--- +title: Pod +status: Completed +category: concept +tags: ["infrastructure", "fondamental", ""] +--- + +Dans un environnement [Kubernetes](/fr/kubernetes/), le pod est l'unité déployable la plus basique. +Il représente un bloc de construction essentiel pour le déploiement et la gestion d'applications conteneurisées. +Chaque pod contient une seule instance d'application et peut être constitué d'un ou plusieurs [conteneurs](/fr/container/). +Kubernetes gère les pods dans le cadre d'un déploiement plus large et peut mettre à l'échelle les pods [verticalement](/fr/vertical-scaling/) ou [horizontalement](/fr/horizontal-scaling/) selon les besoins. + +## Problème auquel il répond + +Si les conteneurs agissent généralement comme des unités indépendantes qui exécutent et contrôlent une charge de travail particulière, il existe des cas où des conteneurs doivent interagir et être contrôlés de manière étroitement couplée. + +Si chacun de ces conteneurs étroitement liés était géré individuellement, il en résulterait des tâches de gestion superflues. +Par exemple, l'opérateur devrait continuellement déterminer l'emplacement des conteneurs liés pour s'assurer qu'ils restent ensemble. +Et bien que les cycles de vie de ces conteneurs liés doivent être synchronisés, ils ne peuvent être gérés qu'individuellement. + +## Quel en est l'utilité + +Les pods regroupent des conteneurs étroitement liés en une seule unité, ce qui simplifie considérablement la gestion des conteneurs. +Par exemple, des conteneurs auxiliaires sont souvent utilisés parallèlement au conteneur principal pour ajouter des fonctionnalités supplémentaires ou pour mettre en place des configurations globales. +Il s'agit par exemple de conteneurs qui injectent et appliquent des paramètres de base au conteneur principal, +des conteneurs side-car qui gèrent le routage du trafic réseau pour le conteneur principal (voir [maillage de services](/fr/service-mesh/)), +ou des conteneurs qui collectent des logs en conjonction avec chaque conteneur. + +L'allocation de la mémoire et du CPU peut être définie soit au niveau d'un pod, permettant aux conteneurs à l'intérieur de partager les ressources d'une manière flexible, soit par conteneur. diff --git a/content/fr/policy-as-code.md b/content/fr/policy-as-code.md new file mode 100644 index 0000000000..50dda7bbb7 --- /dev/null +++ b/content/fr/policy-as-code.md @@ -0,0 +1,24 @@ +--- +title: Politique en tant que code +status: Completed +category: concept +tags: ["méthodologie", "", ""] +--- + +La politique en tant que code est la pratique de stocker la définition des politiques sous forme d'un ou plusieurs fichiers dans un format lisible et exploitable par un programme informatique. +Cela remplace le modèle traditionnel où les politiques sont documentées sous une forme lisible par l'homme dans des documents distincts. + +## Problème auquel il répond + +La construction d'applications et d'infrastructures est souvent contrainte par de nombreuses politiques définies par une organisation, +par exemple des politiques de sécurité qui interdisent de stocker des secrets dans le code source, d'exécuter un conteneur avec des permissions de super-utilisateur +ou de stocker des données en dehors d'une région géographique spécifique. +Il est très laborieux et sujet aux erreurs pour les développeurs et les relecteurs de vérifier manuellement les applications et les infrastructures par rapport aux politiques documentées. +Les processus manuels ne peuvent pas répondre aux exigences de réactivité et de mise à l'échelle des applications Cloud Natives. + +## Quel en est l'utilité + +La description des politiques sous forme de code permet la répétabilité et réduit les erreurs (contrairement à ce qui se fait manuellement). +Un autre avantage de la politique en tant que code est que le code peut être géré par un système de contrôle de version comme Git. +Git crée un historique des modifications, ce qui est particulièrement utile lorsque quelque chose ne fonctionne pas comme prévu. +Cela permet à l'utilisateur de déterminer qui a apporté la modification et de revenir à une version précédente. diff --git a/content/fr/portability.md b/content/fr/portability.md new file mode 100644 index 0000000000..d66be44c87 --- /dev/null +++ b/content/fr/portability.md @@ -0,0 +1,14 @@ +--- +title: Portabilité +status: Completed +category: Property +tags: ["fondamental", "propriété", ""] +--- + +La portabilité comme caractéristique logicielle est une forme de réutilisabilité permettant d'éviter le "verrouillage" à certains environnements d'exploitation, +par exemple, les fournisseurs de cloud, les systèmes d'exploitation ou les fournisseurs. + +Traditionnellement, les logiciels sont souvent conçus pour des environnements spécifiques (comme AWS ou Linux). +En revanche, un logiciel portable fonctionne dans différents environnements d'exploitation sans nécessiter de modifications majeures. +Une application est considérée comme portable si l'effort nécessaire pour l'adapter à un nouvel environnement reste raisonnable. +L'expression "porter" signifie modifier un logiciel pour le rendre adaptable à un autre système informatique. diff --git a/content/fr/role-based-access-control.md b/content/fr/role-based-access-control.md new file mode 100644 index 0000000000..3e78f21962 --- /dev/null +++ b/content/fr/role-based-access-control.md @@ -0,0 +1,23 @@ +--- +title: Contrôle d'accès basé sur les rôles (RBAC) +status: Completed +category: Concept +tags: ["sécurité", "", ""] +--- + +Le contrôle d'accès basé sur les rôles (RBAC) est une méthode de sécurité permettant de gérer l'accès des utilisateurs aux systèmes, réseaux ou ressources en fonction de leur rôle au sein d'une équipe ou d'une organisation. +Le RBAC donne aux administrateurs informatiques la possibilité d'identifier le niveau d'accès nécessaire pour tous les utilisateurs occupant une fonction spécifique, et de leur attribuer un rôle avec un ensemble prédéfini d'autorisations. +Les organisations utilisent le RBAC pour offrir à leurs employés des niveaux d'accès adaptés à leurs rôles et responsabilités. + +## Problème auquel il répond + +Le RBAC répond au défi de contrôler les ressources auxquelles les membres de l'équipe et les applications peuvent accéder, ainsi que les actions qu'ils sont autorisés à effectuer, en particulier lorsque le nombre d'applications et de membres d'équipe augmente. +Les administrateurs doivent veiller à ce que chaque utilisateur dispose des autorisations adéquates pour accéder aux ressources nécessaires. +Cette tâche peut devenir fastidieuse et sujette aux erreurs en l'absence d'un mécanisme structuré de gestion des accès. + +## Quel en est l'utilité + +Le RBAC offre aux équipes informatiques la possibilité de gérer aisément les autorisations de tous les utilisateurs d'un groupe simultanément, ou d'apporter rapidement des ajustements au niveau d'accès d'un utilisateur individuel en lui attribuant ou en supprimant un rôle. +Cette approche garantit la sécurité des données sensibles et veille à ce que les employés n'aient accès qu'aux informations nécessaires à l'exécution de leurs tâches professionnelles. +Dans l'ensemble, le RBAC améliore la gestion des accès, renforce la sécurité et accroît l'efficacité opérationnelle au sein des organisations. + diff --git a/content/fr/service-mesh.md b/content/fr/service-mesh.md index bdbcd0e3f9..dff5acde48 100644 --- a/content/fr/service-mesh.md +++ b/content/fr/service-mesh.md @@ -5,8 +5,6 @@ category: technology tags: ["réseau", "", ""] --- -## Ce que c'est - Dans un monde de [microservices](/fr/microservices-architecture/), les applications sont découpées en plusieurs petits [services](/fr/service/) qui communiquent via le réseau. Exactement comme votre réseau wifi, les réseaux informatiques sont intrinsèquement non fiables, piratables et souvent lents. diff --git a/content/fr/transport-layer-security.md b/content/fr/transport-layer-security.md new file mode 100644 index 0000000000..379b85bc94 --- /dev/null +++ b/content/fr/transport-layer-security.md @@ -0,0 +1,27 @@ +--- +title: Sécurité de la couche de transport (TLS) +status: Completed +category: Concept +tags: ["sécurité", "réseau", ""] +--- + +TLS, en français "Sécurité de la couche de transport", en anglais "Transport Layer Security", est un protocole conçu pour renforcer la sécurité des communications sur un réseau. +Il garantit la sécurité des données lors de la livraison de celles-ci sur Internet, +en évitant toute interception et/ou altération des données. +Ce protocole est largement utilisé dans des applications telles que la messagerie instantanée, le courrier électronique, etc. + +## Problème auquel il répond + +Sans TLS, des informations sensibles telles que les habitudes de navigation, la correspondance par courrier électronique, les discussions en ligne et les conférences téléphoniques peuvent facilement être tracées et modifiées par des tiers pendant la transmission. +La prise en charge de TLS par les applications serveurs et clientes garantit +que les données transmises entre elles sont chiffrées et ne peuvent pas être consultées par des tiers. + + +## Quel en est l'utilité + +TLS utilise une combinaison de techniques de chiffrement qui assurent la sécurité lors de la transmission de données sur un réseau. +TLS permet une connexion chiffrée entre une application cliente et un serveur, par exemple un navigateur web et un site bancaire. +Il permet également aux applications clientes d'identifier avec certitude le serveur auquel elles s'adressent, +ce qui réduit le risque qu'une application cliente se connecte à un site frauduleux. +Le protocole TLS garantit que des tiers ne peuvent pas intercepter les données transmises entre les applications utilisant le protocole TLS, +ce qui protège les informations sensibles et privées telles que les numéros de carte bancaire, les mots de passe, la localisation, etc. diff --git a/content/fr/vertical-scaling.md b/content/fr/vertical-scaling.md index 01e614a0f7..81b6b6753c 100644 --- a/content/fr/vertical-scaling.md +++ b/content/fr/vertical-scaling.md @@ -5,8 +5,6 @@ category: Concept tags: ["infrastructure", "", ""] --- -## Ce que c'est - La mise à l'échelle verticale, également connue sous le nom de "mise à l'échelle vers le haut et vers le bas", est une technique qui consiste à augmenter la capacité d'un système en ajoutant des processeurs et de la mémoire à chaque [nœud](/fr/nodes/) unitaire à mesure que la charge de travail augmente. Supposons que vous avez un ordinateur avec 4 Go de mémoire et que vous voulez augmenter sa capacité à 16 Go, la mise à l'échelle verticale consiste à passer à un système avec 16 Go de mémoire. (Veuillez vous référer à la [mise à l'échelle horizontale](/fr/horizontal-scaling/) pour une approche différente de mise à l'échelle.) diff --git a/content/fr/virtual-machine.md b/content/fr/virtual-machine.md index 3157c8bf28..934e5975d2 100644 --- a/content/fr/virtual-machine.md +++ b/content/fr/virtual-machine.md @@ -5,8 +5,6 @@ category: Technology tags: ["fondamental", "infrastructure", ""] --- -## Ce que c'est - Une machine virtuelle (VM) est un ordinateur et son système d'exploitation qui n'est pas lié à un matériel particulier. Les VMs s'appuient sur la [virtualisation](/fr/virtualization/) pour découper un unique ordinateur physique en plusieurs ordinateurs virtuels. diff --git a/content/fr/virtualization.md b/content/fr/virtualization.md index 4db94c2323..7686d01696 100644 --- a/content/fr/virtualization.md +++ b/content/fr/virtualization.md @@ -5,8 +5,6 @@ category: technology tags: ["fondamental", "infrastructure", "méthodologie"] --- -## Ce que c'est - La virtualisation, dans un cadre Cloud Native, est l'exécution de plusieurs systèmes d'exploitation isolés sur un même ordinateur physique, aussi appelé serveur. Ces systèmes d'exploitation isolés et leurs ressources de calcul dédiées (processeur, mémoire et réseau) sont diff --git a/content/fr/zero-trust-architecture.md b/content/fr/zero-trust-architecture.md new file mode 100644 index 0000000000..ecd9cce0e7 --- /dev/null +++ b/content/fr/zero-trust-architecture.md @@ -0,0 +1,30 @@ +--- +title: Architecture Zéro Confiance +status: Completed +category: Concept +tags: ["sécurité", "", ""] +--- + +L'architecture zéro confiance est une approche de conception et de mise en place des systèmes informatiques qui élimine complètement la notion de confiance. +Son principe fondamental repose sur le credo "ne jamais faire confiance, toujours vérifier", les dispositifs ou systèmes eux-mêmes, +lorsqu'ils communiquent avec d'autres composants d'un système, se vérifient toujours avant de communiquer. +Dans de nombreux réseaux actuels, au sein du réseau d'entreprise, les systèmes et les appareils communiquent librement entre eux, +car ils se trouvent à l'intérieur de la zone de confiance définie par le périmètre du réseau d'entreprise. +À l'inverse, l'architecture zéro confiance adopte une démarche contraire. +Même à l'intérieur du périmètre du réseau, les composants du système doivent d'abord se soumettre à une vérification avant toute communication. + +## Problème auquel il répond + +Avec l'approche traditionnelle basée sur la confiance avec laquelle les systèmes et les dispositifs existent à l'intérieur d'un périmètre du réseau d'entreprise, +l'hypothèse est que parce qu'il y a confiance, il n'y a aucun problème. +Cependant, l'architecture zéro confiance reconnaît que cette confiance peut constituer une vulnérabilité. +Si un attaquant parvient à accéder à un appareil de confiance, la vulnérabilité du système dépend du niveau de confiance et d'accès accordé à cet appareil. +L'attaquant se trouve alors à l'intérieur du périmètre "de confiance" du réseau et peut se déplacer librement dans l'ensemble du système. +Dans une architecture zéro confiance, la confiance est éliminée, réduisant ainsi la surface d'attaque, +car un attaquant est contraint de se soumettre à une vérification avant de pouvoir progresser dans le système. + +## Quel en est l'utilité + +L'adoption d'une architecture zéro confiance présente le principal avantage d'augmenter la sécurité tout en réduisant la surface d'attaque. +En éliminant la notion de confiance de votre système d'entreprise, +vous renforcez le nombre et la robustesse des portes de sécurité que l'attaquant doit franchir pour accéder à d'autres parties du système.