Cours 3 : Introduction à git, GitHub et Quarto

Introduction aux mégadonnées en sciences sociales

Laurence-Olivier M. Foisy

Université de Montréal

Des questions sur le dernier cours?

  • Avez-vous essayé l’exercice?
  • Le path?
  • Le balais dans RStudio

À voir aujourd’hui

Le reste des outils que nous utiliserons cette session:

  • Terminal
  • Git
  • GitHub
  • Quarto

Terminal

À propos du terminal

  • Pas du code mais des commandes
  • Chaque commande est une application
  • Un explorateur de fichier
  • À tout moment vous êtes dans une location précise, dans un répertoire ou un dossier

Terminal

macOS

  • Terminal

Windows

  • PowerShell

Pourquoi utiliser le terminal?

  • Compréhension accru de l’ordinateur et de votre arborescence

  • Plusieurs outils ne sont disponibles que dans le terminal

  • Se familiariser avec la console de R

  • Git est concentré sur le terminal

  • Meilleure raison: Parce que c’est le fun!

Liste de commandes utiles

  • ls - Liste les fichiers et dossiers dans le répertoire courant
  • cd - Change de répertoire
  • mkdir - Crée un nouveau dossier
  • rm - Supprime un fichier
  • cp - Copie un fichier
  • mv - Déplace ou renomme un fichier
  • cat - Affiche le contenu d’un fichier
  • git - Gestionnaire de version

DataCamp

Introduction to Shell

Git

Git

  • Créé par Linus Torvalds en 2005
  • Gestion de version
  • Permet de suivre l’évolution d’un projet
  • Utile pour tout ce qui est texte, incluant les articles et les présentations
  • Enregistre tous les changements faits depuis la création du projet (.git)
  • Reproductibilité et transparence

Important

  • Télécharger et installer Git depuis git-scm.com

  • Configurer git avant de commencer à l’utiliser

  • Dans le terminal:

git config --global user.name "username"
git config --global user.email votre@email.com
git config --global credential.helper store

GitHub

Git

GitHub

GitHub

  • GitHub = Git + Internet

  • Plateforme de développement collaboratif

  • Héberge des projets Git

  • Acheté par Microsoft pour 7.5 milliards de dollars

  • Lieu d’entreposage de plusieurs projets open source

Projets open source sur GitHub

Ajouter vos accès

  • Créer un compte GitHub :
  • Générer un token d’accès classique :
    • Connectez-vous à GitHub et allez dans vos Paramètres.
    • Dans la section Developer Settings, cliquez sur Personal Access Tokens, puis sur Tokens (classic).
    • Créez un nouveau token en cliquant sur Generate new token (classic).
    • Choisissez la durée illimité et donnez tous les accès
    • Copiez le token généré, car vous ne pourrez plus le visualiser après avoir quitté cette page.
  • Quand Git demandera un identifiant et un mot de passe, entrez :
    • Identifiant : votre nom d’utilisateur GitHub.
    • Mot de passe : collez le token que vous avez généré.

Comment l’utiliser?

  1. Cloner un projet existant sur votre ordinateur.
  • Ce projet est maintenant un dossier sur votre ordinateur. Vous pouvez le modifier, le supprimer, le déplacer, etc.
git clone https://lien/vers/repo.git
  1. Modifier le projet, ajouter des fichiers, etc.
git pull 
git add votre_fichier_1 votre_fichier_2
git commit -m "Message de commit"
git push

Organiser votre répertoire et placer vos données

/votre_projet
├── data
│   ├── processed
│   │   └── data_clean.csv
│   └── raw
│       └── data_raw.csv
├── docs
│   └── article
│       ├── articles.qmd
│       └── references.bib
├── R
│   ├── 1_analysis.R
│   └── 2_graph.R
├── README.md
└── results
    └── graphs
        └── 1_bar_graph.png        

.gitignore

  • Fichier texte qui spécifie les fichiers et dossiers à ignorer
  • Les fichiers et dossiers spécifiés dans le .gitignore ne seront pas suivis par Git
  • Exemple de contenu d’un .gitignore
    • *.csv - Ignore tous les fichiers .csv
    • data/ - Ignore le dossier data
    • .Rproj - Ignore tous les fichiers .Rproj
    • .Renviron - Ignore le fichier .Renviron

