WEBVTT

00:00:00.005 --> 00:00:09.548
Bonjour à tous et à toutes et bienvenue dans un nouveau numéro de DevObs. Alors aujourd'hui je suis accompagné par Mathieu. On t'a déjà eu

00:00:09.578 --> 00:00:12.793
en podcast, tu nous avais présenté ton offre KaaS

00:00:12.619 --> 00:00:25.346
de Kubernetes de service que t'avais chez Exoscale. Aujourd'hui on va parler euh de bâche. Alors Bache euh l'interpréteur de euh de commandes et plus généralement en fait euh des scripts et là pour le coup euh je te laisse te présenter.

00:00:25.268 --> 00:00:33.944
Euh ben en effet, j'étais déjà venu dans le podcast, donc merci encore pour euh cette nouvelle invitation. Je m'appelle Mathieu Corbin, j'ai travaillé euh comme administrateur système

00:00:33.825 --> 00:00:36.588
et ensuite comme développeur mais appliqué Adnafra

00:00:36.463 --> 00:00:48.997
chez Exoscane euh pendant presque 4 ans et c'est là en effet que enfin c'était j'étais encore chez Exosel quand j'étais intervenu la dernière fois maintenant je suis repassé euh SRE donc dans dans qui est une start-up française

00:00:48.992 --> 00:00:54.598
Voilà pour les présentations, là j'ai pas grand chose d'autre à dire euh à part que je suis toujours un peu des deux côtés, côté euh

00:00:54.568 --> 00:01:00.156
Ma carrière je passe soit hop, soit Dave, selon mes envies on va dire. J'ai un peu le la la double casquette.

00:01:00.108 --> 00:01:04.879
C'est c'est cool, enfin c'est voilà donc c'est-à-dire quand même il y a eu du changement depuis la dernière fois où t'es.

00:01:04.579 --> 00:01:07.511
C'est ça. C'est ça, avec un poste différent aussi.

00:01:07.295 --> 00:01:15.275
Euh je t'invite donc aujourd'hui pour euh parler en fait d'un sujet un peu d'actualité. Alors d'actualité euh c'est un peu bizarre de dire d'actualité quand on parle de bâche

00:01:15.155 --> 00:01:24.427
Euh mais euh t'as écrit donc euh il y a de ça déjà presque deux ans je crois, un article sur Bache euh que tu vas pouvoir nous résumer et

00:01:24.307 --> 00:01:30.081
il faut dire qu'il a été assez repris dernièrement avec euh des personnes qui l'ont euh commenté et t'as même dû faire

00:01:29.992 --> 00:01:35.694
encore une réponse euh par rapport à ça. Euh mais on va en discuter maintenant et euh

00:01:35.616 --> 00:01:40.080
et donc le format donc de ce podcast ça va être vraiment d'être euh une réaction

00:01:40.075 --> 00:01:51.239
euh par rapport à ce sujet euh de voir peut-être euh donc euh ton opinion, ton avis euh le comprendre peut-être un peu plus et euh et voir après ce qu'on peut en tirer en fait et euh voir euh,

00:01:51.390 --> 00:01:59.105
ce que tout le monde euh tout le monde va pouvoir en comprendre. Donc je te laisse peut-être résumer d'ailleurs, à la base, pourquoi t'as créé cet article? Euh il y a il y a de ça euh ces quelques années.

00:01:58.805 --> 00:02:13.677
En effet, j'avais fait mon premier article en décembre 2020 et je voulais aussi commencer par ça parce que euh c'est parti d'un constat en fait cet article. Euh moi j'ai commencé ma carrière en grand groupe euh dans des missions en grands groupes donc euh où c'était tout était fait d'ailleurs en KSH

00:02:13.641 --> 00:02:14.230
voilà

00:02:14.158 --> 00:02:27.510
euh donc avec des scripts de plusieurs milliers, voire dizaines de milliers de lignes où le vraiment tout était fait euh mais quand je dis tout, c'était tout euh mais même il y avait un espèce de système dignite maison en KSH, tous les slips de déploiement étaient en KSH, chez l'accord de la X.

00:02:27.432 --> 00:02:30.304
Euh donc voilà c'était un contexte assez compliqué

00:02:30.244 --> 00:02:41.781
et euh pour être honnête ben c'était ingérable, c'était vraiment ingérable, intenable euh ça plantait en permanence, c'était des scripts en plus euh non versionnés avec euh un historique euh on va dire écrit en commentaire en début de de de script.

00:02:41.956 --> 00:02:46.120
Ça se passait un peu comme ça de personne en personne et euh,

00:02:46.229 --> 00:02:55.350
Et et donc dans mon équipe on essayait un peu de se débarrasser de ça et de moderniser vraiment la Stack, on était la première équipe à parler euh, déploiement continu, infrascode ou des choses comme ça.

00:02:55.879 --> 00:03:10.493
Parce qu'on avait beaucoup beaucoup beaucoup de problèmes avec le le donc dans cette enfin là je vais dire euh Shell je pense enfin on peut parler de Shell et pas forcément que de bâchement tout ce que je vais dire sur bâche pour moi s'applique également à KSH ou à d'autres euh d'autres chaînes.

00:03:10.457 --> 00:03:19.236
Euh mais voilà donc il y a déjà ce constat-là de euh faire de l'infra avec un gros coucou de script, ça marchait pas, c'était pas ma table sur le long terme, on pourra revenir sur

00:03:19.140 --> 00:03:26.225
ensuite j'ai évolué, j'ai changé d'entreprise, j'ai travaillé beaucoup sur de l'ACI euh également euh j'ai,

00:03:26.267 --> 00:03:35.196
travailler euh en tant que maintenant je travaille en tant que SRE et il y a une quelque chose vraiment constant pour moi que que je vois en permanence c'est quand il y a du,

00:03:35.347 --> 00:03:49.011
un peu trop utilisé, c'est-à-dire des scripts trop longs ou avec de la logique. Donc quand la logique ça va être des boucles, des conditions euh de la logique peut-être métier aussi, alors métier euh ça peut être euh même côté euh infra, notre métier c'est de déployer des choses. Donc dès qu'il commence à avoir vraiment de la logique et cetera.

00:03:49.180 --> 00:03:54.323
Il y a des erreurs, euh il y a des scripts qui plantent, des euh c'est souvent des scripteux

00:03:54.185 --> 00:04:09.147
de qualité avec une gestion d'erreurs difficiles, euh des bugs subtiles, j'en ai encore eu ce un ce matin, bizarrement, euh quelqu'un qui avait euh oublié dans un script de déploiement continu euh des espaces, vous savez, autour des de dans un dans une comparaison bâche

00:04:08.986 --> 00:04:15.156
Euh donc autour des de du de l'opérateur égal parce que voilà une comparaison enfin en bâche c'est une fonction,

