{"id":384,"date":"2022-11-04T11:45:28","date_gmt":"2022-11-04T10:45:28","guid":{"rendered":"https:\/\/www.nicedata.fr\/?p=384"},"modified":"2024-08-20T14:49:16","modified_gmt":"2024-08-20T12:49:16","slug":"git-synapse-gestion-de-version-et-de-code-source","status":"publish","type":"post","link":"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/","title":{"rendered":"git + synapse, gestion de version et de code source"},"content":{"rendered":"\n<p>Lors de tout projet informatique, nous avons pour habitude de mettre en place des outils et worklfow de d\u00e9veloppement pour s\u00e9curiser notre code et nos livraisons. Notre projet n&rsquo;\u00e9chappe pas \u00e0 cette r\u00e8gle et il est important de mettre en place un gestionnaire de code source qui \u00ab\u00a0sauvegardera\u00a0\u00bb notre code et permettra de retracer les diff\u00e9rentes modifications effectu\u00e9es.<\/p>\n\n\n\n<p>Tout n&rsquo;est pas encore parfait dans le monde de la data, mais le minimum reste pr\u00e9sent.<\/p>\n\n\n\n<p>Nous allons ici mettre en place la version de code source avec git pour nos d\u00e9veloppements synapse.<\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_81 ez-toc-wrap-center counter-hierarchy ez-toc-counter ez-toc-transparent ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Sommaire<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/#Introduction\" >Introduction<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/#Versioning\" >Versioning ?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/#Creation_du_repository\" >Cr\u00e9ation du repository<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/#Configuration_du_workspace\" >Configuration du workspace<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/#Configurations_des_branches\" >Configurations des branches<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/#Conclusion\" >Conclusion<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Introduction\"><\/span>Introduction<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Lors de l&rsquo;ouverture du studio synapse, en haut \u00e0 gauche vous pourrez remarquer que nous sommes dans un mode \u00ab\u00a0Synapse live\u00a0\u00bb. (Si vous n&rsquo;avez pas encore configur\u00e9 le versionning \u00e9videmment)<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"223\" height=\"79\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image.png?resize=223%2C79&#038;ssl=1\" alt=\"\" class=\"wp-image-385\"\/><figcaption class=\"wp-element-caption\">Mode Synapse live<\/figcaption><\/figure>\n\n\n\n<p>Ce mode \u00ab\u00a0live\u00a0\u00bb indique que nous travaillons directement (en live) sur les fichiers actifs de notre environnement. Autrement dit, si nous modifions un fichier de code qui est ex\u00e9cut\u00e9 dans un pipeline, \u00e0 la prochaine ex\u00e9cution notre modification sera ex\u00e9cut\u00e9e. Si on est sur un environnement de production, cela revient \u00e0 modifier du code source directement en production &#8230; Autant dire qu&rsquo;en r\u00e8gle g\u00e9n\u00e9ral, on ne souhaite ABSOLUMENT PAS faire \u00e7a !<\/p>\n\n\n\n<p>De plus, outre la modification d&rsquo;un code source en \u00ab\u00a0live\u00a0\u00bb nous n&rsquo;avons pas non plus d&rsquo;historique de nos modifications. Le code n&rsquo;est pas versionn\u00e9 !!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Versioning\"><\/span>Versioning ?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>L&rsquo;id\u00e9e du versioning est d&rsquo;enregistrer chaque modification de code\/fichier afin de suivre l&rsquo;\u00e9volution de celui-ci et d&rsquo;\u00eatre en mesure de revenir en arri\u00e8re si n\u00e9cessaire. Le versioning est tr\u00e8s populaire dans le monde du d\u00e9veloppement informatique et nous ne rentrons pas en d\u00e9tail sur son mode de fonctionnement ici, mais globalement cela devient quasiment une obligation de nos jours. Plusieurs outils existent, mais git est les plus populaires et celui qui est couramment accept\u00e9 de nos jours.<\/p>\n\n\n\n<p>Git n&rsquo;est pas particuli\u00e8rement simple d&rsquo;acc\u00e8s cependant lorsqu&rsquo;il est utilis\u00e9 \u00e0 partir d&rsquo;un gui ou de l&rsquo;outil de d\u00e9veloppement, il ne devient plus n\u00e9cessaire de comprendre le fonctionnement m\u00eame de l&rsquo;outil. (M\u00eame s&rsquo;il est toujours important de s&rsquo;int\u00e9resser au fonctionnement de nos outils !!).<\/p>\n\n\n\n<p>Dans le monde git, nous parlerons de \u00ab\u00a0repository \/ repo\u00a0\u00bb qui pourrait correspondre \u00e0 notre r\u00e9pertoire de source. D&rsquo;ailleurs, lorsqu&rsquo;il est vu depuis un syst\u00e8me de fichier, un repo git correspond \u00e0 un dossier contenant un dossier \u00ab\u00a0.git\u00a0\u00bb avec tout ce qui fait de ce r\u00e9pertoire un repository de gestion de version.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"211\" height=\"368\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-31.png?resize=211%2C368&#038;ssl=1\" alt=\"\" class=\"wp-image-418\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-31.png?w=211&amp;ssl=1 211w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-31.png?resize=172%2C300&amp;ssl=1 172w\" sizes=\"auto, (max-width: 211px) 100vw, 211px\" \/><figcaption class=\"wp-element-caption\">Le r\u00e9pertoire .git d&rsquo;un repo<\/figcaption><\/figure>\n\n\n\n<p>De nos jours un repo git est souvent h\u00e9berg\u00e9 sur un serveur distant (et maintenant le cloud via de nombreux services) qui correspond au repos \u00ab\u00a0Origine\u00a0\u00bb et chaque d\u00e9veloppeur poss\u00e8de une copie locale de celui-ci pour travailler. Nous op\u00e9rons ensuite diff\u00e9rentes synchronisations (commit\/push\/pull\/&#8230;) pour que le code soit centralis\u00e9 et partag\u00e9.<\/p>\n\n\n\n<p>Plus d&rsquo;info directement ici : <a href=\"https:\/\/git-scm.com\/\">Git (git-scm.com)<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Creation_du_repository\"><\/span>Cr\u00e9ation du repository<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Un des pr\u00e9requis \u00e0 la mise en place du versionnions pour notre environnement Synapse est la cr\u00e9ation d&rsquo;un Repository git. Dans notre cas nous allons travailler avec Azure DevOps qui est (avant le rachat de GitHub) la solution cloud privil\u00e9gi\u00e9e de Microsoft.<\/p>\n\n\n\n<p>Nous allons supposer que nous avons d\u00e9j\u00e0 un compte et une organisation dans notre entreprise. Sinon il est toujours temps d&rsquo;en cr\u00e9er une avec les 5 premiers utilisateurs \u00ab\u00a0basic\u00a0\u00bb gratuits. Rendez-vous sur <a href=\"https:\/\/dev.azure.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">le portail<\/a>.<\/p>\n\n\n\n<p>Nous arrivons sur la page de gestion de nos projets (car dans un projet on pourrait avoir plusieurs repos).<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"507\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-5.png?resize=1024%2C507&#038;ssl=1\" alt=\"\" class=\"wp-image-391\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-5.png?resize=1024%2C507&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-5.png?resize=300%2C148&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-5.png?resize=768%2C380&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-5.png?w=1154&amp;ssl=1 1154w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\">Portail Azure DevOps<\/figcaption><\/figure>\n\n\n\n<p>Afin de rendre notre Lake ind\u00e9pendant, nous allons commencer par cr\u00e9er notre projet en cliquant sur le bouton appropri\u00e9 et en renseignant les quelques informations demand\u00e9es. Pour le nom et la description, vous \u00eates libre. Cependant, sachez que le nom du projet sera utilis\u00e9 dans les diff\u00e9rentes URL de nos repos ou art\u00e9fact. De ce fait, j&rsquo;\u00e9vite les espaces et caract\u00e8res sp\u00e9ciaux, mais ce n&rsquo;est qu&rsquo;une pr\u00e9f\u00e9rence personnelle (\u00e7a reste bien g\u00e9r\u00e9, mais votre URL comprendra les fameux %20 en cas d&rsquo;espaces).<\/p>\n\n\n\n<p>Pour la partie \u00ab\u00a0Version control\u00a0\u00bb, il faut imp\u00e9rativement choisir \u00ab\u00a0Git\u00a0\u00bb. Et pour le \u00ab\u00a0Work item process\u00a0\u00bb, c&rsquo;est surtout utilis\u00e9 pour la partie projet et n&rsquo;a pas d&rsquo;impact sur notre repository.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"873\" height=\"811\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-6.png?resize=873%2C811&#038;ssl=1\" alt=\"\" class=\"wp-image-392\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-6.png?w=873&amp;ssl=1 873w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-6.png?resize=300%2C279&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-6.png?resize=768%2C713&amp;ssl=1 768w\" sizes=\"auto, (max-width: 873px) 100vw, 873px\" \/><figcaption class=\"wp-element-caption\">Cr\u00e9ation d&rsquo;un nouveau projet<\/figcaption><\/figure>\n\n\n\n<p>Notre projet cr\u00e9\u00e9, nous avons une myriade de nouveaux menus !<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"735\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-7.png?resize=1024%2C735&#038;ssl=1\" alt=\"\" class=\"wp-image-393\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-7.png?resize=1024%2C735&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-7.png?resize=300%2C215&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-7.png?resize=768%2C551&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-7.png?w=1152&amp;ssl=1 1152w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\">Page du nouveau projet<\/figcaption><\/figure>\n\n\n\n<p>Nous n&rsquo;allons pas faire le tour d&rsquo;Azure DevOps, et ce qui nous int\u00e9resse principalement c&rsquo;est la partie \u00ab\u00a0Repos\u00a0\u00bb. Il faut savoir que par d\u00e9faut, un repos portant le m\u00eame nom que notre projet est cr\u00e9\u00e9. En cliquant sur me menu \u00ab\u00a0Repos\u00a0\u00bb, nous arrivons sur la page de ce nouveau repo vide que l&rsquo;on nous propose de peupler. <\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"603\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-8.png?resize=1024%2C603&#038;ssl=1\" alt=\"\" class=\"wp-image-394\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-8.png?resize=1024%2C603&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-8.png?resize=300%2C177&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-8.png?resize=768%2C452&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-8.png?w=1441&amp;ssl=1 1441w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\">Accueil du menu Repos<\/figcaption><\/figure>\n\n\n\n<p>Personnellement, je n&rsquo;utilise jamais ce repos et en cr\u00e9e un avec un nommage pr\u00e9cis de ce pour quoi il va \u00eatre utilis\u00e9. En l&rsquo;occurrence, nous allons cr\u00e9er un nouveau repo \u00ab\u00a0NiceDataLake_Synapse\u00a0\u00bb. Pour ce faire, il faut cliquer sur le petit plus \u00e0 c\u00f4t\u00e9 du nom de notre projet pour cr\u00e9er un nouvel \u00ab\u00a0artefact\u00a0\u00bb.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"380\" height=\"167\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-9.png?resize=380%2C167&#038;ssl=1\" alt=\"\" class=\"wp-image-395\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-9.png?w=380&amp;ssl=1 380w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-9.png?resize=300%2C132&amp;ssl=1 300w\" sizes=\"auto, (max-width: 380px) 100vw, 380px\" \/><figcaption class=\"wp-element-caption\">Cr\u00e9ation d&rsquo;un nouveau projet<\/figcaption><\/figure>\n\n\n\n<p>Nous choisissons de cr\u00e9er un \u00ab\u00a0new repository\u00a0\u00bb.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"689\" height=\"249\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-11.png?resize=689%2C249&#038;ssl=1\" alt=\"\" class=\"wp-image-397\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-11.png?w=689&amp;ssl=1 689w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-11.png?resize=300%2C108&amp;ssl=1 300w\" sizes=\"auto, (max-width: 689px) 100vw, 689px\" \/><\/figure>\n\n\n\n<p>Seul un nom est n\u00e9cessaire.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"504\" height=\"431\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-12.png?resize=504%2C431&#038;ssl=1\" alt=\"\" class=\"wp-image-398\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-12.png?w=504&amp;ssl=1 504w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-12.png?resize=300%2C257&amp;ssl=1 300w\" sizes=\"auto, (max-width: 504px) 100vw, 504px\" \/><figcaption class=\"wp-element-caption\">Cr\u00e9ation du nouveau repo<\/figcaption><\/figure>\n\n\n\n<p>A ce stade, notre repos est cr\u00e9\u00e9 et op\u00e9rationnel. Pour notre besoin dans Synapse, nous pouvons quitter Azure Devops, le reste se passe directement dans le studio.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Configuration_du_workspace\"><\/span>Configuration du workspace<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>La 1re solution est de cliquer sur \u00ab\u00a0Synapse live\u00a0\u00bb qui est disponible sur les pages Data, Develop, Integrate ou Manage pour nous voir proposer la possibilit\u00e9 de mettre en place un repository git. <\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"421\" height=\"269\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-1.png?resize=421%2C269&#038;ssl=1\" alt=\"\" class=\"wp-image-386\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-1.png?w=421&amp;ssl=1 421w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-1.png?resize=300%2C192&amp;ssl=1 300w\" sizes=\"auto, (max-width: 421px) 100vw, 421px\" \/><figcaption class=\"wp-element-caption\">D\u00e9marrer la configuration de git<\/figcaption><\/figure>\n\n\n\n<p>La deuxi\u00e8me solution est de passer par la page de Management de Synapse ou un sous-menu \u00ab\u00a0Source control\u00a0\u00bb est pr\u00e9sent.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"505\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-13.png?resize=1024%2C505&#038;ssl=1\" alt=\"\" class=\"wp-image-399\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-13.png?resize=1024%2C505&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-13.png?resize=300%2C148&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-13.png?resize=768%2C379&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-13.png?w=1154&amp;ssl=1 1154w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\">Management &#8211; Source control<\/figcaption><\/figure>\n\n\n\n<p>Un nouveau panneau s&rsquo;ouvre pour nous proposer le \u00ab\u00a0type\u00a0\u00bb de repository ou plus pr\u00e9cis\u00e9ment l&rsquo;h\u00e9bergeur de notre repository. Les deux seules options disponibles sont <a href=\"https:\/\/azure.microsoft.com\/en-us\/products\/devops\/\" target=\"_blank\" rel=\"noreferrer noopener\">Azure DevOps<\/a> et <a href=\"https:\/\/github.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub<\/a> tous les deux dans la galaxie Microsoft. D&rsquo;o\u00f9 notre choix pr\u00e9c\u00e9dent de cr\u00e9er notre repo dans Azure DevOps. <em>Point de <a href=\"https:\/\/bitbucket.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">bitbucket<\/a> ou <a href=\"https:\/\/about.gitlab.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">gitlab<\/a>.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-2.png?resize=640%2C298&#038;ssl=1\" alt=\"\" class=\"wp-image-387\" width=\"640\" height=\"298\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-2.png?w=629&amp;ssl=1 629w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-2.png?resize=300%2C140&amp;ssl=1 300w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><figcaption class=\"wp-element-caption\">Choix de l&rsquo;h\u00e9bergeur de repository git<\/figcaption><\/figure>\n\n\n\n<p>On nous propose de nous connecter \u00e0 notre tenant DevOps. Deux cas de figure s&rsquo;offrent \u00e0 nous. Se connecter \u00e0 un repository situ\u00e9 sur un autre tenant ou dans le m\u00eame. Dans la grande majorit\u00e9 des cas, et ce sera le n\u00f4tre, nous nous connectons au m\u00eame tenant et donc au m\u00eame AAD qui sera rempli automatiquement. Louons malgr\u00e9 tout la possibilit\u00e9 de se connecter \u00e0 un autre tenant en cochant la case appropri\u00e9.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"633\" height=\"268\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-3.png?resize=633%2C268&#038;ssl=1\" alt=\"\" class=\"wp-image-388\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-3.png?w=633&amp;ssl=1 633w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-3.png?resize=300%2C127&amp;ssl=1 300w\" sizes=\"auto, (max-width: 633px) 100vw, 633px\" \/><figcaption class=\"wp-element-caption\">Choix du tenant de connexion pour Azure DevOps<\/figcaption><\/figure>\n\n\n\n<p>Nous allons maintenant choisir quelle \u00ab\u00a0organization\u00a0\u00bb utiliser dans notre tenant Azure DevOps.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"630\" height=\"320\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-4.png?resize=630%2C320&#038;ssl=1\" alt=\"\" class=\"wp-image-389\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-4.png?w=630&amp;ssl=1 630w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-4.png?resize=300%2C152&amp;ssl=1 300w\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" \/><\/figure>\n\n\n\n<p>Puis nous pourrons choisir notre projet (cr\u00e9er pr\u00e9c\u00e9demment).<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"631\" height=\"567\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-30.png?resize=631%2C567&#038;ssl=1\" alt=\"\" class=\"wp-image-417\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-30.png?w=631&amp;ssl=1 631w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-30.png?resize=300%2C270&amp;ssl=1 300w\" sizes=\"auto, (max-width: 631px) 100vw, 631px\" \/><figcaption class=\"wp-element-caption\">Choix du projet<\/figcaption><\/figure>\n\n\n\n<p>Ainsi que le repos pr\u00e9cis \u00e0 l&rsquo;int\u00e9rieur de notre projet.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"633\" height=\"568\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-29.png?resize=633%2C568&#038;ssl=1\" alt=\"\" class=\"wp-image-416\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-29.png?w=633&amp;ssl=1 633w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-29.png?resize=300%2C269&amp;ssl=1 300w\" sizes=\"auto, (max-width: 633px) 100vw, 633px\" \/><figcaption class=\"wp-element-caption\">Choix du repo<\/figcaption><\/figure>\n\n\n\n<p>De nouvelles informations nous sont alors demand\u00e9es qui vont configurer la fa\u00e7on dont notre Workspace va travailler avec notre repo git et les diff\u00e9rentes branches.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"633\" height=\"737\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-28.png?resize=633%2C737&#038;ssl=1\" alt=\"\" class=\"wp-image-415\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-28.png?w=633&amp;ssl=1 633w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-28.png?resize=258%2C300&amp;ssl=1 258w\" sizes=\"auto, (max-width: 633px) 100vw, 633px\" \/><figcaption class=\"wp-element-caption\">Informations de branches git<\/figcaption><\/figure>\n\n\n\n<p>Ce qu&rsquo;il faut prendre en consid\u00e9ration lors de la configuration de Synapse avec git est son mode de travail.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Configurations_des_branches\"><\/span>Configurations des branches<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Nous allons commencer la configuration de nos branches. Si elles n&rsquo;existent pas encore (car nous n&rsquo;avons rien fait de notre repository lors de sa cr\u00e9ation), il est possible de les cr\u00e9er directement depuis cette interface en s\u00e9lectionnant \u00ab\u00a0Create new\u00a0\u00bb.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"630\" height=\"736\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-23.png?resize=630%2C736&#038;ssl=1\" alt=\"\" class=\"wp-image-410\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-23.png?w=630&amp;ssl=1 630w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-23.png?resize=257%2C300&amp;ssl=1 257w\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" \/><figcaption class=\"wp-element-caption\">Configuration du repo<\/figcaption><\/figure>\n\n\n\n<p>Pour notre environnement de d\u00e9veloppement, nous allons cr\u00e9er notre premi\u00e8re branche de collaboration de \u00ab\u00a0dev\u00a0\u00bb.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"375\" height=\"197\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-19.png?resize=375%2C197&#038;ssl=1\" alt=\"\" class=\"wp-image-406\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-19.png?w=375&amp;ssl=1 375w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-19.png?resize=300%2C158&amp;ssl=1 300w\" sizes=\"auto, (max-width: 375px) 100vw, 375px\" \/><figcaption class=\"wp-element-caption\">Cr\u00e9ation de la branche de collaboration<\/figcaption><\/figure>\n\n\n\n<p>Pour rester coh\u00e9rents, nous donnerons \u00e0 notre branche de publication le nom de \u00ab\u00a0dev_publish\u00a0\u00bb.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"610\" height=\"128\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-20.png?resize=610%2C128&#038;ssl=1\" alt=\"\" class=\"wp-image-407\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-20.png?w=610&amp;ssl=1 610w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-20.png?resize=300%2C63&amp;ssl=1 300w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><figcaption class=\"wp-element-caption\">Cr\u00e9ation de la branche de publication<\/figcaption><\/figure>\n\n\n\n<p>L&rsquo;option \u00ab\u00a0Root folder\u00a0\u00bb permet de d\u00e9finir un r\u00e9pertoire dans lequel seront pos\u00e9s nos fichiers sources. En le laissant vide, tout notre r\u00e9pertoire de travail sera d\u00e9pos\u00e9 \u00e0 la racine du repos. Ceci peut \u00eatre utile si l&rsquo;on veut d\u00e9poser d&rsquo;autres fichiers ou utiliser le repos pour une autre partie de notre projet. Dans notre cas, nous allons garder un repository uniquement pour nos d\u00e9veloppements avec Synapse et n&rsquo;avons pas besoin d&rsquo;utiliser un r\u00e9pertoire suppl\u00e9mentaire. <\/p>\n\n\n\n<p>La derni\u00e8re option nous propose d&rsquo;importer nos d\u00e9veloppements actuels (si tant est que nous en avion d\u00e9j\u00e0 dans le Synapse Live, dans notre repository. Cette option permet de ne pas perdre les d\u00e9veloppements faits avant la configuration du versioning.<\/p>\n\n\n\n<p>Dans notre cas, nous d\u00e9butons nos travaux et nous n&rsquo;avons pas besoin d&rsquo;importer quoi que ce soit. Nous allons donc d\u00e9cocher cette option pour \u00eatre s\u00fbr d&rsquo;avoir un repo \u00ab\u00a0clean\u00a0\u00bb. Cependant, si vous avez d\u00e9j\u00e0 fait des premiers dev n&rsquo;h\u00e9sitez pas \u00e0 importer vos d\u00e9veloppements dans votre repo en choisissant une branche de destination. La branche de collaboration est une bonne option pour qu&rsquo;\u00e0 votre d\u00e9marrage, votre projet contienne l&rsquo;\u00e9tat actuel de votre Synapse.<\/p>\n\n\n\n<p>Notre configuration est maintenant faite, nous pouvons l&rsquo;appliquer : <\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"633\" height=\"736\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-22.png?resize=633%2C736&#038;ssl=1\" alt=\"\" class=\"wp-image-409\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-22.png?w=633&amp;ssl=1 633w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-22.png?resize=258%2C300&amp;ssl=1 258w\" sizes=\"auto, (max-width: 633px) 100vw, 633px\" \/><figcaption class=\"wp-element-caption\">Configuration git finalis\u00e9e<\/figcaption><\/figure>\n\n\n\n<p>Lors de l&rsquo;application, et lorsque vous vous connecterez \u00e0 votre workspace synapse sans cookies, l&rsquo;\u00e9diteur vous demandera sur quelle branche vous souhaitez travailler. Nous allons choisir notre branche de collaboration nouvellement cr\u00e9\u00e9e \u00ab\u00a0dev\u00a0\u00bb.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"634\" height=\"146\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-24.png?resize=634%2C146&#038;ssl=1\" alt=\"\" class=\"wp-image-411\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-24.png?w=634&amp;ssl=1 634w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-24.png?resize=300%2C69&amp;ssl=1 300w\" sizes=\"auto, (max-width: 634px) 100vw, 634px\" \/><figcaption class=\"wp-element-caption\">Choix de la branche de travail<\/figcaption><\/figure>\n\n\n\n<p>Notre workspace synapse est maintenant configur\u00e9 pour travailler avec un repository git pour faire de la gestion de version.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"634\" height=\"146\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-25.png?resize=634%2C146&#038;ssl=1\" alt=\"\" class=\"wp-image-412\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-25.png?w=634&amp;ssl=1 634w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-25.png?resize=300%2C69&amp;ssl=1 300w\" sizes=\"auto, (max-width: 634px) 100vw, 634px\" \/><figcaption class=\"wp-element-caption\">Workspace configur\u00e9<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Lors de nos prochaines visites dans notre environnement, nous aurons maintenant la possibilit\u00e9 de faire des commit de notre code (en gros de sauvegarder) et de \u00ab\u00a0publier\u00a0\u00bb notre code (le rendre actif) en utilisant les boutons suivants :<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"187\" height=\"34\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-26.png?resize=187%2C34&#038;ssl=1\" alt=\"\" class=\"wp-image-413\"\/><\/figure>\n\n\n\n<p>Une visite dans notre repository nous montre les premiers fichiers de notre Workspace cr\u00e9\u00e9 par synapse.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1016\" height=\"524\" src=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-27.png?resize=1016%2C524&#038;ssl=1\" alt=\"\" class=\"wp-image-414\" srcset=\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-27.png?w=1016&amp;ssl=1 1016w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-27.png?resize=300%2C155&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/10\/image-27.png?resize=768%2C396&amp;ssl=1 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\">Notre repository \u00ab\u00a0clean\u00a0\u00bb<\/figcaption><\/figure>\n\n\n\n<p>Il est tout \u00e0 fait possible de commencer \u00e0 d\u00e9velopper dans notre branche de collaboration (si l&rsquo;on est seul \u00e0 travailler ou pour des premiers tests) cependant il est plut\u00f4t recommand\u00e9 de travailler avec un processus de gestion de branche de type \u00ab\u00a0Feature branches\u00a0\u00bb. Celui-ci sera expliqu\u00e9 dans un futur article.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nous allons ici mettre en place la version de code source avec git pour nos d\u00e9veloppements synapse.<\/p>\n","protected":false},"author":2,"featured_media":427,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[76],"tags":[35,9,34,8],"class_list":["post-384","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-synapsedatalake","tag-azure-devops","tag-azure-synapse-analytics","tag-git","tag-microsoft"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>git + synapse, gestion de version et de code source - NiceData<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"git + synapse, gestion de version et de code source - NiceData\" \/>\n<meta property=\"og:description\" content=\"Nous allons ici mettre en place la version de code source avec git pour nos d\u00e9veloppements synapse.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/\" \/>\n<meta property=\"og:site_name\" content=\"NiceData\" \/>\n<meta property=\"article:published_time\" content=\"2022-11-04T10:45:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-08-20T12:49:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.nicedata.fr\/wp-content\/uploads\/2022\/11\/gitPlusSynapse-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1012\" \/>\n\t<meta property=\"og:image:height\" content=\"564\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Jean-Laurent Ferralis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@JLFerralis\" \/>\n<meta name=\"twitter:site\" content=\"@JLFerralis\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jean-Laurent Ferralis\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/\"},\"author\":{\"name\":\"Jean-Laurent Ferralis\",\"@id\":\"https:\/\/www.nicedata.fr\/#\/schema\/person\/8d1ad38004d3b0cf6bff7c200c795e19\"},\"headline\":\"git + synapse, gestion de version et de code source\",\"datePublished\":\"2022-11-04T10:45:28+00:00\",\"dateModified\":\"2024-08-20T12:49:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/\"},\"wordCount\":1767,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.nicedata.fr\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/11\/gitPlusSynapse-1.png?fit=1012%2C564&ssl=1\",\"keywords\":[\"Azure DevOps\",\"Azure Synapse Analytics\",\"git\",\"Microsoft\"],\"articleSection\":[\"Azure Synapse - Datalake\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/\",\"url\":\"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/\",\"name\":\"git + synapse, gestion de version et de code source - NiceData\",\"isPartOf\":{\"@id\":\"https:\/\/www.nicedata.fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/11\/gitPlusSynapse-1.png?fit=1012%2C564&ssl=1\",\"datePublished\":\"2022-11-04T10:45:28+00:00\",\"dateModified\":\"2024-08-20T12:49:16+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/#primaryimage\",\"url\":\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/11\/gitPlusSynapse-1.png?fit=1012%2C564&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/11\/gitPlusSynapse-1.png?fit=1012%2C564&ssl=1\",\"width\":1012,\"height\":564,\"caption\":\"git + synapse\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.nicedata.fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"git + synapse, gestion de version et de code source\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.nicedata.fr\/#website\",\"url\":\"https:\/\/www.nicedata.fr\/\",\"name\":\"NiceData\",\"description\":\"L&#039;expertise Data du sud\",\"publisher\":{\"@id\":\"https:\/\/www.nicedata.fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.nicedata.fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.nicedata.fr\/#organization\",\"name\":\"NiceData\",\"url\":\"https:\/\/www.nicedata.fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.nicedata.fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/NICE-DATA_JLFMod.webp?fit=2493%2C1249&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/NICE-DATA_JLFMod.webp?fit=2493%2C1249&ssl=1\",\"width\":2493,\"height\":1249,\"caption\":\"NiceData\"},\"image\":{\"@id\":\"https:\/\/www.nicedata.fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/JLFerralis\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.nicedata.fr\/#\/schema\/person\/8d1ad38004d3b0cf6bff7c200c795e19\",\"name\":\"Jean-Laurent Ferralis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/3cbfdae273d44fb82b902a3451eb0db37485119e34cb70c1fdd186c9b731b9f3?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/3cbfdae273d44fb82b902a3451eb0db37485119e34cb70c1fdd186c9b731b9f3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/3cbfdae273d44fb82b902a3451eb0db37485119e34cb70c1fdd186c9b731b9f3?s=96&d=mm&r=g\",\"caption\":\"Jean-Laurent Ferralis\"},\"description\":\"French Data Professionnal - BI consultant and #sql lover. I also #swimbikerun when possible ! Living in @villedenice\",\"sameAs\":[\"http:\/\/xp-it.com\"],\"url\":\"https:\/\/www.nicedata.fr\/index.php\/author\/jlf\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"git + synapse, gestion de version et de code source - NiceData","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/","og_locale":"fr_FR","og_type":"article","og_title":"git + synapse, gestion de version et de code source - NiceData","og_description":"Nous allons ici mettre en place la version de code source avec git pour nos d\u00e9veloppements synapse.","og_url":"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/","og_site_name":"NiceData","article_published_time":"2022-11-04T10:45:28+00:00","article_modified_time":"2024-08-20T12:49:16+00:00","og_image":[{"width":1012,"height":564,"url":"https:\/\/www.nicedata.fr\/wp-content\/uploads\/2022\/11\/gitPlusSynapse-1.png","type":"image\/png"}],"author":"Jean-Laurent Ferralis","twitter_card":"summary_large_image","twitter_creator":"@JLFerralis","twitter_site":"@JLFerralis","twitter_misc":{"\u00c9crit par":"Jean-Laurent Ferralis","Dur\u00e9e de lecture estim\u00e9e":"14 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/#article","isPartOf":{"@id":"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/"},"author":{"name":"Jean-Laurent Ferralis","@id":"https:\/\/www.nicedata.fr\/#\/schema\/person\/8d1ad38004d3b0cf6bff7c200c795e19"},"headline":"git + synapse, gestion de version et de code source","datePublished":"2022-11-04T10:45:28+00:00","dateModified":"2024-08-20T12:49:16+00:00","mainEntityOfPage":{"@id":"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/"},"wordCount":1767,"commentCount":0,"publisher":{"@id":"https:\/\/www.nicedata.fr\/#organization"},"image":{"@id":"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/11\/gitPlusSynapse-1.png?fit=1012%2C564&ssl=1","keywords":["Azure DevOps","Azure Synapse Analytics","git","Microsoft"],"articleSection":["Azure Synapse - Datalake"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/","url":"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/","name":"git + synapse, gestion de version et de code source - NiceData","isPartOf":{"@id":"https:\/\/www.nicedata.fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/#primaryimage"},"image":{"@id":"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/11\/gitPlusSynapse-1.png?fit=1012%2C564&ssl=1","datePublished":"2022-11-04T10:45:28+00:00","dateModified":"2024-08-20T12:49:16+00:00","breadcrumb":{"@id":"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/#primaryimage","url":"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/11\/gitPlusSynapse-1.png?fit=1012%2C564&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/11\/gitPlusSynapse-1.png?fit=1012%2C564&ssl=1","width":1012,"height":564,"caption":"git + synapse"},{"@type":"BreadcrumbList","@id":"https:\/\/www.nicedata.fr\/index.php\/2022\/11\/04\/git-synapse-gestion-de-version-et-de-code-source\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.nicedata.fr\/"},{"@type":"ListItem","position":2,"name":"git + synapse, gestion de version et de code source"}]},{"@type":"WebSite","@id":"https:\/\/www.nicedata.fr\/#website","url":"https:\/\/www.nicedata.fr\/","name":"NiceData","description":"L&#039;expertise Data du sud","publisher":{"@id":"https:\/\/www.nicedata.fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.nicedata.fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.nicedata.fr\/#organization","name":"NiceData","url":"https:\/\/www.nicedata.fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.nicedata.fr\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/NICE-DATA_JLFMod.webp?fit=2493%2C1249&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2024\/11\/NICE-DATA_JLFMod.webp?fit=2493%2C1249&ssl=1","width":2493,"height":1249,"caption":"NiceData"},"image":{"@id":"https:\/\/www.nicedata.fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/JLFerralis"]},{"@type":"Person","@id":"https:\/\/www.nicedata.fr\/#\/schema\/person\/8d1ad38004d3b0cf6bff7c200c795e19","name":"Jean-Laurent Ferralis","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/3cbfdae273d44fb82b902a3451eb0db37485119e34cb70c1fdd186c9b731b9f3?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/3cbfdae273d44fb82b902a3451eb0db37485119e34cb70c1fdd186c9b731b9f3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3cbfdae273d44fb82b902a3451eb0db37485119e34cb70c1fdd186c9b731b9f3?s=96&d=mm&r=g","caption":"Jean-Laurent Ferralis"},"description":"French Data Professionnal - BI consultant and #sql lover. I also #swimbikerun when possible ! Living in @villedenice","sameAs":["http:\/\/xp-it.com"],"url":"https:\/\/www.nicedata.fr\/index.php\/author\/jlf\/"}]}},"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.nicedata.fr\/wp-content\/uploads\/2022\/11\/gitPlusSynapse-1.png?fit=1012%2C564&ssl=1","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.nicedata.fr\/index.php\/wp-json\/wp\/v2\/posts\/384","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.nicedata.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.nicedata.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.nicedata.fr\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nicedata.fr\/index.php\/wp-json\/wp\/v2\/comments?post=384"}],"version-history":[{"count":8,"href":"https:\/\/www.nicedata.fr\/index.php\/wp-json\/wp\/v2\/posts\/384\/revisions"}],"predecessor-version":[{"id":783,"href":"https:\/\/www.nicedata.fr\/index.php\/wp-json\/wp\/v2\/posts\/384\/revisions\/783"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.nicedata.fr\/index.php\/wp-json\/wp\/v2\/media\/427"}],"wp:attachment":[{"href":"https:\/\/www.nicedata.fr\/index.php\/wp-json\/wp\/v2\/media?parent=384"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.nicedata.fr\/index.php\/wp-json\/wp\/v2\/categories?post=384"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.nicedata.fr\/index.php\/wp-json\/wp\/v2\/tags?post=384"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}