Articles

Qu'est-ce qu'une file d'attente de fusion et pourquoi l'utiliser ?

Une file d’attente de fusion est un outil pratique qui peut être utilisé pour gérer et organiser les demandes d’accès à des ressources limitées. Découvrez pourquoi cette méthode est si utile !

C’est une bonne question, n’est-ce pas? En effet, si ce n’était qu’un terme peu connu il y a quelques mois, les files d’attente de fusion sont de plus en plus discutées. Entre les annonces des leaders comme GitHub et les vraies solutions techniques, les files d’attente de fusion sont de plus en plus adoptées par les équipes de développement logiciel.

La question est bonne, n’est-ce pas ? En effet, si ce terme était encore peu connu il y a quelques mois, les files d’attente de fusion sont de plus en plus discutées. Entre les annonces des leaders comme GitHub et les solutions techniques réelles, les files d’attente de fusion sont de plus en plus adoptées par les équipes de développement logiciel.

Vous plongerez donc dans ce sujet pour comprendre ce qu’est une file d’attente de fusion, dans quelles situations elles sont utiles mais aussi comment elles fonctionnent en pratique.

Une file d’attente de fusion est un outil qui permet aux équipes de développement logiciel de gérer leurs demandes de fusion. Cela permet aux développeurs de soumettre leurs demandes de fusion et aux responsables de les accepter ou de les rejeter. Les files d’attente de fusion peuvent être utilisées pour gérer le flux de travail des demandes de fusion, pour organiser le travail et pour faciliter le processus de test et de validation.

Les files d’attente de fusion sont particulièrement utiles lorsque les équipes de développement sont composées de plusieurs personnes. Elles permettent aux développeurs de soumettre leurs demandes de fusion et aux responsables d’accepter ou de rejeter ces demandes. Les files d’attente de fusion peuvent également être utilisées pour surveiller le processus de test et de validation des demandes de fusion. Cela permet aux responsables d’avoir une vue d’ensemble des demandes et des tests en cours.

Enfin, les files d’attente de fusion peuvent être utilisées pour automatiser certaines tâches. Par exemple, lorsqu’une demande est acceptée, elle peut être automatiquement envoyée à un outil de test automatisé pour être testée. Cela permet aux équipes de développement d’effectuer des tests plus rapidement et plus efficacement. De plus, les outils peuvent être configurés pour envoyer des notifications aux développeurs lorsque des tests échouent, ce qui permet aux équipes de résoudre rapidement les problèmes.

Source de l’article sur DZONE

Outils et technologies CI/CD : libérez le pouvoir de DevOps.

Les outils et technologies CI/CD sont essentiels pour libérer le pouvoir de DevOps et optimiser votre cycle de développement. Découvrez comment!

Dans le monde trépidant du développement logiciel, l’intégration et le déploiement continus (CI / CD) sont devenus des pratiques indispensables dans les services DevOps.

Continuous Integration (CI)

Continuous Integration is a practice that enables developers to integrate code into a shared repository frequently. This allows teams to detect and fix errors quickly, as well as identify potential conflicts between different branches of code. Jenkins is the most popular CI tool, offering a wide range of features such as automated builds, tests, and deployments. Additionally, Jenkins integrates with a variety of other tools, allowing developers to create complex pipelines for their CI/CD process.

Continuous Delivery (CD)

Continuous Delivery is the practice of automating the process of delivering software updates to production. This ensures that software updates are released more quickly and reliably. To achieve this, developers rely on tools like Ansible and Chef for configuration management and deployment automation. These tools allow developers to define the desired state of their infrastructure and automate the process of provisioning and configuring servers. Additionally, they enable teams to deploy applications to multiple environments with minimal effort.

Conclusion

In conclusion, CI/CD is an essential practice in DevOps services that enables teams to deliver software updates more frequently and reliably. To achieve this, developers rely on a range of cutting-edge tools and technologies such as version control systems, continuous integration tools, and continuous delivery tools. By leveraging these tools, teams can streamline their workflows and automate various stages of the development process, ensuring smooth and reliable software delivery.

Système de contrôle de version (SCV)

Une base solide pour tout processus CI / CD dans les services DevOps est un système de contrôle de version robuste. Git est le SCV le plus utilisé, offrant des capacités puissantes de branchement et de fusion. Les développeurs peuvent collaborer sans heurts, suivre les modifications et résoudre les conflits efficacement, ce qui garantit que le code reste stable et sécurisé. GitHub, GitLab et Bitbucket sont des plateformes populaires qui intègrent Git et offrent des fonctionnalités supplémentaires telles que le suivi des problèmes, les revues de code et la gestion de projet.