00:04:15.271 --> 00:04:20.673
ça prend un certain nombre de paramètres et donc si vous collez, si vous enlevez des espaces entre vos une comparaison de chaîne par exemple.

00:04:20.914 --> 00:04:30.960
Et le égal ça plante. Euh donc voilà il y a vraiment eu cette consente au au long de ma carrière où à chaque fois qu'il y avait du utilisé euh ça marchait mal.

00:04:31.393 --> 00:04:41.897
Donc ouais et euh et d'ailleurs je vais en parler avec beaucoup de gens qui étaient pas forcément d'accord et je me souviens d'ailleurs une réflexion que j'avais fait à quelqu'un une fois je lui ai dit ben je suis sûr prends ton ta collection de script challenge qui était sur Guetub.

00:04:42.192 --> 00:04:51.121
Regarde ton historique, je suis sûr que tu vas voir euh et c'était le cas. Je veux dire c'est vraiment euh c'est vraiment quelque chose que j'ai euh que j'ai vu.

00:04:51.368 --> 00:04:55.111
Et finalement, avec le temps, je me suis dit, mais euh moi, il y a un truc que je comprends pas.

00:04:55.297 --> 00:05:02.484
C'est que aujourd'hui ben finalement nos scripts déjà moi je fais pas vraiment la distraction, ce script des programmes c'est que le script c'est des vrais programmes au final,

00:05:02.647 --> 00:05:15.445
ont besoin d'être maintenus ben comme des programmes euh classiques, je fais plus la distinction euh en disant ben voilà ça s'est inscrit, ça c'est un programme et ils vont pas être euh ils vont pas avoir le même cycle de vie ou les mêmes outils euh voilà pour les utiliser. Pour moi les deux c'est des programmes.

00:05:15.842 --> 00:05:23.353
Pourquoi ne pas et moi je faisais beaucoup d'aides? Comme j'ai dit, j'ai travaillé aussi également en tant que DF, je me disais mais pourquoi on n'utilise pas les mêmes outils que les développeurs.

00:05:23.564 --> 00:05:31.604
Pour euh bah pour faire nos scripts euh pourquoi on s'inspire pas d'eux euh et j'ai l'impression que dans l'administration système il y avait un peu ce cette chose de dire euh.

00:05:31.839 --> 00:05:41.897
Les développeurs euh, ils doivent se faire des tests, ils doivent faire des voilà euh, il y en a marre des ça c'est truc classique hein grognon euh, il y en a marre d'Edef qui euh, pousse des bugs et cetera,

00:05:41.976 --> 00:05:51.247
Mais par contre alors pour les scripts internes, là c'est open bar, il y a aucun problème à faire euh à y aller en mode Yolo euh euh balancer des scripts faits à l'arrache sur un coin de table,

00:05:51.392 --> 00:06:02.767
en prod, là ça posait pas de problème. Donc il y avait aussi un peu ce truc-là qui me gênait et je me disais mais voilà pourquoi euh pourquoi on fait ça? Surtout dans le monde d'aujourd'hui euh on pourra en reparler où finalement euh c'est pas de l'humain qui pilote de la phrase, c'est des programmes.

00:06:03.194 --> 00:06:08.121
Et donc j'ai écrit ce premier article où je montrais certains points limitants de bâche.

00:06:08.512 --> 00:06:23.240
Selon moi, enfin je dis selon moi mais au final euh il y a des fausses euh enfin c'est c'est de la tech donc c'est difficile de c'est pas du mensonge je veux dire euh on va pouvoir revenir revenir sur ces points euh et en effet l'article est ressorti enfin il ressort de temps en temps en fait et là il ressorti récemment

00:06:23.174 --> 00:06:31.845
J'en avais fait un deuxième euh pour clarifier certaines choses. Et voilà mais au final euh cet article à la base c'est là euh par un constat. Enfin deux constats c'est euh.

00:06:32.308 --> 00:06:39.188
Dans l'esprit de bâche et mais en fait pourquoi on fait du Bash? Pourquoi on fait pas autre chose? C'est c'est ça fait on fait du Bash? Parce que euh il y a dix ans on faisait du Bash.

00:06:39.525 --> 00:06:46.579
Ou il y a 20 ans ou du KSA, je sais pas mais il y a d'autres outils aujourd'hui euh et d'autres philosophies. Aussi de.

00:06:46.790 --> 00:06:49.716
Écrire des programmes je pense.

00:06:50.672 --> 00:07:01.884
Bah c'est vrai que là euh je te rejoins euh complètement euh il faut voir que euh donc je le précise hein, j'ai fait des invitations un peu euh un peu plus larges pour avoir d'autres avis dessus, donc euh l'ail

00:07:01.836 --> 00:07:07.623
Il pourrait y avoir aussi un droit de réponse hein si quelqu'un veut donc là malheureusement on est deux personnes qui avons à peu près le même euh

00:07:07.563 --> 00:07:14.996
le même la même opinion puisque moi c'est vrai que dans mon expérience je partage totalement l'expérience euh j'ai déjà été dans des compagnies où euh,

00:07:15.110 --> 00:07:19.364
absolument toute la prod tournée avec un seul script euh euh shell.

00:07:19.563 --> 00:07:32.789
Puis c'était du bas, je pense que c'est du Bash quand même. Euh toute la prod tournait avec un c'est-à-dire que c'était tous les programmes de la prod qui tournaient en étant préfixés par ce wrapeur. Euh ce il était pas testé, il avait euh euh.

00:07:33.258 --> 00:07:38.822
On avait quand même euh on l'avait quand même mis dans un guide. Mais en fait il était dans un guide lié à un,

00:07:38.888 --> 00:07:50.113
c'est-à-dire qu'en fait il suivait le cycle de vie d'un coup chef et n'était pas du tout lié avec euh sur sa propre cycle de vie. Donc il était pas testé en fait, il était juste, c'était un asset euh dans le déploiement.

00:07:50.402 --> 00:07:58.502
Alors que absolument toute la prod tomberait dessus, on n'avait pas de Linking, on n'avait pas de test dessus, on n'avait absolument rien et euh.

00:07:59.013 --> 00:08:04.342
C'est vrai que c'est c'est un point euh c'est un point qui revient assez régulièrement quand on regarde les c'est que.

00:08:04.541 --> 00:08:13.765
Ils ont pas une qualité très forte. Et alors quand ils commencent à avoir une qualité très forte, tu as parlé de la gestion d'erreurs, mais euh moi je peux parler aussi de la gestion des entrées, euh des euh du,

00:08:13.873 --> 00:08:17.688
toutes les options qu'on peut mettre dedans et cetera, tout est possible de faire, il faut voir que,

00:08:17.785 --> 00:08:32.038
Shell euh ou Bache va être un langage teuring complet. Donc globalement on va pouvoir faire à peu près ce qu'on veut avec. Le problème c'est que soit il est simple et il est simpliste, il il ne gère pas tous les cas et il va avoir beaucoup tendance à planter, soit il devient,

