Comprendre le jargon des devs : 15 termes décryptés par un PM !
Vous vous êtes déjà retrouvé(e) dans une réunion où les devs parlent un langage étrange ? “Viens on PP sur cette PR cet aprem”, “J’ai voulu faire un rebase depuis la CLI mais ça na pas marché”...
Bienvenue sur le premier article de ma newsletter “Let’s Get Technical” (LGT pour les intimes) ! 🎉
Chaque mois, nous allons décortiquer deux sujet tech pour les rendre accessibles et compréhensible à tous les Product Managers. Parce que je crois fermement qu'un PM qui comprend ses développeurs favorise une collaboration fluide et innovante, essentielle pour créer des produits qui révolutionneront le marché.
Pour commencer notre voyage dans le monde de la tech, quoi de mieux que de démystifier les termes que l’on entend régulièrement sans toujours les comprendre ?
2FA (Two-Factor Authentication)
Un mot de passe ça peut se deviner ou se voler assez facilement. La 2FA est une méthode de sécurité faites pour palier à ça. Elle ajoute une deuxième étape de vérification, souvent via un code envoyé par SMS ou généré par une application qui permet de s’assurer de qui se connecte.
CDN (Content Delivery Network)
Imaginez si tous le monde regardait Bridgerton depuis le même serveur… Il ne pourrait pas subir la charge et ce serait trop lent. Un CDN c’est un réseau de serveurs répartis dans le monde pour distribuer le contenu web le plus près de l'utilisateur final, et donc plus rapidement.
CI/CD (Continuous Integration/Continuous Deployment)
Cela représente un ensemble de pratiques de développement logiciel ayant pour but d’automatiser les étapes d’intégration, de distribution et de déploiement. Les devs peuvent se concentrer sur le fait d’écrire le code et après la pipeline s’occupe de tout, du build au déploiement en production.
CLI (Command Line Interface)
Aussi appelée console ou terminal, c’est une interface permettant de rentrer des commandes textuelles pour interagir avec le système d'exploitation ou des logiciels.
CRUD (Create, Read, Update, Delete)
Cet acronyme représente les quatre opérations de base pour manipuler les données dans une base de données : créer, lire, mettre à jour et supprimer des informations.
IAM (Identity and Access Management)
Cela représente tous les process et technologies mis en place pour la gestion des utilisateurs et de leurs droits d'accès.
IDE (Integrated Development Environment)
Ce sont les logiciel regroupant des outils de développement comme un éditeur de code, un débogueur et un compilateur. Les plus connus sont Visual Studio Code (VS Code) édité par Microsoft, Eclipse ou les différents IDE édités par JetBrains comme PyCharm pour le Python.
IaaS (Infrastructure as a Service)
Cela représente les services cloud fournissant une infrastructure virtualisée (serveur, stockage, base de donnée, etc.) comme Amazon AWS, Microsoft Azure ou Google Cloud.
JWT (JSON Web Token)
C’est un standard pour la création de tokens qui permettent de transmettre des informations de manière sécurisée entre deux parties. C’est un objet JSON compact et auto-contenu, composé de trois parties : l'en-tête, la charge utile (payload) et la signature, chacune encodée en Base64.
Merge
C’est l’action de venir combiner les modifications de code réalisées dans une branche dédiée au code de la branche principale. L’action de merger est souvent géré par la CI après le passage de tests automatisés et va la plupart du temps entrainer grâce au CD le déploiement sur un environnement de test ou de production.
OWASP (Open Web Application Security Project)
C’est une organisation fournissant des standards et des guides pour améliorer la sécurité des applications web. Elle est connu pour publier le OWASP Top 10 qui liste les vulnérabilités les plus critiques pour une application.
PP (Pair Programming)
C’est une méthode de développement où deux développeurs travaillent ensemble sur le même poste de travail pour écrire du code. L'un écrit le code tandis que l'autre observe et vient apporter son point de vue sur les potentielles erreurs ou alternatives de développement. Cette méthode améliore la qualité du code, réduit les erreurs et favorise le partage des connaissances.
PR (Pull Request)
Une PR est une proposition de modification du code que l’on souhaite intégrer dans la branche principale(main). Elle comprend des commits qui sont les modifications de chaque fichier et sert de base à la revue de code.
Rebase
Pour créer une nouvelle feature, on créé une branche à un instant T depuis la branche principale (main) mais une fois que l’on a écrit notre code à l’instant T+1, il faut prendre en compte tout ce qui s’est passé sur la branche principale. Rebase, c’est la technique qui consiste réappliquer les commits ayant eu lieu sur main sur notre branche pour garder un historique de commit linéaire.
SDK (Software Development Kit)
C’est un ensemble d'outils et de bibliothèques fournis par un éditeur de logiciels pour aider les développeurs à créer des applications compatibles avec une plateforme ou un service spécifique. Par exemple le SDK Stripe permet d’effectuer des actions Stripe depuis son code sans avoir besoin décrire chacun des call d’API.
SSL (Secure Sockets Layer)
C’est un protocole de sécurité utilisé pour établir une connexion chiffrée entre un serveur et un client, et ainsi garantir que les données échangées restent confidentielles et intègres. Cela fonctionne sur un principe d’échange de clés et de certificat validé par une autorité de certification externe.
SSO (Single Sign-On)
C’est une méthode d'authentification permettant à un utilisateur de se connecter à plusieurs applications avec seulement les identifiants de son identity provider (une application qui gère les identités et les doits d’accès comme Okta ou Azure Active Directory).
TDD (Test-Driven Development)
C’est une méthodologie de développement logiciel où les tests sont écrits avant le code de production. Les développeurs écrivent d'abord un test pour une fonctionnalité, puis écrivent le code nécessaire pour faire passer le test, et enfin refactorisent le code pour améliorer sa qualité. Cette approche favorise la création de code plus fiable et plus facile à maintenir.
VM (Virtual Machine)
C’ est une machine virtuelle qui émule un ordinateur physique en utilisant des ressources matérielles partagées. Elle permet d'exécuter des systèmes d'exploitation et des applications isolés sur un même hôte physique, offrant flexibilité et efficacité pour le développement, les tests et la production
Après cette introduction, nous voilà prêt(e) à plonger dans le monde des devs.
Un post bien utile pour tout PM PO qui débute, mais aussi pour les autres !