
Strapi, le CMS headless 100% JavaScript avec Jim Laurie
Durée: 74m17s
Date de sortie: 08/03/2021
Un épisode avec notre invité Jim Laurie, cocréateur et cofondateur de Strapi, un CMS open source 100% JavaScript Retrouvez toutes les notes et les liens de l'épisode sur cette page : https://double-slash.dev/podcasts/strapi/
Bienvenue sur Double Slash, le podcast dédié aux outils et aux techniques pour le développement
web.
Bonjour à tous et bienvenue sur ce nouvel épisode de Double Slash, donc je suis Patrick
et comme d'habitude nous sommes avec Alex.
Salut Alex !
Salut tout le monde !
Donc petit rappel toujours si vous aimez le podcast, laissez-nous une note ou un commentaire
sur Apple Podcast, ça nous aide à remonter un petit peu dans le classement, puis on remercie
les personnes qui ont déjà laissé des commentaires, notamment Flymonkey qui nous a laissé un
petit commentaire sympa, qui vit aux États-Unis, donc merci à toi et n'hésitez pas à partager
les épisodes sur les réseaux sociaux évidemment, on vous remercie d'avance.
Donc aujourd'hui on a un invité avec nous et c'est Jim Lorie, donc bonjour Jim !
Salut Alex c'est le Patrick !
Donc on va te laisser te présenter, qu'est-ce que tu fais dans la vie ?
Alors moi dans la vie aujourd'hui je suis co-fondateur et chief user of success officer
chez Strapi, donc je m'occupe de manager plusieurs teams qui sont customer success,
support et documentation, donc en fait toute l'expérience qui est autour du projet produit
Strapi, donc en fait c'est faire en sorte tout simplement que les personnes qui utilisent
Strapi ne soient pas bloquées dans leur utilisation du projet et arrivent à faire ce qu'elles
veulent faire, donc développer leur projet et que tout ça soit un succès.
Alors peut-être un peu sur mon background ?
Ouais, ouais, d'où tu viens en fait ? Comment tu fais ?
Bah du coup à la base je viens de Sarafel, j'ai fait un bac techno,
Ouais tout à fait, j'ai fait un bac techno génie électrotechnique, c'est un bac je crois
qui n'existe plus d'ailleurs, histoire d'avoir mon bac tranquillement sans trop trop bosser,
un petit peu flemar quand même, puis ensuite après j'ai découvert le numérique,
le multimedia en faisant un DUT, services et réseaux de communication, peut-être que certains
de vos personnes qui vous écoutent et qui nous écoutent en ce moment l'ont sûrement fait,
après je suis monté à Paris pour faire une école éthique et du coup c'est là où j'ai rencontré
mes deux co-fondateurs et après j'ai un profil développeur backend à la base,
qui nous a permis au début de développer Strapi, on en parlera par la suite,
donc après j'ai des connaissances en marketing, communication, design, un peu de business aussi,
et voilà et après j'aime bien faire beaucoup de sport en règle générale, en ce moment même si
c'est un petit peu compliqué avec tout qui est fermé et le mauvais temps, mais le boton est de
retour donc on va pouvoir se remettre à faire des sports en extérieur, c'est vachement chouette.
Ah super, donc ok et disons on va passer sur Strapi du coup, tu peux nous expliquer ce que c'est,
Strapi en fait ? Ouais alors Strapi c'est un Headless CMS donc CMS pour la partie content
management system, donc un outil de gestion de contenu et le mot headless qu'on met devant,
et là pour symboliser le fait qu'on s'occupe uniquement de gérer le contenu, on ne s'occupe
pas de toute la partie affichage, donc par exemple Wordpress qui est un CMS va s'occuper de rendre
à la fin un site internet, donc il y a quelque chose déjà qui est terminé, nous on s'occupe
uniquement de la donnée qui pourra être affichée sur un site institutionnel, une application
mobile ou un objet connecté, enfin en fait tu gères le contenu que tu veux, donc concrètement
c'est un outil qui va vous permettre de structurer le contenu que l'on veut gérer,
qu'exemple là avec un blog tu vas définir que un blog c'est un article, avec un article il a un
titre du contenu donc un blog texte, des tags SEO etc etc, tu vas pouvoir créer des relations entre
différents éléments, en gros tu gères la structure de la donnée en fonction de ton besoin,
donc c'est très spécifique à ton besoin, on couvre un petit peu tous les, enfin on peut couvrir
quasiment tous les besoins et c'est là que le développeur en fait va être en action,
donc nos premiers utilisateurs ce sont des développeurs et ensuite après il y a la partie
contribution de contenu, donc là grâce à un admin panel comme Wordpress si je fais l'analogie
pour que ça soit simple à visualiser pour quelqu'un qui ne connaitrait pas, donc là ça serait
plutôt les équipes marketing et d'hitorial qui vont s'occuper de gérer le contenu, puis après dans
la final step on va dire c'est Strapi qui va exposer une API pour accéder et manager le contenu,
donc ensuite voilà l'API qui va être utilisé depuis le site internet, l'application mobile ou
les objets connectés que tu veux, ensuite tu pourras gérer les permissions, qui peut accéder
à quoi etc. et après on a la particularité c'est que Strapi c'est un projet open source,
donc tout est disposé sur GitHub, donc si vous tapez github.com slash Strapi slash Strapi,
tout le monde peut accéder au projet et il contribue et l'utilise gratuitement pour vos
projets freelance ou autre, donc après on a une équipe du coup full time nous aujourd'hui qui
travaille dessus, je crois que dans la boîte là aujourd'hui on est 32, 32, quelque chose comme
ça et donc voilà on est en train aussi d'essayer de mettre en place le business model autour du
projet open source qui n'est pas toujours facile on aura l'occasion sûrement d'en rediscuter
un petit peu après et voilà donc le code quand tu l'utilises quand tu utilises Strapi et sur
ton ordinateur tu possèdes absolument tout donc tu peux le hoster là où tu veux AWS Google
Cloud Platform ou whatever et tu possèdes donc la donnée, le code tu peux le modifier très
customisable c'est comme ça qu'on la crée à la base parce que ça vient de ce besoin là de
customisation. Je crois que je fais le tour. C'est un outil assez complet en fait en gros
tu le développeur modèles un petit peu sa base avec Strapi et ensuite derrière les éditeurs viennent
d'éditer via l'admine et d'origine il y a déjà une API qui est disponible, que tu peux appeler,
je sais que ça fait GraphQL aussi avec un plugin. Tout à fait, du coup on essaie de s'adapter aussi
aux nouveaux besoins donc au début on n'avait pas du tout GraphQL puis ensuite il y a eu plus en
plus de besoins en termes de sélectionner la data que tu veux récupérer, optimiser ces requêtes
en termes de taille notamment pour le mobile c'est vachement pratique. Donc là on est venu ajouter
une brique sous la forme d'un plugin qui vient de donner accès à une API GraphQL que tu peux
tout à fait customiser parce qu'on est toujours dans cette mouvance de on peut tout customiser.
Et voilà. Et à la limite avant de basculer un petit peu dans toutes les features et comment
vous avez vraiment écrit tout ça, tu peux juste nous expliquer ça fait combien de temps que Strapi
existe, aujourd'hui on en est à quelle version, à quelle stade en fait d'évolution de boîte là tu
nous disais vous êtes aujourd'hui 30, vous avez peut-être pas commencé à 30, tu pourrais nous
raconter un peu l'histoire de Strapi ? Oui bien sûr, une longue histoire. Alors Strapi à la base
ça vient d'un side project qu'on avait fait pendant nos études donc Aurélien, Pierre et moi
même on faisait du freelance, pas mal d'angulards à l'époque même si on avait commencé avant avec
du WordPress donc l'utilisation des CMS on connaissait déjà et on avait besoin d'un,
enfin quand on développait nos applications notamment avec Angular à cette époque là,
on avait besoin d'un framework d'API et d'une admine pour gérer le contenu des applications
pour nos clients. Du coup on a développé cet outil qui n'existait pas à l'époque dont on avait
besoin pour nos projets afin de gagner du temps et d'éviter de réinventer la roue parce que chaque
fois que tu fais des nouveaux projets tu as toujours les mêmes besoins, tu crées ton croud,
tu as ton admine qui est basé sur ton... enfin bref. Ouais c'est toujours pareil quoi. Toujours
pareil et comme je le disais de tout à l'heure on est flémars souvent quand on est développeur on
n'a pas envie de... Mais c'est une qualité ! Bien sûr, bien sûr et du coup voilà on avait besoin
de quelque chose pour nous faire gagner énormément de temps. Du coup on développe cet outil qui
deviendra par la suite Strapi donc le projet on le met sur GitHub depuis le premier jour juste parce que
pas quand tu développes des projets aujourd'hui tu n'utilises quasiment que des librairies open
source si je me trompe pas et donc du coup en fait nous c'était normal de notre côté de rendre à la
communauté on va dire ce qu'elle nous a apporté pendant toutes ces années. Enfin WordPress on a
eu l'occasion de se faire de l'argent avec parce que forcément tu crées... tu prends un outil qui
est open source, tu fais un website pour un client, il te paye et toi tu n'auras rien à WordPress.
Donc d'une où on s'est dit on va rendre aussi d'une autre façon c'est en créant un nouveau
logiciel et en le mettant open source et en le donnant à tout le monde gratuitement. Donc on est
très très nul en année c'était il y a sept ans donc 2014-2015 quelque chose comme ça.
Alors les dates je suis complètement nul Pierre est très très bon là dessus je ne sais pas comment
il fait il se souvient de toutes les dates moi je suis un petit peu nul. Après en fait c'est juste pour
nous donner un ordre d'idée de voilà c'est pas un projet qui a six mois. Non non non donc c'était
il y a sept ans là on est le 24 février au moment où on record c'était il y a quasiment sept ans.
Du coup c'est 2014 je crois ça doit être entre 2014 et 2016 je pense on est en train de faire les
cours plus du freelance plus développer Strapi donc ça on fait ça pendant deux ans deux ans et demi
voire trois ans parce que l'école on la rejoint on fait on fait les trois dernières années de master
on reçoit plein de feedback sur l'usage de Strapi il y a plein de personnes qui l'utilisent pour
leurs projets donc ça c'est le côté cool de mettre un projet open source c'est que en fait
t'as plein de personnes qui vont le découvrir le tester te donner du du feedback et on a commencé
à avoir une traction pendant ses un intérêt pendant ces ces deux ans et demi
donc tiens un petit truc sympa à dire aussi c'est que vu que c'était un site project
pendant l'école on a eu plein de potes de promos qui se sont joint au projet pendant ces
deux années et demi donc pour apporter leur point de vue en fait c'est hyper enrichissant
travailler avec plein de personnes déjà dès le début sur un projet comme ça qui n'a aucune
ambition au début c'est juste un besoin personnel qu'on répond auxquels on répond et je crois qu'à
un moment donné on est monté jusqu'à jusqu'à 11 donc enfin trop trop trop trop trop stylé et du
coup un petit big up je pense aux personnes qui ont rejoint le projet à ce moment là donc je pense
notamment à leïc clara yugo keyar pierre guillou enfin bref la liste elle est longue à un moment
donné on était 11 et voilà et donc du coup à la fin de l'école on est diplômé yuhou et
maintenant c'est qu'est ce qu'on fait on se pose la question de est-ce qu'on stoppe le projet et on
trouve un boulot en tant que développeur ou bien on voit ce qu'on peut faire avec avec strapi parce
qu'il y a une traction il y a un intérêt on sort d'école on n'a aucune obligation familiale on
va dire aucune pression financière parce qu'on n'est pas habitué à avoir un salaire depuis des années
etc donc en novembre la salade de dats jacquenez le 4 novembre 2016 on crée la société avec avec
pierre et oréliens pour rendre le projet sustainable et voir voilà où est-ce qu'on on peut aller avec
ce projet après on continue de faire un peu de freelance parce que un projet open source ça ne
rapporte pas d'argent donc on continue de faire du freelance pour manger tous les soirs sauf que
tu fais du freelance et tu as un projet open source en parallèle ben ton freelance qui te rapporte de
l'argent et forcément il prend le dessus et t'es pas assez satisfait du temps que tu as disponible pour
travailler sur le projet qui t'intéresse qui est strapi du coup mi 2007 on passe full time sur le
projet on réalise la version 3 alpha qui dure presque un an et ensuite après en fait le but c'était
vraiment de se mettre full time sur le projet avec l'argent qu'on avait récolter en freelance pour
lever des fonds et ensuite passer 100% sur le projet tout en ne faisant pas de revenus au début et
voilà donc en fait ensuite on a enchaîné une deux trois levées de fonds aujourd'hui donc la dernière
l'année dernière pour ensuite grossir l'équipe et monter petit à petit le business model autour
de strapi voilà donc là aujourd'hui on est version 3.5 point quelque chose parce qu'il y a sûrement
eu des patchs mais voilà qui est sorti la semaine dernière avec une belle nouvelle feature on
aura l'occasion d'en parler plus tard belle histoire du coup ouais vous avez dit sortant des
études vous êtes dit allez on tente strapi on verra ce que ça donne et puis ouais tout à fait
tu mets les pieds dans le plat et t'avance quoi tu sais pas ce qui t'attend mais t'y vas et un moment
frustration parce que vous faites du freelance et puis j'ai pas assez de temps pour travailler
sur strapi tout ça qu'est ce qu'on fait et puis finalement on se met à fond sur strapi et c'est
parti ouais bien sûr c'est exactement ça ok bah je veux pas parler un petit peu plus tard du
business mais ouais intéressant tu vas nous parler aussi de bah comment on fait de l'argent avec
l'open source aussi qui est pas forcément évident je pense ah non c'est si vous voulez pas vous
prendre la tête faites un sas ok bon bah par ces questions un petit peu plus techniques et
développe qui intéressent un peu développeur avec plaisir bon que la première en fait moi j'en
avais une c'était bah pourquoi vous êtes partis sur du nôtre et pas pas sur un autre langage en
fait qui était voilà peut-être plus facile à la base surtout en 2014 peut-être ouais en fait c'était
plutôt simple de partir sur sur nôtre en fait comme je te disais tout à l'heure on faisait des projets
freelance il y a sept ans avec des app angulars donc ça c'était la première version d'angular je
pense qu'il y avait une tout le monde voulait faire des des des applications qui ne se rilode pas avec
on charge de la data et pour elle ouais single page application à tout à fait et donc du coup
au final tout était en js à ce moment là en tout cas les développeurs front faisait leurs app en
js full js et c'était trop cool du coup au final la question c'est pourquoi avoir deux langages pour
gérer une le front et une deuxième pour le back end et ben dans ces cas là on à ce moment là bah
js à quoi ça ne vaut aujourd'hui je crois quelque chose donc 7 ans on est à deux ans
enfin notre c'est relativement jeune donc du coup il y a quand même la fame de de notes c'est trendy
etc et en fait du coup on part dessus aussi parce que c'est une un nouveau langage qu'on peut commencer
à apprendre moi quand on a commencé strapi avec notre je le site project en plus de nous servir
c'est j'ai appris une ode grâce enfin en développant strapi donc il y avait aussi la volonté
d'apprendre une nouvelle techno etc et voilà au final c'est pourquoi n'avoir deux langages
différents js pour le front et ruby et php ou autre pitton pour pour le back end sachant que les
développeurs on est un peu flémard et pourquoi apprendre de langage quand on peut en apprendre qu'un
et ben tout simplement ça c'est là là là là tu c'est clair et je pense que même aujourd'hui
l'argument tient encore en mode voilà on a qu'un seul langage pour pour toutes notre stack ouais et
et et ça et ça c'explique par contre ce qui est super intéressant c'est qu'à l'époque notre c'était
un peu l'effervescence quoi il y avait il y avait des patch dans tous les sens des dérilles
qui pété, c'était la jungle quoi. Là on arrive sur les dernières années avec des trucs beaucoup plus structurés, beaucoup plus calis ou en mode c'est testé, c'est tout béton mais à l'époque c'était vraiment la jungle.
Là vous avez été hyper precursor et vous avez fait votre choix et aujourd'hui vous avez une grande maturité sur toute la partie GS backend node.
Aujourd'hui il n'y a pas grand monde qui est sur le LSMS, qui est sur du Node.js, on a des concurrents open source qui sont en JS forcément mais aussi PHP, pas mal, du gros directus.
Directus qui a fait complètement un virage qui était en PHP et qui est passé sur Node.
Après j'ai hâte de voir comment ils vont transférer leur communauté et tout leur écosystème parce que c'est pour ça que PHP a tenté d'y aller petit à petit en introduisant plus de JS dans leur stack mais tu ne fais pas un switch de communauté comme ça, surtout quand Directus est en petite communauté.
C'est violent.
On a fait des petites évolutions en termes de perf etc.
Après notre JS au final c'était pas mal non plus pour faire des REST API, on était bien en termes de perf donc on n'a pas changé non plus à ce niveau-là mais juste on est passé de Express Aqours et d'Angular à React pour la partie front.
Moi je suis un peu strappy depuis un petit moment, j'ai remarqué que ça s'est beaucoup simplifié aussi, vous avez beaucoup supprimé de modules, le package.json c'est vachement simplifié, même les settings et tout ça confie.
La raison est toute simple aussi, à l'époque quand on commence Strapi on est développeur mais on n'est pas spécialisé pure développement et on n'est pas des génie du développement.
Tout ce qu'on fait, on le fait pour répondre à nos besoins et maintenant que l'on a de l'argent en banque et qu'on a une équipe qui se monte, on recrute des gens qui sont meilleurs que nous en développement.
Par contre nous on a plutôt le côté vision structure de l'équipe et aujourd'hui on a des personnes qui travaillent avec nous pour rendre le projet encore meilleur et donc c'est pour ça que tout se simplifie, tout devient plus facile parce qu'on a des gens qui sont experts dans le domaine pour travailler sur ces sujets-là.
Ok.
Et donc au niveau de, tu parlais de tout est customisable en fait au niveau de Strapi, tu peux en fait, comment ça se passe, tout est vraiment customisable, si moi l'administration je vais changer l'aspect, les tableaux, les chants, n'importe quoi, je peux te faire ?
Alors oui, la seule chose aujourd'hui qui n'est pas customisable c'est le corps de Strapi. Donc on a un autre module qui s'appelle Strapi, c'est le seul élément avec les connecteurs de database qui ne sont pas customisables mais en revanche tu peux tout à fait fork customiser et remplacer dans ton package design et c'est bon tu auras customiser ce que tu veux.
C'est pas la façon la plus facile de le faire mais c'est faisable. Après donc l'admine panel, l'API qu'on génère de façon automatique, les plugins, tout ça c'est customisable relativement facilement. Après c'est plus ou moins facile, enfin on peut le faire, c'est plus ou moins documenté aussi mais aujourd'hui c'est un chantier sur lequel on travaille justement pour avoir ce fait.
Ce côté un peu plus flexible et c'est de bonne façon de customiser. Aujourd'hui c'est de l'override, de fichier, de fonction, on est plus avec un système d'éject plus qu'une API qui permettra d'injecter ou de remplacer les contenus que tu veux. Donc là on est en train de travailler sur le fait de rendre la customisation un petit peu plus clean.
Et après, voilà, ça aidera dans le futur aussi pour toute la partie migration parce que dès que tu passes une version à l'autre, le fait que tu fasses de l'adject peut casser des choses dans ton application mais en revanche là on provoque des migration guides et toutes les informations qu'il faut pour mettre à jour si besoin pour nos utilisateurs qui auraient customisé leur application.
Donc c'est vraiment un petit peu deeply, profondément dans leur besoin. Mais tout est customisable pour répondre à ton besoin parce que nous aujourd'hui on ne sait pas ce que tu vas faire avec Strapi et comment on peut faire en sorte que ça répond à ton besoin le mieux possible.
Et est-ce qu'aujourd'hui ça fait partie des vraiment une demande forte d'avoir un niveau de granularité hyper fort ou au final 90% des gens qui vont utiliser Strapi, ils vont l'installer et en fait c'est juste dans les settings où ils vont faire leur tambouille et ça suffit largement et on va dire 90 ou 95% des cas, ça suffit.
Et quand vraiment le mec il veut faire du full custom, là il va un peu mettre les mains dans le combouis et aller dans le coeur pour aller modifier mais au final ça représente un truc un peu à la marge non ?
Je ne pourrais pas te dire parce que je n'ai pas de chiffre là dessus. En revanche je pense, et là c'est juste des hypothèses de ce que moi je peux voir en étant en relation avec la communauté etc.
C'est que tu as quand même vraiment beaucoup de besoins d'intégration avec des services tiers, de modifier deux trois choses que nous on ne te propose pas, d'ajouter aussi des features que nous on ne propose pas aujourd'hui par défaut.
Grâce au système de plugins qu'on a mis en place, à ce système de customisation qu'on a mis en place qui permet vraiment de modifier absolument tout, enfin absolument avec des gums et quasiment tout, tu peux tout de suite ajouter la petite brique manquante que soit on n'a pas encore développé soit qu'on ne ne développera pas.
Et du coup tu n'es pas frustré de ne pas dire ils ont pas ça donc je ne vais juste pas les utiliser.
Au final on va te faire gagner du temps sur plein de choses, la création de la REST API, de l'admin panel qui se taux-gère, de l'admin aussi qui est directement là pour toi et tu peux ajouter des composantes dedans et donc tu vas pouvoir venir à dire ok c'est bon j'ai cette base et je peux venir ajouter maintenant mes custom parce que ça c'est complètement faisable.
Donc ouais non je ne pense pas que ce soit 95% qui prennent juste l'outil comme il est et sans custom, je pense qu'il y a vraiment beaucoup, après on ne s'en sert rien.
Mais ce que tu as besoin d'intégrer...
Tu as plutôt une bonne intuition qui dit quand même qu'il y a pas mal de gens qui vont aller bouger 3-4 champs, qui vont rajouter telle fonctionnalité, qui vont modifier, tout ça.
Ouais je pense parce que c'est un des intérêts de Strapi aussi, sinon tu pourrais aller aussi sur d'autres d'autres têtes de l'SMS, après je ne sais pas c'est très complexe comme question.
Je suis désolé.
Pas de soucis.
Et à la limite en tant que dev moi je veux tester Strapi, je veux installer ça, comment je peux faire, c'est quoi un peu la développeur expérience.
En tout cas sur le podcast nous on est vachement friant de ça en mode ok qu'est-ce que nous en tant que dev on y gagne, est-ce que ça nous facilite la vie, est-ce que c'est...
Il y a une grosse porte, il y a un gros step à l'entrée ou pas du tout, comment ça se passe ?
Alors pour tester et installer Strapi c'est très simple.
Enfin en même temps c'est normal que je dise ça parce que sinon si je te dis c'est très compliqué personne va essayer.
Non non c'est relativement simple, faut juste avoir n'ode d'installer parce que comme on l'a dit tout à l'heure c'est basé sur n'ode donc faut l'avoir d'installer.
Si ta yarn c'est encore mieux parce que du coup tu peux run la commande suivante qui est yarn create, espace Strapi-app, le nom de ton application, dash-quickstart et ça va créer un projet sur ton ordinateur.
Tu auras tous les fichiers qui vont se créer sur ton ordinateur donc tu possèdes tout le code, tu possèdes aussi la database, enfin bref ta tout.
Une fois que tu lances cette fameuse commande que vous pouvez retrouver très simplement dans la documentation de Strapi, Strapi.io slash documentation.
Tu auras un browser qui va s'ouvrir tout seul avec un panel d'admins un petit peu comme à la WordPress qui va te demander de créer ton premier administrateur.
Donc là je précise aussi pour ceux qui auraient pu se poser la question c'est pas un sas, donc tout est en local, tout est chez vous sur vos ordinateurs.
Donc nous on ne recode rien de tout ça donc c'est le premier administrateur de ton application comme tu le ferais sur un WordPress en local.
Et ensuite tu vas pouvoir jouer avec l'interface graphique qui te permet de définir ta gestion, ta structure de contenu.
Donc là c'est là où je parlais si tu veux faire un blog tu vas définir une liste d'articles avec un article, un title, un blog de contenu etc.
Une fois que ça c'est bon, tu as tout ton code en local qui est ton application et tu vas devoir pour le mettre en prod avoir un serveur online sur un hébergeur quel qu'il soit qui supporte juste Node.
Et une database pareille en prod dans lequel il y aura la data pour ton application.
Il y a un choix sur la database ou vous faites des recommandations plutôt sur du Mongo ou du Postgre et du SQL ?
Alors aujourd'hui Strapi supporte plusieurs bases de données et plusieurs types de bases de données donc on a du SQL et du NoSQL.
Sur la partie NoSQL on a un connecteur database pour Mongo et sur la partie SQL on supporte en développement quand on utilise le Dash Dash Quick Start,
ça utilise une SQLite comme ça il n'y a pas besoin d'installation de quoi que ce soit et c'est bien pour tester.
Ensuite on peut changer tout de suite quand on part en production sur du MySQL, Postgre, Maria.
J'ai oublié la principale mais je crois que c'est déjà pas mal.
Donc NoSQL et SQL ?
Et donc du coup je conseille fortement d'utiliser un Postgre par exemple qui fera très très bien le taf plus qu'un Mongo.
Parce que dans le futur je mets des hypothèses mais il y a des chances qu'on se focus plus sur la partie SQL que NoSQL
juste par du fait que quand tu gères des applications.
On fait des structures de contenu qui sont relationnelles.
MongoDB, même s'il y a plein de personnes qui aiment cette database pour toute la flexibilité que ça peut porter, c'est des documents,
c'est pas hyper bien fait pour des relationnels et après on a des problèmes de performance un petit peu aussi avec ça.
Donc il y a des chances qu'on se focus dans le futur, lointain plus sur des databases SQL que NoSQL.
Alors j'ai installé sur ma machine, je crée mes modèles,
donc je n'ai peut-être pas un modèle voyage parce que je vend des voyages, le titre, les photos et tout ça.
D'ailleurs les photos sont stockées, je peux mettre un connecteur pour gérer des assets ou des choses comme ça.
En fait si mes utilisateurs doivent applauder des assets, c'est directement sur Strapi, c'est sur un service tiers.
Alors au tout début on ne applaudait les images sur le serveur directement,
donc autant de dire que ça ne scale pas, demain tu mets un scaling horizontal, tu es dans la merde.
En fait on a créé un système de provider qui permet d'ajouter un provider de upload,
donc demain de devenir connecté avec un AWS S3, un Cloudinary ou le service que tu veux.
Le côté qui est cool aussi c'est que ce service de connecteur,
le provider est très très simple, c'est deux petites fonctions,
ça veut dire que si aujourd'hui dans la communauté tu ne retrouves pas le provider pour ton service de upload,
en fait tu peux le créer toi-même, très très simplement, il y a de la documentation
et si tu as un service TOTOP qui n'est pas connu aujourd'hui de notre communauté et tu ne peux pas le retrouver,
tu peux le créer en littéralement 10 minutes parce que c'est trois fonctions et c'est bon.
On a la même chose pour les emails aussi, si tu veux utiliser un service d'envoi d'email
qui n'existe pas dans la communauté parce que personne n'a créé déjà ce provider d'email,
tu peux faire exactement la même chose et c'est pour ça que c'est l'aspect ouverture,
customisation qui te permet d'intégrer des services tiers relativement simplement
et en plus la communauté vient créer ces services et voilà, c'est trop cool.
Excellent, carrément.
Ok, je vais aller jusqu'au bout, je crée mes modèles, je commence à créer mon API,
tout machin, ça marche tout nickel.
Ok, maintenant j'ai montré ça à mon client, il est content,
il est chaud, qu'est-ce que je fais pour le passer en prod ?
Est-ce que je dois faire des migrations ? Comment ça se passe ?
Oui, alors ton projet est en local, tu es content, ton client aussi est content.
Alors là c'est là où on passe sur la partie deployment,
donc en plus aujourd'hui on a des guides dans la documentation qui permet de deploy,
strapir sur les cloud providers les plus connus, donc AWS, Digital ECM, GCP, etc.
Donc il y a de la documentation pour ça si vous êtes un petit peu perdu et vous savez pas par où commencer.
Donc le but c'est de prendre un hosting provider, de mettre en place un serveur
et une database disponible.
Ensuite strapir, vu qu'on a tout le code sur son ordinateur, le but c'est de push online
sur le serveur, son code qui est en local.
Donc ça c'est très simple.
Et ensuite il y a de la migration de database, alors là on est en train de travailler dessus
parce que certaines configurations qui sont très développeurs orientés sont en fiché,
donc très facile à migrer d'un environnement de développement à un environnement de production.
Aujourd'hui tout ce qui est configuration visuelle,
parce que tu peux configurer la partie visuelle de l'administration avec certaines settings,
celles là elles sont dans la database et donc du coup il y a besoin de migrer un petit peu manuellement
en en faisant des exports et des réimportes dans la database online.
Donc là on est en train de travailler un petit peu sur ce process parce que c'est pas ce qui a de plus simple.
Donc on a des voies d'amélioration encore même après 7 ans.
Donc là on va bosser sur plein de sujets qui sont notamment la migration et le deployment.
La facilitation du déploiement d'applications strapir.
Et ensuite on a payé, elle est online disponible et puis on est bon.
Ok, à refaire.
Oui, à l'immigration j'allais en parler.
C'est un petit sujet, je me suis confronté à un changement de nom de table ou de colonne et ça peut un peu casser un peu le truc.
Là on est encore sur un autre sujet si je peux dire juste un mot sur ce sujet en particulier,
c'est qu'aujourd'hui on ne sait pas ce que les utilisateurs de strapi font de strapi.
Et donc notamment là tu viens de soulever un point qui est intéressant,
c'est comment je fais quand je rename un field par exemple article,
enfin title a name par exemple, ça pourrait être le cas qui t'est arrivé.
Aujourd'hui qu'est-ce qu'on fait de l'attaque et avant, est-ce que c'est un rename pour tout supprimer,
est-ce que c'est un rename pour juste faire un rename.
Donc en fait ce qui se passe c'est qu'au final on ne supprime rien.
Quand tu fais une modification de ce type là, on va créer un nouvel élément et on ne va pas supprimer l'ancien.
Parce que si tu renames et qu'on dilite etc, ça n'a pas de sens et en fait il y a tellement de flexibilité côté utilisateur
que c'est très dur à gérer ce genre de situation là et qu'on n'a pas encore trouvé la solution sinon on l'aurait implémenté
parce que je crois que ça fait plus de 2 ou 3 ans qu'on a ce sujet là,
mais on n'a pas encore trouvé la meilleure solution pour gérer ces choses là.
Et ou notre point de vue c'est qu'on a plein de cas d'usages différents,
on ne sait pas ce que vous faites avec Strapi et on doit essayer de gérer ça pour combler tous les besoins
ou en tout cas pour matcher tous les besoins qui n'y a pas en bref.
Oui mais je suis clair qu'il y a tellement de cas de figure qu'il faut tout prendre en compte
et j'imagine que c'est une sacrée prise de tête, ne serait-ce pas pour ça.
Petite précision pour Strapi, quand tu crées le contenu, ça crée des fichiers.
Tout ce qui est les modèles, c'est dans des fichiers, ce n'est pas dans la base de données.
Donc c'est assez facile de prendre des modèles qui existent dans un Strapi pour le mettre dans un autre
et ça va être recréé exactement les mêmes modèles. Ça va être super top pour ça.
Notamment avec les componentes aussi, si tu as créé des componentes,
ce sont des data structures qui pourraient être utilisables dans n'importe quel type de contenu.
Par exemple un component SEO qui prend en charge la gestion du contenu de ton SEO.
Tu vas pouvoir l'utiliser pour un type de contenu blog ou pour un type de contenu restaurant
ou un type de contenu autre. Et donc tu peux complètement copier tes fichiers,
mettre dans ton autre application Strapi pour gagner encore plus de temps.
Et vu que c'est file-based, tu peux juste copier-coller et ça recréera la data structure automatiquement.
Oui, ça c'est pas mal. Et aussi, des features super intéressantes que vous avez rajoutées
je sais plus combien de temps, peut-être un an, un an et demi. Les zones dynamiques là.
Oui, les dynamiques zones, ça c'est trop bien ça.
C'est quoi ça ? Je ne connais pas les dynamiques zones, vous pouvez m'expliquer ?
Alors, oui, tout très simplement, quand tu développes ta data structure,
souvent tu sais déjà à quoi il va ressembler. Donc tu vas être capable de dire que dans ta page,
j'ai un texte titre, j'ai un blog de contenu,
ta structure d'un article, elle va pas changer un article après l'autre.
Ton article, il aura toujours la même structure.
Mais parfois, souvent sur les pages internet, par exemple, des pages de site web,
ta page de site web, il y a un pattern qui se répète selon plusieurs pages.
Et chaque structure est différente.
Et bien aujourd'hui, c'est comment avec des blocs de... des composants.
C'est un petit peu complexe. C'est surtout quand je ne suis pas préparé.
Mais c'est des composants que tu vas pouvoir définir.
Donc ton front, il sait que tu vas avoir un composant slider,
que tu vas avoir un composant testimonial, que tu vas avoir un composant x, y.
Et en fait, tu vas pouvoir composer tes pages depuis ton back-end
directement avec des structures de contenu un petit peu modulables.
Et nous, c'est ce qu'on utilise notamment sur le site Strapi.
Ça serait un bon exemple, mais il y a des blocs qui se répètent.
Tu retrouves souvent les mêmes blocs avec du contenu différent sur différentes pages.
Et bien en fait, on a utilisé la Dynamics Zone
pour qu'Ive, qui s'occupe de gérer le contenu du site internet,
puisse directement, lui, de son côté, définir
« OK, je veux que cette structure de contenu, elle soit sur cette page-là
avec le contenu que j'enregistre »
et le front-end, lui, de son côté,
y sait les composants existants et donc il va afficher le bon template
en fonction du composant qu'Ive aura mis dans l'admine panel.
Donc ça laisse plus de flexibilité au content editor
pour structurer le contenu qu'elle veut l'afficher
sur notamment un site internet. C'est très utile dans ce cas-là.
C'est à l'image des slides chez Pristinik
ou des blocs sur Gutenberg de WordPress.
Voilà, c'est des blocs, un carousel, tout ce que tu veux.
En fait, tu les assembles et tu peux même les ordonner, il me semble.
Oui, tout à fait.
Donc tu fais ta page avec des blocs et puis...
Tu coupes, c'est vachement pratique.
Tu l'as mieux expliqué que moi, c'est beau.
Du coup, qu'est-ce sont les prochaines évolutions de Strapi ?
Je sais que vous avez une roadmap qui est disponible sur le site
pour voir sur quoi vous allez travailler, on peut proposer aussi des choses.
Tout à fait.
Après, les gens votent, il me semble.
C'est exactement ça.
Oui, je te laisse parler quand même.
Tu peux le faire pour moi.
Oui, tout à fait.
Alors Strapi, c'est un...
Maintenant, il y a une société avec...
On essaie de trouver un business model derrière, on pourra en parler juste après.
Mais on reste quand même très community oriented.
On écoute la communauté, on travaille avec eux,
on a mis en place des programmes pour justement inclure
dans la réflexion des features, etc.
Toutes, plein de personnes de la communauté.
Donc oui, la roadmap se définit en fonction de deux choses.
Les besoins émis, ou en tout cas suggérés par la communauté.
Et en même temps nos besoins financiers,
parce qu'il y a une réalité économique qu'il faut pas oublier.
Mais en effet, le plus gros passe par la roadmap online qu'on a
qui est publique sur Product Board, je pense que ça doit être
portal.productboard.com.slashstrapi.
En tout cas, c'est sur le site internet, vous pouvez retrouver.
Donc là, en effet, il y a plein de cards qui mettent en avant
un nombre de features qui nous a été remontés par la communauté
qu'on a résumé sur Product Board.
Chacun peut upvoter pour donner plus d'impact sur tels et tels features.
Ce qui fait que la prochaine feature qu'on va développer,
c'est internationalisation qui est la feature la plus upvote
sur Product Board.
C'est grâce à ça qu'on a défini quelle était la prochaine feature
à développer.
Et par exemple, quand je parlais des besoins financiers aussi,
là on a réalisé la semaine dernière SSO,
la partie Authentification à l'admine avec un provider,
que ce soit Google ou autre, qui était un besoin entreprise.
Et là on en a besoin au côté financier de Strapi,
mais on essaie de faire un équilibre entre la partie communautaire
et la partie besoin financier que nous on a,
parce que c'est une réalité.
Mais oui, après on travaille avec la communauté aussi
pour le développement des features et avoir le besoin.
On travaille sur l'écoute du besoin.
Comprends bien que vous avez quand même besoin de vivre
pour que Strapi continue, surtout.
Oui, tout à fait.
Donc la prochaine feature, c'est l'internationalisation.
Ça sera dans ses camps, ça ?
Alors, là on a déjà commencé à travailler dessus.
Si je dis pas de bêtises, et là ils vont me haïr,
que je dis pas de bêtises.
Avant la conférence ?
Pour internationalisation, je suis pas sûr.
C'est Q2, c'est...
C'est Q1, mais marqué.
Q1 ? Ah oui, bon bah écoute, très bien.
Je suis nul en date, comme je te disais,
c'est pas mon fort, moi je m'occupe d'autres choses.
Je suis Strapi.
Mais oui, non, faut suivre juste...
Si vous voulez des dates, suivez le product board.
On essaie de le mettre à jour le plus souvent possible.
C'est là où c'est le mieux pour avoir des dates qui fassent du sens.
Mais si il y a marqué Q1, ça sera sûrement fin Q1, je pense.
Ça sera certainement annoncé à la Strapi conf le 22 avril.
J'espère que ça sera...
Oui, oui, oui.
Y'a pas de soucis avec ça, Strapi conf le 22 avril.
Ok, et derrière c'est quoi ? C'est la paye token, je vois ?
Oui, y'a la paye token et puis surtout y'a le travail sur l'expérience éditoriale.
Aujourd'hui, on a fait un gros travail sur l'expérience développeur,
sur la customisation, etc. comme on a pu déjà en parler.
Mais aujourd'hui, c'est aussi travailler sur une meilleure expérience
côté édition de contenu.
Le Weezy Week, par exemple, qu'on a, y'a un travail énorme à faire dessus.
Il fait le principal, il y a un petit peu de...
On peut faire du markdown, mais aujourd'hui, voilà, on peut créer meilleur.
Et c'est pareil, aujourd'hui, on ne supporte pas d'audio file proprement
dans l'admine de Strapi, on ne gère pas de champ maps, par exemple,
qui est souvent... On a eu plein de projets où il y avait besoin
de pouvoir gérer des coordonnées GPS depuis l'admine.
Voilà, comment on peut avoir une gestion de contenu un peu plus fournie.
Après, il y a l'écosystème de plugins aussi sur lequel on travaille.
Là, on a sorti un plugin sentry.
Il y a pareil pendant la dernière release, donc la semaine dernière.
Voilà, comment on peut aussi intégrer des systèmes de template
pour démarrer plus vite avec Strapi et voir un blog déjà créé
avec la structure de contenu qui va bien.
Comment on peut faciliter toutes ces choses-là
avec un petit teasing sur le fait que l'admine panel
va avoir un petit relifting.
C'est ouf, non, pas de trucs là-dessus, mais un petit truc qui arrive, c'est ouf.
Gros changement de...
Oui, oui, oui.
Je ne veux pas trop en dire.
Oui, juste petit teasing, mais l'admine panel va prendre un bon coup de neuf.
Ça va être vraiment cool.
L'expérience, ça va.
Il n'a pas changé depuis super longtemps, en fait, depuis 2017 peut-être, non ?
Depuis la V3 ?
Oui, tout à fait. L'admine panel, il a été refait en V3
avec Cyril qui nous a fait sur la partie Front
qui est notre premier employé, qui nous a tout refait à neuf, tout clean.
Et là, côté design, du coup des designers aussi qui ont rejoint l'équipe
et qui nous ont refait un petit travail magnifique.
Ça arrive bientôt.
Ah, cool.
Et alors, je n'avais pas vu.
J'avais mis la question et je n'avais pas eu que c'était dans les hosting, dans les considérations.
Le Clude hosting platform de Strapi,
et justement, c'est une question que j'avais te poser.
Justement, on peut être des fois confronté à du nod pour l'héberger.
Si tu es développeur, etc., c'est facile.
Tu peux y arriver, mais quelqu'un qui est un peu moins technique
pourrait héberger un Strapi, c'est un peu plus compliqué.
Donc justement, cette idée de Clude hosting que vous pourriez proposer éventuellement,
c'est une idée que vous aviez déjà eue ?
Ouais, tout à fait.
Alors, on parle directement dans le business model des projets open source.
Du coup, je pense que ça, c'est une évolution qui peut y avoir
dans la monétisation d'un projet open source.
Pour répondre à ta question, oui, c'est en considération.
Est-ce qu'on va le faire probablement ?
Probablement, oui.
Parce qu'il y a besoin de répondre à cette problématique de mise en production,
comme tu le disais.
Parler de migrations de données tout à l'heure,
qui était un problème,
c'est un moyen d'y répondre.
Si on te donne tous les outils pour déployer très facilement ton application,
forcément, on résout cette peine du déploiement, etc.
Donc, c'est probablement sûr qu'on le fera.
Est-ce que ça, c'est un pass, on verra.
Est-ce que c'est dans un plan court, moyen terme ?
Non, parce qu'on a déjà,
aujourd'hui, il y a déjà plein de sas qui font du headless CMS, très bien.
Tu as cité Prismic tout à l'heure.
Il y a Contentful, il y en a d'autres.
Ils font très bien le job.
Donc, déjà, arriver et proposer une version sas de Strapis,
c'est pas dans les plans,
parce qu'aucun n'intérêt.
Tout à fait.
Et après, il y a une évolution,
je pense qu'il y a une évolution des business models dans l'open source,
où tu peux pas faire...
Le modèle que nous, aujourd'hui, on a,
sauf si tu veux, on parlait un petit peu après,
mais le modèle qu'on a, c'est un business model open core,
où on vend des fonctionnalités supplémentaires
avec un core qui est complètement gratuit,
avec la philosophie derrière de se dire
qu'on essaie de monétiser uniquement des features qui soient
enterprise-oriented,
et que dans la vie de tous les jours
et dans les projets que tout le monde pourrait créer de façon complètement gratuite,
il n'y a pas de limitation qui vienne avec trop de frustration,
parce que sinon, on perd l'idée globale.
Et donc, ensuite, une fois que tu as commencé par tester ce business model-là,
à ce moment-là, c'est intéressant d'aller tester d'autres business models
pour proposer d'autres solutions aussi.
Donc notamment, un SaaS ou un PASS ou autre.
Ok.
Oui, d'accord.
Je pensais au Service Cloud aussi,
parce que c'est un peu le modèle automatique de la société
qui gère Wordpress, on va dire.
Oui, tout à fait.
Après combien de temps ils ont mis pour créer ce...
Oui, c'est clair, c'est plus que...
C'est un piece, ça reste encore super jeune.
C'est jeune, oui.
Oui, là, on monétise uniquement depuis presque 6 mois,
c'était l'été dernier.
Donc c'est encore tout neuf, c'est encore tout frais.
Il y a plein de choses à faire.
Et avant de se concentrer sur un nouveau projet,
parce que passer un projet open source en projet SaaS,
on pourrait penser que c'est simple,
ça ne se fait pas en claquant des doigts,
il y a des problématiques qui arrivent,
c'est que du coup, il nous faut une équipe de DevOps
qui soit chaud patate pour gérer toute l'infra, etc.
Enfin, en termes de team derrière, ça n'a rien à voir.
Et du coup, c'est pareil, du temps aussi,
le jour où on s'y mettra,
il faudra prendre le temps de recruter les bonnes personnes
pour travailler sur ces nouveaux sujets
qui sont aujourd'hui pas les notes.
Nous, on est concentrés aujourd'hui sur la communauté.
Donc comment on fait en sorte que la communauté soit contente,
qu'on puisse aussi, enfin, contente du produit qu'on développe,
qu'on soit là aussi pour les aider avec du support,
avec de la documentation, avec plein de choses.
Aujourd'hui, c'est les choses que je gère,
donc j'espère qu'on fait du bon taf.
Mais voilà, on se développe plus
sur l'aspect open source, open core,
et le SaaS, etc. pour plus tard.
Et question qui est un petit peu entre les deux,
c'est-à-dire sur le côté business,
mais le côté aussi communauté aujourd'hui,
quelle est la cote part de l'évolution des comites,
en fait, quelle est la cote part de comites
issus de la communauté et issus de votre core team, quoi ?
Ouais, alors j'ai pas les chiffres exacts,
mais c'est ridiculement bas.
C'est très bas, en fait.
Aujourd'hui, c'est très dur d'avoir des contributions lourdes
sur Strapi, du fait qu'il y a des problématiques produits.
Je prends un exemple pour être un peu plus clair.
Demain, si tu veux contribuer sur un projet open source
qui est un framework de développement,
je prends un exemple pour qu'est-ce que ça pourrait être.
Allez, l'audage, que tout le monde sûrement doit connaître.
C'est facile, c'est un framework de développement back
avec que des problématiques qui sont,
finalement, back, même si tu peux l'utiliser en front,
enfin, vous avez compris, c'est un framework de développement,
c'est très simple de contribuer.
Enfin, en tout cas, c'est relativement simple de contribuer.
Aujourd'hui, dès lors où tu viens sur Strapi,
il y a une histoire de développement d'un produit
avec du front, avec du back,
avec l'évolution dans laquelle on veut aller sur le projet,
tout de suite, c'est bien plus compliqué.
Donc, au final, les contributions que l'on a,
souvent, c'est des petits fixes,
en disant petit fixe, un peu réducteur,
même si ça nous aide beaucoup, donc il faut continuer.
Mais c'est à faible impact et en quantité de code,
au final, ça reste dérisoire par rapport à ce que l'accord team
et l'équipe de Dev qui est chez Strapi
produisent en termes de quantité de code.
Même si l'idée, forcément,
c'est de pouvoir attribuer aussi nous,
de notre côté, beaucoup plus de temps
aux pool requests, aux contributions,
avec un système de RFC.
On a commencé, mais le problème,
c'est qu'on se rend compte que la communauté
demande énormément de temps
pour être efficace, pertinent, etc.
Et donc, du coup...
Structuré, coordonné, c'est clair.
Tout à fait.
Et donc là, l'équipe, en fait, aujourd'hui,
comme je disais tout à l'heure, on est 30,
mais on n'est pas à 30 Dev,
et l'équipe produit, donc qui aujourd'hui
sera amenée à gérer cette partie-là
et encore aujourd'hui trop petite.
Et donc là, on est en train de travailler
sur un changement de structure.
C'est Aurélien qui est en train de mener
ce projet-là, donc Aurélien qui est CPO,
qui est en train de transformer l'équipe
avec un système de squad
pour pouvoir intégrer plus facilement
toutes les requests, retours
et contributions de la communauté.
Voilà, Work in progress.
Pour augmenter cette part de code
de la communauté, parce que oui,
c'est une force et donc du coup,
il faut qu'on fasse en sorte qu'on puisse...
Voilà.
Je comprends très bien.
Une communauté, c'est du boulot,
c'est clair que...
C'est énormément du boulot.
On le voit, de toute façon, sur les gros projets,
il y a des gens qui sont dédiés
à gérer la communauté.
Tout à fait.
C'est énormément de travail.
Et sur GitHub,
ou sur des choses comme ça,
je pense que vous avez tout est accessible
en termes de p'tits métriques
sur GitHub.
Vous avez quoi ?
Vous avez le nombre de stars.
Est-ce que t'as un petit peu des chiffres
à nous donner sur le nombre de personnes
qui utilisent Strapi,
le nombre de stars,
le nombre de votre communauté ?
Voilà, tout ça.
Alors avoir des chiffres sur la partie open source,
sur un projet open source,
et vu que nous ne sommes pas en sace,
c'est très très dur.
Pardon, c'te coupe.
Vous avez pas de télémétrie
embarquée sur le Strapi ?
Ah d'accord.
Aujourd'hui,
le chiffre qu'on a basique,
c'est le nombre de stars.
Aujourd'hui, là, on a passé les...
Je viens de regarder,
c'est un peu trop de chiffres sur GitHub,
c'est vraiment cool.
Du coup, j'invite forcément
toutes les personnes qui nous écoutent
s'ils n'ont pas Strapi
de donner un petit...
Un petit coup de pouce ?
C'est complètement une vanité métriques.
Je me suis rendu compte que je l'avais pas fait,
donc je viens de le faire.
Merci.
Mais ouais, c'est complètement
une vanité métriques,
mais ça donne de la visibilité
d'enlever en soi au projet.
C'est vachement chouette.
Selon les personnes
quand elles choisissent aussi d'utiliser
un logiciel, elles veulent voir
s'il y a une communauté d'utilisateurs derrière.
Les stars, ça en fait partie
parce que au début, quand t'as
1000 stars, tu peux dire
est-ce que je vous donne de considération à ce projet-là ?
Ça vient avec le temps, et aujourd'hui, 34 000,
ça commence à faire, c'est vraiment cool.
Après, on a un Slack
aujourd'hui.
Ne me demandez pas pourquoi pas Discord.
J'aimerais bien qu'on fasse le
switch sur Discord, mais aujourd'hui...
L'histoire a pris que vous êtes sur Slack.
En fait, le Slack, il est...
Il a quoi ?
Il a un petit peu moins de 7 ans,
il doit avoir...
On l'a créé quand même. Il y a très longtemps.
À l'époque, tout était sur Slack,
pareil avec la fame de Slack, mais aujourd'hui,
c'est un switch qu'on aurait pu faire peut-être plutôt.
Mais bon, aujourd'hui,
là, on a entre 13 et 14 000.
On doit être à 13 700, 13 800 personnes
sur Slack.
Donc, si vous voulez le rejoindre, il y a tout plein de développeurs
Strapi.
Donc, c'est Slack.strapi.io.
Donc là, il y a un petit forme pour pouvoir
s'enregistrer.
On a passé les
2000...
millions ou milliards ? Non, 2 millions.
2 millions de download
sur NPM.
J'ai rien de tout sur le million,
1 milliard. Non, c'est 1 million.
1 milliard, ça ferait beaucoup.
Oui, ça ferait beaucoup.
Mais pourquoi pas, un jour ?
Mais bien sûr, exactement.
On est passé 2 millions de download sur NPM.
Et après, pour l'usage pur,
donc, tu parlais de telemetrie,
c'est dur d'avoir des chiffres aussi
qui soient pertinents.
Aujourd'hui, la telemetrie, on essaie
de l'avoir plus sûr.
La façon dont Strapi s'est utilisée,
où est-ce qu'il y a
des erreurs qui vont poper
récupérer des informations
qui nous permettent derrière de...
pas...
En fait, la quantité n'est pas
importante.
Ce qui va être important, c'est l'usage.
Je donne un exemple tout simple
de la telemetrie,
comment elle nous a aidés.
Aujourd'hui, on voyait
qu'on avait un drop
en termes d'usage
sur...
mon premier administrateur.
A ce moment-là, il y avait un drop énorme.
Du coup, c'était
comment on améliore
cette partie-là du...
On va dire, du funèle.
Déjà, on la détectait grâce à la telemetrie.
C'est ce qui nous a derrière
permis de créer le quick start flag
et d'intégrer
SQLite
qu'on n'avait pas au début.
On s'est rendu compte que la connexion
à la database, faillait tout le temps
parce qu'en fait, les gens oubliaient de start
leur PostgreSQL en local
ou leur MongoDB
ou autres databases.
Du coup, les gens
y arrivent, ils ont une erreur et
le process se coupe.
Du coup, l'expérience, tu parlais
de développeur d'expérience, ça,
ça nous a aidés à mettre en place le quick start guide
qui va installer
localement un SQLite,
qui va aussi automatiquement start
ton browser
avec la page
pour créer
ton premier admin, pour
fluidifier tout ce process-là et avoir le plus
de personnes possibles qui vont de l'un
de... je tente
d'utiliser Strapi en créant
un projet, jusqu'à je créer mon premier
administrator où là après, c'est app
pour self dans l'admine.
La telemetrie, aujourd'hui, elle nous sert
plus à ça, c'est à améliorer
le projet pour
fluidifier l'expérience utilisateur
que ce soit développeur comme
content editor par la suite.
D'accord.
Ok. Et tu peux nous dire s'il y a
des gros projets, des grosses sociétés
qui utilisent Strapi aujourd'hui ?
Ouais, tout à fait. On a
quelques use cases qui sont
sur notre site internet.
Par exemple, on a la société générale
qui nous utilise en interne, par exemple
ça va parler à
cette cible française, donc société
générale, banque, qui nous utilise
en interne pour une plateforme
de e-learning, donc du coup
il gère des cours.
Après, on a
ce projet qui est vachement cool, ShellTeen
c'est un projet français aussi
qui développe des objets connectés pour
monitorer l'activité des pompiers en opération
donc l'environnement
etc pour permettre de s'organiser
correctement.
Donc ça c'est cool, il bosse avec les
pompiers de Paris, il me semble, je crois.
On a
l'équipe aussi, l'équipe.fr
magazine sportive
qui nous utilise aussi pour
je crois que c'est pour leurs 20 ans, ils ont fait un format
Stories
et ils ont aussi un autre projet, j'en ai entendu parler
il n'y a pas longtemps mais je ne connais pas tout
mais ouais, c'est Strapi qui
tourne derrière
et un autre projet que j'aime beaucoup
c'est
on a fait un webinard avec eux, il n'y a pas très longtemps
Daniel a interviewé
le studio qui a créé ce website
c'est
One-1
qui a utilisé Strapi pour refaire
le website de Turn10 Studio
qui est le studio
qui développe le jeu vidéo forza
pour Microsoft
et ils ont mis de la 3D dedans
etc, le site est magnifique
donc c'est turn10studio.com
je crois
et le site est magnifique et c'est là où on se voit la
puissance du fait que
Strapi c'est un aide de la scms
on gère le contenu et derrière
la créativité
pour le front end
c'est elle-pure celle, faites-vous plaisir
quand on voit le résultat comme ça
c'est trop beau
et après on a des fortunes 500
qui nous utilisent
mais là on a des contrats de confidentialité
parce qu'ils sont clients du cours
mais on a pas mal de boîtes dans le fortune 500
qui nous utilise
et est-ce que c'est des gens
qui ont pris Strapi
comme ça
par hasard mais ils ont trouvé Strapi
ou c'est vous qui avez voulu
voir en disant
on a un outil qui permet de...
alors on ne fait pas de chasse
si je peux dire ce mot
je sais pas c'est quoi le terme
on ne démarche pas
toutes les personnes qui ont utilisé Strapi
à un moment donné que ce soit des clients
ou des utilisateurs gratuit
la partie gratuite forcément
ils ont pu découvrir
complètement gratuitement
et voilà
pour la partie client
c'est
des besoins
ils ont commencé forcément par
Strapi version
open source gratuit etc
et ensuite il y a eu des besoins
que ce soit en termes de support
en termes avec des SLA
avec un besoin
de contact avec nous
des features supplémentaires
que l'on propose
et à ce moment-là ils sont réellement vers nous
dans un process sales
mais on ne fait pas de démarchage
on a cette chance
et voilà
ok
on peut rapidement parler des tarifs
qu'est-ce qui
pourrait me faire passer
d'un compte community
un compte bronze par exemple ou silver
quelle est la différence
qu'est-ce que ça va m'apporter
qu'est-ce que ça va t'apporter
tout simplement
en termes de feature
ça c'est le principal
et de support
aujourd'hui c'est ça qui
c'est le support
oui tout à fait
notamment plus tu vas monter dans
les plans
parce que le support
c'est humain
c'est une ressource humaine
et donc du coup ça coûte
oui tout à fait
et donc forcément on ne peut pas
faire du support
pour toute la communauté nous de notre côté
c'est là aussi au niveau support avec la communauté
on essaie de voir comment on peut organiser ça
pour qu'il y ait cette solidarité
qui se mette en place
mais qu'est-ce qui va te faire
que tu vas switcher
déjà une relation avec nous qui sera privilégié
aujourd'hui on a
une limitation sur le
role-based access control
la feature qui te permet aujourd'hui de toi
manager qui a accès à quoi
de façon très granulaire
la version qu'on a
laissée ouverte
en community edition
parce que tu l'as aussi en community edition
elle est un petit peu plus restrictive mais
pour un projet
où il n'y a pas d'enjeu business derrière
ça suffit largement
et c'est pour ça qu'il y a énormément de personnes
qui utilisent de façon complètement communautaire
parce que cette limitation qu'on a essayé
de mettre
le côté
besoin
poussé ou pas
puis après c'est l'accès
à ressources center
donc le support
tu as aussi de l'académie pour accéder
à des ressources
qui te permettent de monter en compétences
voilà on essaie de créer
encore c'est tout jeune donc tout ça
ça change avec le temps
là on a mis SSO par exemple
la nouvelle feature pour s'authentifier
typiquement besoin entreprise
bonjour j'ai un système
de gestion de gélation d'utilisateur
comment je fais pour me connecter à strapi
en utilisant cet outil là
là on vient de mettre en place ce besoin là
et c'est un besoin typiquement entreprise
donc là on a mis dans le plan le plus cher
parce qu'il faut un moment donné
comme on disait il y a une réalité économique
qui est
voilà on a 32
ouais tout à fait on a 32
32 personnes qui travaillent dans l'équipe
il y a 32 salaires à sortir
tous les mois on a fait certes
d'élevés de fonds qui nous permettent aujourd'hui
de financer ça mais bon
un moment donné faut aussi gagner de l'argent
parce que les élevés de fonds c'est bien mais voilà
eh ben justement on va la finalité
c'est pas la finalité en ce temps
c'est juste un moyen
d'avoir du cash pour développer
la partie open source
qui est
qui restera à d'vittames éternales juste parce que c'est là
d'où on vient mais derrière il faut construire
un moyen de gagner de l'argent
et d'être rentable à un moment donné
et donc ça c'est
ce qu'on essaie de faire en ce moment
justement c'est la question
donc vous êtes 32, vous avez été 3 levé de fonds
est-ce qu'aujourd'hui
vous gagnez de l'argent
oui aujourd'hui vous êtes rentable
non on gagne de l'argent
on n'est pas rentable
en gros on a des personnes
qui payent comme je te le disais tout à l'heure
on a des clients
je ne donnerai pas
de chiffres
c'est normal
c'est confidentiel
on essaie de travailler
sur la transparence
en règle générale
de savoir qu'est ce qu'on peut dire
on va pas parler des valeurs de strapies etc
c'est peut-être pas le moment
mais voilà on essaie de voir
qu'est ce qu'on peut aussi
partager à tout le monde
et en même temps qu'est ce qu'il doit rester
chez nous mais oui aujourd'hui
on est encore loin
de la rentabilité bien sûr
parce que 30 de salaires à sortir
pour être rentable il faut quand même faire un petit peu de chiffres
mais oui
on gagne de l'argent
ça commence à prendre tranquillement
on teste plein de petites updates
de petites choses
pour essayer de trouver le meilleur équilibre
aussi entre biz
et open source
donc voilà
aujourd'hui
et aujourd'hui votre business model
vous l'avez trouvé
ou vous êtes encore à explorer
oh non on explore
en 6 mois
tu n'as pas le temps de trouver
et de fixer quelque chose qui va marcher
sur le temps donc là
non on explore
on teste
le but étant vraiment
je leur dis parce que c'est vraiment quelque chose
qui est ancré dans
ce qu'on veut faire
c'est
les features qui seront payantes
la partie payante ça sera enterprise oriented
il y a des choses aujourd'hui qu'on pourrait
faire payer tout de suite
mais qu'ensuite on
on libérera par la suite
mais c'est juste qu'aujourd'hui
on a besoin
dans notre cadre de pouvoir prouver
qu'on est capable de vendre
donc en fait c'est une équation
mais c'est
tous les jours c'est comment on fait cette balance
entre
la partie open source
la partie business model
qui est la réalité économique
il faut qu'on arrive à prouver qu'on arrive à vendre aussi
parce que malgré tout il y a des investisseurs
et qu'il y a une réalité aussi derrière ça
et voilà
l'équation est très très complexe
donc pour ceux qui
pourrais penser qu'on
fait des choses un petit peu trop
bises ou quoi il y a
c'est très très complexe
avec plaisir d'en discuter plus longuement
mais ouais on s'arrache
les cheveux mais c'est très très intéressant
ouais c'est clair
je pense que la bascule est très difficile entre un projet open source
et puis à un moment faut gagner de l'argent
j'imagine bien que c'est très complexe
c'est pour ça ma phrase de tout à l'heure
si vous voulez pas vous embêter faites un sassin
vraiment
et est-ce que les...
j'imagine que si vous avez fait 3 levées de fonds
c'est qu'il y a des gens qui croient en vous
mais est-ce que ces personnes là
qui ont investi dans votre société
vous poussent sur certains secteurs
pour gagner de l'argent, vous donnez des conseils en fait
ou comment ça se passe
en fait on a eu de la chance
c'est qu'on a pu choisir avec qui travailler
grand luxe
oui oui oui mais je parlais de chance
tout à l'heure que la réussite d'un projet
c'est aussi basé avec la chance
on a eu cette chance là
ce qui n'est pas le cas de tout le monde
et oui on a eu
l'occasion d'avoir ce luxe
vraiment de... surtout quand on parle
d'investisseurs de pouvoir choisir
avec qui travailler
donc on a vu des personnes qui comprenaient pas
ce qu'on faisait
le pourquoi de l'open source
cette philosophie qu'il y a derrière
donc c'est les personnes là
on a pu leur dire on ne travaillera pas avec vous
et après ceux qui ont compris
on avait l'embarras du choix
et donc du coup on a travaillé avec des personnes
qui comprennent vraiment
les enjeux qui a derrière
toute la stratégie
donc ça c'est vraiment cool
super top ça
super intéressant
après ce qui nous pousse à faire des choses en particulier
oui mais ils comprennent aussi
tout ce qu'il y a derrière
la plupart de nos investisseurs
ont aussi déjà travaillé avec des projets
open source dont certains qui sont de
vrai succès dont Elasticseur
chez compagnie donc
oui il y a une compréhension
il y a essayé de répliquer
un modèle qui aurait marché à droite
sur d'autres projets donc voilà on parle
beaucoup des sujets liés à l'open source
et c'est vraiment cool
parfait
super Jim super
à imité est ce qu'on pourrait
clôturer
l'épisode
en mettant un petit peu
tous les liens
où on peut re-suivre Strapi
tu nous parlais du site de la doc du Slack
tu peux nous remettre tout dans la boucle
oui alors
déjà le site Strapi
Strapi.io
là dessus vous pourrez accéder
absolument tout
dessus vous pouvez retrouver le Slack
je l'ai parlé tout à l'heure
Slack.strapi.io
là dessus il y a
13-14 000
développeurs ils sont pas tous actifs
mais en tout cas il y a beaucoup de personnes
il y a beaucoup de personnes qui sont là
on a aussi le forum si vous avez besoin d'aide
forum.strapi.io
chaque fois c'est relativement simple
c'est le nom de la plateforme
point.strapi.io
donc le forum si vous avez la moindre question
vous êtes bloqué
sur quelque chose etc
c'est là où on
provoide
de l'aide de la guidance
donc on a des équipes en interne
et en même temps on a
la communauté qui s'entraide
énormément
ensuite pour avoir
des cours je parlais de l'académie
tout à l'heure donc academy.strapi.io
il y a quelques cours
c'est un projet qu'on est en train
d'essayer de développer
pour monter en compétences sur Strapi
qu'est ce que j'ai mentionné
quoi d'autre
aussi la roadmap
portal.productboard.com.slash
Strapi
donc là
vous avez la roadmap
le GitHub forcément
GitHub.com.slashstrapi.slashstrapi
et on est pas mal je crois
et surtout la Strapi conf
le 22 avril 2021
je crois que
si vous tapez ça
sur Google
vous trouverez le lien pour ce registre
je l'ai pas en tête
c'est online
ça sera complètement online
là on a fini de faire la
revue des RFP
pour les speakers qu'on aura
et tous les sujets en vrai ça va être vraiment cool
donc
on sera là
avec grand plaisir
chez nous c'est Victor
Victor et Shadak
ont fait du bon travail
là dessus ils ont récolté plein de
plein de belles choses
donc c'est cool
et où est ce qu'on peut te retrouver toi
moi
sur Twitter
je suis assez actif sur Twitter en relation avec la communauté
c'est
lori
jim
sur Twitter
juste ça suffit
je suis partout je suis sur les internet
super
voilà voilà
merci à toi
merci d'être venu de nous
de bien nous avoir présenté Strapi
on espère vraiment
que tout le monde
a une meilleure idée de Strapi
et que ça va vous
un grand merci
merci à tout le monde
ciao ciao
ciao
Episode suivant:
Les infos glanées
DoubleSlashPodcast
Double Slash, un podcast sur le développement web. Retrouvez-nous régulièrement pour parler de sujets variés tels que la JAMStack, l’accessibilité, l’écoconception, React.js, Vue.js, Next.js, Nuxt.js, le CSS et des retours d’expériences sur des implémentations.
Tags
Card title
[{'term': 'Technology', 'label': None, 'scheme': None}, {'term': 'Technology', 'label': None, 'scheme': 'http://www.itunes.com/'}]
Go somewhere
Vite.., un bundler !