00:08:32.063 --> 00:08:39.441
extrêmement verbeux et il va tester beaucoup de cas et dans ces cas-là il devient absolument illisible et il devient même euh.

00:08:39.700 --> 00:08:44.279
Même très compliqué à maintenir, à à à.

00:08:45.000 --> 00:08:53.256
Oui à faire à faire évoluer en fait, de manière de manière propre et donc on arrive au constat que t'as dit c'est des un peu tout le temps, un niveau de qualité qui est faible.

00:08:53.461 --> 00:08:55.089
Et c'est assez dommage parce que.

00:08:55.414 --> 00:09:03.862
Je pense que ça c'est un constat euh qu'on qu'on pourra avoir, c'est que on touche à de la prod. On touche à quelque chose qui doit fonctionner et qui doit même plus fonctionner que euh

00:09:03.821 --> 00:09:13.170
un petit script euh qui fait un joli euh un joli Hello World euh sur une euh sur une page web. On on parle pas du même niveau de qualité qu'une euh qu'un script Java Script euh

00:09:13.147 --> 00:09:15.724
juste Shiny, on parle vraiment de la prod.

00:09:15.460 --> 00:09:16.782
C'est ça.

00:09:16.482 --> 00:09:29.557
C'est vraiment dommage euh dommage non non donc là j'ai donné j'étais juste un exemple parce que c'est vraiment celui auquel je pense euh et et donc toi là justement dans l'article qu'est-ce que tu donnais des euh donc là parce qu'on est parti donc du constat.

00:09:30.116 --> 00:09:39.406
Dans les faits, est-ce que donc là c'est il y a quoi par exemple comme euh choses qui sont limitantes pour que toi euh quand on parle de bâche et même de toutes les chaînes en règle générale que tu listais.

00:09:39.106 --> 00:09:39.700
Ouais

00:09:39.569 --> 00:09:54.248
t'en as déjà listé certains finalement enfin certaines euh bah la gestion d'erreurs pour moi c'en est une. Alors bien sûr on peut faire du sept et cetera pour euh stopper un script quand il y a des erreurs, on peut faire euh ben voilà checker des des des statuts codes euh

00:09:54.098 --> 00:10:03.712
des commandes qui sont appelées et cetera et cetera mais on est très très loin de euh d'une notion d'erreur dans un dans un programme de,

00:10:03.737 --> 00:10:10.671
comme dans un programme de alors désolé, comme dans un langage de programmation, voilà je vais y arriver classique, que ça soit des euh des types

00:10:10.545 --> 00:10:20.099
erreur et cetera euh c'est ça n'a rien à voir et d'ailleurs il y a beaucoup de choses qui sont dures à expliquer, je voudrais juste revenir là-dessus dans mes articles, c'est qu'en fait,

00:10:20.136 --> 00:10:28.963
Souvent je je parle à des agnistes de ça et d'autres choses que je lui ai mentionné en fait ils me disent oui mais non mais je suis même pas sûr qu'ils comprennent parce qu'en fait euh c'est des concepts souvent de Dave.

00:10:29.360 --> 00:10:37.459
C'est-à-dire euh quand je vais parler de voilà je parle de choses parfois des mais sans avoir les notions de développement de base pour comprendre ces choses-là.

00:10:37.947 --> 00:10:49.087
C'est compliqué de voir l'intérêt que ça a en fait. Une gestion d'erreurs m'a par exemple typé un type résulte ou euh une gestion euh avec des exceptions, des euh euh et cetera et cetera.

00:10:49.057 --> 00:10:55.114
Et et ça c'est euh c'est quelque chose de très commun, c'est-à-dire c'est en fait euh un manque de connaissances pour moi.

00:10:55.367 --> 00:11:08.064
Et et c'est dur quand il manque une connaissance de se dire bah qu'est-ce que ça va m'apporter? Parce qu'en fait je je connais déjà pas c'est quoi le truc je veux dire le le concept. Euh donc voilà euh je voulais juste dire ça avant parce que je vais parler de beaucoup de concepts de Dave en effet

00:11:07.974 --> 00:11:15.136
ces concepts-là bah voilà si en tant qu'ops on les maîtrise pas, en tant qu'administriste si on s'y maîtrise pas, on peut pas comprendre leur intérêt. Euh et ça c'est un.

00:11:14.836 --> 00:11:15.918
C'est vrai que je voulais.

00:11:16.098 --> 00:11:28.332
C'est vrai je voulais y aller après justement et ça c'est euh tu tu soulèves le point principal en fait du pourquoi tes articles vont revenir et pourquoi on a cet attachement euh souvent à Bash c'est en effet que c'est,

00:11:28.435 --> 00:11:29.744
Très simple à prendre en main.

00:11:30.322 --> 00:11:43.721
Mais en même temps va avoir euh énormément de soucis ensuite euh et en effet si jamais on ne connaît pas ce qu'on peut faire d'autre, c'est dur de l'imaginer en fait, on ne sait pas, on ne connaît pas ce qu'on ne sait pas et euh on ne sait pas ce qu'on ne connaît pas et.

00:11:44.293 --> 00:11:53.739
On a à peu près le même problème quand on a euh des gens qui font du euh du PHP et du Python euh dans le sens où c'est le premier langage de programmation que les gens vont

00:11:53.697 --> 00:12:02.950
accéder. Euh c'est un langage extrêmement simple à prendre en main qui est euh qui euh qui permet de faire beaucoup de choses. Et en fait euh pour quelqu'un qui fait du python,

00:12:02.987 --> 00:12:10.161
au quotidien. C'est dur de lui dire que il peut y avoir d'autres langages meilleurs sachant que il est déjà capable de tout faire avec du python,

00:12:10.276 --> 00:12:21.663
euh et que ben globalement ça répond à tous ces problèmes actuels. Euh je pense qu'on a à peu près le même problème avec les euh les adminis qui font du bash c'est que quand on a depuis 20 ans on fait du badge qu'on est capable de faire,

00:12:21.819 --> 00:12:29.156
absolument tout avec. C'est dur de d'imaginer qu'il puisse y avoir autre chose qui le fait mieux. Soit ça veut dire qu'on s'est trompé depuis vingt ans.

00:12:29.367 --> 00:12:37.683
Euh soit ça veut dire que ben au final ça va être shiny et je vais y perdre trop de temps derrière euh à apprendre quelque chose euh d'autre,

00:12:37.731 --> 00:12:44.353
Et je vais quasiment avoir un un système de perte irrécupérable, c'est-à-dire si jamais je passe à un nouveau système euh,

00:12:44.504 --> 00:12:53.763
À quel point je vais perdre la connaissance que j'ai déjà accumulée avant parce qu'au final il faut voir que ces adminis qui font du Bash, c'est des gens qui connaissent extrêmement bien Bash.

