Commit dd9f592b84a49ba934f94fc7b373ad98649be6bc
0 parents
Initial commit
Showing 5 changed files with 398 additions and 0 deletions Inline Diff
git/.gitignore
View file @
dd9f592
File was created | 1 | fig/ | ||
2 | git.html | |||
3 | git.pdf | |||
4 | gitstats/ |
git/Makefile
View file @
dd9f592
File was created | 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 $@ |
git/git.md
View file @
dd9f592
File was created | 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 | ![<http://upload.wikimedia.org/wikipedia/commons/d/d8/Git_operations.svg>](fig/Git_operations.png) | |||
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 | ![<http://www.itjobswatch.co.uk/jobs/uk/subversion.do#demand_trend>](fig/itjobs_svn.png) | |||
146 | ||||
147 | ![<http://www.itjobswatch.co.uk/jobs/uk/git%20%28software%29.do#demand_trend>](fig/itjobs_git.png) | |||
148 | ||||
149 | ![<http://www.itjobswatch.co.uk/jobs/uk/mercurial.do#demand_trend>](fig/itjobs_mercurial.png) | |||
150 | ||||
151 | ![<http://www.itjobswatch.co.uk/jobs/uk/perforce.do#demand_trend>](fig/itjobs_perforce.png) | |||
152 | ||||
153 | ![<http://www.indeed.com/jobtrends?q=git%2Csvn%2Cperforce%2Cmercurial%2Cbazaar&l=>](fig/indeed.png) | |||
154 | ||||
155 | Popularité | |||
156 | ---------- | |||
157 | ||||
158 | ![<http://hntrends.jerodsanto.net/?q=git%2Csvn%2Cmercurial%2Cperforce%2Cbazaar>](fig/hackernews.png) | |||
159 | ||||
160 | ![<http://www.google.com/trends/explore#q=%2Fm%2F05vqwg%2C%20%2Fm%2F012ct9%2C%20%2Fm%2F08441_%2C%20perforce&cmpt=q>](fig/google_trends.png) | |||
161 | ||||
162 | <http://trendyskills.com/> avec 25% de git et 16% de svn (au 5/2/2014). | |||
163 | ||||
164 | Utilisation | |||
165 | ----------- | |||
166 | ||||
167 | ![<http://www.ohloh.net/repositories/compare>](fig/ohloh.png) | |||
168 | ||||
169 | ![<http://image.slidesharecdn.com/eclipsesurvey2013reportfinal-130612073444-phpapp01/95/slide-14-638.jpg>](fig/eclipse.jpg) | |||
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 | ![](fig/1000px-Diffusion_of_ideas.png) | |||
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 |
talk.md
View file @
dd9f592
File was created | 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 |
trends.md
View file @
dd9f592
File was created | 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 : |