WeLoveDevs.com

Grégoire de Les-Tilleuls.coop nous présente le QCM API Platform

Hello!

Grégoire de Les-Tilleuls.coop me rejoint pour une interview suite à la publication du QCM API Platform !

Les-Tilleuls.coop a une structure très rare dans le milieu de l’IT. C’est une SCOP gérée par l’intégralité de ses salarié·e·s ! Tous les bénéfices sont répartis à part égale entre eux ! Grégoire va vous expliquer tout ça !

Bonne lecture !

Q : Salut Grégoire ! Merci de me rejoindre pour cette petite interview ! Comment ça va ? Tu es en télétravail en ce moment ?

Salut, ça va super 😀 ! Je n’avais pas couru depuis novembre, j’ai repris cette semaine et ça fait un bien fou. J’ai un tour de quartier qui me fait à peu près 5 km, c’est très bien pour le matin ! Si je suis en télétravail ? Oui majoritairement. Mais j’aime bien venir au bureau. Dans mon esprit, cela crée une séparation travail/perso encore plus forte. Pourtant j’ai la chance d’avoir une pièce qui fait office de bureau à la maison. Alors une fois par semaine j’y vais.

Q : Ça s’est passé comment chez Les-Tilleuls.coop ce passage en télétravail ?

Ça nous a fait tout drôle (bien que nous ayons déjà cette possibilité avant le confinement). On se considère chanceux·ses sur pas mal de points. On dévoilera les coulisses de cette adaptation prochainement sur votre blog, restez à l’affût ! 

Q : Mais d’ailleurs, Les-Tilleuls.coop c’est quoi ?

Les-Tilleuls.coop aujourd’hui c’est 46 personnes rassemblées à la fois par leur amour de la technique, et par les idéaux qu’elles ont en commun. Très grossièrement, nous sommes une ESN. La différence se trouve dans nos valeurs et notre expertise.

Pour commencer, nous refusons de travailler sur tout projet à caractère discriminant ou qui peut entraver les libertés individuelles et collectives (fichage, surveillance…). Chez nous, le respect de l’autre, la tolérance et la diversité sont des valeurs centrales, promues et défendues par tout le monde.

En tant qu’acteurs et actrices du numérique, nous favorisons, autant que faire se peut, les collaborations avec d’autres entreprises sociales et solidaires et aidons à développer les coopératives (Scop et Scic). Nous proposons aux associations d’intérêt général et aux structures de l’ESS des tarifs préférentiels sur nos prestations.

En ce qui concerne l’expertise, beaucoup d’entre nous sont très actifs dans le milieu du logiciel libre, que ce soit en développement ou en rayonnement de communauté. Ce monde impose une exigence et une rigueur poussée à son extrême et c’est cette exigence que l’on cultive.

Q : Et ce mode de fonctionnement particulier, la SCOP. C’est quoi ? Pourquoi l’avez-vous choisie ?

Oulah, il faut remonter aux origines ! Ce sont initialement trois personnes qui voulaient un système le plus égalitaire possible. Pas de problématique hiérarchique, puisque chacun possède autant de poids que les autres lors des votes. C’est toujours vrai aujourd’hui, même si quelqu’un venait à investir un million d’euros au capital (ce n’est même pas sûr qu’il puisse d’ailleurs), il aiderait énormément la structure, mais n’aurait toujours qu’une seule voix. Dans une SCOP, les salariés doivent détenir la structure au minimum à 51%, chez nous c’est 100% (enfin… 99.8% car la Confédération Générale des Scop, l’organisme dont nous faisons partie, qui vise à créer de nouvelles coopératives et à développer les existantes, possède une part, ce qui lui permet de contrôler que le fonctionnement interne correspond à celui des SCOP et de donner un avis extérieur.).