00:12:53.944 --> 00:13:03.306
Enfin en tout cas des des petites subtilités du euh du langage de faire des des parcings de lignes de commandes euh avec du bash, avec des ghettos et cetera et cetera, c'est un truc qui

00:13:03.198 --> 00:13:11.941
immonde mais vraiment immonde mais quand on le connaît sans doute que ça va vite, en tout cas on le voit vite, on a et on a même aussi souvent ce problématique euh,

00:13:12.085 --> 00:13:13.677
Régulièrement qui est.

00:13:14.176 --> 00:13:24.812
Si j'ai besoin de bâche une fois pourquoi j'aurais à apprendre un autre langage alors que il faut que j'uniformise, que je standardise et donc bah si je fais du bashing une fois ben je dois faire du bash tout le temps.

00:13:25.179 --> 00:13:28.369
Ça on le retrouve aussi euh dans le dans dans d'autres écosystèmes.

00:13:28.845 --> 00:13:40.093
Et je dirais aussi un truc, c'est que aujourd'hui ça va très vite, c'est-à-dire qu'il y a un peu aussi un truc dans le l'administration système que j'ai vu au cours de ma carrière et très souvent sur les réseaux sociaux, c'est-à-dire que plus on utilise des trucs un peu bas niveaux et cetera, plus on est hard-core un peu.

00:13:39.859 --> 00:13:49.341
Ouais moi je suis tout en bas, je suis euh euh ou limite euh voilà et je connais très bien le carnet euh je suis euh voilà c'est moi le c'est moi le big post parce que voilà je fais des trucs euh super low level ou super euh,

00:13:49.486 --> 00:13:57.183
typé adminis et dès qu'on commence à parler un peu de choses un peu haut niveau, d'abstraction, de langage et de de concept de programmation, de développeur,

00:13:57.250 --> 00:14:05.938
ben là on est vu comme euh voilà un ingénieur Yamel, enfin moi je bon je comprends euh régulièrement des comme ça, des euh je sais pas euh enfin voilà c'est

00:14:05.854 --> 00:14:09.838
En gros on a pas de connaissances voilà parce que on est pas assez bas niveau en fait pour euh

00:14:09.802 --> 00:14:17.938
Ça y est on est passé côté d'Eve, on est on est limite chez l'ennemi, c'est-à-dire euh c'est un peu ça hein au final euh le le truc euh c'est euh,

00:14:17.993 --> 00:14:23.382
maintenant t'es t'es tu fais du dev euh t'es plus un vrai admin, tu fais plus du Bash, attention euh

00:14:23.269 --> 00:14:37.804
il y a un peu cette culture dans l'administration système que j'ai du mal à comprendre de euh, c'est moi le plus euh, le plus hard-core et c'est moi avec mes scripts euh, et cetera qui euh, un peu en mode héros sauveur voilà boum je sauve la prod avec mon petit script euh, écrit sur un coin d'une table,

00:14:37.937 --> 00:14:45.989
c'est pas du tout ma vision en fait de l'administration système aujourd'hui. Mais vraiment pas. Euh et voilà. Euh mais bon. Mais pour revenir sur la question.

00:14:45.689 --> 00:14:56.799
Peut-être voilà, voilà, reviens peut-être euh, justement parce que j'allais te revenir là-dessus justement peut-être pour enlever ça, pour bien montrer que quand on parle de bâche, on le connaît également et que c'est pas parce qu'on fait du dev qu'on connaît plus oh euh,

00:14:56.859 --> 00:15:03.096
prémisses euh de d'un d'infrastructures. Qu'est-ce que toi tu vois comme problématique euh comme problème avec bah.

00:15:02.796 --> 00:15:03.361
Ouais.

00:15:03.481 --> 00:15:13.660
Alors la gestion d'erreurs, j'en ai parlé, c'est euh ça a rien à voir avec une vraie gestion d'erreurs typées et cetera, avec des avec euh des erreurs euh qui peuvent se gérer et même euh être détectés on va dire.

00:15:13.715 --> 00:15:24.290
D'oublier de gérer une erreur peut détecter à la compilation ou des choses comme ça ou via des euh donc ça c'est une première chose, ça va très vite de se tirer une balle dans le pied en bas sur ça je trouve. Euh on a on peut également euh parler de la

00:15:24.177 --> 00:15:33.460
la gestion on va dire de tout le cycle de vie du programme, gestion de dépendance, de modularisation, de création de librairie, enfin de bibliothèque et de partage de ces bibliothèques,

00:15:33.617 --> 00:15:41.098
via euh des enfin voilà des outils euh comme euh je sais pas ma vanne en Java enfin chaque langage a finalement son outil de partage euh de librairie

00:15:41.062 --> 00:15:51.830
en gros euh bon en gros euh ça va être mais bon voilà euh généralement la gestion des des des dépendances en gros c'est pas euh on va dire extra mais bon c'est toujours mieux que match mais je veux dire il y a ces notions vraiment de partage et de

00:15:51.782 --> 00:15:57.034
qui est beaucoup plus simple à faire on va dire dans un langage de programmation voilà comme n'importe lequel

00:15:56.968 --> 00:16:06.841
pour moi ou en bâche pour partager quelque chose généralement c'est euh j'ai eu des bibliothèques de fonction et je fais du source ou des choses comme ça mais on est pas du tout sur euh pour moi une vraie gestion de dépendance.

00:16:07.111 --> 00:16:08.595
Ça ça va être également un point.

00:16:09.119 --> 00:16:20.716
Euh ça va être aussi euh sur euh un point important, ça va être ben le typage, c'est un point important. Euh ça limite limite quand même beaucoup d'erreurs et c'est très intéressant d'avoir du typage dans un programme. Et pour aller plus loin et sur les structures de données également

00:16:20.584 --> 00:16:26.010
euh notre quotidien c'est quand même de travailler avec des des systèmes externes, des API, donc envoyer des requêtes,

00:16:26.124 --> 00:16:34.392
généralement et recevoir des réponses, euh travailler avec des fichiers de configuration, travailler avec euh de la donnée. En fait, c'est ça, un point important, c'est on travaille vraiment avec de la donné.

00:16:34.639 --> 00:16:42.210
Pour représenter toutes sortes de choses. Et donc euh dans des langages de programmation, on va utiliser quoi pour représenter ces données, on va utiliser des classes.

00:16:42.571 --> 00:16:54.865
Ou des structes, ça dépend du langage, c'est c'est pas les mêmes concepts à chaque fois. Mais euh on a des représentations pour euh enfin des des outils pour représenter de la donnée de manière euh fiable on va dire euh pouvoir euh,

00:16:54.956 --> 00:17:03.050
gérer son cycle de vie on va dire. Voir attacher les fonctions à cette donnée pour pouvoir la la modifier euh et ça en fait Bache est très mauvais à ça.

00:17:03.230 --> 00:17:14.124
Le chêne en général je veux dire euh les structures de données faire voilà euh faire un tableau en bâche c'est déjà affreux alors un tableau en deux dimensions j'en parle pas mais là je veux même pas parler de structure de données comme des mais juste.