Intégration continue (CI)

L’intégration continue est une pratique qui permet aux développeurs d’intégrer fréquemment du code dans un dépôt partagé. Cela permet aux équipes de détecter et de corriger rapidement les erreurs, ainsi que d’identifier les éventuels conflits entre différentes branches de code. Jenkins est l’outil CI le plus populaire, offrant une gamme étendue de fonctionnalités telles que des builds automatisés, des tests et des déploiements. De plus, Jenkins s’intègre à une variété d’autres outils, permettant aux développeurs de créer des pipelines complexes pour leur processus CI / CD.

Livraison continue (CD)

La livraison continue est la pratique qui consiste à automatiser le processus de livraison des mises à jour logicielles en production. Cela garantit que les mises à jour logicielles sont publiées plus rapidement et plus fiablement. Pour y parvenir, les développeurs s’appuient sur des outils tels qu’Ansible et Chef pour la gestion de la configuration et l’automatisation du déploiement. Ces outils permettent aux développeurs de définir l’état souhaité de leur infrastructure et d’automatiser le processus de mise en place et de configuration des serveurs. De plus, ils permettent aux équipes de déployer des applications sur plusieurs environnements avec un effort minimal.

Conclusion

En conclusion, CI / CD est une pratique essentielle dans les services DevOps qui permet aux équipes de livrer des

Source de l’article sur DZONE

Garder son emploi, mais pas le même.

Garder son emploi est une décision difficile à prendre lorsque l’on souhaite changer de métier, mais c’est possible ! Découvrez comment.

## Est-ce que le examen OCP a encore du sens?

Récemment, j’ai consacré trois articles à mon étude réticente pour l’examen OCP-17 Java, en donnant des conseils sur la façon de rendre l’effort moins pénible. Je ne l’ai pas encore passé. Avec chaque nouvelle avancée en assistance à la programmation IA, affiner vos compétences en tant que compilateur humain me semble de plus en plus anachronique. C’était toujours un acte de masochisme, mais je suis de plus en plus convaincu qu’il n’y a aucun avantage professionnel à devenir bon dans quelque chose que la machine est supérieure. Je concède que toute poursuite peut être bénéfique ou agréable pour des raisons autres que la simple utilité, mais en tant que développeur, je suis payé pour être productif. Passer un bon moment au travail est un plus, et les compétences que l’OCP exige ne sont pas mon idée de plaisir.

De nombreuses tâches intellectuelles qui sont difficiles pour les humains sont faciles pour les ordinateurs (échecs, arithmétique, apprentissage par cœur) et le sont depuis des décennies. Nous avons inventé les langages de programmation de haut niveau et la collecte des déchets car les êtres humains sont terribles pour inverser les bits et gérer la mémoire. La feuille de route des langages informatiques et des outils est celle de l’abstraction croissante. GitHub Copilot et ses semblables ne sont que la prochaine étape inévitable pour éliminer la complexité accidentelle.

Bien que je sois un développeur expérimenté, je n’ai pas le temps ou l’envie de passer des heures à apprendre des concepts qui ne sont pas directement liés à mon travail quotidien. De plus, je ne vois pas l’intérêt de passer un examen qui ne me donnera pas une certification reconnue par l’industrie. Cependant, je suis conscient que l’utilisation des données est essentielle pour les développeurs modernes. Les données sont utilisées pour prendre des décisions, améliorer les performances et créer des produits innovants. Les développeurs doivent être à l’aise avec les bases de données, l’analyse des données et le traitement des données. Les compétences en matière de données sont très recherchées par les employeurs et peuvent être acquises par le biais d’un cours ou d’une formation en ligne.

Je pense que les développeurs doivent se concentrer sur leurs compétences en matière de données plutôt que sur l’apprentissage d’un langage de programmation spécifique. Les technologies évoluent rapidement et il est important de rester à jour. Les développeurs doivent être en mesure d’utiliser les technologies les plus récentes et les plus pertinentes pour leurs projets. Les compétences en matière de données sont essentielles pour réussir dans ce domaine et devraient être une priorité pour tout développeur.

Source de l’article sur DZONE

Ne Pas Utiliser de Credentiels dans une CI/CD Pipeline