Les README.md

  • Fichier principal pour présenter et documenter un projet

  • Doit inclure une description claire du projet, comment l’installer et l’utiliser

  • Souvent écrit en Markdown (.md)

  • Contient des instructions pour contribuer et des informations sur les dépendances et les licences

  • Exemple de structure :

    • Titre du projet
    • Description
    • Comment installer
    • Comment utiliser
    • Comment contribuer

Branches

  • Dans notre contexte, une branche est un chapitre, une section, un élément de votre projet

Contribuer? Pull requests (PR)

  • Les pull requests permettent à d’autres utilisateurs de proposer des modifications à votre projet

  • Processus de collaboration :

    • Un contributeur crée une branche avec ses changements
    • Une PR est ouverte pour soumettre ces changements
    • Le propriétaire du projet peut commenter, demander des modifications ou accepter la PR
  • Important pour :

    • Suivi des modifications
    • Discussion autour des changements
    • Validation avant intégration

Datacamp

Quarto

Langages de balisage

  • Permettent de structurer un document avec des balises
  • Séparent le contenu de la mise en forme
  • Exemples courants :
    • HTML pour le web
    • LaTeX pour documents scientifiques
    • Markdown pour la simplicité

Historique des langages de balisage

Lanages de balisage

  • ,

Lequel choisir?

Ils sont tous bons!

Pourquoi Quarto?

  • Très facile à utiliser
  • Inclus avec RStudio
  • Possibilité d’inclure du LaTeX si nécessaire
  • Templates facile à créer et à utiliser
quarto use template fas1001/gabarit_udem_science_po

Pourquoi se compliquer la vie?

  • Open source - Adapté à nos besoins
  • Automatisation - Répétabilité
  • Compatibilité - Windows, MacOS, Linux
  • Versatilité (HTML, PDF, Word, etc.)
  • Approche philosophique différente des logiciels de traitement de texte comme Word

Courbe d’apprentissage

Quarto

  • Markdown amélioré
  • Possibilité d’utiliser plusieurs langage de programmation comme Julia ou Python.
  • Possibilité d’utiliser plusieurs IDE comme RStudio ou VScode.
  • Quarto permet de faire des belles présentations, livres, rapports de recherche, thèses, site web.

Comment utiliser Markdown


### Titre de niveau 3

#### Titre de niveau 4

**Texte en gras**
_Texte en italique_

@citation dans le texte
En fin de phrase [@citation].

> Bloc de citation

Texte normal, écriture, blablabla.

Titre de niveau 3

Titre de niveau 4

Texte en gras

Texte en italique

Auteur (année) dans le texte

En fin de phrase (Auteur, année).

Bloc de citation

Texte normal, écriture, blablabla.

Comment utiliser Markdown

- Liste à puce
- Liste à puce 
  1. Sous-liste à numéro
  2. Sous-liste à numéro
      1. Sou-sous liste à numéro
        - Sous-sous-sous liste à puce

![](https://mdg.imgix.net/assets/images/tux.png?auto=format&fit=clip&q=40&w=100)
![](img/terminal.png)
  • Liste à puce
  • Liste à puce
    1. Sous-liste à numéro
    2. Sous-liste à numéro
      1. Sou-sous liste à numéro
      • Sous-sous-sous liste à puce

Fichiers .bib

@book{salganik2019bit,
  title={Bit by bit: Social research in the digital age},
  author={Salganik, Matthew J},
  year={2019},
  publisher={Princeton University Press}
}

YAML Header


---
author: "Laurence-Olivier"
title: "Le YAML"
subtitle: "C'est quoi?"
date: today
format:
  pdf:
    documentclass: article
    geometry: 
      - margin=2.5cm
    fontsize: 12pt
    mainfont: "TeX Gyre Termes"
    header-includes: |
      \usepackage[french]{babel}
bibliography: references.bib
csl: https://raw.githubusercontent.com/citation-style-language/styles/master/chicago-author-date.csl
---

Le TP1

Lien vers le TP1 sur GitHub Classrooms

Conclusion