Tout est régi de manière participative. Chacun·e innove, porte des projets, fait entendre sa voix et s’investit totalement. Au tout départ l’égalité était à son extrême puisque pendant un moment tout le monde était rémunéré au SMIC, même travail, même salaire. La plus-value financière se situe dans la redistribution des bénéfices de manière équitable entre tous les salariés.

Ce qui a changé entre temps, lorsqu’est venu le temps de grandir, je rassure tout le monde, c’est que plus personne n’est au SMIC haha ! Des personnes à l’expérience et aux compétences diverses ont rejoint l’aventure, ce qui a entraîné une différenciation des salaires, mais nous nous sommes imposé de respecter des limites. Le salaire horaire le plus haut ne saurait être plus de trois fois supérieur au salaire le plus bas. Nous sommes en train de  revenir dans les pas des débuts, en instaurant une grille salariale basée sur des fiches de postes pour retrouver cet esprit d’égalité. Un poste = un salaire. N’hésitez pas à nous suivre sur les réseaux sociaux, nous allons communiquer dessus prochainement :).

Et je me rends compte que je n’ai pas encore vraiment répondu à la question haha ! En gros… En fait, vous savez quoi ? Il y a une vidéo qui explique tout ça ici : https://welovedevs.com/fr/articles/rencontrez-les-tilleuls-coop/

Q : Les-Tilleuls.coop est le core maintainer d’API Platform c’est bien ça? Il consiste en quoi ce produit ?

Je vais vous faire un rapide récapitulatif : Les-Tilleuls.coop c’est la structure. Et chez Les-Tilleuls.coop, il y a des personnes, des tilleuls. Parmi ces personnes, il y a des contributeurs·rices aux logiciels libres comme Kévin Dunglas, qui initialement a créé un bundle Symfony dédié à la création et consommation d’API REST. Ce bundle a grandi jusqu’à devenir le framework le plus abouti concernant les API HTTP.

En remontant le temps, en première version du framework, API Platform c’était d’abord un jeu d’outils écrits en PHP. On s’en servait pour  décrire une API HTTP Hypermédia, qui s’appuie sur les standards du web, et qui s’emploie à se rapprocher de la conception du web de Tim Berners-Lee pour ne citer que le nom le plus populaire.

Q : Je suppose que le produit à évolué depuis sa première version !

Oui ! Avec les années, API Platform a mûri, c’est désormais également une API GraphQL, un serveur push HTTP avec Mercure.rocks. C’est entre autres un moyen de régler le “N+1 problem” avec Vulcain.rocks. C’est un système d’interface d’administrations capable de se brancher sur toute API documentée avec le format Hydra (les API GraphQL et OpenAPI seront bientôt également supportées par cet outil). On peut aussi l’utilise comme générateur de code JavaScript, capable de lire la documentation de l’API, pour générer un projet CRUD complet compatible Hydra. Et ça supporte déjà plein de frameworks et librairies: React, React Native, Next, Nuxt, Vue, Vuetify, Quasar… C’est aussi un générateur de code PHP à partir de vocabulaires RDF et d’ontologies. Donc avec le temps API Platform est devenu vraiment imposant. Attention je parle du framework, de l’édition standard.

Il n’y a pas systématiquement besoin de tout embarquer. Parfois juste intégrer le “core” dans un projet PHP existant est suffisant. Voilà dans les grandes lignes. Mais pour revenir à la question, ce travail de Kévin a été rendu disponible sous la licence MIT, offrant à des dizaines puis centaines de personnes la possibilité d’y contribuer et ils en ont fait ce qu’il est aujourd’hui.

Dire que ce n’est que le fruit du travail de Les-Tilleuls.coop, c’est faux. Les-Tilleuls.coop sponsorise le travail des collaborateurs·rices pour enrichir API Platform, et que par la force des choses, pas mal de tilleuls font partie des contributeurs·rices et/ou de la core-team. C’est pourquoi nous nous considérons comme les éditeurs de la solution.