Les pipelines CI/CD sont des outils puissants, mais il est important de ne pas utiliser de credentiels sensibles pour éviter les risques de sécurité.

Comment Donner un Accès Sécurisé à des Services Tiers Sans Utiliser de Clés Secrètes

OpenID Connect (OIDC) is a protocol that allows users to authenticate themselves with an external identity provider, such as Auth0 or Okta. It works by exchanging an access token between the identity provider and the application. This token is cryptographically signed and contains a set of claims about the user, such as their name, email, and other attributes. The application can then use this token to authenticate the user and grant them access to resources.

En tant qu’utilisateur qui construit et maintient des infrastructures cloud, j’ai toujours été méfiant du point de vue de la sécurité lorsque je donne un accès à des services tiers, tels que les plateformes CI/CD. Tous les fournisseurs de services prétendent prendre des précautions strictes et mettre en œuvre des processus infaillibles, mais les vulnérabilités sont toujours exploitées et les erreurs arrivent. Par conséquent, ma préférence est d’utiliser des outils qui peuvent être hébergés en interne. Cependant, je ne peux pas toujours avoir le choix si l’organisation est déjà engagée auprès d’un partenaire externe, tel que Bitbucket Pipelines ou GitHub Actions. Dans ce cas, pour appliquer un IaC Terraform ou déployer un groupe d’échelle automatique, il n’y a pas d’autre choix que de fournir à l’outil externe une clé secrète API, n’est-ce pas ? Faux ! Avec la prolifération de OpenID Connect, il est possible de donner aux plates-formes tierces un accès basé sur des jetons qui n’exige pas de clés secrètes.

Le problème avec une clé secrète est qu’il y a toujours une chance qu’elle soit divulguée. Le risque augmente plus elle est partagée, ce qui se produit lorsque des employés quittent et que de nouveaux arrivent. L’un d’entre eux peut le divulguer intentionnellement ou ils peuvent être victimes d’une hameçonnage ou d’une violation. Lorsqu’une clé secrète est stockée dans un système externe, cela introduit un tout nouvel ensemble de vecteurs de fuite potentiels. Atténuer le risque implique de changer périodiquement les informations d’identification, ce qui est une tâche qui n’ajoute pas de valeur perceptible.

OpenID Connect (OIDC) est un protocole qui permet aux utilisateurs de s’authentifier auprès d’un fournisseur d’identité externe, tel qu’Auth0 ou Okta. Il fonctionne en échangeant un jeton d’accès entre le fournisseur d’identité et l’application. Ce jeton est signé de manière cryptographique et contient un ensemble de revendications sur l’utilisateur, telles que son nom, son adresse électronique et d’autres attributs. L’application peut ensuite utiliser ce jeton pour authentifier l’utilisateur et lui donner accès aux ressources.

Les jetons OIDC sont une alternative intéressante aux clés secrètes pour donner aux plates-formes tierces un accès limité aux ressources cloud. Les jetons sont générés par le fournisseur d’identité et peuvent être limités à une durée de vie spécifique et à un ensemble de revendications spécifiques. De plus, ils peuvent être révoqués à tout moment par le fournisseur d’identité si nécessaire. Les jetons OIDC sont donc une solution plus sûre et plus flexible pour donner aux plates-formes tierces un accè

Source de l’article sur DZONE

GitHub: Une Clé SSH Privée Dévoilée: Que Faut-il Savoir?

GitHub est une plateforme très populaire pour le partage et le développement de logiciels. Mais que faut-il savoir si une clé SSH privée est dévoilée? Découvrons-le ensemble!

« Déclaration sur les fuites de secrets: GitHub a récemment découvert une exposition de clé privée SSH RSA »

GitHub a récemment annoncé sur son blog une exposition de clé privée SSH :

La semaine dernière, GitHub a découvert que la clé privée RSA SSH de GitHub.com était brièvement exposée dans un dépôt GitHub public.

La société a rassuré le public en expliquant que cette clé n’était utilisée que pour sécuriser les opérations Git via SSH à l’aide de RSA, ce qui signifie que aucun système interne, aucune donnée client ni aucune connexion TLS sécurisée n’était en danger. Ils ont réagi immédiatement en détectant l’incident et en changeant la clé :

