Articles

Test de fuzzing en ingénierie logicielle

Le fuzzing est une technique d’ingénierie logicielle qui consiste à tester le logiciel en envoyant des données aléatoires pour trouver des erreurs. Essayons de comprendre les avantages et les inconvénients du test de fuzzing!

Fuzzing, également connu sous le nom de test de fuzz, est une technique de test logiciel automatisée qui consiste à fournir des données invalides, inattendues ou aléatoires (fuzz) en tant qu’entrées d’un programme informatique. L’objectif est de trouver des erreurs de codage, des bugs, des vulnérabilités de sécurité et des failles qui peuvent être exploitées. Cet article commence par expliquer quelques types de fuzzing de base. La métaphore «tester la serrure» est ensuite utilisée pour expliquer les rouages de cette technique. Une liste d’outils disponibles est donnée et un ensemble de meilleures pratiques est exploré pour que le fuzzing soit mené de manière éthique, efficace et sûre.

Black-box fuzzing is the most common type of fuzzing. It does not require any knowledge about the internal architecture of the software being tested. The tester only needs to provide the input data and observe the output. This type of fuzzing is suitable for testing applications with a user interface, such as web browsers, media players, and office applications.

White-box fuzzing requires knowledge about the internal architecture of the software being tested. The tester needs to understand the code and identify the areas that need to be tested. This type of fuzzing is suitable for testing complex applications, such as operating systems, databases, and network protocols.

Métaphore du Test de la Serrure

La métaphore du test de la serrure est utilisée pour expliquer le fonctionnement de la technique de fuzzing. Cette métaphore compare le processus de fuzzing à un test pour vérifier si une serrure est ouverte ou fermée. Dans ce scénario, le tester est le cambrioleur et la serrure est le logiciel à tester. Le but du cambrioleur est d’ouvrir la serrure en essayant différentes clés. Dans le cas du fuzzing, le tester envoie des données aléatoires au logiciel pour voir si elles peuvent le faire planter ou révéler des vulnérabilités.

Le processus de fuzzing commence par la génération de données aléatoires. Ces données sont ensuite envoyées au logiciel pour tester sa robustesse. Si le logiciel fonctionne correctement, les données sont rejetées et le processus recommence avec des données différentes. Si le logiciel plante ou révèle une vulnérabilité, le tester peut identifier le problème et le corriger.

Le fuzzing est une technique très efficace pour trouver des bugs et des vulnérabilités dans un logiciel. Cependant, il est important de comprendre l’architecture du logiciel pour pouvoir l’utiliser correctement et efficacement. Une bonne compréhension de l’architecture du logiciel permet de cibler les zones à tester et d’améliorer les résultats.

Outils et Pratiques Recommandées

Il existe plusieurs outils disponibles pour effectuer des tests de fuzzing. Certains outils sont spécialisés pour tester des applications spécifiques, tandis que d’autres sont plus génériques et peuvent être utilisés pour tester tout type d’application. Les outils les plus populaires sont Sulley, Peach Fuzzer, SPIKE, American Fuzzy Lop (AFL) et Boofuzz.

En plus des outils disponibles, il existe certaines pratiques recommandées pour effectuer des tests de fuzzing de manière éthique, efficace et sûre. Il est important de bien documenter le processus de test et d’informer les développeurs des résultats obtenus. Il est également important de ne pas divulguer les résultats du test à des tiers sans l’autorisation des développeurs. Enfin, il est important de respecter la loi et les règles en vigueur lors de l’exécution des tests.

Le fuzzing est une technique très puissante qui peut être utilisée pour trouver des bugs et des vulnérabilités dans un logiciel. Cependant, il est important de comprendre l’architecture du logiciel et d’utiliser les bons outils et pratiques pour obtenir les meilleurs résultats. Une bonne compréhension de l’architecture et une utilisation appropriée des outils et pratiques peuvent aider
Source de l’article sur DZONE

Passer de Docker Swarm à Kubernetes : transition et mise à l'échelle.

Passer de Docker Swarm à Kubernetes peut être une transition complexe, mais elle offre une meilleure mise à l’échelle et des fonctionnalités avancées. Découvrez comment faciliter cette transition.

Comprendre le changement

Making the Transition