00:17:14.395 --> 00:17:17.988
Une voilà représenter mettons un de racket HTP avec euh.

00:17:18.313 --> 00:17:24.724
Euh un useur mettons on doit créer un un utilisateur dans une et il a quoi comme euh c'est quoi son c'est euh.

00:17:24.893 --> 00:17:35.006
Par exemple enfin voilà nom, prénom, adresse, adresse qui est elle-même une structure de données avec euh ville, rue et cetera et cetera bah représentez ce genre de choses,

00:17:35.132 --> 00:17:36.892
Dans le langage, c'est très compliqué,

00:17:37.013 --> 00:17:51.170
en bâche. Euh alors que dans d'autres langages, c'est beaucoup plus simple. Et de manière, et ça se fait de manière beaucoup plus plus fiable, donc la céréalisation des céréalisations, que ce soit en Jason, en Yamel ou autre, se fait de manière euh beaucoup plus simple, enfin bref, on a beaucoup de choses qui arrivent euh qui est

00:17:51.087 --> 00:17:58.291
qui sont euh qui sont amenés grâce à ça et pour moi baf aujourd'hui ben sur les systèmes actuels où finalement on traite beaucoup de données.

00:17:58.568 --> 00:18:02.984
C'est pas du tout du tout pertinent. Et même voilà, dès qu'on doit interagir avec une,

00:18:03.147 --> 00:18:16.859
faire de la validation d'input et cetera t'en parler c'est euh la galère en bas je crois surtout le le fait que ce soit pas typé ça n'aide pas non plus. Euh donc voilà euh j'ai d'autres points mais je sais pas si tu veux réagir là-dessus peut-être euh d'abord ou pas mais.

00:18:16.775 --> 00:18:30.476
Ben oui, non mais c'est t'as t'as tout à fait raison, c'est euh le fait que Bache a donc euh il faut un peu rappeler comment ça marche. On on est vraiment dans du euh dans uniquement des des strings, des des des caractères qui sont passés de commande en commande. C'est

00:18:30.446 --> 00:18:33.919
Au final, vraiment ça à la base. Alors ça a un énorme intérêt

00:18:33.823 --> 00:18:40.829
euh c'est un énorme atout euh au quotidien c'est que euh toutes les commandes parlent à peu près de la même façon et que n'importe quelle commande peut parler avec n'importe.

00:18:41.046 --> 00:18:50.672
Ça a un énorme énorme énorme avantage euh là-dedans. Euh on n'a pas de euh de notion compliquée euh d'évolution, tout est string et tout se passe dans des string.

00:18:50.889 --> 00:18:55.479
Euh mais en effet après on a le par rapport à ça qui est euh que,

00:18:55.618 --> 00:19:02.372
si jamais votre commande euh rajoute une ligne de au milieu d'un d'un string de données,

00:19:02.462 --> 00:19:10.093
vous avez pas de moyen de le savoir. Il y a pas il y a pas vraiment de notion euh et en fait vous allez gérer cette ligne-là euh comme n'importe quelle autre,

00:19:10.202 --> 00:19:20.255
et donc le problème en fait qu'on va avoir dans Bâche et c'est un peu le contrôle d'erreur que tu faisais ou les et le contrôle de et le contrôle d'erreur en fait les deux en même temps c'est que euh les les.

00:19:20.543 --> 00:19:27.832
Problèmes peuvent aller au carré quoi, c'est-à-dire que un problème généré par une commande va se répéter à celle d'ensuite, à celle d'après

00:19:27.760 --> 00:19:36.972
et on va avoir un effet d'emballement parce que il n'y a pas vraiment de contrôle par rapport à ça, un contrôle vraiment de est-ce que la donnée que j'ai reçue est logique ou non.

00:19:37.369 --> 00:19:46.124
Et ça pour le coup en go on a moins ce problème-là et c'est un truc qui a été euh sans doute mis dès le début euh qui est que quasiment toutes les commandes renvoient une erreur au bas,

00:19:46.196 --> 00:19:52.163
on a vraiment cette notion alors euh des gens qui aiment pas euh qui préféreraient que ce soit euh des enfin des des hum.

00:19:52.380 --> 00:20:04.776
Des interruptions euh au niveau de la de la de la fonction. Mais voilà, on a toujours une erreur qui est renvoyée et on doit checker les erreurs en permanence. Et on voit vraiment la différence entre les deux en fait euh. On a vraiment un langage qui a été basé sur le fait qu'il faut checker les erreurs.

00:20:04.969 --> 00:20:13.645
Tout le temps, la moitié du programme qu'on fait c'est du d'erreur et de l'autre côté quelque chose qui est juste balance euh balance des euh des euh des streams.

00:20:14.144 --> 00:20:27.106
Des strings qui ne représentent rien, c'est-à-dire c'est enfin si ça représente des choses mais c'est euh de la on va dire c'est pas encodé dans le logage voilà c'est il y a pas de truc, il y a pas de classe, il y a pas de c'est voilà c'est géré un peu comme ça. Et en effet go force.

00:20:26.806 --> 00:20:27.857
Pour d'ailleurs euh.

00:20:28.224 --> 00:20:42.555
Ouais ouais ouais mais c'est c'est là c'est drôle c'est que euh je sais que c'est j'avais discuté avec pas mal de gens qui sont dans l'univers Dotnet et en fait euh Power Shell était un euh enfin et toujours d'ailleurs alors après je connais très mal s'il y a des gens euh fans de Power Shell qui connaissent très bien mais,

00:20:42.561 --> 00:20:55.096
normalement le but de Power Shell c'est que justement toutes les commandes renvoient des objets et donc tu peux avoir un mapping des objets et donc des commandes qui vont chercher euh euh seulement un bout. Enfin c'est vraiment en fait quelque chose où

00:20:55.084 --> 00:21:00.768
entre deux euh commandes c'est un objet qui est renvoyé et puis uniquement une string.

00:21:01.165 --> 00:21:05.147
Alors qu'en bas je suis en gros le la gestion d'objets c'est GQ quoi. Ça ça va.

00:21:04.897 --> 00:21:05.948
Oui voilà c'est c'.

00:21:05.698 --> 00:21:07.679
Ça euh c'est.

00:21:07.379 --> 00:21:17.233
Mais en fait après le problème c'est en fait il faut donc que la commande gère Diesel en fait ça veut dire que vraiment euh la seule façon d'envoyer un objet complexe entre deux commandes c'est d'envoyer du Jason sauf que.

00:21:17.528 --> 00:21:25.388
En plus c'est drôle, c'est que la plupart du temps les gens vont détester Jason ou Yamel pour cette même euh problématique-là en fait euh qui est euh ah oui mais c'est pas géré partout et cetera