GitHub a également annoncé qu’ils allaient mener des tests supplémentaires pour s’assurer que leur infrastructure est sûre et qu’il n’y a pas d’autres problèmes de sécurité. Ils ont déclaré qu’ils allaient travailler avec des experts externes pour vérifier leurs systèmes et leurs pratiques de sécurité.

GitHub a également déclaré qu’ils allaient mettre en place des mesures supplémentaires pour s’assurer que ce type d’incident ne se reproduise pas. Ils ont déclaré qu’ils allaient améliorer leurs processus de contrôle et de surveillance, et qu’ils allaient tester leurs systèmes plus fréquemment. Ils ont également annoncé qu’ils allaient former leurs employés à la sécurité et à la confidentialité des données.

Source de l’article sur DZONE

Création de code de transaction de compensation pour Saga Participant

La création d’un code de transaction de compensation pour les participants à Saga est une étape importante pour assurer une expérience de jeu équitable et sécurisée.

La saga Pattern est utilisée pour fournir une intégrité des données entre plusieurs services et le faire pour des transactions potentiellement à long terme. Il existe de nombreux blogs, superficiels car ils tendent à l’être, sur les sagas et les transactions à long terme. Dans cet article, je ne rentrerai pas dans les détails en comparant les avantages et les inconvénients des sagas avec le protocole XA deux phases (2PC), le verrouillage distribué, etc., et je dirai simplement que XA et 2PC nécessitent des verrous distribués (inconvénient) qui gèrent les propriétés ACID de sorte que l’utilisateur puisse simplement exécuter un rollback ou un commit (avantage) alors que les sagas n’utilisent que des transactions locales et n’ont donc pas besoin de verrous distribués (avantage) mais nécessitent que l’utilisateur implémente la logique de compensation, etc. (inconvénient). Comme l’a dit Teddy Roosevelt, «Rien de bon ne vient facilement».

Ce que je ferai, c’est montrer un exemple de code complet d’une application microservices impliquant une saga, y compris la logique de compensation des participants, qui peut être trouvée dans ce dépôt.

La saga pattern est utilisée pour assurer l’intégrité des données entre plusieurs services et pour effectuer des transactions de longue durée. Il existe de nombreux blogs, superficiels, sur les sagas et les transactions de longue durée. Dans cet article, je ne vais pas entrer dans les détails en comparant les avantages et les inconvénients des sagas avec le protocole XA à deux phases (2PC), le verrouillage distribué, etc., et je dirai simplement que XA et 2PC nécessitent des verrous distribués (inconvénient) qui gèrent les propriétés ACID de sorte que l’utilisateur puisse simplement exécuter un rollback ou un commit (avantage), alors que les sagas n’utilisent que des transactions locales et ne nécessitent donc pas de verrous distribués (avantage) mais nécessitent que l’utilisateur implémente la logique de compensation, etc. (inconvénient). Comme l’a dit Teddy Roosevelt : «Rien de bien ne vient facilement».

Ce que je vais faire, c’est montrer un exemple de code complet d’une application microservices impliquant une saga, y compris la logique de compensation des participants, qui peut être trouvée dans ce dépôt.

L’utilisation des sagas pour gérer les transactions de longue durée est une pratique courante dans le développement d’applications microservices. Les sagas sont un moyen efficace de garantir l’intégrité des données entre plusieurs services et de gérer les transactions à long terme. Les sagas sont une bonne alternative aux protocoles XA à deux phases (2PC) et au verrouillage distribué car elles n’utilisent que des transactions locales et ne nécessitent pas de verrous distribués. Cependant, elles nécessitent que l’utilisateur implémente la logique de compensation, etc., ce qui peut être complexe et prendre du temps.

Les sagas sont une excellente solution pour gérer les transactions à long terme car elles offrent une grande flexibilité et une bonne gestion des données. Les sagas sont particulièrement utiles pour les applications qui impliquent plusieurs services car elles peuvent garantir la cohérence des données entre ces services. De plus, les sagas peuvent être facilement mises en œuvre dans un environnement microservices car elles peuvent être facilement intégrées aux services existants. Enfin, les sagas peuvent être facilement mises à jour pour prendre en charge les changements dans le système et ainsi garantir la cohérence des données.

Les sagas sont un outil puissant pour garantir l’intégrité des données entre plusieurs services et pour gérer les transactions à long terme. Bien qu’elles nécessitent une implémentation complexe et prennent du temps, elles offrent une grande flexibilité et une bonne gestion des données. Elles peuvent également être facilement intégrées aux services existants et mises à jour pour prendre en charge les changements dans le système. Les sagas sont donc un excellent outil pour garantir la cohérence des données entre plusieurs services et pour gérer les transactions à long terme.

