Le micro est donné aux deux premiers développeurs de l’agence. François pour le back-end et Nicolas sur le front-end, reviennent sur Blank, la brique de développement « maison » qui fait la spécificité de l’approche de l’agence et nous parle d’amélioration continue.
Quelle est la spécificité de l’approche de l’agence en terme de R&D
François : Si la période de confinement est propice à mettre sur l’établi des projets de Recherche & Développement, chez Oniti, la R&D se fait en continu. Blank, Mulch, sauvegarde, on y consacre pas mal de temps pour mieux en gagner par la suite.
Nicolas : On dédie du temps pour ça et on enrichit les outils sur lesquels on travaille avec l’expérience client.
Alors, c’est quoi Blank ?
François : Blank, c’est une interface d’administration rapide à mettre en œuvre pour se consacrer le plus vite possible sur le métier du client.
Nicolas : Sur la plupart des projets en développement pur, quand on développe des logiciels professionnels, des logiciels sur-mesure, la base est relativement la même. On a une interface qui demande de s’identifier, avec une gestion des droits et rôles des utilisateurs, etc. Partant de ce constat, plutôt que de tout reconfigurer systématiquement en partant de zéro, pour arriver à une base avant de rentrer dans le besoin client. On a décidé de créer une base qui nous serve pour chacun des projets et que l’on fait évoluer dans le temps.
Et y a quoi dedans ? C’est un secret ?
François : La plupart des composants sont disponibles sur github et libres de droit. C’est l’utilisation que l’on en fait, qui fait la valeur ajoutée.
Nicolas : Y a quelques petites choses en plus, qui nous font gagner pas mal de temps et qui ne sont pas forcément publiques parce que c’est très spécifique à nos activités et à notre façon de travailler.
Si on entre un peu dans la technique…
Nicolas : Blank est constitué de deux parties. Une partie back-end, qui est une API R.E.ST. base faite en PHP avec le framework Laravel qui est particulièrement adapté pour faire des API.
Nicolas : La deuxième partie est la partie visible, le front-end, principalement en javascript avec une bibliothèque qui développée par facebook, REACT.
François : Ce qu’il faut comprendre de Blank, c’est que c’est notre interprétation de ces deux outils, ils sont adaptés pour la façon de travailler de Oniti. On y a ajouté des automatismes pour gagner du temps.
Nicolas : Pour le front-end, on se base également sur le framework Material UI. C’est un ensemble d’éléments d’affichage, qui se base sur une démarche d’UX design portée par google, le material design. Cela nous permet de gagner du temps de travail sur l’ergonomie de l’interface.
François Concepteur développeur
D’où vient le nom de Blank ?
François : Blank, ça veut dire « page blanche ». C’est juste pour dire qu’on part d’un projet vierge pour commencer à travailler. Sauf que notre page blanche n’est pas si vide. Et c’est tout ce qu’on aime.
Comment est né Blank ?
Nicolas : Avec François, on avait déjà un projet qui nous servait de base. Une version beta de Blank. On s’est aperçu qu’il y avait d’autres choses que l’on faisait très régulièrement. Par exemple, dans les applications que l’on développe, on a souvent des tableaux, qui présentent des quantités de données assez importantes. On faisait souvent les mêmes tableaux avec des éléments qui permettent d’ajouter des lignes, de les éditer, de les supprimer. Lors d’une discussion avec François, on a décidé de créer des lignes de commandes pour avoir des automatismes. François a développé une première base. On a cherché ensuite à l’automatiser encore plus.
François : Le premier projet est celui de notre client Abri Services, dont on peut retrouver le témoignage dans le blog Oniti.
En plus de faire gagner du temps, quels sont les autres points forts de Blank ?
Nicolas : Grâce à Blank, on a la capacité à passer d’un projet à l’autre très facilement. On connaît déjà cet outil-là, on sait déjà comment monter un projet dessus. Même si quelqu’un de l’équipe a démarré un projet plusieurs semaines en amont, en une journée, on peut tout de suite commencer à développer. C’est intéressant aussi pour nos clients en termes de support. Si une personne de l’équipe est absente, il y a toujours quelqu’un chez nous qui peut débuguer, corriger, ajouter des fonctionnalités. Cela permet d’avoir des relais. Ça créé des standards chez nous.
Y a-t-il des points faibles ?
François : Pour un nouvel arrivant, ça peut rajouter un gap supplémentaire. Pour l’instant, on a intégré surtout des personnes débutantes et cela créé une complexité. Alors, on les accompagne sur Blank pour qu’ils puissent monter en compétences et participer à son enrichissement. C’est important que tout le monde puisse participer. C’est Nicolas et moi qui l’avons initié, pour autant, tout le monde a écrit au moins une ou plusieurs lignes dans Blank, c’est important que ce soit un projet collaboratif pour que tout le monde se l’approprie.
Qu’est-ce que Blank apporte : à vous, à l’équipe, à Oniti, aux clients ?
François : Blank nous apporte un gros gain de temps, une standardisation qui permet de passer facilement d’un projet à l’autre.
Nicolas : On a suffisamment automatisé la chose pour que l’aspect technique ne soit plus une contrainte. L’objectif est de pouvoir se focaliser le plus rapidement possible sur le besoin du client et l’aspect métier. Quand on démarre un projet, on peut livrer très très rapidement les premières fonctionnalités à nos clients. On ne passe pas un mois au début du projet pour des choses qui sont des bases. C’est en phase avec notre approche projet qui veut qu’on communique beaucoup avec notre client, qu’on fasse des livraisons très régulières et qu’on fasse évoluer le projet en même temps.
Nicolas Concepteur développeur
Quel est le point essentiel à mentionner dans un article sur Blank ?
François : Il y a des choses qui sont en train d’arriver sur la partie front-end.
Nicolas : David, le fondateur d’Oniti, nous laisse quasiment carte blanche. La partie recherche et développement, c’est l’équipe des développeurs qui la porte. Je ne pense pas que ce soit le cas de toutes les sociétés dans notre domaine d’avoir cette liberté-là, d’expérimenter, de tester, de se tromper.
Blank n’en serait pas là, si vous n’aviez pas cette liberté ?
François : tout à fait.
Nicolas : Comme on est assez libre, cela permet de laisser divaguer ses idées et d’être plus tenté de tester des choses, d’améliorer, de proposer. L’esprit d’initiative en est encouragé.
Les profils recherchés chez Oniti vont aussi dans ce sens
Nicolas : Les profils qui nous intéressent chez Oniti, ce sont les gens curieux, qui sont à même de tester des choses, chercher, expérimenter. On est plus regardant sur le savoir être que sur le savoir-faire.
François : On ne cherche pas des héros en développement. Ce qui nous anime le plus, c’est d’accompagner des clients dans leurs projets, leurs créations d’entreprise.
une meilleure durée de vie pour chaque logiciel métier entretenu !
En résumé
Blank est un projet interne, propre à Oniti. Même si vous n’êtes pas un spécialiste du développement, l’approche mérite toute votre attention. L’idée, toute simple finalement, est de capitaliser pour que chaque expérience de développement logiciel nourrisse l’expertise de toute l’agence et de tous les logiciels métier qu’elle développe.
Blank s’est construit au fil des années, au fil des clients, au fil des collaborateurs, au fil des besoins. Et Blank continu de se construire chaque jour. On peut dire que Blank, c’est le meilleur des pratiques d’Oniti au service des développements logiciels métier.
C’est par souci d’efficacité que François et Nicolas ont voulu créer une sorte de base maison, construite par tous et vivante. Vivante car elle n’est pas définie pour toujours, loin de là ! Vivante car un logiciel métier traditionnel vieillit et nécessite des refontes régulières. On parle d’un besoin de refonte à 5 ans classiquement pour un logiciel métier. Oniti a choisi de garder en forme au quotidien les logiciels métiers développés. Alors, Blank est passé en revue en continu pour lui refaire une petite beauté. C’est crucial, ça bénéfice à tous et ça offreune meilleure durée de vie pour chaque logiciel métier entretenu !