00:21:25.376 --> 00:21:33.704
Euh je rebondis également sur la gestion de dépendance que dont t'as parlé euh il faut voir que donc il y a la gestion de dépendance du code donc euh une librairie, une fonction Bash

00:21:33.680 --> 00:21:42.075
Mais ce qu'il faut pas oublier également, et c'est un point euh essentiel, c'est que la plupart des programmes bâchent, appellent des fonctions.

00:21:42.310 --> 00:21:52.446
Qui sont elles-mêmes des dépendances externes, qui sont liées euh à la distribution Linux, en tout cas à l'écosystème dans lequel tourne le script. Si jamais vous appelez un cut, que vous appelez un.

00:21:52.789 --> 00:21:59.687
Euh enfin je sais pas quelle commande en fait, n'importe quelle commande euh qui est appelée. La plupart du temps, ça va être une commande qui est liée à l'écosystème,

00:21:59.832 --> 00:22:06.940
Et en fait en fonction de là où vous vous trouvez, vous aurez pas forcément le même comportement. On a très souvent le problème pour les gens qui font du euh du McOS

00:22:06.917 --> 00:22:16.531
parce que euh les commandes McCOS n'ont pas exactement le même comportement, euh je crois que c'est les grippes qui ont pas exactement le même enfin la même comportement, enfin des fonctions quand même assez.

00:22:16.693 --> 00:22:23.934
De base de corps utiles qui sont pas exactement pareils. Et alors après ça va être pareil si on va sur des distributions avec euh des euh.

00:22:24.271 --> 00:22:28.465
Des euh typiquement de l'embarquer ou des choses comme ça où on va avoir un.

00:22:28.880 --> 00:22:36.084
Certaines commandes qui ont vraiment un comportement extrêmement différent. Et le problème c'est que bâche masque ça, c'est-à-dire que la commande va se lancer, elle va tourner.

00:22:36.289 --> 00:22:39.377
Mais en fait le comportement attendu sera pas le bon et

00:22:39.336 --> 00:22:49.214
Comme encore une fois on n'a pas de gestion d'erreur, pas de gestion de de eh ben le lien entre plusieurs euh fonctions n'est pas checké, on peut avoir un truc qui explose euh qui explose assez facilement,

00:22:49.250 --> 00:23:00.823
Que vraiment la commande renverra pas une erreur, elle ne renverra pas un code d'erreur donc même si on a mis un sept mois X qu'on a décidé de bloquer euh de bloquer l'exécution, la commande peut très bien dire non non mais moi c'est okay mais elle n'aura pas le même comportement.

00:23:01.155 --> 00:23:08.936
Et d'ailleurs sur ça ben ça me rappelle vraiment l'époque où j'ai l'impression que mes quatre premières années euh de travail en tant qu'administre je passais ma vie à corriger des.

00:23:08.810 --> 00:23:13.178
Parce que c'était euh ben c'était l'enfer hein c'est voilà c'était euh c'était

00:23:13.077 --> 00:23:25.352
Et euh en effet chaque distributeur travaille sur plusieurs distributions et chaque distribution ou des gens en interne avaient construit leur fameux vous savez pour stocker les PID dans des fichiers euh gérer les accès concurrents, c'est ces trucs-là enfin

00:23:25.275 --> 00:23:32.539
c'était mais l'enfer, l'enfer, l'enfer euh et en effet c'était pas la même chose entre un et euh mettons un ou je sais pas quoi.

00:23:32.888 --> 00:23:42.298
Toutes ces fonctions-là pour on va dire gérer le site de vie du programme et savoir est-ce que enfin et moi j'avais accueilli le système D comme une libération quoi clairement à l'époque je m'étais dit mais putain c'est.

00:23:42.569 --> 00:23:51.474
Trop bien quoi je veux dire on a on a pu galérer euh enfin le nombre d'erreurs en prod avec des moisies c'était un truc mais euh.

00:23:51.805 --> 00:23:58.883
Arriver mais tout le temps enfin bref c'est un c'est un autre sujet les systèmes mais bon euh voilà c'est un peu en lien aussi.

00:23:59.316 --> 00:24:03.558
Avant tout était en bâche, non? Mais vas-y, continue, je te laisse continuer maintenant sur les autres points euh.

00:24:03.336 --> 00:24:06.755
Sur les autres points, ben on parlait un peu d'outillage, mais c'est aussi euh

00:24:06.671 --> 00:24:19.128
chose que tu avais mentionné, les linters, les euh, l'analyse statique de code, même dans les idées et cetera et l'outillage est aussi fourni grâce notamment au typage hein dans des langages fortement typés euh, on peut faire d'outillages euh, intéressants parce qu'on a des types.

00:24:19.327 --> 00:24:24.944
Donc euh même le compilateur ou des choses comme ça enfin le fait de pouvoir vérifier des choses statiquement,

00:24:25.083 --> 00:24:38.826
ça c'est super intéressant et là on est vraiment ça peut être aussi des des tests et cetera parce que souvent on me dit on peut faire des tests en bas, je suis mieux, on peut faire des tests en bâche mais euh ben les concepts de programmation comme euh.

00:24:39.072 --> 00:24:48.386
Bah les interfaces en go ou euh les génériques enfin je vais dire dans tout le langage mais maintenant c'est Dango aussi où euh le typage statique on va dire euh.

00:24:48.789 --> 00:25:00.272
Le type esthétique de manière générale ou même dans les langages dynamiques, on on peut vraiment créer des jeux tests avec des c'est-à-dire moquer des composants, dire des clients par exemple euh de manière assez simple et claire.

00:25:00.531 --> 00:25:13.979
Cette notion de voilà de comment je vais tester mon programme, comment je vais moquer des appels externes, comment je vais euh en faisant différentes euh une implémentation pour on va dire euh le le vrai code et une implémentation pour le test même si des cacher d'ailleurs une interface

00:25:13.847 --> 00:25:17.596
toute cette logique-là, c'est des choses qu'on va pas trouver, on va dire en bâche.

00:25:17.873 --> 00:25:25.059
Donc voilà, il y a l'outillage, il y a aussi la façon de s'en servir, notamment lors des tests. Enfin je veux dire, c'est c'est dur de parler de ça, en fait, ça a peut-être un peu confus, parce qu'en fait.

00:25:25.336 --> 00:25:34.091
Il y a tellement de choses qui manquent euh d'embâche sur euh sur des concepts, c'est-à-dire de développement comme j'ai dit, lié au que c'est un peu voilà je m'embrouille un peu.

00:25:33.791 --> 00:25:40.034
Et quel serait l'intérêt de ces euh de ces interfaces-là justement donc quand tu parles de quel est l'intérêt quand ton développeur.

00:25:40.533 --> 00:25:45.472
Ouais, j'ai récemment dû écrire un script, ce qui interagit avec Cubanatis.