Source de l’article sur DZONE

Surveillance Linux OS avec HertzBeat Open Source en temps réel.

Surveiller votre système Linux avec HertzBeat Open Source en temps réel pour une meilleure sécurité et une plus grande efficacité!

## Introduction à HertzBeat

Introduction à HertzBeat

HertzBeat est un système de surveillance en temps réel open source, facile à utiliser et convivial qui ne nécessite pas d’agent et dispose de puissantes fonctionnalités de surveillance personnalisée. Il intègre la surveillance, l’alarme et la notification, prend en charge la surveillance des services applicatifs, des bases de données, des systèmes d’exploitation, du middleware, du cloud natif, etc., des alarmes seuil et des notifications d’alarme (e-mail WeChat Dingding Feishu SMS Slack Discord Telegram). Il possède des spécifications de protocole configurables telles que Http, Jmx, Ssh, Snmp, Jdbc, etc. Vous n’avez qu’à configurer YML pour utiliser ces protocoles afin de personnaliser et de collecter n’importe quel indicateur que vous souhaitez collecter. Pouvez-vous croire que vous pouvez adapter immédiatement un nouveau type de surveillance, tel que K8s ou Docker, simplement en configurant YML?

La puissante personnalisation, le support multi-types, l’expansion facile et le faible couplage d’HertzBeat espèrent aider les développeurs et les petites et moyennes équipes à construire rapidement leur propre système de surveillance. En tant qu’informaticien enthousiaste, je suis très intéressé par l’architecture HertzBeat et je suis impatient de l’essayer. HertzBeat est une excellente solution pour les développeurs qui souhaitent créer leur propre système de surveillance. Il est facile à installer et à configurer et offre une variété de fonctionnalités pour surveiller les performances des applications. Les utilisateurs peuvent surveiller les performances des applications et recevoir des notifications en cas de problème. HertzBeat est également très flexible et peut être configuré pour surveiller n’importe quel type d’application ou de service. La puissance de l’architecture HertzBeat permet aux développeurs de créer des systèmes de surveillance personnalisés pour leurs applications.

Source de l’article sur DZONE

Surveiller Apache Flink avec OpenTelemetry

Surveiller Apache Flink avec OpenTelemetry est une tâche importante pour assurer le bon fonctionnement des applications. Découvrez comment le faire facilement!

Support de surveillance Apache Flink disponible dans le collecteur OpenTelemetry open source

En tant qu’informaticien enthousiaste, je suis ravi d’apprendre que le support de surveillance Apache Flink est maintenant disponible dans le collecteur OpenTelemetry open source. Vous pouvez vérifier le dépôt OpenTelemetry ici ! Vous pouvez utiliser ce récepteur conjointement avec n’importe quel collecteur OTel : y compris le collecteur OpenTelemetry et d’autres distributions du collecteur.

Aujourd’hui, nous utiliserons la distribution OpenTelemetry d’observIQ et expédierons les télémétries Apache Flink vers un backend populaire : Google Cloud Ops. Vous pouvez en savoir plus sur la page GitHub : https://github.com/observIQ/observiq-otel-collector.

Le logiciel Apache Flink est un framework open source pour le traitement des données en temps réel et la gestion des flux de données. Il est conçu pour gérer des applications à grande échelle et fournit une solution hautement évolutive et fiable pour le traitement des données. La surveillance est l’une des fonctionnalités les plus importantes de Apache Flink, car elle permet aux utilisateurs de surveiller et de contrôler leurs applications en temps réel.

Grâce à l’ajout du support de surveillance Apache Flink à OpenTelemetry, les utilisateurs peuvent désormais surveiller leurs applications Apache Flink avec une précision et une granularité accrues. Les utilisateurs peuvent maintenant surveiller leurs applications Apache Flink à l’aide de la distribution OpenTelemetry d’observIQ et expédier les télémétries Apache Flink vers un backend populaire tel que Google Cloud Ops. Cela permet aux utilisateurs de surveiller leurs applications Apache Flink avec une précision et une granularité accrues, ce qui leur permet de prendre des décisions plus éclairées et de résoudre plus rapidement les problèmes.