Pour répondre à la seconde question : ce n’est pas un produit, c’est un logiciel libre. De ce “truc”, techniquement pas un centime ne rentre dans les caisses. Au contraire même, parce qu’on ne vend pas une licence API Platform, ni un livrable à proprement parler. Investir dans un tel logiciel, c’est croire à un idéal et s’y accrocher pour le voir grandir. En revanche, ce dont nous vivons, c’est de notre expertise dans le développement (web, mobile, devops, e-commerce, etc.), de l’expérience acquise dans le logiciel libre, et de notre connaissance de l’outil.

Q: Quelle était la motivation derrière la collaboration pour créer ce QCM ? 

C’est marrant les quiz 🙂 il y a un côté challenge, et puis être en haut de la grille c’est hyper stimulant ! Quand tu joues à WoW, à Dofus, ou Call Of Duty, tu as envie d’être le TOP 1. Même si tu n’y arrives pas, parce qu’il y a des cinglés qui ont tellement poncé le truc, qu’ils y ont passé trois ou quatre fois plus de temps que toi dessus, que tu ne peux pas les rattraper. Mais tu as passé un bon moment, tu as progressé un peu, tu as découvert des choses. Et puis ça peut créer des affinités. Untel fait TOP 100, ah, mais en fait, tu n’es pas mauvais ! Pour certains ça va être un moyen de se rassurer, pour d’autres ce sera de pointer du doigt les points à améliorer, de découvrir API Platform, de soulever des questions. C’est un peu tout ça le QCM :).

Du coup, j’avais envie de le partager avec vous. Passer un bon moment, découvrir des gens, partager cet outil pour qu’il soit encore meilleur, peut-être motiver des gens à participer à son développement.

Q : C’est quoi la stack API Platform? C’est que du on premise ou je peux aussi l’avoir en mode cloud ? 

J’ai déjà plus ou moins répondu à ça pour le coup. Par défaut, c’est une simple app PHP/PostgreSQL (les autres grands SGBD sont aussi supportés). L’outil propose aussi de base une configuration Docker et un “chart” pour déployer l’app en production dans un cluster Kubernetes.  Ensuite il y a plein de briques optionnelles que l’on peut rajouter :, React-admin, NextJS, Mercure, Vulcain, Varnish, Elasticsearch… Tout citer serait un peu long, il faut aller faire un tour sur la doc pour mesurer l’étendue des possibilités 🙂 c’est considérable. C’est open source et sous licence MIT. Ça signifie que chacun peut utiliser, copier, modifier, fusionner, publier, distribuer (même sous une licence plus restrictive), vendre ou créer une licence commerciale, en utilisant le code d’API Platform. Par contre, il faut faire l’installation soi-même.

C’est tout à fait possible de le déployer sur des serveurs classiques ou sur du bare-metal, en utilisant Docker Compose, ou encore via Kubernetes et Helm sur Google Cloud Platform, Amazon EKS et consorts. Je ne cite même pas les solutions autohébergées comme Rancher, etc. Donc oui il existe une solution de déploiement pour chaque niveau d’exigence. On peut même exécuter API Platform en mode  “serverless” (même si ça ne veut pas dire grand-chose) grâce à bref.sh sur un lambda AWS.

Ce qui fait que nous ne vendons pas (encore ?) de prestations de hosting pour API Platform.

Par contre nous sommes capables d’intervenir à tous les moments de la vie d’un projet.

Q : API Platform c’est open source ? 

Après tout ce que j’ai raconté, oui ^^.

Q : Comment ça se passe si je veux le hoster chez moi?

Ça se passe bien. 😅