00:25:46.049 --> 00:25:53.909
Donc euh on doit, c'était un truc qui devait modifier des ressources en cube, donc faire des appels à PI au final. J'ai utilisé un client mais bon voilà, l'idée c'est ça, on fait des des aillots.

00:25:54.180 --> 00:25:56.523
Et donc il y avait des aillots avec une petite logique.

00:25:56.974 --> 00:26:05.434
Et euh et donc je veux pouvoir tester ce froid mais moi j'ai pas envie en local d'avoir à démarrer un cluster cube euh pour euh juste faire un un.

00:26:05.903 --> 00:26:16.911
Ce que j'ai fait c'est que j'ai euh utilisé donc le client cube euh standard hein le enfin le le client dynamique de la librairie officielle euh go pour Cumanatis. Dans mon code et dans mes tests,

00:26:17.068 --> 00:26:22.253
eh ben euh j'ai euh écrit un moque de ce client parce que ce client-là en gros c'est il est d'ailleurs une interface.

00:26:22.584 --> 00:26:30.606
Donc c'est euh une interface comme une liste de fonctions attachées à une structure et donc euh j'ai écrit euh une structure de moque,

00:26:30.619 --> 00:26:36.904
le où j'ai surchargé ses fonctions dans mon test pour euh pouvoir envoyer certaines données euh,

00:26:36.976 --> 00:26:42.666
en fonction de certaines conditions. Donc comme ça je peux vraiment lancer mes tests sans avoir à démarrer tout un environnement local,

00:26:42.739 --> 00:26:57.545
travaille vraiment en isolation euh et et ça ça a quelque chose qui est super difficile, je sais même pas si c'est possible en bas, je veux dire de faire des parce que il y a pas des notions on va dire de euh de programmation orientée objet ou de il y a pas de notion vraiment de typage ou d'interface ou de.

00:26:57.810 --> 00:27:09.292
De protocoles comme dans comment ça s'appelle dans certains langages, il manque tous ces concepts-là en fait qui nous aident au quotidien à faire au le design de programme. Ça c'est vrai que c'est euh c'est quelque chose qui est que j'ai pas mentionné mais de l'architecture logicielle.

00:27:09.576 --> 00:27:13.343
Ça se fait pas euh comme ça, il faut des outils pour le faire.

00:27:13.722 --> 00:27:21.948
Il faut il y a des concepts derrière, c'est pas euh qu'il y a pas en bâche, c'est-à-dire c'est un un logiciel s'appuie sur euh ben voilà sur des pratiques.

00:27:22.195 --> 00:27:35.312
Et sur des sur des outils et donc euh sur euh je pourrais parler de plein de choses. Programmation fonctionnelle euh de gestion de des euh des de l'état d'une d'une muabilité ou non la euh enfin il y a plein de trucs qu'on pourrait dire qui sont pas d'embâche.

00:27:35.667 --> 00:27:40.257
Et euh et c'est des choses qui aident au quotidien pour tout. Notamment pour.

00:27:39.957 --> 00:27:43.526
Alors justement je sais euh je vais essayer de me faire un peu l'avocat du diable, c'est,

00:27:43.623 --> 00:27:56.199
on l'a pas euh c'est disponible dans d'autres langages, mais est-ce qu'on en a besoin en fait? Est-ce que euh est-ce que vraiment euh ces concepts-là qui existent, qui sont très bien, est-ce que quand on fait de l'administration de système, est-ce qu'on en a besoin.

00:27:56.548 --> 00:28:03.266
C'est ce que je disais un peu au début, c'est est-ce qu'on fait de la qualité? En fait pour moi c'est ça le point. C'est-à-dire c'est euh.

00:28:04.474 --> 00:28:17.724
Pour moi oui on en a besoin parce que comme je l'ai dit nos scripts c'est des programmes et on veut que nos programmes soient de qualité euh tout simplement pour moi c'est vraiment un affaire de qualité je veux que mes programmes soient euh enfin mes scripts.

00:28:17.959 --> 00:28:25.001
Soit modularisé, c'est-à-dire par exemple moi quand j'écris un script euh mettons euh je dois faire euh un appel à Cubanatis.

00:28:25.248 --> 00:28:28.504
Par exemple, je vais faire un vrai client cubanatiste dans un module,

00:28:28.505 --> 00:28:41.436
qui va surgir de faire ça, que je vais pouvoir moquer, que je vais pouvoir euh utiliser dans différents contextes. Si je dois faire un script qui fait du slack pareil, je vais créer un module avec un client slack, avec des actions un peu haut niveau. Chaque module va avoir des métriques,

00:28:41.568 --> 00:28:47.673
quelque chose qui est important aussi donc euh si je fais des aillots euh je vais avoir de du monitoring, je vais avoir des logs

00:28:47.601 --> 00:29:02.065
avec un logeur que je vais pouvoir passer entre mes composants, mon logeur va me permettre de facilement euh, savoir si quelqu'un de niveau de verbosité je veux dans l'ensemble de mon programme, le format de sortie euh, donc Jason euh, ou du du texte brut classique et cetera

00:29:02.011 --> 00:29:10.814
Bref, c'est finalement euh c'est c'est si on veut faire de la qualité, il faut faire du ben il faut utiliser des méthodes modernes de développement. En fait c'est ça mon point.

00:29:11.193 --> 00:29:21.011
Et Bash n'est pas du tout dans ce mode-là. C'est-à-dire c'est euh il y a pas les outils dans le langage pour faire ça. C'est c'est des concepts qui sont complètement manquants mais.

00:29:21.312 --> 00:29:30.926
Et c'est d'ailleurs pour ça qu'on va pas euh aucun développeur dans son quotidien ne va faire du Bash, personne ne fait du Bash pour faire euh euh des des programmes on va dire euh classiques.

00:29:31.101 --> 00:29:34.466
Le Bash n'est utilisé que généralement que dans l'administration système.

00:29:34.785 --> 00:29:44.633
On pourra parler euh plus tard de quand est-ce que moi j'utilise Bash, mais dès qu'on a un programme un peu sérieux avec de la logique et euh vraiment euh une envie de faire de la qualité.

00:29:45.295 --> 00:29:54.698
Ben là euh Bache ne peut juste pas fonctionner, parce que il y a il y a pas ces concepts on peut pas faire du vrai développement en bâche, tout simplement. Il y a pas les outils.

00:29:54.398 --> 00:30:02.126
Alors et donc là tu parlais donc de réutilisation de modules et cetera. Euh si jamais on fait justement un peu du one shot euh donc,

00:30:02.204 --> 00:30:06.332
En fait, je veux aller un peu plus loin de de ce que tu disais, c'était que euh,

00:30:06.398 --> 00:30:20.982
On a des concepts en Basht euh donc euh on a pas ces notions de tests et cetera euh ces notions de tests on les a pour le cycle de vie de de notre applicatif. C'est-à-dire que si jamais demain on rajoute des fonctionnalités, qu'on corrige un bug, on veut être sûr qu'on en rajoute pas à un autre,

