Qu’est-ce qu’une pile logicielle ?


C'est'l'ensemble des technologies qui fonctionnent ensemble pour faire fonctionner une application ou un site web.

Il existe des piles de la vieille école, pour la plupart dépréciées, comme LAMP, qui fait référence à l'utilisation de Linux pour héberger Apache HTTPS, MySQL et PHP pour faire fonctionner un site web. Linux est toujours recommandé, mais les autres ne sont plus des meilleures pratiques pour les nouveaux sites (vous n'avez pas le choix si vous'utilisez WordPress, même si je pense que WordPress est presque toujours une mauvaise idée aujourd'hui).


Il y a des piles plus récentes comme MEAN et MERN : MongoDB, ExpressJS, React/Angular et Node.js. Les deux s'inscrivent dans la nouvelle approche appelée JAMstack, où au lieu d'utiliser un langage comme PHP pour générer toutes les pages d'un site à chaque fois qu'elles'sont consultées, vous servez des pages statiques et les laissez changer dynamiquement sur le client.

Mais la pile peut également inclure de nombreuses autres technologies. MongoDB perd de sa popularité en général, et de plus en plus de piles utilisent PostgreSQL. Les bases de données graphiques comme Dgraph, ou les adaptateurs comme Postrgraphile, facilitent la prise en charge de GraphQL dans le cadre de votre pile. TypeScript est un choix de meilleure pratique lorsque vous utilisez Node.js.

Et puis la pile peut inclure le fournisseur de cloud que vous'utilisez (AWS, Google Cloud, Azure, etc.), l'infrastructure-as-code (Terraform, Amazon CDK, etc.) , [1] des technologies supplémentaires comme la mise en cache (Redis, MemcacheDB), les files d'attente de messages (AWS SQS, RabbitMQ) ou les frameworks de serveur (NestJS, Next.js, etc.).

Donc, lorsque vous parlez de la " pile ", vous'faites référence à la liste des technologies de base qui façonnent l'architecture de l'app sur laquelle vous'travaillez. Pas chaque bibliothèque que vous'utilisez, mais les pierres angulaires.

Notes de bas de page

[1] AWS Cloud Development Kit - Amazon Web Services.