The transition from Docker Swarm to Kubernetes requires careful planning and execution. Organizations should consider the following best practices when making the switch:

  • Understand the differences between Docker Swarm and Kubernetes. This will help ensure that the transition is seamless and that the organization is taking full advantage of Kubernetes’ capabilities.
  • Evaluate existing infrastructure and applications. This will help determine if Kubernetes is the right fit for the organization’s needs.
  • Create a plan for the transition. This should include a timeline, budget, and resource allocation.
  • Test the new system before going live. This will help ensure that everything is working as expected.

Benefits of Kubernetes

Kubernetes offers several advantages over Docker Swarm, including scalability, reliability, and flexibility. Kubernetes is designed to handle large-scale deployments with ease, allowing organizations to quickly and easily scale their applications as needed. It also offers a robust set of features, such as rolling updates, self-healing capabilities, and automated deployment. Finally, Kubernetes is highly extensible, allowing organizations to customize their deployments to meet their specific needs.

Architecture de Kubernetes

Kubernetes est une plateforme open source conçue pour automatiser le déploiement, le dimensionnement et l’exploitation des conteneurs d’applications. Il offre une plus grande flexibilité, un ensemble de fonctionnalités plus riche et un vaste écosystème, ce qui en fait le choix préféré des déploiements à grande échelle et d’entreprise. La transition de Docker Swarm à Kubernetes nécessite une planification et une exécution minutieuses. Les organisations doivent prendre en compte les meilleures pratiques suivantes lors du passage à Kubernetes : comprendre les différences entre Docker Swarm et Kubernetes, évaluer l’infrastructure et les applications existantes, créer un plan de transition et tester le nouveau système avant de le mettre en production.

Avantages de Kubernetes

Kubernetes offre plusieurs avantages par rapport à Docker Swarm, notamment la scalabilité, la fiabilité et la flexibilité. Il est conçu pour gérer facilement les déploiements à grande échelle, ce qui permet aux organisations de redimensionner rapidement et facilement leurs applications selon leurs besoins. Il offre également un ensemble robuste de fonctionnalités, telles que les mises à jour en roulement, les capacités de réparation automatique et le déploiement automatisé. Enfin, Kubernetes est extrêmement extensible, ce qui permet aux organisations de personnaliser leurs déploiements en fonction de leurs besoins spécifiques.

Conclusion

Kubernetes est devenu la solution préférée pour les déploiements à grande échelle et d’entreprise grâce à ses avantages en matière de scalabilité, de fiabilité et de flexibilité. Bien que la transition de Docker Swarm à Kubernetes puisse être complexe et exiger une planification minutieuse, elle offre des avantages considérables pour les organisations qui souhaitent tirer parti des fonctionnalités avancées de Kubernetes. Les organisations doivent donc prendre le temps d’examiner attentivement les avantages et les inconvénients de chaque solution et de choisir celle qui répond le mieux à leurs besoins.

Source de l’article sur DZONE

Déployer GitLab sur AWS EC2 avec Walrus

