# notes de cours pour Mooc recherche reproductible # Module 1 #markdown **bold** ou __bold__ _italic_ ou *italic* étiquette : ' lien hypertexte : [GitHub](http://github.com) `bout de code` avec des "back-ticks" ```block de code```avec 3 back-ticks deux espaces en fin de ligne pour changer de ligne sans changer de paragraphe # GIT ## git en LOCAL git = sur un serveur distant fléches = dépendance vont dans l'autre sens que le temps **git add** : ajouter les modifs à ajouter au futur commit - on peut en faire plusieurs **git commit** : commiter les modifs en LOCAL - identifié par clé cryptographique SH1 qui contient les dépendances **git diff xxx yyy **: pour comparer les versions **git checkout** : revenir à l'état précédent **git log** : accès à l'historiques ## travailler à plusieurs : SERVEUR synchroniser des branches en échangeant des morceaux d'historiques **got clone** : récupération le projet en local (vide au début) **git push** : propager les modifs sur le serveur gitlab - avant de faire un git push, il faut d'abord commiter en local ! **git merge** : fusion en cas de conflit / _a approfondir_ **git pull** : récupération des modifications de la branche master *branches* master et local outil de recherche dans les fichiers, ne marche que dans le répertoire local ### conflits - une modif = un caractère ! - la granulométrie est la ligne et le fichier - si 2 modifs sur des parties différentes d'un même fichier ou deux fichiers différents = fusion automatique - si modifs sur des lignes identiques alors il faut inspecter les modifs pour gérer le conflit ### fork et pull request (sur github) - fork : faire une copie du projet dans son espace personnel afin de travailler sur les fichiers - pull request : faire une demande aux admin : la branche est terminée et soumise à validation ### bonnes pratiques - modularité, multiplier les fichiers - préferer le format texte ## plateformes de dev. collaboratif = GitHub, GitLab et autres - issues (demande correction bug, demande fonctionnalités) - statistiques - possibilité de lancer automatiquement des tests après les commits - gratuit ? - GitHub : logiciel propriétaire, service payant pour les entreprises (gratuit pour les étudiants) - GitLab : alternative libre. Il existe 2 versions, une version communauté et une version entreprise en avance. - interfaces : jupyther a une extension pour faire les commit + logiciels graphiques (GitKraken, ...) # etiquette de données pour moteur de recherche doc fetcher ou recol : moteur de recherche de bureau multiplafeform étiquette dans fichiers texte (balises) et images (logiciel Exiftool) https://exiftool.org/ mais en ligne de commande, il existe lignes commande