[{"data":1,"prerenderedAt":847},["ShallowReactive",2],{"author-benjamin-bouillot":3,"author-articles-benjamin-bouillot":22,"authors":558},{"id":4,"title":5,"body":6,"description":10,"extension":13,"meta":14,"name":15,"navigation":16,"path":17,"readingTime":18,"seo":19,"stem":20,"__hash__":21},"authors\u002Fauthors\u002Fbenjamin-bouillot.md","Software Engineer",{"type":7,"value":8,"toc":9},"minimark",[],{"title":10,"searchDepth":11,"depth":11,"links":12},"",2,[],"md",{},"Benjamin Bouillot",true,"\u002Fauthors\u002Fbenjamin-bouillot",1,{"title":5,"description":10},"authors\u002Fbenjamin-bouillot","tbhCFZyfTt7ZM5b5YgqQ2nhgnSTl8BweaQQryc87fHo",[23,331],{"id":24,"title":25,"author":26,"body":27,"date":320,"description":321,"extension":13,"lang":322,"meta":323,"navigation":16,"path":324,"published":16,"readingTime":325,"seo":326,"stem":327,"tags":328,"__hash__":330},"articles\u002Farticles\u002F2023-01-12-commit-atomique-kezako.md","Commit atomique ? Kezako ?","benjamin-bouillot",{"type":7,"value":28,"toc":313},[29,38,43,46,53,56,59,65,69,72,75,128,131,139,145,149,152,167,170,173,180,184,187,190,197,210,213,216,226,229,232,237,240,243,246,249,254,257,259,262,267,270,273,276,279],[30,31,32,33,37],"p",{},"Lorsque l’on s’intéresse de près ou de loin au merveilleux monde du développement, on ne peut pas\npasser à côté de Git (merci Linus Torvald) et des commits. Et un jour, on tombe sur ces 2 mots\n",[34,35,36],"code",{},"commit atomique",". On se demande alors à quoi cela pourrait faire référence. Ici, je vais vous\ndonner mon interprétation de ce type de commit et pourquoi il est important de les utiliser au\nquotidien.",[39,40,42],"h2",{"id":41},"une-petite-histoire-pour-un-peu-de-contexte","Une petite histoire pour un peu de contexte",[30,44,45],{},"Actuellement à Indy, on utilise GitHub, donc chaque commit sur master est en théorie relié à une PR.\nCette PR est alors normalement reliée à une tâche Jira, donc on peut avoir un historique assez\nsimplement.",[30,47,48,49,52],{},"Ainsi, si on tombe sur un commit qui a comme seul nom ",[34,50,51],{},"fix",", on va voir la PR, même si le message de\nPR est vide lui aussi, on a accès aux autres commits compris dans cette PR, et on peut comprendre à\nquoi correspond ce “fix” et avoir un peu de contexte (et encore, on vient de perdre 5min).",[30,54,55],{},"Maintenant, imaginons que cette PR contient uniquement ce commit, il est alors nécessaire d’aller à\nla tâche Jira rattachée et cette fois, on comprend ce qu’il se passe parce qu’on a du contexte. Mais\nseulement si une tâche Jira est rattachée à la PR !",[30,57,58],{},"Bon ça, c'est dans le meilleur des cas en fait.",[30,60,61,62,64],{},"Imaginons, qu’on touche à du legacy et qu’on essaie de comprendre ce qu’il y a bien pu se passer.\nSauf que ce legacy date d’il y a 5 ans. Et qu’à l’époque on n'était pas sous GitHub, mais GitLab et\nqu’on n'a donc aucun historique des PRs\u002FMRs, et qu’à l’époque on n'avait pas Jira mais Trello\n(instance de Trello qui n’existe plus bien sûr). Et, bien entendu, la ligne de code qu’on essaie de\nmodifier est rattaché à un seul commit qui s’appelle ",[34,63,51],{}," et qui fait 600 lignes. Clairement,\npersonne n'a envie d’arriver dans cet état-là. Donc, on modifie en croisant les doigts, on rajoute\ndes tests comme on peut, et on fait des incantations pour que notre patch ne casse pas d’autres\nchoses tout en se disant “J’aurai dû être éleveur de lamas dans le Périgord”.",[39,66,68],{"id":67},"alors-clairement-quest-ce-que-cest-un-commit-atomique","Alors clairement, qu’est-ce que c’est un commit atomique ?",[30,70,71],{},"Pour faire simple, c’est un commit qui ne dépend que de lui.",[30,73,74],{},"En d’autre mot, il contient plusieurs caractéristiques :",[76,77,78,82,93,108,122,125],"ul",{},[79,80,81],"li",{},"Très simple, peu de lignes modifiées (lorsque cela est possible) et doit pouvoir se lire\nfacilement",[79,83,84,85,92],{},"Ses tests associés\n(👋 ",[86,87,91],"a",{"href":88,"rel":89},"https:\u002F\u002Fwww.all4test.fr\u002Fblog-du-testeur\u002Fles-3-cles-pour-maitriser-le-test-driven-development-tdd\u002F",[90],"nofollow","TDD",")",[79,94,95,96,101,102,107],{},"Un titre simple expliquant le but. Pour t’aider, tu peux utiliser\n",[86,97,100],{"href":98,"rel":99},"https:\u002F\u002Fwww.conventionalcommits.org\u002F",[90],"Conventional Commits"," et\n",[86,103,106],{"href":104,"rel":105},"https:\u002F\u002Fconventionalcomments.org\u002F",[90],"Conventional Comments",".",[79,109,110,111],{},"Une description claire, et qui répond à plusieurs questions :",[76,112,113,116,119],{},[79,114,115],{},"Pourquoi ?",[79,117,118],{},"Qu’est-ce qu’on cherche à faire ?",[79,120,121],{},"Quelle est la suite ? (S’il y en a une)",[79,123,124],{},"Il ne doit pas dépendre d’un autre commit pour être fonctionnel en production",[79,126,127],{},"Un lien vers une tâche Jira ou autre (en bonus, le titre de la tache, car un titre est plus\nparlant qu’un simple numéro)",[30,129,130],{},"Enfin, quelques règles supplémentaires :",[76,132,133,136],{},[79,134,135],{},"Son message de commit doit être aussi conséquent que son nombre de lignes modifiées (ça ne se\njustifie pas toujours bien sûr)",[79,137,138],{},"Il serait possible de revenir sur n’importe quel commit, compiler le projet, le lancer et il\nfonctionnera toujours. Dans les faits, il faut prendre en compte les montées de version des outils\nexternes comme NPM, node, ou autres librairies qui peuvent compliquer la tâche, aussi le fait que\n2 commits peuvent dépendre l’un de l’autre, etc.",[140,141,142],"blockquote",{},[30,143,144],{},"Un petit exemple est disponible en fin de page pour mieux comprendre",[39,146,148],{"id":147},"ok-cest-bien-beau-mais-à-la-fin-le-résultat-sera-le-même-on-aura-du-code","Ok c’est bien beau, mais à la fin le résultat sera le même : On aura du code !",[30,150,151],{},"Oui. Je suis totalement d’accord avec toi. Mais, j’ai 4 contre-exemples à te donner :",[153,154,155,158,161,164],"ol",{},[79,156,157],{},"Il ne faut pas oublier une chose : ton code n’est pas parfait ! Un jour, un bug sera introduit\nsans t’en rendre compte (parce qu’un bug est rarement introduit consciemment …) et ça sera durant\ncette phase de debugging que tu seras content d’avoir un peu de contexte grâce aux messages de\ncommits. Et ainsi te rendre compte que ce n'est pas un bug, mais une feature ! (la fameuse\nfeature)",[79,159,160],{},"Tu touches à un code pas si vieux que ça, et tu dois introduire une nouvelle fonctionnalité.\nComme tu es quelqu’un de minutieux, tu as mis de beaux messages de commits là où il le fallait.\nAinsi, tu gagnes en temps, car tu n’auras pas besoin d’aller voir la PR ni Jira pour comprendre\nle contexte de chaque ligne et pourquoi elles ont été introduites\u002Fmodifiées, tout se fera\ndirectement dans ton IDE. Tu n’auras pas besoin de lire tout le code pendant 10min pour te\nremettre dans le contexte de l’époque et poser la question “Pourquoi ils ont fait ça ??” toutes\nles 3 minutes.",[79,162,163],{},"Durant la phase de relecture, ton copain relecteur sera content d’avoir un peu de contexte s’il\nne bosse pas sur la feature en même temps que toi. Ainsi, il saura ce que tu veux faire et où tu\ncomptes aller par la suite, et il pourra t’aiguiller s’il sent que tu vas dans le mur. Aussi,\nlire un commit qui fait plus de 1000 lignes n’est jamais agréable, c’est très long et fastidieux,\ndonc plus le commit est petit, plus la revue ira vite et sera un moment de plaisir pour le\nrelecteur.",[79,165,166],{},"Qui te dit que tu seras encore dans l’entreprise dans 2 ans ? Qui te dit que le projet ne sera\npas repris par une autre équipe par la suite ? Qui te dit que l’entreprise utilisera les PRs et\nGitHub toute sa vie ? À vrai dire, personne ne le sait à ce moment-là, la seule chose qui est\nsûre, c’est que le logiciel sera encore existant, et ses commits aussi (jusqu’à qu’un nouvel\noutil de versionning plus performant que Git arrive).",[30,168,169],{},"Tu pourrais aussi te dire “Je mets un commentaire dans mon code, ça fait la même chose”. Et c’est là\nque je te sors ma carte (Yu-Gi-Oh) fétiche.",[30,171,172],{},"Un message de commit correspond à ce que tu as voulu faire à un moment T, il est relié à des\nmodifications de fichiers. Il est uniquement là pour te donner du contexte et comprendre plus\nrapidement ce que tu faisais et ce que tu cherchais à faire à ce moment précis.",[30,174,175,176,179],{},"Un commentaire est quant à lui volatile\u002Fmodifiable, il est là, relié à une fonction ou un fichier,\nmais cette fonction a changé de signature ou de comportement, et on a oublié de modifier le\ncommentaire, et dans le doute, on le laisse, se disant qu’il doit servir à quelqu'un (combien de\n",[34,177,178],{},"\u002F\u002F TODO"," sont là depuis 2 ans alors que personne n’y a touché ?) mais en fait non. Du coup, on a un\ncommentaire relié à une méthode et ils n’ont plus rien en commun. Alors qu’un message de commit,\nlui, sera toujours relié à ses fichiers modifiés.",[39,181,183],{"id":182},"petite-synthèse","Petite synthèse",[30,185,186],{},"Les commits atomiques sont composés de 3 choses importantes : le message, le code et les tests.",[30,188,189],{},"Le message permet de mettre en avant le pourquoi. Le code permet de dire le comment. Et les tests\npour s’assurer que ton quoi répond au pourquoi.",[30,191,192,193,196],{},"Il n’est pas nécessaire de passer du temps sur le message s’il n’y a aucune utilité. Par exemple,\n",[34,194,195],{},"fix: Button should be display in red when alert",", est assez compréhensible pour être seul.",[30,198,199,200,205,206,209],{},"Par contre, lorsque notre commit modifie ou introduit une archi un peu complexe, il peut être\nintéressant d’expliquer le but de cette architecture, de mettre un lien vers un\n",[86,201,204],{"href":202,"rel":203},"https:\u002F\u002Fgithub.com\u002Fjoelparkerhenderson\u002Farchitecture-decision-record",[90],"ADR"," si celui-ci existe, etc.\nIdem pour les ",[34,207,208],{},"breaking change"," d’API par exemple.",[30,211,212],{},"Donc perdre 5min à un moment T peut être lourd et compliqué à prendre, mais sera synonyme de\nrapidité dans 6 mois. Ainsi, un projet n’est plus relié à un gestionnaire de projet quelconque ou un\nservice de référentiel. Mais uniquement à ses commits, permettant un gain de temps et de\ncompréhension.",[30,214,215],{},"Ce n’est pas parce que tu comprends ton code aujourd’hui que tu le comprendras dans 1 an, et imagine\nce que ressentent ceux qui n’ont jamais touché à ton code 🙃",[39,217,219],{"id":218},"petit-exemple-concret",[220,221,222],"em",{},[223,224,225],"strong",{},"Petit exemple concret",[30,227,228],{},"On introduit une nouvelle feature sur le paiement SEPA et cela correspond à une grosse\nfonctionnalité. La première bonne pratique est alors de la découper en 3 ou 4 commits.",[30,230,231],{},"Le premier commit :",[140,233,234],{},[30,235,236],{},"refactor: Move files to pay by card",[30,238,239],{},"SEPA payment must be added as a payment option. Because many users ask for it, and some users cannot\npay by credit card.",[30,241,242],{},"In order to add SEPA payment, it is necessary to move some functions in order to DRY. This commit\nmust not break the initial behavior of the CB payment.",[30,244,245],{},"Part of JIRA-3015 Pouvoir payer par SEPA",[30,247,248],{},"Le deuxième commit :",[140,250,251],{},[30,252,253],{},"feat: User can select SEPA mode",[30,255,256],{},"SEPA payment is not yet in place, only the UI part is available. A new feature flag\n‘payment_sepa_activated’ is introduced so user does not see this part. It is now possible to select\nthe SEPA payment and a new form is displayed to enter all the details. This form is currently\ndisabled. In next patch, the back-end will be built to allow SEPA payment.",[30,258,245],{},[30,260,261],{},"Le troisième commit :",[140,263,264],{},[30,265,266],{},"feat: Pay by SEPA or CB",[30,268,269],{},"The user can choose between SEPA and CB. In both cases, a form is displayed and the payment should\nbe successful in both cases.",[30,271,272],{},"The feature flag ‘payment_sepa_activated’ is now deleted.",[30,274,275],{},"Closes JIRA-3015 Pouvoir par SEPA",[30,277,278],{},"Références :",[76,280,281,289,297,305],{},[79,282,283,286],{},[86,284],{"href":98,"rel":285},[90],[86,287,98],{"href":98,"rel":288},[90],[79,290,291,294],{},[86,292],{"href":104,"rel":293},[90],[86,295,104],{"href":104,"rel":296},[90],[79,298,299,302],{},[86,300],{"href":202,"rel":301},[90],[86,303,202],{"href":202,"rel":304},[90],[79,306,307,310],{},[86,308],{"href":88,"rel":309},[90],[86,311,88],{"href":88,"rel":312},[90],{"title":10,"searchDepth":11,"depth":11,"links":314},[315,316,317,318,319],{"id":41,"depth":11,"text":42},{"id":67,"depth":11,"text":68},{"id":147,"depth":11,"text":148},{"id":182,"depth":11,"text":183},{"id":218,"depth":11,"text":225},"2023-01-12","chaque commit sur master est en théorie relié à une PR. Cette PR est alors normalement reliée à une tâche Jira, donc on peut avoir un historique assez simplement.","fr",{},"\u002Farticles\u002F2023-01-12-commit-atomique-kezako",10,{"title":25,"description":321},"articles\u002F2023-01-12-commit-atomique-kezako",[329],"Tech","Nv7IYIoZiwbzpEW4Ln0XlIkbE7podWMFM4iJ37mJxGo",{"id":332,"title":333,"author":26,"body":334,"date":549,"description":550,"extension":13,"lang":322,"meta":551,"navigation":16,"path":552,"published":16,"readingTime":325,"seo":553,"stem":554,"tags":555,"__hash__":557},"articles\u002Farticles\u002F2022-09-15-je-suis-le-premier-dev-en-full-remote-a-indy.md","Je suis le premier dev en full-remote à Indy",{"type":7,"value":335,"toc":533},[336,356,359,362,366,369,372,375,378,382,385,388,391,394,399,402,405,408,411,414,420,423,428,431,434,437,441,444,447,451,454,465,469,472,476,479,483,486,490,493,497,500,503,506,509,512,515,521,524,527,530],[30,337,338,347,348],{},[220,339,340,341,346],{},"Un article a déjà été écrit par ",[86,342,345],{"href":343,"rel":344},"https:\u002F\u002Ftech.indy.fr\u002Fauthor\u002Fvirgilroger\u002F",[90],"Virgil Roger",", où il\nparle de son ressenti du télétravail, ainsi vous pourrez comparer nos 2 manières d’appréhender cette\nfaçon de travailler"," 🙂. ",[220,349,350,351,107],{},"L’article est disponible\n",[86,352,355],{"href":353,"rel":354},"https:\u002F\u002Ftech.indy.fr\u002F2022\u002F06\u002F16\u002Fteletravail-comment-trouver-son-curseur\u002F",[90],"ici",[30,357,358],{},"Le full-remote n’est pas une pratique qui s’improvise, et il peut être vécu différemment selon\nchaque personne. Bien pratiqué, certains peuvent trouver une sérénité qu’ils n’ont pas sur site, et\ninversement, on peut s’enfermer sur soi-même très facilement.",[30,360,361],{},"Ici, je partage mon retour d’expérience et ma manière de pratiquer le télétravail au sein d’Indy.",[39,363,365],{"id":364},"avant-indy","Avant Indy",[30,367,368],{},"Comme beaucoup, j’ai connu le télétravail durant le premier confinement, j’étais en dernière année\nde Master en alternance et je fus un peu désemparé au début.",[30,370,371],{},"Se retrouver à deux, confinés dans 18m2 tout en travaillant, ce ne fut pas simple (spoiler alert, on\na réussi à ne pas s’entretuer 😛). J’ai dû réapprendre à travailler différemment, être loin de mes\ncollègues.",[30,373,374],{},"Mais avec le temps, j’ai appris à aimer travailler de cette manière et je ne pourrais plus m’en\npasser. Et depuis, cela va faire 2 ans que je travaille (presque) depuis chez moi.",[30,376,377],{},"J’ai néanmoins essayé de retravailler sur site suite à un changement de travail, mais les open\nspaces bruyants, la perte de temps dans les transports, la fatigue en plus font que je ne suis pas\nresté.",[39,379,381],{"id":380},"ma-rencontre-avec-indy","Ma rencontre avec Indy",[30,383,384],{},"Me voilà en mars 2022, chez Indy pour un poste en full remote. C’était une aubaine, pile ce que je\ncherchais ! Et qui alliait également bonne ambiance, bienveillance, la recette parfaite pour\ntravailler dans de bonnes conditions.",[30,386,387],{},"Après avoir passé tous les entretiens, je suis admis au sein de cette entreprise. J’ai dû demander\nau moins 5 fois, à 5 personnes différentes si j’allais bien être en full remote (le trajet\nGrenoble\u002FLyon n’allait pas être une partie de plaisir tous les jours) et j’ai toujours eu des\nréponses positives.",[30,389,390],{},"Moi, anxieux ? Absolument pas 🤫.",[30,392,393],{},"Avant mon arrivée, j’ai le choix entre un PC ou un Mac, ainsi que mes accessoires\u002Fpériphériques\n(clavier, souris, ...). Je demande aussi à avoir un écran chez moi, qu’on m’octroie sans soucis\n(spoiler alert, il m’a été directement livré chez moi suite à ma semaine d’intégration 🤤).",[395,396,398],"h3",{"id":397},"mes-débuts","Mes débuts",[30,400,401],{},"Première semaine d’onboarding.",[30,403,404],{},"J’avais le choix de faire cette semaine en présentiel ou en remote. J’ai opté pour le présentiel,\nqui pour moi était synonyme de meilleure intégration et faciliterait les rencontres avec mes futurs\ncollègues. Le voyage ainsi que le logement étaient pris en charge par l’entreprise (un des avantages\nquand on est en full remote à Indy !).",[30,406,407],{},"Et c’est ainsi que le lundi 7 mars, 8h15, j’arrive pour la première fois à Lyon Part Dieu avec mon\nsac pour une semaine. Pour faire simple, durant une semaine, on assiste à une dizaine d’ateliers\navec différentes personnes de l’entreprise afin de nous expliquer le fonctionnement d’Indy, les\ndifférents pôles, un petit cours de comptabilité (c’est toujours mieux de savoir de quoi on parle),\netc. Avec une soirée d’intégration en mon honneur jeudi soir, et nous voila déjà vendredi, jour où\nje dois repartir.",[30,409,410],{},"Et je dois dire qu’à ce moment-là, je suis partagé entre vouloir rester et être content de rentrer\nchez moi, pour retrouver mon bureau et tout le reste. Les open spaces étaient “bizarrement” calmes,\ndes phonebooths sont à disposition un peu partout afin de s’isoler pour téléphoner, tous les\ncollaborateurs sont bienveillants et prêts à aider si besoin, les bureaux sont spacieux et bien\néquipés, ce qui a fait que je n’ai pas vu passer cette semaine.",[30,412,413],{},"Voilà donc ma deuxième semaine de travail, en full remote cette fois-ci.",[395,415,417],{"id":416},"le-full-remote-à-indy",[223,418,419],{},"Le full-remote à Indy",[30,421,422],{},"Embaucher des personnes en full remote est une première à Indy, je suis d’ailleurs le seul, mais ce\nn'est pas pour autant que je me sens isolé ou livré à moi-même.",[140,424,425],{},[30,426,427],{},"Il y a tout de même quelques exceptions, deux collègues présents depuis la création d’Indy à Paris\nsont en télétravail suite au déménagement de l’entreprise à Lyon.",[30,429,430],{},"Indy utilise beaucoup le télétravail, il y a une alternance imposée pour les salariés qui ne sont\npas en full remote qui correspond à 2 jours par semaine sur site minimum. Pour ma part, je dois\nvenir entre 2 et 3 jours par mois.",[30,432,433],{},"De ce fait, tous les employés sont déjà habitués à travailler à distance ou avec des collègues qui\nle sont. On utilise des outils pour faciliter le lien et les échanges comme Google Meet, Around,\nMetro Retro ou encore Slack. La seule différence entre mon équipe et moi, c’est le nombre de jours\nde présence à Indy.",[30,435,436],{},"Nous avons convenu qu’à chaque fois que je décide de venir, je préviens mon équipe en avance afin de\nprévoir des moments de convivialité avec un restau par exemple.",[395,438,440],{"id":439},"les-clefs-du-succès","Les clefs du succès",[30,442,443],{},"À vrai dire, je sais que le full remote n’est pas fait pour tout le monde. Il est très compliqué\npour certains de travailler “seul” dans son coin chez soi, et c’est tout à fait normal.",[30,445,446],{},"Pour ma part, ce qui a fonctionné, et qui fonctionne encore, ce sont plusieurs choses.",[395,448,450],{"id":449},"une-entreprise-adaptée-au-télétravail","Une entreprise adaptée au télétravail",[30,452,453],{},"Indy prône l’asynchrone. Il est possible de travailler un peu comme on le souhaite tant qu’on\nprévient notre équipe et qu’on respecte certaines règles :",[76,455,456,459,462],{},[79,457,458],{},"Prévenir notre équipe lorsqu’on s’absente.",[79,460,461],{},"Tenir à jour notre Google Calendar pour indiquer les jours où on est sur site, les absences dans\nla journée, etc.",[79,463,464],{},"Toutes les informations doivent passer par Slack ou Notion, que ça soit des questions, des\npartages d’article de dev, ou autre. Ainsi, cela nous permet d’avoir de grosses bases de données\nnous permettant de rechercher tous types d’informations (ce qui est pratique au quotidien, quand\nun sujet a déjà était traité et qu’on cherche une réponse).",[395,466,468],{"id":467},"ne-pas-être-seul","Ne pas être seul",[30,470,471],{},"Ma femme étant aussi 3 jours par semaine en télétravail, je suis rarement seul toute une journée.\nTravaillant à deux à la maison, c’est comme si j’étais avec une collègue qui ne travaillait pas dans\nle même service. On prend nos pauses ensemble, on échange sur nos travails respectifs, et on\nretourne travailler. On évite de déranger l’autre un maximum. Bizarrement, une limite s’est créée la\njournée entre nous deux, on devient “collègues” jusqu’à 17h, où là on se retrouve en tant que\ncouple. Et c’est ce qui nous a permis de tenir durant les confinements et le full remote depuis 2\nans.",[395,473,475],{"id":474},"ne-pas-être-le-seul-en-télétravail","Ne pas être le seul en télétravail",[30,477,478],{},"Mon équipe au sein d’Indy pratiquait aussi énormément le télétravail avant mon arrivée, donc elle\navait des process avancés permettant cela. On échange beaucoup via Slack et Around, et on pratique\nénormément de pair programming à distance (je ne travaille pas une seule journée sans faire du pair\nou échanger avec quelqu’un de mon équipe). Enfin, on a aussi des 1-1 avec le PM de l’équipe et mon\nmanager toutes les semaines, ce qui permet de garder un contact avec certains membres avec qui on\nn’échange pas tous les jours.",[395,480,482],{"id":481},"léquipement-chez-soi","L’équipement chez soi",[30,484,485],{},"C’est primordial ! Avoir un bon bureau, une bonne chaise de bureau (coucou Herman Miller 👋), une\nbonne connexion internet (merci la fibre 🙏), un ou plusieurs écrans. De plus, il faut aussi avoir\nun endroit isolé comme une pièce bureau ou du moins un coin travail qui nous permet d’être dans\nnotre bulle.",[395,487,489],{"id":488},"sortir","Sortir !",[30,491,492],{},"En full remote, il est facile de rester une semaine chez soi sans sortir. Donc, il faut s’obliger à\nsortir, que ça soit boire un coup, aller à la salle de sport, des randos ou autre. Sinon le\nmétro\u002Fboulot\u002Fdodo devient juste boulot\u002Fdodo sans interactions sociales.",[39,494,496],{"id":495},"les-limites-du-full-remote","Les limites du full remote",[30,498,499],{},"Hormis le fait d’être bien intégré dans son équipe, des fois, on peut se sentir exclu.",[30,501,502],{},"Indy prévoit énormément d’activités\u002Févénements au quotidien et il est impossible d’y participer à\ndistance. Par exemple, il y a eu un bar à céréales, un atelier gaufre, une chasse aux œufs de pâques\npour les enfants des employés, un atelier dégustation de thé glacé, un meetup JavaScript, etc.",[30,504,505],{},"Cela induit forcément une notion de choix, j’organise mes déplacements en fonction des activités qui\nm’intéressent comme la soirée de fin de clôture des déclarations pour les entreprises (très attendue\nchez Indy, ça annonce la fin du rush !), les team buildings, ou encore les soirées organisées par le\nBDE (comme à la fac, mais ici c'est le Bureau Des Employés).",[30,507,508],{},"Même si certains ateliers ne m’intéressent pas, j’aurais bien aimé partager avec ceux qui l’ont fait\ndurant une pause. On loupe aussi des discussions informelles autour de la machine à café, qui\npermettent d’échanger des banalités avec tout le monde.",[30,510,511],{},"Mais pour ce dernier point, Indy a trouvé la parade : les “Donuts”. Ce sont des petits moments à\nprendre à distance ou en présentiel avec quelqu’un de l'entreprise, au hasard, juste pour pouvoir\néchanger de tout et de rien. Même si c’est plus sympa de les faire en présentiel, ça permet de\ngarder un lien et apprendre à connaitre de nouvelles personnes.",[30,513,514],{},"Enfin, comme je l’ai dit, il est très facile de se renfermer sur soi-même si on ne fait que\ntravailler seul. Pour moi, c’est le plus gros défaut du full remote.",[39,516,518],{"id":517},"conclusion",[223,519,520],{},"Conclusion",[30,522,523],{},"Contrairement aux globe-trotteurs qui télétravaillent en voyageant aux 4 coins du monde, si j’ai\nchoisi le télétravail, c'est principalement pour faciliter l’équilibre vie personnelle et\nprofessionnelle.",[30,525,526],{},"À Indy, tous mes collègues sont compréhensifs sur ma situation particulière, je ne me sens donc pas\nisolé. Même si des fois j’aimerais venir plus souvent pour partager des activités avec tout le\nmonde, ce n’est pas un choix que je regrette. Vivant excentré de la ville, je perdrais en qualité de\nvie, et je ne pense pas être prêt à revenir sur site tous les jours.",[30,528,529],{},"Bien sûr, le full remote peut être compliqué à mettre en place, et il faut être pleinement conscient\ndes bons et des mauvais côtés, que ça soit mentalement ou autre.",[30,531,532],{},"Et vous alors ? Êtes-vous prêt à franchir le pas ?",{"title":10,"searchDepth":11,"depth":11,"links":534},[535,536,547,548],{"id":364,"depth":11,"text":365},{"id":380,"depth":11,"text":381,"children":537},[538,540,541,542,543,544,545,546],{"id":397,"depth":539,"text":398},3,{"id":416,"depth":539,"text":419},{"id":439,"depth":539,"text":440},{"id":449,"depth":539,"text":450},{"id":467,"depth":539,"text":468},{"id":474,"depth":539,"text":475},{"id":481,"depth":539,"text":482},{"id":488,"depth":539,"text":489},{"id":495,"depth":11,"text":496},{"id":517,"depth":11,"text":520},"2022-09-15","Comme beaucoup, j’ai connu le télétravail durant le premier confinement, j’étais en dernière année de Master en alternance et je fus un peu désemparé au début.",{},"\u002Farticles\u002F2022-09-15-je-suis-le-premier-dev-en-full-remote-a-indy",{"title":333,"description":550},"articles\u002F2022-09-15-je-suis-le-premier-dev-en-full-remote-a-indy",[556],"Organisation","Qy-O0bvI0iCneRwIE8pxDrijV5bK1ILI4wECl4ftn1c",[559,571,583,596,603,615,628,641,654,666,678,691,703,715,727,739,751,763,775,788,800,812,824,835],{"id":560,"title":5,"body":561,"description":10,"extension":13,"meta":565,"name":566,"navigation":16,"path":567,"readingTime":18,"seo":568,"stem":569,"__hash__":570},"authors\u002Fauthors\u002Falexandre-guillon.md",{"type":7,"value":562,"toc":563},[],{"title":10,"searchDepth":11,"depth":11,"links":564},[],{},"Alexandre Guillon","\u002Fauthors\u002Falexandre-guillon",{"title":5,"description":10},"authors\u002Falexandre-guillon","4tf48mjyjFNqItOHaulICbrjeCyMag1o6801uHeTz98",{"id":572,"title":5,"body":573,"description":10,"extension":13,"meta":577,"name":578,"navigation":16,"path":579,"readingTime":18,"seo":580,"stem":581,"__hash__":582},"authors\u002Fauthors\u002Falexis-ablain.md",{"type":7,"value":574,"toc":575},[],{"title":10,"searchDepth":11,"depth":11,"links":576},[],{},"Alexis Ablain","\u002Fauthors\u002Falexis-ablain",{"title":5,"description":10},"authors\u002Falexis-ablain","_SIAtB7f-39e5t3GiJof81NP47s6MGo2n4gaHkTy1uQ",{"id":584,"title":585,"body":586,"description":10,"extension":13,"meta":590,"name":591,"navigation":16,"path":592,"readingTime":18,"seo":593,"stem":594,"__hash__":595},"authors\u002Fauthors\u002Faxel-shaita.md","Engineering Manager",{"type":7,"value":587,"toc":588},[],{"title":10,"searchDepth":11,"depth":11,"links":589},[],{},"Axel Shaïta","\u002Fauthors\u002Faxel-shaita",{"title":585,"description":10},"authors\u002Faxel-shaita","fK0argUhsBkWLjpTAhY13oYLVzQthcEYkCEdtHWmIgE",{"id":4,"title":5,"body":597,"description":10,"extension":13,"meta":601,"name":15,"navigation":16,"path":17,"readingTime":18,"seo":602,"stem":20,"__hash__":21},{"type":7,"value":598,"toc":599},[],{"title":10,"searchDepth":11,"depth":11,"links":600},[],{},{"title":5,"description":10},{"id":604,"title":585,"body":605,"description":10,"extension":13,"meta":609,"name":610,"navigation":16,"path":611,"readingTime":18,"seo":612,"stem":613,"__hash__":614},"authors\u002Fauthors\u002Fcedric-nicoloso.md",{"type":7,"value":606,"toc":607},[],{"title":10,"searchDepth":11,"depth":11,"links":608},[],{},"Cédric Nicoloso","\u002Fauthors\u002Fcedric-nicoloso",{"title":585,"description":10},"authors\u002Fcedric-nicoloso","ibSoh4VZYiWYTuLOnZTedaAfcnvet1Q9H7ogW0LgorY",{"id":616,"title":617,"body":618,"description":10,"extension":13,"meta":622,"name":623,"navigation":16,"path":624,"readingTime":18,"seo":625,"stem":626,"__hash__":627},"authors\u002Fauthors\u002Fdavid-touzet.md","Staff Engineer",{"type":7,"value":619,"toc":620},[],{"title":10,"searchDepth":11,"depth":11,"links":621},[],{},"David Touzet","\u002Fauthors\u002Fdavid-touzet",{"title":617,"description":10},"authors\u002Fdavid-touzet","dHWwnQxb1Ubt-WwXWEODGEo9AFoq1cJUhfg3kdnYSBM",{"id":629,"title":630,"body":631,"description":10,"extension":13,"meta":635,"name":636,"navigation":16,"path":637,"readingTime":18,"seo":638,"stem":639,"__hash__":640},"authors\u002Fauthors\u002Feloise-chizat.md","Data Engineer",{"type":7,"value":632,"toc":633},[],{"title":10,"searchDepth":11,"depth":11,"links":634},[],{},"Eloïse Chizat","\u002Fauthors\u002Feloise-chizat",{"title":630,"description":10},"authors\u002Feloise-chizat","Utd72Vm9qT4hh2ZbFi6a2_nXw5Wb494Ed_HL1ra5yw8",{"id":642,"title":643,"body":644,"description":10,"extension":13,"meta":648,"name":649,"navigation":16,"path":650,"readingTime":18,"seo":651,"stem":652,"__hash__":653},"authors\u002Fauthors\u002Femmanuel-auclair.md","Staff engineer",{"type":7,"value":645,"toc":646},[],{"title":10,"searchDepth":11,"depth":11,"links":647},[],{},"Emmanuel Auclair","\u002Fauthors\u002Femmanuel-auclair",{"title":643,"description":10},"authors\u002Femmanuel-auclair","MtsA8THNLEn0dTtYEIQaGwDuf7MjQL55IOeei5gugEg",{"id":655,"title":5,"body":656,"description":10,"extension":13,"meta":660,"name":661,"navigation":16,"path":662,"readingTime":18,"seo":663,"stem":664,"__hash__":665},"authors\u002Fauthors\u002Fhoreb-parraud.md",{"type":7,"value":657,"toc":658},[],{"title":10,"searchDepth":11,"depth":11,"links":659},[],{},"Horeb Parraud","\u002Fauthors\u002Fhoreb-parraud",{"title":5,"description":10},"authors\u002Fhoreb-parraud","ajjsnUX4ohZI-ghMdbb92q_taWDkKXVZSLZXoAeLQtg",{"id":667,"title":585,"body":668,"description":10,"extension":13,"meta":672,"name":673,"navigation":16,"path":674,"readingTime":18,"seo":675,"stem":676,"__hash__":677},"authors\u002Fauthors\u002Fhugo-contreras.md",{"type":7,"value":669,"toc":670},[],{"title":10,"searchDepth":11,"depth":11,"links":671},[],{},"Hugo Contreras","\u002Fauthors\u002Fhugo-contreras",{"title":585,"description":10},"authors\u002Fhugo-contreras","2nc3VMu9ASq9Z6Pwx2-7-Ye991Pww4p-UEDBQFfjF-Q",{"id":679,"title":680,"body":681,"description":10,"extension":13,"meta":685,"name":686,"navigation":16,"path":687,"readingTime":18,"seo":688,"stem":689,"__hash__":690},"authors\u002Fauthors\u002Fjulien-tassin.md","Head of Engineering",{"type":7,"value":682,"toc":683},[],{"title":10,"searchDepth":11,"depth":11,"links":684},[],{},"Julien Tassin","\u002Fauthors\u002Fjulien-tassin",{"title":680,"description":10},"authors\u002Fjulien-tassin","iUIHI7SITje38Jh9X9uvYs4-VsHx4eCdt6hAlyLFG_o",{"id":692,"title":5,"body":693,"description":10,"extension":13,"meta":697,"name":698,"navigation":16,"path":699,"readingTime":18,"seo":700,"stem":701,"__hash__":702},"authors\u002Fauthors\u002Flaurent-renard.md",{"type":7,"value":694,"toc":695},[],{"title":10,"searchDepth":11,"depth":11,"links":696},[],{},"Laurent Renard","\u002Fauthors\u002Flaurent-renard",{"title":5,"description":10},"authors\u002Flaurent-renard","5BP7Ed-pt1SQHjh0UJ1XUrlLTcdlFaDoKBCP4deHq8A",{"id":704,"title":5,"body":705,"description":10,"extension":13,"meta":709,"name":710,"navigation":16,"path":711,"readingTime":18,"seo":712,"stem":713,"__hash__":714},"authors\u002Fauthors\u002Fleo-martin.md",{"type":7,"value":706,"toc":707},[],{"title":10,"searchDepth":11,"depth":11,"links":708},[],{},"Léo Martin","\u002Fauthors\u002Fleo-martin",{"title":5,"description":10},"authors\u002Fleo-martin","eYxCHkRgbGDV7shKdTA9s7Tu0zGV4yDGFoKR5MHQntY",{"id":716,"title":5,"body":717,"description":10,"extension":13,"meta":721,"name":722,"navigation":16,"path":723,"readingTime":18,"seo":724,"stem":725,"__hash__":726},"authors\u002Fauthors\u002Floic-bousquet.md",{"type":7,"value":718,"toc":719},[],{"title":10,"searchDepth":11,"depth":11,"links":720},[],{},"Loïc Bousquet","\u002Fauthors\u002Floic-bousquet",{"title":5,"description":10},"authors\u002Floic-bousquet","ko12qZwiGL8XNjAoy9oWypPkIjr29Pbq7vhdtgldqeQ",{"id":728,"title":5,"body":729,"description":10,"extension":13,"meta":733,"name":734,"navigation":16,"path":735,"readingTime":18,"seo":736,"stem":737,"__hash__":738},"authors\u002Fauthors\u002Floic-poullain.md",{"type":7,"value":730,"toc":731},[],{"title":10,"searchDepth":11,"depth":11,"links":732},[],{},"Loïc Poullain","\u002Fauthors\u002Floic-poullain",{"title":5,"description":10},"authors\u002Floic-poullain","oRIyJhFRTqxy5dLCYQ2OnYZ1DB-gLDUM-85vTSYuTF0",{"id":740,"title":630,"body":741,"description":10,"extension":13,"meta":745,"name":746,"navigation":16,"path":747,"readingTime":18,"seo":748,"stem":749,"__hash__":750},"authors\u002Fauthors\u002Fmaud-lelu.md",{"type":7,"value":742,"toc":743},[],{"title":10,"searchDepth":11,"depth":11,"links":744},[],{},"Maud Lélu","\u002Fauthors\u002Fmaud-lelu",{"title":630,"description":10},"authors\u002Fmaud-lelu","MMbsCKuE41OMHusrl12FIEsI-Trx7l8Nn_ANhvj2_y4",{"id":752,"title":585,"body":753,"description":10,"extension":13,"meta":757,"name":758,"navigation":16,"path":759,"readingTime":18,"seo":760,"stem":761,"__hash__":762},"authors\u002Fauthors\u002Fnicolas-poirier.md",{"type":7,"value":754,"toc":755},[],{"title":10,"searchDepth":11,"depth":11,"links":756},[],{},"Nicolas Poirier","\u002Fauthors\u002Fnicolas-poirier",{"title":585,"description":10},"authors\u002Fnicolas-poirier","dXrJkYo8az4SN_D23aYc3fQ7z8s1dR2a0lt1ogjAjJs",{"id":764,"title":585,"body":765,"description":10,"extension":13,"meta":769,"name":770,"navigation":16,"path":771,"readingTime":18,"seo":772,"stem":773,"__hash__":774},"authors\u002Fauthors\u002Fraphael-sauget.md",{"type":7,"value":766,"toc":767},[],{"title":10,"searchDepth":11,"depth":11,"links":768},[],{},"Raphaël Sauget","\u002Fauthors\u002Fraphael-sauget",{"title":585,"description":10},"authors\u002Fraphael-sauget","Uri9bcq0QDuxRA0PbBoNtu7p_5L3dALu4kzcXVW0xyM",{"id":776,"title":777,"body":778,"description":10,"extension":13,"meta":782,"name":783,"navigation":16,"path":784,"readingTime":18,"seo":785,"stem":786,"__hash__":787},"authors\u002Fauthors\u002Fromain-koenig.md","Co-funder & Head of innovation",{"type":7,"value":779,"toc":780},[],{"title":10,"searchDepth":11,"depth":11,"links":781},[],{},"Romain Koenig","\u002Fauthors\u002Fromain-koenig",{"title":777,"description":10},"authors\u002Fromain-koenig","uyS8--eG2_ezyqRABcJnMJmQKKuSArhPWd14aUvFeEw",{"id":789,"title":585,"body":790,"description":10,"extension":13,"meta":794,"name":795,"navigation":16,"path":796,"readingTime":18,"seo":797,"stem":798,"__hash__":799},"authors\u002Fauthors\u002Fromaric-juniet.md",{"type":7,"value":791,"toc":792},[],{"title":10,"searchDepth":11,"depth":11,"links":793},[],{},"Romaric Juniet","\u002Fauthors\u002Fromaric-juniet",{"title":585,"description":10},"authors\u002Fromaric-juniet","4Zb2artgT-eo-PHLXi3xi4d5t7s6PfhUxeSfXIikSUY",{"id":801,"title":5,"body":802,"description":10,"extension":13,"meta":806,"name":807,"navigation":16,"path":808,"readingTime":18,"seo":809,"stem":810,"__hash__":811},"authors\u002Fauthors\u002Fstanyslas-bres.md",{"type":7,"value":803,"toc":804},[],{"title":10,"searchDepth":11,"depth":11,"links":805},[],{},"Stanyslas Bres","\u002Fauthors\u002Fstanyslas-bres",{"title":5,"description":10},"authors\u002Fstanyslas-bres","Xa0SahETuiN4q1jrmR2ych3moAqcZ2LbU7vSfEt2RuU",{"id":813,"title":5,"body":814,"description":10,"extension":13,"meta":818,"name":819,"navigation":16,"path":820,"readingTime":18,"seo":821,"stem":822,"__hash__":823},"authors\u002Fauthors\u002Fvictor-borg.md",{"type":7,"value":815,"toc":816},[],{"title":10,"searchDepth":11,"depth":11,"links":817},[],{},"Victor Borg","\u002Fauthors\u002Fvictor-borg",{"title":5,"description":10},"authors\u002Fvictor-borg","-Za-JweoiP6hyclue_WkxMXdRUDTczPGlJf6AZckjUc",{"id":825,"title":5,"body":826,"description":10,"extension":13,"meta":830,"name":345,"navigation":16,"path":831,"readingTime":18,"seo":832,"stem":833,"__hash__":834},"authors\u002Fauthors\u002Fvirgil-roger.md",{"type":7,"value":827,"toc":828},[],{"title":10,"searchDepth":11,"depth":11,"links":829},[],{},"\u002Fauthors\u002Fvirgil-roger",{"title":5,"description":10},"authors\u002Fvirgil-roger","DfVFe5j0bCgXeEr381ZYOM5DP4m-pWb93J9-m_muKJ0",{"id":836,"title":5,"body":837,"description":10,"extension":13,"meta":841,"name":842,"navigation":16,"path":843,"readingTime":18,"seo":844,"stem":845,"__hash__":846},"authors\u002Fauthors\u002Fyukan-zhao.md",{"type":7,"value":838,"toc":839},[],{"title":10,"searchDepth":11,"depth":11,"links":840},[],{},"Yukan Zhao","\u002Fauthors\u002Fyukan-zhao",{"title":5,"description":10},"authors\u002Fyukan-zhao","LRPHugtAJnWHsmHxy9_SR5Zas_C5p-GR_uHEs1Fhk_E",1775058085055]