# Atelier R
## prochain atelier : vendredi 3 juin
* le 20, sont absents : PP, WR, SL, GC => décalé
* 2 sujets :
* mon premier Rmarkdown : Margaux stagiaire. (1h) par forcément du R, ou très peu (code fournit, par exemple). tests sur Hackmd ?
* nouveau serveur R, montées de version (1h30): appel à volontaires par mailco. bien définir le champ (appli/params/code/package..), partager l'info Resana, sans se substituer au GU, lister les fonctions dépréciées (construire un doc partagé en séance pour obtenir un mémo ??). par contre ne concerne pas tous les agents (les nouveaux utilisateurs R n'ont pas ces difficultés).
* SG :nouvelle version R : ce qu’on peut faire avec , un bout de programme qui ne marche pas, etc… Et on en discute ensemble à chaque fois.
* procédures supprimées ou dépréciées et comment les remplacer
* xx_at, xx_if, xxx_at
* spread/gather => pivot_wider et pivot_longer
* les colonnes + 50 => corrigé pour tous
* etc
## 26/04 : GOGS
[TOC]
### présentation GIT
* à quoi ca sert : collaboration + historisation revenir en arrière + commentaires + rechercher un bout de code dans un autre projet
* différence GOGS (interface utilisateur), et GIT (logiciel)
* notion de dépôt distant (= commun) et dépôt local (= personnel)
* depot GIT <-> projet R
* schéma avec GitLAb : https://linogaliana.gitlab.io/collaboratif/git.html#le-b.a-ba
c'est une nouvelle formation Insee : Git à travers la pratique via RStudio.
* pull : je "tire" le dépôt commun vers mon dépôt local pour prendre en compte les nouvelles versions mises à jour par les autres utilisateurs.
* commit : j'enregistre une nouvelle version de mon projet sur mon dépôt local
* push : je "pousse" mon dépôt local vers le dépôt commun pour mettre à jour le dépot commun
* explorer GOGS ensemble (se souvenir de son mdp ! Pas besoin pour explorer mais nécessaire pour push)
http://gogs.sdse.intranet.justice.gouv.fr/
* paramètres de son compte, changer avatar etc
* questions
* exemple entre Wali et Perrine sur projet xxx
* pull : je récupère la dernière version des codes du dépôt distant
* commit : je valide mes modifications avec un message qui les expliquent
* push : je transmets mes modifications validées au dépôt distant
* les fichiers modifiés sont directement mis à jour dans RCommun
* faire tous ensemble puis en sous-groupe : 1 crée le projet, un autre récupère et modifie, push et
* récupérer un projet bac à sable où tout le monde a les droits
* modifier : ajouter son prénom en commentaire dans le code
* commit + push
* pull : les autres voient les modifs
* on vise tous les prénoms ajoutés !
* nettoyer ensuite ?
### création d'un projet GIT
* si possible à faire avant d'écrire le code
* vérifier que tout le monde a "Associer son compte GiT à son compte RStudio (Romain Lesur)", surtout absents précédent atelier
* dans le wiki :
* documentation R
* Procédures utiles
* [bonne pratique] créer un projet RStudio directement lié à git (SSH) http://wiki.sdse.intranet.justice.gouv.fr/index.php/Cr%C3%A9er_un_projet_RStudio_directement_li%C3%A9_%C3%A0_git
* Passer un projet RStudio sous contrôle de version avec git (Romain Lesur)
* faire tous ensemble l'essai d'un projet versionné
### Questions
* quand mettre à jour le dépôt distant (= quand faire un pull) ?
* comment faire en cas de conflit ?
### l'organisation "BCPS"
* pourquoi faire
* sur serveur home (P), programmes exploratoires ou de test => son prenomnom (et ajout collaborateur)
* sur serveur bcps (L), usage collaboratif ou partagé => organisation BCPS
* comment ca fonctionne car non nominatif
* nommage des projet sous cette organisation
* mais ne sert pas à ...
* faire ensemble
* récupérer un projet BCPS\xxx
* mettre un de ses projets sous BCPS
* **Changer de propriétaire** : Sous GOGS, aller dans son projet prenomnom/monProjet , puis dans « paramètres » > « options » > « Zone de danger » > « changer de propriétaire » renseigner le nom de dépôt (monProjet), renseigner le nouveau propriétaire (BCPS) et valider.
* **Changer de nom depot GIT** : Sous GOGS, aller dans son projet prenomnom/monProjet , puis dans « paramètres » > « options » > « paramètres de base » : modifier le nom de dépôt en monProjet2, et valider. Eventuellement cocher le dépôt en « privé » pour qu’il ne soit visibles que par les équipes désignées ci-dessous.
* **Changer le chemin R-GOGS** : Sous RStudio, ouvrir via « Open project… » le projet renommé monProjet2. Puis dans le terminal, saisir :
git remote set-url origin git@10.21.2.230:BCPS/monProjet2.git
* ??? **Changer de nom projet R** : Sous son serveur R (\\sla8-sds-nant.dom-outre-mer.justice.fr\homes), aller sur le dossier monProjet : renommer le dossier en monProjet2, puis aller dans le dossier et renommer monProjet.Rproj en monProjet2.Rproj .
* prévenir tous les utilisateurs de ces changements, sinon ils ne pourront plus mettre le programme à jour. Manip ci-dessous, à accompagner si nécessaire (par exemple lors d’un atelier R/BCPS du vendredi !).
* règles de nommage
* « nomDuDispositif_aQuoiCaSert ».
* Eviter les termes « pgm » ou « projet » qui sont redondants.
### Ateliers
2 ateliers en paralèlle :
* pratique du mécanisme de récupération de projet et de mise à jour
* passage des projets sous l'organisation "BCPS" (pour ceux qui ont déjà des projets existants)
* => finalement tout le monde a voulu rester ensemble
### résumé ?
### aller plus loin
https://linogaliana.gitlab.io/collaboratif/ (lien qui va évoluer)
branches
https://www.statcan.gc.ca/fr/science-donnees/reseau/professionnels-analyse
### bilan de l'atelier
points sympa :+1:
* paramétrages ok, testé pour tous les présents
* ouverture Canal Tchap "SDSE - Ateliers R BCPS"
* groupe GIT *BCPS* un peu alimenté, mais à poursuivre => chefs de section pourraient demander que certains pgm de prod soient passés sous *BCPS*
* participants :
* nombreux !
* diversité des profil
* travail collaboratif, aide entre voisins
* pas de rôle de chef : tous au même niveau
* peut souder le BCPS, mais certaines personnes non concernées (non utilisatrices de R) en seront tjs exclues
* besoin ateliers SAS également, même si utilisateurs moins nombreux : ca veut dire qu'ils sont contents de ce tyoe d'ateliers
points bof :-1:
* difficultés sur l'exemple : a peut-être fait peur aux agents (complexité ou incompétence de ceux qui présentent. mais temps de préparation de l'atelier limité, exprès pour que ca ne coûte pas trop à ceux qui animent ?!
* un peu long, faire éventuellement une pause. mais prendre le temps pour laisser émerger les questions. inertie du collectif, mais on essaie d'avancer tous en même temps.