{"id":464,"date":"2014-06-10T15:48:44","date_gmt":"2014-06-10T19:48:44","guid":{"rendered":"http:\/\/www.bioinfo.iric.ca\/?p=464"},"modified":"2017-05-01T10:29:27","modified_gmt":"2017-05-01T14:29:27","slug":"rstudio-et-version","status":"publish","type":"post","link":"https:\/\/bioinfo.iric.ca\/fr\/rstudio-et-version\/","title":{"rendered":"RStudio et le contr\u00f4le de versions"},"content":{"rendered":"<p>Un syst\u00e8me de contr\u00f4le de versions est simplement une fa\u00e7on de suivre les modifications effectu\u00e9es dans un fichier au fil du temps. Je parie que vous utilisez d\u00e9j\u00e0 un syst\u00e8me de contr\u00f4le de versions sans m\u00eame le savoir!<\/p>\n<p>Lorsque vous faites une copie d&rsquo;un script avant de le modifier et que vous le renommez v2 par exemple, vous utilisez un syst\u00e8me de contr\u00f4le de versions. Quoique fonctionnel, votre syst\u00e8me manuel peut bien vite s&rsquo;av\u00e9rer p\u00e9nible \u00e0 g\u00e9rer. C&rsquo;est pourquoi \u00e7a vaut la peine d&rsquo;investir un peu de temps t\u00f4t dans un projet pour utiliser un syt\u00e8me un peu plus structur\u00e9.<\/p>\n<p>Comme l&rsquo;a bien r\u00e9sum\u00e9 un utilisateur de <a href=\"http:\/\/stackoverflow.com\/questions\/1408450\/why-should-i-use-version-control\">stackoverflow<\/a> (un lien vers ce texte existe m\u00eame sur la page de RStudio), un syst\u00e8me de contr\u00f4le de versions nous facilite la vie dans plusieurs situations, en particulier s&rsquo;il vous est d\u00e9j\u00e0 arriv\u00e9 de :<\/p>\n<ul>\n<li>Modifier du code, r\u00e9aliser que ce n&rsquo;\u00e9tait pas une bonne id\u00e9e et vouloir revenir \u00e0 une ancienne version<\/li>\n<li>Perdre du code sans avoir de copie de secours<\/li>\n<li>Vouloir voir la diff\u00e9rence entre deux (ou plusieurs) versions de votre code<\/li>\n<li>Vouloir prouver que telle modification a bris\u00e9 ou r\u00e9par\u00e9 un bout de code<\/li>\n<li>Vouloir r\u00e9viser l&rsquo;historique des modifications apport\u00e9es \u00e0 votre code<\/li>\n<li>Vouloir partager votre code ou permettre \u00e0 d&rsquo;autres de travailler sur votre code<\/li>\n<\/ul>\n<p>Si vous vous \u00eates dans l&rsquo;une de ces situations, vous serez heureux d&rsquo;apprendre que l&rsquo;on retrouve deux syst\u00e8mes (ouverts ou <em>open-source<\/em>) de contr\u00f4le de version dans RStudio :<\/p>\n<ul>\n<li><a href=\"http:\/\/git-scm.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Git<\/a><\/li>\n<li><a href=\"http:\/\/subversion.apache.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Subversion<\/a><\/li>\n<\/ul>\n<p>Je ne r\u00e9v\u00e8lerai pas lequel je pr\u00e9f\u00e8re! Je vais m&rsquo;attarder sur Git plut\u00f4t que sur SVN parce qu&rsquo;il a \u00e9t\u00e9 le premier syst\u00e8me support\u00e9 dans RStudio et qu&rsquo;il est la seule option offerte lorsque l&rsquo;on cr\u00e9e un nouveau projet dans la version 0.98.<\/p>\n<p>Les fonctionnalit\u00e9s de contr\u00f4le de versions dans RStudio ne sont disponibles qu&rsquo;\u00e0 l&rsquo;int\u00e9rieur d&rsquo;un projet. La premi\u00e8re \u00e9tape est donc, bien \u00e9videmment, de cr\u00e9er un projet RStudio. Une fois le projet cr\u00e9\u00e9, les fonctionnalit\u00e9s sont disponibles dans le panneau du haut \u00e0 droite. Dans ce panneau, vous verrez les diff\u00e9rents fichiers de votre projet et vous serez capable de s\u00e9lectionner les fichiers \u00e0 suivre (pour un nouveau projet) ou de voir les fichiers d\u00e9j\u00e0 suivis (dans un project existant).<\/p>\n<p>Pour la soumission (\u00ab\u00a0commit\u00a0\u00bb) initiale (pour un nouveau projet), on doit s\u00e9lectionner les fichiers \u00e0 suivre. Ces derniers se verront attribuer un petit A vert (\u00ab\u00a0added\u00a0\u00bb) \u00e0 c\u00f4t\u00e9 de leur nom. Avant de compl\u00e9ter la soumission, Git nous demande d&rsquo;\u00e9crire une description des modifications \u00e0 soumettre. L&rsquo;id\u00e9e est d&rsquo;\u00e9crire le message le plus informatif possible pour nous permettre (et \u00e0 nos collaborateurs si l&rsquo;on d\u00e9cide de partager notre projet) de bien suivre les modifications effectu\u00e9es.<\/p>\n<p>Git nous indiquera ensuite ce qu&rsquo;il a fait et si tout s&rsquo;est bien pass\u00e9. Si quelque chose est all\u00e9 de travers, nous le saurons!<\/p>\n<p><center><\/p>\n<div id=\"attachment_432\" style=\"width: 310px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/bioinfo.iric.ca\/wpbioinfo\/wp-content\/uploads\/2014\/05\/rstudio-git-2.png\"><img decoding=\"async\" aria-describedby=\"caption-attachment-432\" class=\"size-medium wp-image-432\" src=\"https:\/\/bioinfo.iric.ca\/wpbioinfo\/wp-content\/uploads\/2014\/05\/rstudio-git-2-300x211.png\" width=\"300\" height=\"211\" srcset=\"https:\/\/bioinfo.iric.ca\/wpbioinfo\/wp-content\/uploads\/2014\/05\/rstudio-git-2-300x211.png 300w, https:\/\/bioinfo.iric.ca\/wpbioinfo\/wp-content\/uploads\/2014\/05\/rstudio-git-2-1024x722.png 1024w, https:\/\/bioinfo.iric.ca\/wpbioinfo\/wp-content\/uploads\/2014\/05\/rstudio-git-2.png 1212w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-432\" class=\"wp-caption-text\">Premi\u00e8re soumission r\u00e9ussie.<\/p><\/div>\n<p><\/center>Par la suite, un petit M bleu (\u00ab\u00a0modified\u00a0\u00bb) apparaitra \u00e0 c\u00f4t\u00e9 du nom d&rsquo;un fichier suivi par Git chaque fois que l&rsquo;on sauvegardera une modification dans ce fichier. Lors de la soumission, il est possible de voir la diff\u00e9rence entre notre fichier et la version pr\u00e9c\u00e9dente. Une fois la soumission compl\u00e9t\u00e9e, le petit M disparait.<\/p>\n<p><center><\/p>\n<div id=\"attachment_432\" style=\"width: 310px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/bioinfo.iric.ca\/wpbioinfo\/wp-content\/uploads\/2014\/05\/rstudio-git3.png\"><img decoding=\"async\" aria-describedby=\"caption-attachment-432\" class=\"alignnone size-medium wp-image-457\" src=\"https:\/\/bioinfo.iric.ca\/wpbioinfo\/wp-content\/uploads\/2014\/05\/rstudio-git3-300x219.png\" width=\"300\" height=\"219\" srcset=\"https:\/\/bioinfo.iric.ca\/wpbioinfo\/wp-content\/uploads\/2014\/05\/rstudio-git3-220x161.png 220w, https:\/\/bioinfo.iric.ca\/wpbioinfo\/wp-content\/uploads\/2014\/05\/rstudio-git3-300x219.png 300w, https:\/\/bioinfo.iric.ca\/wpbioinfo\/wp-content\/uploads\/2014\/05\/rstudio-git3-1024x748.png 1024w, https:\/\/bioinfo.iric.ca\/wpbioinfo\/wp-content\/uploads\/2014\/05\/rstudio-git3.png 1170w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-432\" class=\"wp-caption-text\">Avant la soumission, une description des modifications effectu\u00e9es est demand\u00e9e<\/p><\/div>\n<p><\/center>Et voil\u00e0! Un usage de base n&rsquo;est pas plus compliqu\u00e9 que \u00e7a! Des modifications, un message, une soumission et le tour est jou\u00e9!<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Un syst\u00e8me de contr\u00f4le de versions est simplement une fa\u00e7on de suivre les modifications effectu\u00e9es dans un fichier au fil du temps. Je parie que vous utilisez d\u00e9j\u00e0 un syst\u00e8me de contr\u00f4le de versions sans m\u00eame le savoir! Lorsque vous faites une copie d&rsquo;un script avant de le modifier et que vous le renommez v2 par exemple, vous utilisez un syst\u00e8me de contr\u00f4le de versions. Quoique fonctionnel, votre syst\u00e8me manuel peut bien vite s&rsquo;av\u00e9rer p\u00e9nible \u00e0 g\u00e9rer. C&rsquo;est pourquoi \u00e7a <a href=\"https:\/\/bioinfo.iric.ca\/fr\/rstudio-et-version\/\"> [&#8230;]<\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[24],"tags":[152,22,23],"class_list":["post-464","post","type-post","status-publish","format-standard","hentry","category-langage-r","tag-gestion-de-versions","tag-git-fr","tag-rstudio-fr"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bioinfo.iric.ca\/fr\/wp-json\/wp\/v2\/posts\/464","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bioinfo.iric.ca\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bioinfo.iric.ca\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bioinfo.iric.ca\/fr\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/bioinfo.iric.ca\/fr\/wp-json\/wp\/v2\/comments?post=464"}],"version-history":[{"count":11,"href":"https:\/\/bioinfo.iric.ca\/fr\/wp-json\/wp\/v2\/posts\/464\/revisions"}],"predecessor-version":[{"id":3337,"href":"https:\/\/bioinfo.iric.ca\/fr\/wp-json\/wp\/v2\/posts\/464\/revisions\/3337"}],"wp:attachment":[{"href":"https:\/\/bioinfo.iric.ca\/fr\/wp-json\/wp\/v2\/media?parent=464"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bioinfo.iric.ca\/fr\/wp-json\/wp\/v2\/categories?post=464"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bioinfo.iric.ca\/fr\/wp-json\/wp\/v2\/tags?post=464"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}