Pourquoi Git et GitHub sont essentiels en NSI (et après)
Tu as sûrement déjà vécu cette situation : tu travailles sur un projet Python pour la NSI, tu modifies ton code, puis... catastrophe ! Tu as cassé quelque chose qui fonctionnait avant. Tu essaies de revenir en arrière, mais tu ne te souviens plus exactement de ce que tu as changé. C'est là que Git entre en jeu. Git est un système de contrôle de version. En gros, c'est un super-héros de la sauvegarde qui enregistre l'historique complet de ton projet à chaque fois que tu le lui demandes. Tu peux ainsi voyager dans le temps dans ton code, comparer des versions et annuler des erreurs.
Et GitHub ? C'est la plateforme en ligne qui héberge tes projets Git. C'est le réseau social des développeurs ! Tu peux y stocker ton code (publiquement ou en privé), collaborer avec tes camarades sur un même projet, et même montrer tes réalisations pour constituer un portfolio. Maîtriser ces outils n'est pas seulement utile pour le lycée ; c'est une compétence indispensable dans le monde professionnel de l'informatique.
Les concepts fondamentaux à comprendre
Avant de foncer tête baissée, prenons deux minutes pour décoder le vocabulaire de Git. Ne t'inquiète pas, c'est plus simple que ça en a l'air.
Dépôt (Repository ou "Repo")
C'est le projet lui-même, avec tous ses fichiers et tout son historique Git. Tu as un dépôt local sur ton ordinateur et un dépôt distant (sur GitHub par exemple) qui sert de sauvegarde et de point de collaboration.
Commit
C'est l'action la plus importante. Faire un commit, c'est prendre une photo de l'état de ton projet à un instant T. À chaque commit, tu ajoutes un message pour expliquer ce que tu as modifié (ex: "Correction du bug dans la fonction calcul_moyenne"). L'historique de ton projet est une suite de commits.
Branche (Branch)
Imagine que tu veux tester une nouvelle fonctionnalité risquée sans toucher à la version stable de ton projet. Tu crées une branche. C'est une copie parallèle de ton code où tu peux expérimenter en toute sécurité. La branche principale s'appelle généralement main ou master.
Premiers pas : installer Git et créer ton premier dépôt
Passons à la pratique ! Suis ces étapes pour démarrer.
Étape 1 : Installation et configuration
1. Télécharge et installe Git depuis git-scm.com (c'est gratuit).
2. Ouvre un terminal (Invite de commandes sur Windows, Terminal sur Mac/Linux).
3. Configure ton identité avec ces deux commandes (remplace par ton nom et ton email) :
git config --global user.name "Ton Nom"Cette identité sera associée à tous tes commits.
git config --global user.email "ton@email.com"
Étape 2 : Initialiser un projet
Crée un dossier pour ton projet NSI, par exemple "mon_super_projet_python". Ouvre un terminal dans ce dossier.
Pour transformer ce dossier simple en un dépôt Git, tape :
git initFélicitations ! Tu viens de créer ton premier dépôt local. Un dossier caché
.git a été créé ; c'est là que Git stocke tout l'historique.Étape 3 : Ton premier commit
1. Crée un fichier mon_script.py avec un peu de code Python.
2. Dans ton terminal, tape git status. Git te montre les fichiers modifiés ou nouveaux (en rouge).
3. Pour ajouter ton fichier à la zone de préparation (staging area), tape :
git add mon_script.pyTu peux aussi utiliser
git add . pour ajouter tous les fichiers modifiés.4. Maintenant, crée ton premier commit avec un message clair :
git commit -m "Premier commit : création du script principal"
Et voilà ! Tu as capturé l'état de ton projet. Répète la boucle git add / git commit à chaque avancée significative.
Collaborer et sauvegarder avec GitHub
Ton code n'est en sécurité que s'il est en plusieurs endroits. Et si ton ordinateur tombe en panne ? GitHub est la solution.
1. Créer un compte et un dépôt distant
Va sur github.com, crée un compte (gratuit). Une fois connecté, clique sur le bouton "+" en haut à droite et choisis "New repository". Donne-lui un nom (ex: comme ton dossier local) et clique sur "Create repository".
2. Relier ton dépôt local à GitHub
GitHub te donne deux lignes de commandes. Dans le terminal de ton projet, exécute celle qui commence par git remote add origin.... Cela relie ton dépôt local au dépôt distant sur GitHub.
3. Pousser (Push) ton code
Pour envoyer tes commits locaux vers GitHub, utilise :
git push -u origin mainRafraîchis la page de ton dépôt sur GitHub : ton code y est ! Désormais, après chaque commit local, un simple
git push suffira à synchroniser.Travailler à plusieurs
Le vrai pouvoir de GitHub est la collaboration. Ton camarade peut cloner ton dépôt avec git clone [URL_du_dépôt]. Il récupère ainsi tout le projet et son historique. Vous pouvez ensuite travailler sur des branches séparées et fusionner (merge) vos travaux. C'est la base du travail en équipe sur un même code.
Workflow typique et bonnes pratiques
Voici la routine à adopter pour tes projets :
- Commiter souvent : Fais des commits petits et fréquents, avec des messages clairs. "Ajout fonction" est mauvais. "Ajout fonction calcul_moyenne qui gère les listes vides" est excellent.
- Toujours pousser (push) en fin de session : Pour sauvegarder ton travail sur GitHub.
- Utiliser les branches : Pour chaque nouvelle fonctionnalité (ex: "ajout-interface-graphique"), crée une branche (
git checkout -b nom-branche), travaille dessus, puis fusionne-la dansmainune fois que tout fonctionne. - Ignorer les fichiers inutiles : Crée un fichier
.gitignoreà la racine de ton projet pour y lister les fichiers que Git ne doit pas suivre (fichiers temporaires, dossiers__pycache__, etc.).
Le conseil de pro : Considère GitHub comme la copie de sauvegarde obligatoire et ton portfolio public. Même tes petits projets NSI ont leur place ici !
Git a une courbe d'apprentissage, mais ces bases te permettront déjà de gérer tes projets sereinement. N'hésite pas à explorer, à faire des erreurs (c'est pour ça qu'il y a l'historique !) et à consulter la documentation ou des tutoriels pour aller plus loin.