Avec le support de surveillance Apache Flink dans OpenTelemetry, les utilisateurs peuvent maintenant surveiller leurs applications Apache Flink avec une précision et une granularité accrues. Cette fonctionnalité permet aux utilisateurs d’accéder à des informations plus détaillées sur leurs applications et de prendre des décisions plus éclairées. De plus, cela permet aux utilisateurs de résoudre rapidement les problèmes et d’améliorer la fiabilité et la performance de leurs applications.

Source de l’article sur DZONE

Créer des microservices Micronaut avec MicrostarterCLI

Créer des microservices Micronaut avec MicrostarterCLI est une excellente façon de développer des applications modernes et robustes. Essayez-le dès aujourd’hui!

MicrostarterCLI : Outil de développement rapide

Premier Paragraphe

En tant qu’informaticien enthousiaste, je suis ravi de vous présenter MicrostarterCLI, un outil de développement rapide qui permet aux développeurs de générer des codes, des configurations ou des modèles standard réutilisables dont ils ont besoin dans leur application. Dans un article précédent, j’ai décrit un exemple de base pour créer des points de terminaison REST et GraphQL dans une application Micronaut. Cet article démontre un exemple de démarrage d’une application de microservices Micronaut à l’aide de MicrostarterCLI. L’architecture de l’application est la suivante:

Deuxième Paragraphe

Le processus de test commence par la génération des fichiers nécessaires à l’application à l’aide de MicrostarterCLI. Une fois ces fichiers générés, le processus de test peut commencer. La première étape consiste à tester le code généré pour s’assurer qu’il fonctionne correctement et qu’il est conforme aux spécifications. La deuxième étape consiste à tester les API REST et GraphQL générées par MicrostarterCLI. Pour ce faire, nous utilisons un outil appelé Postman. Postman est un outil très utile pour tester les API REST et GraphQL. Il permet de tester rapidement et facilement les API et de vérifier si elles fonctionnent correctement.

Troisième Paragraphe

Une fois le test des API terminé, nous pouvons passer à la dernière étape du processus de test, à savoir le test des performances. Pour ce faire, nous utilisons un outil appelé JMeter. JMeter est un outil très puissant qui permet de tester les performances d’une application en simulant des charges réelles. Il permet également d’analyser les performances de l’application et de repérer les problèmes potentiels. Une fois le test des performances terminé, nous pouvons être sûrs que notre application est prête à être déployée en production.

Source de l’article sur DZONE

Utiliser FaceIO pour développer le module d'authentification d'utilisateur d'une application web basée sur l'IA.

Utiliser FaceIO pour développer le module d’authentification d’utilisateur d’une application web basée sur l’IA est une solution innovante et sécurisée. Découvrez comment cela fonctionne!

Comment développer le module de connexion d’utilisateur du projet d’application Web à l’aide de l’interface de service AI tiers

Dans le passé, le développement des systèmes d’informations web application a nécessité une fonction module d’authentification d’utilisateur indispensable. La fonction d’authentification d’utilisateur comprend l’enregistrement et l’authentification de connexion des utilisateurs. Dans les méthodes de développement passées, la manière courante de réaliser le module de fonction d’authentification d’utilisateur est d’utiliser l’e-mail et le SMS pour vérifier. Maintenant, de nombreux ordinateurs des utilisateurs sont équipés de caméras, qui peuvent pleinement utiliser la technologie d’intelligence artificielle de reconnaissance faciale pour réaliser l’authentification d’utilisateur. J’ai utilisé la bibliothèque JavaScript de FaceIO pour mettre en œuvre l’authentification d’utilisateur dans le projet web app.

Cet article présente principalement comment développer le module de connexion utilisateur du projet web application à travers l’interface de service AI tiers. Le code source du projet web application a été téléchargé sur GitHub et est basé sur le protocole MIT. Il n’y a pas de restrictions.

En tant qu’informaticien enthousiaste, j’ai trouvé que l’utilisation de la reconnaissance faciale pour l’authentification d’utilisateur était très pratique. En outre, j’ai également constaté que la base de données des services AI tiers était très riche et complète. Cela me permet de trouver facilement les informations dont j’ai besoin pour le développement du projet web application. De plus, ces services AI tiers fournissent également des API très pratiques pour intégrer leurs fonctions à mon projet. Grâce à ces API, je peux facilement intégrer la reconnaissance faciale à mon projet web application et réaliser l’authentification d’utilisateur.

Source de l’article sur DZONE