Commit dd9f592b84a49ba934f94fc7b373ad98649be6bc
0 parents
Initial commit
Showing 5 changed files with 398 additions and 0 deletions Side-by-side Diff
git/.gitignore
View file @
dd9f592
git/Makefile
View file @
dd9f592
| ... | ... | @@ -0,0 +1,14 @@ |
| 1 | +OUTPUT=git.pdf git.html | |
| 2 | + | |
| 3 | +all: $(OUTPUT) | |
| 4 | + | |
| 5 | +%.pdf: %.md | |
| 6 | + pandoc -s -N -V lang:french -V papersize:a4paper -V geometry:margin=1in \ | |
| 7 | + $< -o $@ | |
| 8 | + | |
| 9 | +%.html: %.md | |
| 10 | + pandoc -s -N -t slidy $< -o $@ | |
| 11 | + | |
| 12 | +.PHONY: clean | |
| 13 | +clean: | |
| 14 | + -rm $(OUTPUT) 2> /dev/null |
git/git.md
View file @
dd9f592
| ... | ... | @@ -0,0 +1,283 @@ |
| 1 | +% Introduction à Git et utilisation pour l'enseignement et la recherche | |
| 2 | +% 30/1/2014 | |
| 3 | +% Louis-Claude Canon | |
| 4 | + | |
| 5 | +Introduction | |
| 6 | +============ | |
| 7 | + | |
| 8 | +- Prérequis : usage basique de `svn`. | |
| 9 | +- Interruptions bienvenues pour compléter ou discuter. | |
| 10 | +- Contenu : démonstrations, adoption, comparaison avec Subversion, cas | |
| 11 | + d'utilisation, conclusion et perspectives. | |
| 12 | + | |
| 13 | +Démonstration | |
| 14 | +============= | |
| 15 | + | |
| 16 | +But : montrer l'équivalent de `svn`. | |
| 17 | + | |
| 18 | + mkdir test | |
| 19 | + cd test | |
| 20 | + git init . # mise en place d'un serveur svn | |
| 21 | + > file | |
| 22 | + git add file # svn add file | |
| 23 | + git commit -a -m "Commit initial" # svn commit | |
| 24 | + | |
| 25 | +Le dépôt est uniquement local : le commit n'envoit rien. | |
| 26 | + | |
| 27 | + echo phrase1 > file | |
| 28 | + git commit -a -m "Second commit" | |
| 29 | + git checkout HEAD~1 | |
| 30 | + cat file | |
| 31 | + git checkout master | |
| 32 | + cat file | |
| 33 | + | |
| 34 | +Simplicité de déplacement dans l'historique. | |
| 35 | + | |
| 36 | + git log -p | |
| 37 | + gitk | |
| 38 | + echo phrase2 >> file | |
| 39 | + git status | |
| 40 | + git diff | |
| 41 | + | |
| 42 | +Concepts | |
| 43 | +======== | |
| 44 | + | |
| 45 | +Rappel pour Subversion : copie de travail et version serveur. | |
| 46 | + | |
| 47 | +Une zone en plus pour git : *stage*. Contient tous les changements candidats | |
| 48 | +pour être commités. Permet d'organiser les commits (chaque commit ne contenant | |
| 49 | +que des changements ayant la même logique). | |
| 50 | + | |
| 51 | +Une étape supplémentaire pour envoyer la copie locale à un dépôt externe. | |
| 52 | + | |
| 53 | +4 zones au total (2 de plus qu'avec Subversion) : | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | +Démonstration avancée | |
| 58 | +===================== | |
| 59 | + | |
| 60 | +Micro-commits | |
| 61 | +------------- | |
| 62 | + | |
| 63 | + git commit -a -m "Troisième commit" | |
| 64 | + sed s/phrase1/phrase1_1/ -i file | |
| 65 | + echo phrase3 >> file | |
| 66 | + git add -p | |
| 67 | + git commit -m "Micro-commit" | |
| 68 | + git add -p | |
| 69 | + git commit -m "Micro-commit" | |
| 70 | + git log -p | |
| 71 | + | |
| 72 | +Rédaction collaborative avec un serveur | |
| 73 | +--------------------------------------- | |
| 74 | + | |
| 75 | + git clone morgane:repo.git | |
| 76 | + mv repo test1 | |
| 77 | + git clone | |
| 78 | + mv repo test2 | |
| 79 | + cd test1 | |
| 80 | + # Modification quelques lignes | |
| 81 | + git add -p | |
| 82 | + git commit | |
| 83 | + git push | |
| 84 | + cd ../test2 | |
| 85 | + # Modification quelques lignes (avec conflit) | |
| 86 | + git commit -a | |
| 87 | + git push | |
| 88 | + git pull | |
| 89 | + # Fusion | |
| 90 | + git add lorem | |
| 91 | + git commit | |
| 92 | + git push | |
| 93 | + | |
| 94 | +Modification d'un précédent commit | |
| 95 | +---------------------------------- | |
| 96 | + | |
| 97 | + git log -p | |
| 98 | + git rebase -i HEAD~5 | |
| 99 | + git log -p | |
| 100 | + | |
| 101 | +Gestion des branches | |
| 102 | +-------------------- | |
| 103 | + | |
| 104 | + git branch branche | |
| 105 | + cat phrase4 >> file | |
| 106 | + git commit -a | |
| 107 | + git checkout master | |
| 108 | + cat file | |
| 109 | + git checkout branche | |
| 110 | + cat file | |
| 111 | + | |
| 112 | +Bilan des commandes | |
| 113 | +------------------- | |
| 114 | + | |
| 115 | +Travail local : | |
| 116 | + | |
| 117 | + git init . | |
| 118 | + git add file | |
| 119 | + git commit -a # ou git add -p et git commit | |
| 120 | + git checkout HEAD~1 | |
| 121 | + git log -p # ou gitk | |
| 122 | + git status | |
| 123 | + git diff | |
| 124 | + | |
| 125 | +Travail collaboratif : | |
| 126 | + | |
| 127 | + git clone | |
| 128 | + git push | |
| 129 | + git pull | |
| 130 | + | |
| 131 | +Avancées : | |
| 132 | + | |
| 133 | + git rebase -i HEAD~5 | |
| 134 | + git branch branche1 | |
| 135 | + | |
| 136 | +Adoption | |
| 137 | +======== | |
| 138 | + | |
| 139 | +Voir <http://en.wikipedia.org/wiki/Git_%28software%29#Adoption> pour un bilan à | |
| 140 | +jour. | |
| 141 | + | |
| 142 | +Offres d'emploi | |
| 143 | +--------------- | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | +Popularité | |
| 156 | +---------- | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | +<http://trendyskills.com/> avec 25% de git et 16% de svn (au 5/2/2014). | |
| 163 | + | |
| 164 | +Utilisation | |
| 165 | +----------- | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | +Bilan de ces 6 statistiques | |
| 172 | +--------------------------- | |
| 173 | + | |
| 174 | +- 3 montrant que git est plus populaire que Subversion | |
| 175 | +- 3 montrant que git est aussi utilisé que Subversion | |
| 176 | +- toute montrant que git progresse alors que Subversion stagne | |
| 177 | +- mercurial est le plus proche concurrent (10 fois moins que git) | |
| 178 | + | |
| 179 | +On est dans la partie "Late majority" du modèle de diffusion des idées. | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | +Comparaison avec Subversion | |
| 184 | +=========================== | |
| 185 | + | |
| 186 | +Avantages : | |
| 187 | + | |
| 188 | +- aspect décentralisé : dépôt local complet | |
| 189 | + - utilisation pour le versionnage uniquement (sans aspect collaboratif) | |
| 190 | + - travail dans le train ou lors des pannes internet | |
| 191 | + - rapide : opérations immédiates pour les log, les commits | |
| 192 | +- possibilité d'organiser les modifications en "découpant" les commits | |
| 193 | +- ergonomie : pager intégré et couleurs | |
| 194 | +- facilité pour travailler sur un dépôt lorsqu'on a pas les droits (clone et | |
| 195 | + génération de patch) | |
| 196 | + | |
| 197 | +Inconvénients : | |
| 198 | + | |
| 199 | +- aspect décentralisé : une commande en plus pour enregistrer une modification | |
| 200 | + sur un serveur distant | |
| 201 | +- possibilité d'organiser les commits : une commande en plus pour sélectionner | |
| 202 | + les modifications à intégrer dans le futur commit (zone *stage*) | |
| 203 | + | |
| 204 | +Cas d'utilisation | |
| 205 | +================= | |
| 206 | + | |
| 207 | +Développement logiciel | |
| 208 | +---------------------- | |
| 209 | + | |
| 210 | +- ampleur : quelques dizaines de milliers de lignes ? | |
| 211 | +- historique : nécessité de le conserver ? | |
| 212 | +- nombre d'intervenants ? | |
| 213 | +- besoins avancées (branches) ? | |
| 214 | + | |
| 215 | +La migration et l'apprentissage de git peuvent valoir le coup (beaucoup de | |
| 216 | +projets ont fait le passage) ou pas. | |
| 217 | + | |
| 218 | +Contexte éducatif | |
| 219 | +----------------- | |
| 220 | + | |
| 221 | +- plus didactique car on peut découper l'enseignement (versionnage, puis fusion | |
| 222 | + de branche) | |
| 223 | +- apprentissage plus progressif et plus de concepts | |
| 224 | +- [gitstats](gitstats/index.html) | |
| 225 | + | |
| 226 | +Versionnage des supports d'un cours | |
| 227 | +----------------------------------- | |
| 228 | + | |
| 229 | +- pas d'historique | |
| 230 | +- un seul utilisateur (quel niveau d'information sur git ?) | |
| 231 | +- besoins modestes (commit) | |
| 232 | + | |
| 233 | +Git semble largement gagnant car décentralisé. | |
| 234 | + | |
| 235 | +Rédaction d'un article | |
| 236 | +---------------------- | |
| 237 | + | |
| 238 | +- dépôt existant avec historique | |
| 239 | +- utilisateurs néophytes | |
| 240 | +- quelques utilisateurs en mode passage de jeton (peu de conflit) | |
| 241 | +- besoins modestes (push/pull) | |
| 242 | + | |
| 243 | +Le coût de la migration ou de l'apprentissage dépasse les avantages apportés | |
| 244 | +par git. | |
| 245 | + | |
| 246 | +Rédaction d'un article (bis) | |
| 247 | +---------------------------- | |
| 248 | + | |
| 249 | +- pas de dépôt existant | |
| 250 | +- utilisateurs informés | |
| 251 | + | |
| 252 | +Autant commencer directement avec git. | |
| 253 | + | |
| 254 | +Conclusion | |
| 255 | +========== | |
| 256 | + | |
| 257 | +- plus puissant que Subversion et qui peut le plus peut le moins | |
| 258 | +- plus ergonomique à l'usage | |
| 259 | +- mieux vaut un seul outil pour n'avoir à retenir que le minimum de réflexes | |
| 260 | +- pas beaucoup plus complexe pour les besoins basiques (et même plus simple | |
| 261 | + pour le versionnage seul) | |
| 262 | +- pas indispensable de tout migrer à git, mais outil à connaître pour ne pas | |
| 263 | + limiter le choix lors des nouveaux projets (l'une des principales limites à | |
| 264 | + son utilisation avec l'absence de forge) | |
| 265 | + | |
| 266 | +Perspectives | |
| 267 | +============ | |
| 268 | + | |
| 269 | +- idées pour de prochains séminaires techniques | |
| 270 | + - plagiat : recherche un participant pour présenter les outils de détection | |
| 271 | + spécifiques aux textes / dissertations (C. Lang ?) | |
| 272 | + - syllabus : recherche de participants pour présenter leur usage et leur | |
| 273 | + retour (B. Legard ?) | |
| 274 | + - dépôt APP (F. Bouquet ?) : recherche d'un autre spécialiste d'une | |
| 275 | + démarche administrative | |
| 276 | + - tutoriel git : 1 à 2 heures avec plus de théorie, de la pratique et une | |
| 277 | + ouverture eclipse (N. Marilleau ?) | |
| 278 | + - BigData et calcul parallèle (K. Mazouzi ?) | |
| 279 | +- possibilité de monter un groupe de travail plus formel ? | |
| 280 | + - thème : outils connexes à la recherche et l'enseignement ? | |
| 281 | + - liste de diffusion pour éviter la pollution ? | |
| 282 | + - créneau ? | |
| 283 | + - durée : 15' à 1 heure ? |
talk.md
View file @
dd9f592
| ... | ... | @@ -0,0 +1,67 @@ |
| 1 | +Liste des thèmes possibles | |
| 2 | +========================== | |
| 3 | + | |
| 4 | +Séminex -> Séminaires sur les outils connEXes (ou séminaire d'excellence) | |
| 5 | + | |
| 6 | +Outils scientifiques | |
| 7 | +-------------------- | |
| 8 | + | |
| 9 | +- analyse de données : R, ggplot2 | |
| 10 | +- analyse de données reproductible : RStudio, Markdown, knitr, publish, git | |
| 11 | + | |
| 12 | +Outils techniques | |
| 13 | +----------------- | |
| 14 | + | |
| 15 | +- tutoriel git : 1 à 2 heures avec plus de théorie, de la pratique et une | |
| 16 | + ouverture eclipse (N. Marilleau ?) et un test de Mercurial ? | |
| 17 | +- BigData et calcul parallèle (K. Mazouzi ?) | |
| 18 | +- C11 et C++11 (J. Bernard) | |
| 19 | +- tikz (Pierre-Cyrille) | |
| 20 | +- Maven, Jenkins, Sonar ? | |
| 21 | +- plateformes de développement : Github/Bitbucket/Gitlab, travis, drone.io, | |
| 22 | + codeclimate, gemnasium, coveralls.io ? | |
| 23 | +- technos pratiques : rédaction collaborative (Authorea, Draftin, Penflip), | |
| 24 | + pad, chatb | |
| 25 | +- formats de fichier : Markdown (présentation, prise de notes, rédaction), quiz | |
| 26 | + (gift, latex) | |
| 27 | + | |
| 28 | +Outils pédagogiques | |
| 29 | +------------------- | |
| 30 | + | |
| 31 | +- plagiat : recherche un participant pour présenter les outils de détection | |
| 32 | + spécifiques aux textes / dissertations (C. Lang ?) | |
| 33 | +- syllabus (plan de cours) : recherche de participants pour présenter leur | |
| 34 | + usage et leur retour (B. Legard ?) | |
| 35 | +- Outils pédagogiques comme les TRC ? | |
| 36 | +- Génération de tests/mutants (mujava) et évaluation des batteries de tests | |
| 37 | +- Gradebook with import for publishing notes | |
| 38 | + | |
| 39 | +Outils administratifs | |
| 40 | +--------------------- | |
| 41 | + | |
| 42 | +- dépôt APP (F. Bouquet ?) : recherche d'un autre spécialiste sur la PI et les | |
| 43 | + licences pour les questions ouvertes suivantes | |
| 44 | + - licence sur les supports de cours (CC) ? | |
| 45 | + - PI des productions étudiantes ? | |
| 46 | + - PI des réalisations enseignantes (administratif, enseignement ou | |
| 47 | + recherche) ? | |
| 48 | + | |
| 49 | +Créneaux disponibles | |
| 50 | +==================== | |
| 51 | + | |
| 52 | +------- ----------------------------------------------- --- | |
| 53 | +30/1 surveillances EAD OK | |
| 54 | +6/2 projets M2 | |
| 55 | +13/2 AG département non | |
| 56 | +20/2 projet Lpro, forum BAC+2, réunion Vesontio non | |
| 57 | +27/2 vacances non | |
| 58 | +6/3 Bouquet (MOIA) | |
| 59 | +13/3 présentation M2, projets L3, réunion Cartoon non | |
| 60 | +20/3 Bouquet (APP), Forum sup'Info 70 Premières | |
| 61 | +27/3 Héam (entretien doctoraux), réunion Cartoon non | |
| 62 | +3/4 | |
| 63 | +10/4 | |
| 64 | +17/4 Paquette (APP) | |
| 65 | +24/4 | |
| 66 | +1/5 vacances | |
| 67 | +------- ----------------------------------------------- --- |
trends.md
View file @
dd9f592
| ... | ... | @@ -0,0 +1,30 @@ |
| 1 | +# Indicateurs de popularité et d'adoption d'une technologie | |
| 2 | + | |
| 3 | +## Agrégateur d'offres d'emploi | |
| 4 | + | |
| 5 | +- Offres françaises : <http://www.jobisjob.fr/Trends?q=postgresql> | |
| 6 | +- Offres mondiales : <http://www.indeed.com/jobtrends> | |
| 7 | +- Offres britanniques : | |
| 8 | + <http://www.itjobswatch.co.uk/jobs/uk/postgresql.do#demand_trend> | |
| 9 | + | |
| 10 | +## Tendance/popularité | |
| 11 | + | |
| 12 | +- Google trends : | |
| 13 | + <http://www.google.com/trends/explore#q=PostgreSQL%20%2B%20Postgres%2C%20MySQL&cmpt=q> | |
| 14 | +- Hacker news : | |
| 15 | + - <http://hntrends.jerodsanto.net/> | |
| 16 | + - <http://www.diffbot.com/robotlab/hackernews/#> | |
| 17 | + - <http://www.ryan-williams.net/hacker-news-hiring-trends/> | |
| 18 | +- Nombre et popularité des projets sur github : <www.yasiv.com/github/> | |
| 19 | +- <http://trendyskills.com/> | |
| 20 | + | |
| 21 | +## Usage réel | |
| 22 | + | |
| 23 | +Spécifique à chaque technologie : | |
| 24 | + | |
| 25 | +- SGBDs libre : Jelastic | |
| 26 | +- systèmes de gestion de versions : Ohloh, | |
| 27 | + <http://en.wikipedia.org/wiki/Git_%28software%29#Adoption> | |
| 28 | +- IPv6 : Google | |
| 29 | +- languages : TIOBE, | |
| 30 | + <http://en.wikipedia.org/wiki/Measuring_programming_language_popularity> |