Vous avez certainement déjà entendu le mot « stack » 📣, par exemple, « stack technique », ingénieur-développeur « full-stack », « stackoverflow »… ça parait tellement évident que l’on oublie souvent d’expliquer les enjeux qui se cachent derrière ce concept.

 

C’est quoi une stack technique ?

La stack technique est au centre d’un projet web 🎯, on conçoit la stack en amont d’un projet et cette conception va influencer tout le projet (mieux vaut ne pas se tromper 🤔). La stack a pris une telle importance que l’on peut remplacer, dans la majorité des projets, ce mot par architecture web ! Mais concrètement ça veut dire quoi ? Littéralement une stack signifie une pile ou un empilement de quelque chose, donc pour l’IT une stack veut dire pile ou empilement de technologies. Ce terme a émergé avec la nécessité de mettre en place des architectures web orientés « services » c’est à dire interconnectées (via des Web Services et des API) 👫👭👬.

Le cumul des différentes technologies utilisées dans un projet web correspond à la stack dont voici les principaux éléments :

  • Framework front-end.
  • Framework back-end.
  • Framework de templating.
  • Base de données.
  • Services externes (ex. solution d’e-mailing).
  • Moteur d’API.
  • Solutions Open-Source (ex. Drupal, WP, …).
  • Etc.

L’illustration la plus simple est la séparation des développements front-end (pour les navigateurs) du back-end (pour les serveurs), qui une fois réunis donne le terme de développement « full-stack ». Chaque composant technique pris individuellement n’est pas très utile mais ensemble ils délivrent une solution technique grâce à la stack qui apporte une cohérence à une architecture web 👌.

 

La « stack » au service de la diversité technologique.

Les applications monolithiques sont mortes… vive les applications connectées ⚜ ! Le web a gagné en maturité avec l’utilisation de web-services (ou API) qui permettent de connecter un ensemble d’applications et d’utiliser les meilleures solutions technologiques pour chaque projet 💡. L’intérêt d’une stack technique est de pouvoir utiliser ensemble différentes technologies et donc d’ajouter les différents avantages techniques de chaque technologie💡💡💡. Les technologies reconnues comme des standards, par exemple les grands frameworks, apportent souvent un avantage technologique spécifique dans un projet (ce qui leur a permis d’être reconnu). Voici quelques exemples d’avantages technologiques souvent recherchés dans une stack : faire des développements hybrides, augmenter les performances des serveurs, augmenter la rapidité d’affichage sur les navigateurs, faciliter l’indexation des données, etc. C’est pourquoi un bon Ingénieur-développeur doit toujours être ouvert sur les capacités offertes par les nouvelles technologies et doit comprendre comment les relier dans une stack pour apporter de nouveaux leviers de valeur à un projet. Prenons un exemple simple, vous avez une plateforme qui gère des abonnés et qui envoie en masse des notifications, vous avez développé en spécifique la plateforme de gestion de vos abonnés (par exemple avec Agilap 😉). Devez-vous développer un outil d’e-mailing pour les notifications ? Bien sûr que non ! Il existe des services d’e-mailing qui marchent très bien comme MailJet ou MailChimp, redévelopper ces services ne servira qu’à consommer votre budget en ayant une solution moins performante (connaissez-vous les règles pour ne pas passer en spam, avez-vous les serveurs adaptés, savez-vous faire du tracking de clics etc.).

Il y a encore quelques années, il était pertinent d’être un spécialiste d’un framework sur une technologie (par exemple Zend Framework sur PHP) pour faire des applications monolithiques, par définition cette approche est devenue un danger ⛔. Elle empêche d’avoir cette ouverture nécessaire pour la conception d’une stack permettant de trouver la/les valeurs technologiques dans un projet 🎯🏅🤘.

 

Et donc la meilleure « stack » ?

La connaissance des différentes technologies permet de ne pas « ré-inventer » la roue (!) et de ne faire que les développements spécifiques utiles. Ainsi, le choix d’une bonne stack est certainement le meilleur moyen de rentabiliser son projet, car il va avoir un impact très fort sur le volume de travail d’un projet et donc sur son coût. Autant vous « spoiler » tout de suite, nous n’avons pas de recette miracle pour le choix de la bonne stack 😭 car elle dépend avant tout de votre projet… mais nous pouvons vous donner quelques conseils qui vous aideront à faire vous même votre bon choix 😜.

Rappelez-vous au début de l’article, nous avons dit que stack pouvait-être remplacée par architecture… donc la meilleure façon de choisir « sa » stack est de faire une étude sur votre architecture web cible. Concrètement, il s’agit de faire un schéma d’architecture simple avec les rôles, les avantages et les liens de chaque couche de votre empilement de technologies.

Ainsi, pour chaque technologie, vous devez vous demander :

  • Quel est son rôle ?
  • Quel est son avantage par rapport aux autres technologies existantes ?
  • Peut-on la relier facilement à d’autres applications du SI (WS, API, protocole de communication etc.) ?

Si l’architecture web n’est pas votre domaine, ou que vous n’êtes pas rassuré par ce que vous avez fait, nous vous conseillons de faire appel à un architecte pour une petite prestation de conseil (par exemple avec Agilap 😉), même si le coût jour homme d’un architecte peut être élevé, il est souvent très rentable car il permet de gagner de nombreuses journées de développement par des choix judicieux d’utilisation de services ou de solutions nouvelles 🚀🚀🚀.

 

Bons projets et à bientôt, l’équipe d’Agilap 🌈

Categories: Projet

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Related Posts

Projet

Comment rédiger le cahier des charges d’une application web ?

Nous pouvons vous affirmer, sans aucun doute, que le développement de votre application web vous coûtera entre une voiture 🚘 et une maison 🏡 ! Si cette fourchette ne vous convient pas, vous devrez rédiger ✍ un Read more…

Projet

Alone in the code !

Nous ne comptons plus les fois où nous avons été sollicités par des PME ou des ETI pour regarder le code d’un système d’information développé par une seule personne #OperationBoiteNoire ! Alors est-ce un pari Read more…

Projet

Guide du CII pour les PME innovantes

Toute PME qui souhaite innover se doit de connaître le Crédit Impôt Innovation (CII) ! C’est certainement le dispositif le plus avantageux et le plus simple à activer parmi la multitude des aides à l’innovation en Read more…