De 1 million à 1 milliard : Les principes clés pour gérer la croissance sereinement — partie 1
Cet article est le premier d’une série de trois articles retraçant l’épopée technique de HelloAsso. Il mettra en lumière l’évolution de l’infrastructure, du produit et de l’équipe.
J’ai eu la chance de rejoindre HelloAsso en 2013 quand il y avait encore tout à faire alors j’ai de quoi raconter !
Embarquons ensemble dans cette fantastique aventure en commençant par l’état actuel des choses.
Le 25/03/2023 à 11:08:04 HelloAsso atteignait le seuil du milliard d’euros collecté pour les associations, après 14 ans d’existence !
Au-delà des chiffres et des retombés de presse que cela a pu avoir, j’ai envie de vous raconter l’histoire de l’intérieur. Étant dans l’équipe technique, il y a fort à parier que mon histoire est un biais technique et plus particulièrement DevOps.
HelloAsso est la plateforme qui permet aux citoyens de participer aux activités d’une association près de chez eux. Nos services sont offerts aux responsables associatifs grâce aux contributions volontaires des citoyens. A l’aide de ces soutiens et de nos outils, les associations peuvent gérer leurs activités et collecter des paiements en ligne dont elles perçoivent 100% de chaque somme, sans frais ni commission.
Ce produit connaît une énorme croissance et nous avons de beaux chiffres (de juin 2023) si on veut en mettre plein les yeux:
- 150+ collaborateurs·rices
- 222 000+ associations
- 11 000 000+ d’utilisateurs
- 1 065 000 000+ euros collectés
- 20 000 000+ de paiement en base
On prend le temps de regarder les courbes, personnellement j’adore les tendances exponentielles !
Le tout supporté par une infrastructure au début très modeste et maintenant totalement sur le cloud, en réalisant l’exploit de ne pas avoir suivi les autres tendances.
Autant pour la croissance l’exponentielle c’est sympa, mais pour les dépenses on préfère une bonne fonction affine.
Maintenant que l’on sait ça, on peut voir que l’on est en pleine croissance. Cela étant dit, on n’en sait pas beaucoup plus sur la façon dont on en est arrivé là !
Je vous propose donc un voyage dans le temps pour comprendre nos difficultés et nos succès.
L’Étincelle Initiale
Nous sommes en 2013, après avoir testé beaucoup de choses, l’équipe initiale lance officiellement le site HelloAsso. Dans sa première version, il s’agit d’un site de collecte en ligne.
C’est un site très classique et dans les technos de l’époque :
- ASP.Net
- jQuery / vanilla js
- vanilla css
- SQL Serveur
Cette application est organisée avec le pattern trois tiers à notre sauce et c’est un beau monolith.
Côté infrastructure, le tout déployé sur un unique serveur Windows Server chez OVH.
Le pipeline CI/CD de l’époque ?
Click droit / Deploy to sur visual studio et surtout on croise les doigts pour ne pas perdre la connexion lors du déploiement !
Ça c’était avant de faire des zip que l’on décompresse sur le serveur.
Le monitoring et la maintenance du serveur de l’époque ?
Si ça fonctionne pourquoi se poser des questions
Ce site évolue tranquillement, les features s’ajoutent au fur et à mesure notamment les billetteries et les adhésions.
Le Rassemblement des Héros
Nous avons un site fonctionnel, une volumétrie correcte mais un CA ne permettant pas de payer les salaires. C’est d’ailleurs tout l’enjeu d’un business model basé sur la générosité : avec une masse critique ça fonctionne, sans ça et bien il faut attendre la croissance.
Alors en parallèle on lance une activité B2B. L’idée est vraiment très bonne, on a entre 20 000 et 50 000 associations en base de données, en face il y a des fondations d’entreprise qui lancent des appels à projet mais ne parviennent pas à obtenir beaucoup de participation.
On développe donc une solution d’appel à projet totalement configurable pour nous permettre de déployer un appel à projet en un temps record.
Bien évidemment ça c’est la théorie.
C’est une solution full js (chose assez novatrice à l’époque). Vuejs sortait en même temps dans sa première version, c’est-à-dire !
Techniquement c’est géré par deux tables en base de données, une API pour gérer l’interaction avec le front qui n’est rien d’autre qu’une page html remplie entièrement par du js.
Tu penses que la suite est un long fleuve tranquille ?
Qu’opérer un site et une activité B2B se passe sans aucune surprise ?
L’article suivant arrive très bientôt, il abordera les difficultés avant les périodes plus joyeuses.