Déployer GitLab sur AWS EC2 avec Walrus est une tâche complexe, mais pas impossible. Découvrez comment le faire dans ce tutoriel !

  • An AWS Account with access to EC2 and VPC.

  • A Walrus Account.

  • H2 : Walrus, plateforme open-source de gestion d’applications, équipe votre équipe avec des modèles conçus pour optimiser les meilleures pratiques. Dans cet article, nous vous guiderons à travers le processus de création d’un modèle AWS GitLab et déploiement d’un serveur GitLab sur une instance EC2 AWS.

  • An AWS account with permissions to create and manage EC2 instances.

  • A Walrus account with access to the Walrus CLI.

  • Creating the Template

    The first step is to create a template for your GitLab server. This template will define the configuration of the server, such as the instance type, the operating system, and the software packages that will be installed. You can use the Walrus CLI to create a template from scratch, or you can use one of the pre-built templates provided by Walrus.

    Une plateforme de gestion d’applications open source appelée Walrus équipe votre équipe de modèles conçus pour optimiser les meilleures pratiques. Dans cet article, nous vous guiderons à travers le processus de création d’un modèle AWS GitLab et de déploiement d’un serveur GitLab sur une instance EC2 AWS.

    Prérequis

    1. Un dépôt GitHub ou GitLab pour stocker le modèle.

    2. Un compte AWS avec les autorisations nécessaires pour créer et gérer des instances EC2.

    3. Un compte Walrus avec accès à la ligne de commande Walrus.

    Créer le modèle

    La première étape consiste à créer un modèle pour votre serveur GitLab. Ce modèle définira la configuration du serveur, telles que le type d’instance, le système d’exploitation et les logiciels qui seront installés. Vous pouvez utiliser la ligne de commande Walrus pour créer un modèle à partir de zéro ou utiliser l’un des modèles préconstruits fournis par Walrus.

    Une fois que vous avez créé le modèle, vous pouvez le stocker dans votre dépôt GitHub ou GitLab. Vous pouvez ensuite utiliser le logiciel Walrus pour déployer le modèle sur votre instance EC2. Le logiciel Walrus vous permet de définir des paramètres tels que la taille de l’instance, le système d’exploitation et les packages logiciels à installer. Une fois que vous avez configuré tous les paramètres, vous pouvez cliquer sur le bouton « Déployer » pour déployer le modèle sur votre instance EC2.

    Une fois le déploiement terminé, vous pouvez accéder à votre serveur GitLab en utilisant l’adresse IP publique de votre instance EC2. Vous pouvez également utiliser le logiciel Walrus pour surveiller l’état de votre serveur GitLab et mettre à jour le modèle si nécessaire. Vous pouvez également utiliser le logiciel Walrus pour sauvegarder et restaurer votre serveur GitLab en cas de problème.

    Source de l’article sur DZONE

    Recherche dépasse les bonnes pratiques: une pensée de leadership Google

    Découvrez comment la recherche de Google dépasse les bonnes pratiques et révèle une nouvelle pensée de leadership !

    La puissance de la prise de décision basée sur la recherche

    Google’s commitment to research-driven decision-making has enabled it to stay ahead of the competition. By leveraging data and insights from research, Google is able to identify trends and anticipate customer needs. This allows the company to develop new products and services that meet the changing needs of the market. Additionally, Google’s research-focused approach has enabled the company to identify opportunities for growth and develop strategies to capitalize on them.

    Google’s research-driven leadership approach has been a major factor in its success. The company has consistently been able to stay ahead of the competition by leveraging data and insights from research. This has enabled Google to develop innovative products and services that meet the changing needs of the market. Additionally, Google’s research-focused approach has enabled the company to identify opportunities for growth and develop strategies to capitalize on them.

    Pourquoi les autres organisations devraient adopter cette stratégie

    Les organisations qui souhaitent rester compétitives doivent adopter une approche de leadership axée sur la recherche. Les données et les informations recueillies par la recherche peuvent aider les entreprises à mieux comprendre leurs clients et à identifier des tendances et des opportunités. En outre, l’utilisation des données pour prendre des décisions peut aider les entreprises à développer des produits et services innovants qui répondent aux besoins changeants du marché.

    En outre, l’utilisation de données pour prendre des décisions peut aider les entreprises à réduire leurs risques et à améliorer leurs performances. Les données peuvent également aider les entreprises à mieux comprendre leurs clients et à identifier des opportunités de croissance. Enfin, l’utilisation des données pour prendre des décisions peut aider les entreprises à améliorer leur efficacité et à réduire leurs coûts.

    En conclusion, l’utilisation de données pour prendre des décisions est un élément essentiel de la stratégie de leadership de Google. Cette approche a permis à l’entreprise de rester compétitive et d’innover constamment. Les autres organisations devraient également envisager d’adopter cette stratégie pour rester compétitives et réussir dans un environnement commercial en constante évolution.

    Source de l’article sur DZONE

    Lancement en canari: Stratégie pour déploiements logiciels sans heurts.

    Le lancement en canari est une stratégie efficace pour déployer des logiciels sans heurts et avec succès. Découvrez comment cette méthode peut vous aider à améliorer vos processus de déploiement !

    ## Les versions canaries : bénéfices et meilleures pratiques

    Les développements logiciels sont souvent accompagnés de mises à jour ou de nouvelles fonctionnalités. Cependant, cela présente des risques et des incertitudes, ce qui en fait une tâche intimidante. Les organisations cherchent à éviter les perturbations de l’expérience utilisateur et du système causées par les nouvelles versions. C’est là que les versions canaries deviennent importantes. Les versions canaries offrent une méthode contrôlée et progressive pour déployer des mises à jour logicielles, réduisant ainsi les risques et obtenant des commentaires cruciaux avant le déploiement à grande échelle.

    Dans cet article, nous allons explorer le concept des versions canaries, leurs avantages et les meilleures pratiques pour les mettre en œuvre.

    Les versions canaries sont une méthode de déploiement qui consiste à déployer une version d’un logiciel à un petit groupe d’utilisateurs avant de le déployer à l’ensemble de la base d’utilisateurs. Ce groupe est appelé «groupe canary» et est composé d’utilisateurs qui sont prêts à tester le logiciel et à fournir des commentaires sur sa qualité et son fonctionnement. Les versions canaries peuvent être déployées sur un serveur ou un réseau distinct afin de ne pas affecter le système principal. Une fois que le logiciel a été testé et que les commentaires ont été collectés, il peut être déployé à l’ensemble de la base d’utilisateurs.

    Les versions canaries offrent plusieurs avantages. Tout d’abord, elles permettent aux organisations de tester leurs logiciels avant leur déploiement à grande échelle. Cela permet aux organisations de trouver et de corriger les bugs avant qu’ils ne se propagent à l’ensemble de la base d’utilisateurs. De plus, les versions canaries permettent aux organisations de collecter des commentaires sur la qualité et le fonctionnement du logiciel avant son déploiement à grande échelle. Les commentaires peuvent être utilisés pour améliorer le logiciel avant qu’il ne soit déployé à l’ensemble de la base d’utilisateurs.

    Les versions canaries peuvent être mises en œuvre en utilisant une base de données pour stocker les informations relatives aux versions canaries. Les informations peuvent inclure la version du logiciel, le groupe d’utilisateurs cible, la date de déploiement et les commentaires des utilisateurs. Une fois que toutes les informations sont stockées dans la base de données, elles peuvent être consultées par les responsables du projet pour prendre des décisions sur le déploiement du logiciel. De plus, la base de données peut être utilisée pour suivre les performances du logiciel après son déploiement à grande échelle.

    En conclusion, les versions canaries sont une méthode utile pour tester et déployer des logiciels. Elles offrent aux organisations un moyen de tester leurs logiciels avant leur déploiement à grande échelle et de collecter des commentaires sur la qualité et le fonctionnement du logiciel avant son déploiement à grande échelle. Les versions canaries peuvent être mises en œuvre en utilisant une base de données pour stocker les informations relatives aux versions canaries et pour suivre les performances du logiciel après son déploiement à grande échelle.

    Source de l’article sur DZONE

    Former des données avec ChatGPT : Guide pour développeurs

    Apprenez à former des données avec ChatGPT et découvrez comment les développeurs peuvent tirer le meilleur parti de cette technologie puissante !

    ## Le lancement de ChatGPT par OpenAI a été transformateur pour l’intelligence conversationnelle AI. Impressionnant hors de la boîte, les capacités de ChatGPT sont intrinsèquement limitées par ses données d’entraînement fixes de 2021. Pour les développeurs de logiciels et les entreprises technologiques, l’entraînement de ChatGPT sur des jeux de données personnalisés est essentiel pour créer des assistants IA personnalisés qui évoluent avec votre entreprise.

    Dans ce guide complet, nous explorerons les meilleures pratiques pour les équipes de logiciels afin de former des modèles ChatGPT personnalisés à l’aide de techniques telles que le réglage fin et la lecture interactive MEMWALKER.

    Testing is a critical part of training ChatGPT models. It’s important to evaluate the performance of your model against a test dataset to ensure that it’s accurately predicting the desired output. Testing also helps identify any potential issues with the model, such as overfitting or underfitting. To get the most out of testing, it’s important to use a variety of metrics, such as accuracy, precision, recall, and F1 score.

    Le lancement de ChatGPT par OpenAI a été transformateur pour l’intelligence conversationnelle IA. Impressionnant à l’état brut, les capacités de ChatGPT sont intrinsèquement limitées par ses données d’entraînement fixes de 2021. Pour les développeurs de logiciels et les entreprises technologiques, l’entraînement de ChatGPT sur des ensembles de données personnalisés est essentiel pour créer des assistants IA adaptés à votre entreprise.

    Dans ce guide complet, nous explorerons les meilleures pratiques pour les équipes de logiciels afin de former des modèles ChatGPT personnalisés à l’aide de techniques telles que le réglage fin et la lecture interactive MEMWALKER.

    Le test est une étape essentielle de l’entraînement des modèles ChatGPT. Il est important d’évaluer les performances de votre modèle sur un jeu de données de test pour s’assurer qu’il prédit correctement la sortie souhaitée. Les tests permettent également d’identifier tout problème potentiel avec le modèle, tel que le surapprentissage ou le sous-apprentissage. Pour tirer le meilleur parti des tests, il est important d’utiliser une variété de métriques, telles que la précision, la précision, le rappel et le score F1.

    Source de l’article sur DZONE

    Systèmes distribués: le split-brain

    Les systèmes distribués sont une technologie complexe qui peut présenter des risques, tels que le split-brain. Apprenons à mieux comprendre ce phénomène et à le gérer.

    Le problème du Split-Brain

    Split-brain can be caused by a variety of factors, including network partitions, hardware failures, or software bugs. It can also be triggered by intentional actions, such as when an administrator deliberately isolates a node from the cluster. In any case, the result is the same: two or more isolated groups of nodes, each with its own view of the data.

    Real-World Example

    A real-world example of split-brain occurred in 2017 when a major outage affected Amazon Web Services’ S3 storage service. The outage was caused by a network partition that split the S3 cluster into two isolated groups. As a result, some requests to the S3 service were routed to one group, while others were routed to the other group. This caused data inconsistency and led to widespread disruption.

    The S3 outage serves as a reminder of the importance of testing distributed systems for split-brain scenarios. While it is impossible to completely eliminate the risk of split-brain, it is possible to reduce the impact by designing systems that are resilient to network partitions and other forms of failure.

    Best Practices

    When designing distributed systems, it is important to consider how the system will handle split-brain scenarios. In some cases, it may be possible to use techniques such as quorum or leader election to minimize the impact of split-brain. However, these techniques should be used with caution, as they can introduce additional complexity and overhead.

    In general, the best approach is to design systems that are resilient to network partitions and other forms of failure. This can be achieved by using techniques such as replication, redundancy, and fault tolerance. It is also important to test distributed systems for split-brain scenarios before they are deployed in production.

    Le problème du Split-Brain

    Dans les systèmes distribués, il est essentiel de maintenir une vue cohérente des données sur tous les nœuds pour un fonctionnement correct. Lorsqu’un scénario de split-brain se produit, chaque groupe partitionné peut recevoir des mises à jour différentes, ce qui entraîne une incohérence des données et rend difficile la résolution des conflits lorsque les partitions se reconnectent finalement.

    Le split-brain peut être causé par une variété de facteurs, notamment des partitions réseau, des pannes matérielles ou des bogues logiciels. Il peut également être déclenché par des actions intentionnelles, telles que lorsqu’un administrateur isole délibérément un nœud du cluster. Dans tous les cas, le résultat est le même : deux ou plusieurs groupes isolés de nœuds, chacun ayant sa propre vue des données.

    Exemple concret

    Un exemple concret de split-brain s’est produit en 2017 lorsqu’une panne majeure a affecté le service de stockage S3 d’Amazon Web Services. La panne était causée par une partition réseau qui a divisé le cluster S3 en deux groupes isolés. En conséquence, certaines demandes au service S3 ont été acheminées vers un groupe, tandis

    Source de l’article sur DZONE

    Augmenter la sécurité AD avec MFA en local.

    Augmenter la sécurité des réseaux locaux avec l’authentification à deux facteurs (MFA) est une solution efficace pour protéger les données sensibles. Découvrez comment mettre en place cette solution sur votre Active Directory !

    Dans l’ère numérique d’aujourd’hui, le pilier de l’infrastructure informatique de toute organisation est son annuaire Active Directory (AD). Ce service d’annuaire centralisé gère l’authentification et l’autorisation, ce qui le rend essentiel pour protéger les données sensibles et maintenir l’intégrité du système.

    To further enhance security, organizations are increasingly turning to database security best practices. This includes implementing robust access control measures, encrypting data, and regularly auditing and monitoring databases for suspicious activity.

    Dans l’ère numérique d’aujourd’hui, le pilier de l’infrastructure informatique de toute organisation est son Active Directory (AD). Ce service de répertoire centralisé gère l’authentification et l’autorisation, ce qui est essentiel pour protéger les données sensibles et maintenir l’intégrité du système.

    Cependant, à mesure que le paysage technologique évolue, les méthodes employées par les cybercriminels pour contourner les mesures de sécurité évoluent également. C’est là que l’authentification à facteurs multiples (MFA) entre en jeu, se présentant comme une défense redoutable contre l’accès non autorisé et les violations de données.

    Pour renforcer davantage la sécurité, les organisations se tournent de plus en plus vers les meilleures pratiques de sécurité des bases de données. Cela inclut la mise en œuvre de mesures de contrôle d’accès robustes, le chiffrement des données et l’audit et le suivi réguliers des bases de données pour détecter toute activité suspecte.

    Source de l’article sur DZONE

    Révision de code sécurisée

    La sécurité des systèmes informatiques est une priorité absolue. La révision de code sécurisée est un moyen essentiel pour assurer la sécurité des données et des systèmes.

    ## Examen de code sécurisé : essentiel pour assurer la sécurité et l’intégrité des applications logicielles

    La revue de code sécurisée est essentielle pour assurer la sécurité et l’intégrité des applications logicielles. En examinant la base de code à la recherche de vulnérabilités et de faiblesses potentielles, les développeurs peuvent identifier et traiter les problèmes de sécurité avant que des acteurs malveillants ne les exploitent. Cet article discutera des meilleures pratiques pour mener une revue de code sécurisée complète et efficace.

    Définir les exigences de sécurité

    Avant de commencer une revue de code, il est essentiel d’établir des exigences de sécurité précises pour l’application. Ces exigences doivent être conformes aux meilleures pratiques et aux normes de conformité pertinentes pour votre projet. En définissant les objectifs et objectifs de sécurité à l’avance, le réviseur peut fournir un cadre pour évaluer le code et identifier les éventuelles lacunes en matière de sécurité.

    Analyse de l’architecture

    Une fois les exigences de sécurité définies, le réviseur peut passer à l’analyse de l’architecture. Il est important d’examiner la structure globale du code et de comprendre comment les différents composants interagissent entre eux. Cette étape permet au réviseur d’identifier des points faibles potentiels et d’analyser la façon dont les données sensibles sont traitées et stockées. Il est également important de vérifier si l’application respecte les normes de sécurité et les bonnes pratiques en matière d’architecture.

    Examen du code source

    Une fois que l’architecture a été analysée, le réviseur peut passer à l’examen du code source. Cette étape implique la recherche de vulnérabilités potentielles, telles que les failles d’injection SQL, les failles XSS et les failles de type buffer overflow. Il est également important de vérifier si le code respecte les normes et les bonnes pratiques en matière de codage. Le réviseur peut également rechercher des erreurs logiques ou des erreurs dans le traitement des données sensibles.

    Source de l’article sur DZONE

    Pratiques de développement pour logiciels de qualité sup.

    Le développement de logiciels de qualité supérieure nécessite des pratiques rigoureuses et innovantes. Découvrez comment les mettre en œuvre pour obtenir des résultats optimaux.

    Les 10 meilleures pratiques pour développer un logiciel de haute qualité

    Premièrement, l’une des pratiques les plus importantes pour le développement de logiciels de qualité est de bien documenter le code. Cela signifie que chaque ligne de code doit être accompagnée d’une explication claire et précise de ce qu’elle fait. Cela permet aux autres développeurs de comprendre facilement le code et d’effectuer des modifications en conséquence. De plus, cela permet aux développeurs de repérer rapidement les erreurs et de les corriger sans perdre du temps.

    Deuxièmement, il est important d’effectuer des tests exhaustifs sur le code. Les tests doivent couvrir tous les scénarios possibles et vérifier si le code fonctionne correctement. Les tests doivent également être effectués sur différents systèmes d’exploitation et sur différents navigateurs. Les tests peuvent également être effectués sur des données réelles afin de vérifier si le code fonctionne correctement avec des données réelles.

    Enfin, il est important de s’assurer que le logiciel est sûr et conforme aux normes de sécurité. Les développeurs doivent s’assurer que le logiciel est protégé contre les attaques extérieures et que les données des utilisateurs sont protégées. Les développeurs doivent également s’assurer que toutes les données sont stockées et traitées en toute sécurité et que les données ne sont pas compromises. Les développeurs doivent également s’assurer que le logiciel est conforme aux lois et réglementations en vigueur en matière de protection des données.

    Source de l’article sur DZONE