00:30:21.079 --> 00:30:25.104
Donc en fait cette notion de test qu'on rajoute euh tu parles de qualité,

00:30:25.195 --> 00:30:35.488
euh, la qualité elle s'améliore parce que euh, notre logiciel on va pouvoir être sûr de son fonctionnement en permanence. On est sûr que quand on a fixé quelque chose

00:30:35.368 --> 00:30:39.382
on a pas un problème euh un problème qui est réapparu. Euh,

00:30:39.418 --> 00:30:49.753
Et c'est ça en fait le point le point essentiel euh quand on fait des programmes euh de prod on veut être sûr que ce programme continue de fonctionner sans avoir besoin d'avoir une connaissance profonde,

00:30:49.832 --> 00:30:51.430
de ce script,

00:30:51.520 --> 00:31:03.118
C'est le problème euh qui vient euh qui vient souvent ensuite euh après c'est que les ne se ressemblent pas, les uns avec les autres, on a en fait énormément de méthodes différentes euh pour pouvoir les écrire. Euh,

00:31:03.238 --> 00:31:12.858
Exemple la précis mais euh la manière de pouvoir traiter des lignes de commande et de pouvoir faire des enfin de pouvoir changer euh des des strings.

00:31:13.039 --> 00:31:20.183
C'est entre euh connaître la synthèse du Hok, connaître euh la synthèse du euh utiliser des fonctions natives de bâche,

00:31:20.298 --> 00:31:25.273
euh déjà on a des des des façons différentes de le faire. C'est pas vraiment que.

00:31:25.490 --> 00:31:30.675
Dans les autres langages on a pas ça, c'est que au moins on peut s'assurer que la sortie sera toujours la même,

00:31:30.760 --> 00:31:41.047
on peut s'assurer que si jamais demain quelqu'un refactorise une fonction on va avoir toujours le même résultat. Alors oui il il existe du bats, il utilise des choses pour pouvoir le faire.

00:31:41.462 --> 00:31:49.562
Voilà, il utilise il existe des choses pour pouvoir le faire euh dans dans du Bash. Mais en fait, c'est la notion d'écosystème dont tu parlais, c'est que en fait, quand on regarde Bash.

00:31:50.151 --> 00:31:58.647
En fait l'écosystème est très très faible. Alors euh si jamais on faire du linter, il y en a qu'un seul, c'est euh si tu veux faire du du test c'est bath,

00:31:58.780 --> 00:32:11.711
et puis c'est à peu près tout quoi. Là où dans tous les autres langages on a eu une évolution rapide des usages, pourquoi? Parce que c'est beaucoup utilisé. Donc on a eu plein de freins morts de tests qui sont apparus, qui se sont remplacés, qui ont été euh qui ont été refaits.

00:32:11.874 --> 00:32:15.689
Là où dans Bache ben c'est c'est très pauvre en fait euh dans

00:32:15.563 --> 00:32:28.903
d'où le fait que on va avoir après ce niveau de qualité euh c'est pas qu'on peut pas avoir un niveau de qualité élevé avec Bache, c'est juste que ça va être beaucoup plus compliqué. Et donc toi dans ton cas, c'est à quel moment que tu vas utiliser du badge? Parce que là on a dit donc on avait de la réutilisation

00:32:28.831 --> 00:32:34.017
Est-ce que si tu fais des euh des des one shot est-ce que tu vas utiliser du Bash?

00:32:34.492 --> 00:32:39.359
One shot et généralement c'est pour récupérer de l'information. C'est-à-dire c'est pas pour faire des actions

00:32:39.329 --> 00:32:52.020
pour récupérer de la donnée. Euh si j'ai besoin euh ça m'arrive par exemple de ben de devoir récupérer des ressources d'encube très rapidement pour vous un truc. Là je vais faire enfin je vais même pas faire du bas, je vais faire un one-liner euh ou peut-être quelques lignes avec un

00:32:51.882 --> 00:33:01.622
enfin je sais pas des trucs comme ça euh voilà donc pour récupérer de la donnée et très rapidement voilà avec un petit coup de

00:33:01.503 --> 00:33:07.181
et cetera euh on va dire euh sortir quelque chose ça marche assez bien mais c'est voilà c'est du one shot,

00:33:07.235 --> 00:33:20.190
C'est pas des choses que je vais utiliser euh tous les jours. C'est-à-dire que si je dois l'utiliser tous les jours, je vais tendance à le je pense que je vais le mettre dans un script, dans un autre langage. Et euh et aussi c'est des choses que je ne peux pas partager. Du moment que je veux partager quelque chose,

00:33:20.239 --> 00:33:27.960
vais pas le faire en bâche. Tu parlais d'écosystème, c'est quelque chose qui est très important pour moi euh dans une dans deux entreprises mais même au niveau de l'open source.

00:33:28.213 --> 00:33:32.816
Comme je l'ai dit au début euh le la majorité des langages ont des euh systèmes de gestion de dépendance.

00:33:33.351 --> 00:33:41.210
Et donc moi finalement quand tous mes clients, tous mes euh toutes les choses comme ça et cetera ben j'essaie de les partager. Si j'écris un client pour faire du SLC.

00:33:41.427 --> 00:33:48.890
Je vais me dire bah tiens il y a peut-être quelqu'un qui aura le même besoin un jour euh dans dans l'entreprise eh ben donc je vais faire euh je vais le mettre euh je vais faire une au final.

00:33:49.082 --> 00:34:01.617
Je vais partager cette euh cette chose-là euh au sein de l'entreprise ou le mettre en open source et cetera et on construit comme ça un écosystème. Euh de la même manière j'ai connu euh on a tous connu je pense euh des entreprises.

00:34:01.966 --> 00:34:10.817
Où euh les scripts euh shell. Chacun a sa petite collection de street challenge en local. Non partagé euh et donc euh parce que il y a eu un besoin un jour.

00:34:10.956 --> 00:34:14.891
Et euh ça a pas été mis en commun et pas de bol euh trois mois après il y a un autre collègue qui avait ce besoin-là.

00:34:15.180 --> 00:34:29.205
Eh ben euh malheureusement euh le ah oui je me rappelle que Mathieu il avait cité ce truc avec un script challenge il y a trois mois, apparemment là il est en vacances, bon ben voilà, tant pis. Euh donc il y a aussi cette notion de d'écosystème d'entreprise qui est important pour moi et ça passe par des modules

00:34:29.103 --> 00:34:38.909
Délib euh voilà on appelle ça comme on veut euh pour avoir des composants au niveau que je peux ensuite euh ben euh consommer euh en tant que que personne qui va devoir développer des scripts

00:34:38.783 --> 00:34:45.020
et ces modules peuvent être et vraiment de qualité, c'est ça ça permet ça aussi c'est on peut se dire euh bah chaque module va avoir euh des loges, des métriques

00:34:44.859 --> 00:34:54.743