Plus sérieusement, le plus rapide et simple avec le projet standard c’est de se servir de Docker. Surtout que le dockerfile est déjà prêt à l’usage en production. En dehors de ça, ce sont des technologies assez bien connues quand même. Un serveur PHP, ça fait longtemps qu’on sait le faire, Internet regorge d’exemples, de même pour le projet Symfony sur lequel se repose la version standard d’API Platform. Mercure peut être intégré directement sous forme de module dans le serveur web Caddy. On peut aussi l’utiliser en exécutable ou avec une image Docker. Même chose pour Vulcain. Le reste est essentiellement de la configuration, alors si vous avez pris un jour ou deux pour éplucher la documentation afin de comprendre la structure et la manière dont ça a été pensé avant de se lancer tête baissée, a priori, ça devrait bien se passer.

C’est la même chose pour le reste, PostgreSQL, c’est pas bien différent d’un MySQL ou MariaDB (qui sont également supportés) avec un port d’écoute différent. Il est juste un peu plus intransigeant (c’est une bonne chose). Pour le front, NextJS, React-Admin, une fois encore ce sont des choses dont on commence à avoir l’habitude.l y a tout ce qu’il faut sur Internet pour réussir à le lancer.

À la limite, pour les plus perspicaces et intuitifs d’entre vous, en lisant la configuration Docker, il est tout à fait possible d’extrapoler comment le lancer manuellement.

Q: Avec un type de structure comme les tilleuls ont, l’open source doit être une de vos valeurs fortes. Ca se manifeste comment dans votre boulot ?

C’est peut-être un détail pour vous
Mais pour nous, ça veut dire beaucoup
Ça veut dire que l’on est libre
Heureux d’être là malgré tout !

À tous ceux qui n’ont pas la réf, c’est France Gall “Il jouait du piano debout”.

C’est une chanson écrite par Michel Berger, et qui rend hommage à Jerry Lee Lewis, symbole de liberté et de rébellion. Les thèmes des paroles sont ceux des différences, de la recherche d’amour, d’un mal-être à soigner, de la solitude ou encore du refus de la haine.

Je trouve que le logiciel libre se retrouve dans tout ça face aux conglomérats et aux logiciels propriétaires hors de prix, qui ne font pas toujours mieux (au contraire parfois) qu’un logiciel libre. Pas de détail sur le jeu des licences libres, ce sera pour une autre fois :). Je trouve que de pouvoir rassembler autant de personnes sur un projet, pour qu’ils puissent y contribuer, quelles que soient leurs origines ethniques, leurs croyances, leur pays, leur langue natale, leur cursus scolaire, tout ça disparaît ! (sous réserve des pressions politiques américaines, quand il s’agit de GitHub, mais c’est un autre débat).

Mais voilà, je trouve que dans notre démarche d’adhérer à une économie sociale et solidaire, notre culture du partage, le logiciel libre est assez naturel chez beaucoup d’entre nous. Ce qui fait qu’il y a un bon pourcentage de nos collaborateurs·rices qui contribuent à des projets libres, qu’il s’agisse de projets personnels ou de projets communautaires plus importants comme Symfony,API Platform les langages Go et PHP ou encore à l’écosystème Kubernetes. Et régulièrement Les-Tilleuls.coop alloue du budget pour sponsoriser des développements, entre autres sur API Platform, Mercure et Vulcain.

Enfin, même si je me répète un peu, le fait de travailler pour toute une communauté et pas uniquement pour soi apporte réellement une dimension supplémentaire. L’exigence de qualité est tellement plus forte, qu’après quelque temps ça devient une méthode de travail. Et clairement, ça se ressent dans le code produit, dans l’attitude aussi, parce que ça apporte énormément d’humilité.

Q: Une remarque finale? 🙂

Hum… bon quiz, “bon chance” 😀

 

Merci beaucoup à Grégoire d’avoir pris le temps de nous parler avec passion de son environnement et d’API Platform.

Retrouvez le QCM API Platform sur WeLoveDevs.com ! https://welovedevs.com/app/fr/tests/api-platform

Clément Devos

Auteur Clément Devos

Plus d'articles de Clément Devos

Laisser un commentaire