Mathieu Bélanger - Chargé laboratoire gr. 4 Version 1.
INF1007 – Guide Pycharm
Git & Debug
1 Opération classique sur Pycharm
2 Git ignore
3
Plan de Les branches (cas idéal)
présentation 4 Les branches (régler un conflit)
5 Terminal 101 & Git
6 Installer une librairie avec conda
7 Débugger dans Pycharm
2
Git avec Pycharm
Qu’est-ce que Git
● Un logiciel de gestion de version de fichier
○ AKA Google docs ++ pour les programmeurs
● Vous permet de travailler en équipe sur le même répertoire de code, de régler les
potentiels conflits (quel version garder si les même lignes sont modifiées par 2
personnes)
● Git est un utilitaire (le logiciel qui s’exécute), GitHub est une plateforme cloud qui
héberge des projets Git
● Vous utiliserez GitHub afin de compléter et remettre vos Travaux Pratiques &
Projets (pour la correction)
● Ce tutoriel est une guide et un rappel des fonctionnalités, pas un tutoriel de
zéro
3
Git avec Pycharm
Commit & push classique sur pycharm
1. Enregistrer des
modifications (ctrl+s)
2. Fichiers modifiés ont
leurs noms bleutés
4
Git avec Pycharm
Commit & push classique sur pycharm
3. Attention de
bien sélectionner
(ou déselectionnier)
les bons fichiers
4. Entrer un message
de commit pertinent
5
Git avec Pycharm
Commit & push classique sur pycharm
5. Lancer l’opération
de push & réviser les
modifications
6
Git avec Pycharm
Annuler des changements | Rollback
Ramener l’état du dossier à celui du
dernier commit (où d’un commit
précédent)
Si vous voulez annuler des changements
locaux (non comités) L’option hard supprime vos
pour 1 fichier changement locaux, attention
7
Git avec Pycharm
Comparer l’état d’un fichier avec l’historique
8
1 Opération classique sur Pycharm
2 Git ignore
3 Les branches (cas idéal)
Git ignore 4 Les branches (régler un conflit)
5 Terminal 101 & Git
6 Installer une librairie avec conda
7 Débugger dans Pycharm
9
Git ignore
10
1 Opération Git classique sur Pycharm
2 Git ignore
3 Les branches (cas idéal)
Les branches 4 Les branches (régler un conflit)
5 Terminal 101 & Git
6 Installer une librairie avec conda
7 Débugger dans Pycharm
11
Gestion des branches sur Git
Les branches
Pourquoi faire simple quand on peut
faire compliqué?
12
Gestion des branches sur Git
Les branches | Création
● Pour travailler en parallèle
● Ajouter le code à l’historique principal
(master) seulement lorsque désiré
● Garder un historique lisible
1. Création de branche
13
Gestion des branches sur Git
Les branches | Checkout
2. Changer de branche (si 3. Voir toutes les branches
nécessaire) dans l’historique
Étiquette indique la branche actuelle
14
Gestion des branches sur Git
Les branches | fusion (cas idéal)
5. Pas de conflits
4. La fusion (merge) se fait depuis la branche recevante Successs
Ex. si on veut fusionner test dans master, il faut se
rendre (checkout) sur master
15
1 Opération Git classiques sur Pycharm
2 Git ignore
Les branches 3 Les branches (cas idéal)
- 4 Les branches (régler un conflit)
Cas réaliste 5 Terminal 101 & Git
6 Installer une librairie avec conda
7 Débugger dans Pycharm
16
Gestion des branches sur Git
Les branches | fusion (cas réaliste)
2. Il faut résoudre le conflit. Indiquer
à git quel est le code à garder
1. Des modifications ont été apportées
aux mêmes lignes des mêmes fichiers
([Link] par ex.) Mais comment?
17
Gestion des branches sur Git
Les branches | Régler un conflit
Voici le Changements
apportés par la
monstre branche incoming
Branche-test
Changements
apportés par la
branche actuelle
master
18
Gestion des branches sur Git
Les branches | Conflit réglé, Crise évitée
19
1 Opération Git classiques sur Pycharm
2 Git ignore
Terminal 101 3 Les branches (cas idéal)
& Git 4 Les branches (régler un conflit)
5 Terminal 101 & Git
6 Installer une librairie avec conda
7 Débugger dans Pycharm
20
Terminal 101 + Git
Terminal 101
● Windows Terminal (windows store) c’est swell
● Microsoft Powershell ça fait la job
● Git bash for windows
○ Bash est le shell par défaut de Linux. Souvent les développeurs connaissent mieux ses commandes que celles
du Powershell de Windows
● Windows sub-system for Linux (WSL) si vous voulez intégrer les capacités de Linux (ubuntu, Kali)
dans windows
21
Terminal 101 + Git
C0mmandes de base
● cd → change directory to …
○ cd ~ → home
○ cd .. → recule d’un dossier dans l’arbre ( /bin/test → /bin)
● pwd → Present Working Directory
● ls → list (affiche les fichiers & dossiers)
● mkdir test → créer un dossier nommé test
● touch test → créer un fichier nommé test
● rm test → supprime le fichier/dossier test (-r pour supprimer récursivement dans un dossier)
● vim/nano test → ouvre un éditeur de texte dans le terminal (echap + :qa! pour enregistrer
modifications)
● CTRL-C pour stopper une commande en cours
22
Terminal 101 + Git
Processus classique de Git
1. Naviguer jusqu’au dossier du dépôt git (cd, ls)
2. git pull (synchroniser avec le serveur distant)
3. git add fichier (* pour tout ajouter)
4. git commit –m « message de mon commit »
5. git push
1. git status (voir l’état du repertoire, fichiers modifies, non commit, etc)
2. git log (liste des derniers commits)
3. git branch nom_branche (créer une branche nom_branche)
4. git checkout nom_branche (se déplacer sur la branche nom_branche)
5. gitk (ouvre un utilitaire visuel pour analyser le depot)
○ GitKraken si vous aimez les GUI, ou pycharm
23
1 Opération Git classiques sur Pycharm
Installer une 2 Git ignore
librairie avec 3 Les branches (cas idéal)
conda 4 Les branches (régler un conflit)
(Anaconda/ 5 Terminal 101 & Git
Miniconda)
6 Installer une librairie avec conda
7 Débugger dans Pycharm
24
Gestionnaire de librairies python - Conda
Gêrer proprement vos librairies 2. Activer le bon environnement
(conda activate nom) ou en créer un
pythons avec
conda create --name nom
1. Ouvrir l’invite de
commande anaconda
3. Installer le paquet (conda install)
25
1 Opération Git classiques sur Pycharm
2 Git ignore
Débugger ses 3 Les branches (cas idéal)
scripts avec 4 Les branches (régler un conflit)
Pycharm 5 Terminal 101 & Git
6 Installer une librairie avec conda
7 Débugger dans Pycharm
26
Débugger avec Pycharm
Dé-BUG-er pourquoi?
● À l’époque, un insecte (bug) mort dans un géant calculateur, qui grille un circuit
et cause des problèmes
● Soyons honnêtes, aujourd’hui lorsque quelque chose ne se passe pas comme
prévu, c’est presque TOUJOURS la faute de l’humain
● L’avantage de la machine c’est qu’elle ne fait JAMAIS (presque) d’erreurs
Mais …
27
Débugger avec Pycharm
Programmer c’est difficile (quand on est humain)
• Par contre comprendre ce qui se passe peut être
très complexe
• Souvent on pense comprendre le fonctionnement
d’une librairie/fonction ou d’un comportement de
python et on est dans le champ
• Encore plus vrai dans un programme avec
beaucoup de fonctions (éventuellement de
fichiers, dossiers, sous-programmes) différentes
• Une erreur peut survenir tôt, mais ne faire planter le
programme que bien plus tard (on voit seulement le
résultat)
• Débugger (enlever des bugs) c’est l’action de
pénétrer dans le code pour analyser son
fonctionnement au ralenti
28
Débugger avec Pycharm
Debugger ses programmes avec Pycharm
● Python se débug facilement car c’est un langage script interprété (par compilé comme C++)
● Les point-d’arrêts (breakpoints) arrêtent l’exécution
du programme avant la ligne désignée
29
Débugger avec Pycharm
Debugger ses programmes avec Pycharm
1. Exécution du programme
1. Redémarrer
2. Pause pendant l’exécution (si le
code est dans une boucle)
3. Stop
4. Activer tous les points-d’arrêts (et
désactiver)
2. Contrôle pas-à-pas (2) (5)
1. Focus à la ligne exécutée
(1)
2. Prochaine ligne (de la fonction)
3. Prochaine ligne (entre dans le code)
(4)
4. Prochaine ligne (entre dans le code, (3)
mais pas si c’est une librairie
3. Pile des fonctions appelées Décrit plus clairement l’action du
4. État des variables locales bouton survolé par la souris
5. Évaluer une expression
30
Débugger avec Pycharm
C’est tout?
● Oui!
● Profitez en, débugger en python c’est pas compliqué
● Résistez à la tentation de pas essayer de comprendre et de juste mettre des
print(x) partout
● Au final vous gagnerez du temps
31