Git est un logiciel de gestion de versions décentralisé qui vous permettra de gérer la vie d'un code informatique. Il permet une stratégie de backup, de gérer des versions et de stocker tout l'historique des modifications apportées à un projet informatique.
Découvrez les principes et fonctionnalités essentielles de git. Soyez prêts à travailler en 3 heures.
La dernière version est disponible en téléchargement direct à cette adresse : http://giant-teapot.org/uploads/tutorials/git_tutorial.pdf
Diaporama pour la formation git réalisée pour l'association Atilla, septembre 2012.
Git est un logiciel de gestion de versions décentralisé qui vous permettra de gérer la vie d'un code informatique. Il permet une stratégie de backup, de gérer des versions et de stocker tout l'historique des modifications apportées à un projet informatique.
Découvrez les principes et fonctionnalités essentielles de git. Soyez prêts à travailler en 3 heures.
La dernière version est disponible en téléchargement direct à cette adresse : http://giant-teapot.org/uploads/tutorials/git_tutorial.pdf
Diaporama pour la formation git réalisée pour l'association Atilla, septembre 2012.
http://articles.nissone.com/2014/11/gitpourlanulle/
Je comprenais mal Git, m’emmêlais dans les notions de branches, de fork et de commit. J’ai demandé des explications à Julien. J’ai mis ça en images et avec mes mots. Je vous le partage (CC by SA), des fois que ça vous serve aussi.
Hands-on-Lab (TP) sur l'utilisation de Git en mode avancé dispensé avec mes collègues Alexis DMYTRYK et Thomas COLLIGNON lors de DevoxxFR 2018.
Présentation disponible ici : https://fr.slideshare.net/JrmeTAMBORINI/tp-git-avanc-devoxxfr-2018-pres
http://articles.nissone.com/2014/11/gitpourlanulle/
Je comprenais mal Git, m’emmêlais dans les notions de branches, de fork et de commit. J’ai demandé des explications à Julien. J’ai mis ça en images et avec mes mots. Je vous le partage (CC by SA), des fois que ça vous serve aussi.
Hands-on-Lab (TP) sur l'utilisation de Git en mode avancé dispensé avec mes collègues Alexis DMYTRYK et Thomas COLLIGNON lors de DevoxxFR 2018.
Présentation disponible ici : https://fr.slideshare.net/JrmeTAMBORINI/tp-git-avanc-devoxxfr-2018-pres
Une introduction à git, présentée par Yann Sionneau aux membres de l'association MiNET et du club INTech.
La qualité du lecteur PDF sur slideshare laissant à désirer, je vous invite à télécharger le PDF plutôt que de le lire sur le site.
Depuis quelques années Git s'est imposé comme le système de gestion de sources de référence. Simple, rapide , souple, il convient à la fois aux workflows traditionnels et aux workflows distribués. Après une introductions aux principes fondateurs de Git le stagiaire aura l'occasion d'apprendre à créer son premier repository git et à le manipuler localement avant de le partager avec les autres. La formation insistera sur la gestions des branches et la résolution des conflits et sur les commandes permettant d'aborder ces problématiques sereinement. A l'issue de cette formation le stagiaire sera autonome pour utiliser Git aussi bien individuellement qu'au sein d'une équipe.
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...Horgix
This is the slide deck of a talk by Alexis "Horgix" Chotard and Laurentiu Capatina presented at the MongoDB Paris User Group in June 2024 about the feedback on how PayFit move away from a monolithic hell of a self-hosted MongoDB cluster to managed alternatives. Pitch below.
March 15, 2023, 6:59 AM: a MongoDB cluster collapses. Tough luck, this cluster contains 95% of user data and is absolutely vital for even minimal operation of our application. To worsen matters, this cluster is 7 years behind on versions, is not scalable, and barely observable. Furthermore, even the data model would quickly raise eyebrows: applications communicating with each other by reading/writing in the same MongoDB documents, documents reaching the maximum limit of 16MiB with hundreds of levels of nesting, and so forth. The incident will last several days and result in the loss of many users. We've seen better scenarios.
Let's explore how PayFit found itself in this hellish situation and, more importantly, how we managed to overcome it!
On the agenda: technical stabilization, untangling data models, breaking apart a Single Point of Failure (SPOF) into several elements with a more restricted blast radius, transitioning to managed services, improving internal accesses, regaining control over risky operations, and ultimately, approaching a technical migration when it impacts all development teams.
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Laurent Speyser
(Conférence dessinée)
Vous êtes certainement à l’origine, ou impliqué, dans un changement au sein de votre organisation. Et peut être que cela ne se passe pas aussi bien qu’attendu…
Depuis plusieurs années, je fais régulièrement le constat de l’échec de l’adoption de l’Agilité, et plus globalement de grands changements, dans les organisations. Je vais tenter de vous expliquer pourquoi ils suscitent peu d'adhésion, peu d’engagement, et ils ne tiennent pas dans le temps.
Heureusement, il existe un autre chemin. Pour l'emprunter il s'agira de cultiver l'invitation, l'intelligence collective , la mécanique des jeux, les rites de passages, .... afin que l'agilité prenne racine.
Vous repartirez de cette conférence en ayant pris du recul sur le changement tel qu‘il est généralement opéré aujourd’hui, et en ayant découvert (ou redécouvert) le seul guide valable à suivre, à mon sens, pour un changement authentique, durable, et respectueux des individus! Et en bonus, 2 ou 3 trucs pratiques!
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...OCTO Technology
Par Nicolas Bordier (Consultant numérique responsable @OCTO Technology) et Alaric Rougnon-Glasson (Sustainable Tech Consultant @OCTO Technology)
Sur un exemple très concret d’audit d’éco-conception de l’outil de bilan carbone C’Bilan développé par ICDC (Caisse des dépôts et consignations) nous allons expliquer en quoi l’ACV (analyse de cycle de vie) a été déterminante pour identifier les pistes d’actions pour réduire jusqu'à 82% de l’empreinte environnementale du service.
Vidéo Youtube : https://www.youtube.com/watch?v=7R8oL2P_DkU
Compte-rendu :
L'IA connaît une croissance rapide et son intégration dans le domaine éducatif soulève de nombreuses questions. Aujourd'hui, nous explorerons comment les étudiants utilisent l'IA, les perceptions des enseignants à ce sujet, et les mesures possibles pour encadrer ces usages.
Constat Actuel
L'IA est de plus en plus présente dans notre quotidien, y compris dans l'éducation. Certaines universités, comme Science Po en janvier 2023, ont interdit l'utilisation de l'IA, tandis que d'autres, comme l'Université de Prague, la considèrent comme du plagiat. Cette diversité de positions souligne la nécessité urgente d'une réponse institutionnelle pour encadrer ces usages et prévenir les risques de triche et de plagiat.
Enquête Nationale
Pour mieux comprendre ces dynamiques, une enquête nationale intitulée "L'IA dans l'enseignement" a été réalisée. Les auteurs de cette enquête sont Le Sphynx (sondage) et Compilatio (fraude académique). Elle a été diffusée dans les universités de Lyon et d'Aix-Marseille entre le 21 juin et le 15 août 2023, touchant 1242 enseignants et 4443 étudiants. Les questionnaires, conçus pour étudier les usages de l'IA et les représentations de ces usages, abordaient des thèmes comme les craintes, les opportunités et l'acceptabilité.
Résultats de l'Enquête
Les résultats montrent que 55 % des étudiants utilisent l'IA de manière occasionnelle ou fréquente, contre 34 % des enseignants. Cependant, 88 % des enseignants pensent que leurs étudiants utilisent l'IA, ce qui pourrait indiquer une surestimation des usages. Les usages identifiés incluent la recherche d'informations et la rédaction de textes, bien que ces réponses ne puissent pas être cumulées dans les choix proposés.
Analyse Critique
Une analyse plus approfondie révèle que les enseignants peinent à percevoir les bénéfices de l'IA pour l'apprentissage, contrairement aux étudiants. La question de savoir si l'IA améliore les notes sans développer les compétences reste débattue. Est-ce un dopage académique ou une opportunité pour un apprentissage plus efficace ?
Acceptabilité et Éthique
L'enquête révèle que beaucoup d'étudiants jugent acceptable d'utiliser l'IA pour rédiger leurs devoirs, et même un quart des enseignants partagent cet avis. Cela pose des questions éthiques cruciales : copier-coller est-il tricher ? Utiliser l'IA sous supervision ou pour des traductions est-il acceptable ? La réponse n'est pas simple et nécessite un débat ouvert.
Propositions et Solutions
Pour encadrer ces usages, plusieurs solutions sont proposées. Plutôt que d'interdire l'IA, il est suggéré de fixer des règles pour une utilisation responsable. Des innovations pédagogiques peuvent également être explorées, comme la création de situations de concurrence professionnelle ou l'utilisation de détecteurs d'IA.
Conclusion
En conclusion, bien que l'étude présente des limites, elle souligne un besoin urgent de régulation. Une charte institutionnelle pourrait fournir un cadre pour une utilisation éthique.
2. Débuter avec Git et Github Réalisé par : Monoem YOUNEB
2
I. Travail à faire
1. Create File ;
2. Save it ;
3. Edit it ;
4. Save it again ;
5. Etc.
II. Time line d’un fichier
III. Versioning
- Ce qui a été modifié ?
- Pour quoi il a été modifié ?
- Historique des modifications (qui a modifié, qu’elles sont les modifications ? …).
- Résolution des conflits par fusion.
- Possibilité d’avoir des branches.
IV. Avantage
- Système distribué (Distributed Version Control System);
3. Débuter avec Git et Github Réalisé par : Monoem YOUNEB
3
V. Exercice
1. Ouvrir le git bash
2. Créer un dossier de travail
3. Workflow classique d’un fichier
4. Afficher la configuration de git
vim ~/.gitconfig
4. Débuter avec Git et Github Réalisé par : Monoem YOUNEB
4
Pour enregistrer & quitter : échap :x
Pour quitter : échap :q
5. Initialiser git
6. Le status global des fichiers
7. Création d’un fichier « agence.html »
Enregistrer et quitter :échap :x
5. Débuter avec Git et Github Réalisé par : Monoem YOUNEB
5
8. Enregistrer le projet (le commit)
a. Sélection des fichiers
b. Photo des fichiers
6. Débuter avec Git et Github Réalisé par : Monoem YOUNEB
6
9. Modification du code source du fichier agence.html
7. Débuter avec Git et Github Réalisé par : Monoem YOUNEB
7
10. Time line des commits (git log)
11. La branche
c. Lister les branches
d. Créer une nouvelle branche « description »
(* master)= nous sommes sur la branche master ->
toujours avec * et en vert
e. Se déplacer sur la branche « description »
Auteur & date
8. Débuter avec Git et Github Réalisé par : Monoem YOUNEB
8
- Afficher les commit (log)
9. Débuter avec Git et Github Réalisé par : Monoem YOUNEB
9
12. Publier mon projet
a. Basculer sur la branche principale (ou la branche de
publication souhaitable)
b. Demander à git de récupérer le travail de la branche
« description » pour la fusionner sur la branche
master
Fusionner les commits
c. Suppression de la branche (optionnel)
presentation
presentation
presentation
10. Débuter avec Git et Github Réalisé par : Monoem YOUNEB
10
a. Exception
Si on a changer les mêmes ligne dans les deux branches git affiche une erreur
Solution :
- il faut éditer fichier index.html sur la branche master et choisir la ligne correcte
avec la cmd : vim
- taper $ git add index.html
- taper $ git commit –m « le message »
11. Débuter avec Git et Github Réalisé par : Monoem YOUNEB
11
13. Le dépôt distant : distribuer le projet/Déposer le
projet sur un espace partagé (collaborer avec d’autre
personne)
a. Servir le travail à l’équipe
b. Chaque membre peut participer au projet
c. Créer un repository dans github
12. Débuter avec Git et Github Réalisé par : Monoem YOUNEB
12
d. Copier l’url de la repository
a. Associer le dépôt distant au dépôt local
Dans ce cas il nous faut un pont entre les deux pour
qu’on puisse envoyer notre projet
Cmd nécessaire :
git remote add origin url du dépôt
$ git remote add origin https://github.com/monoemyouneb/agenceImmobili-re.git
13. Débuter avec Git et Github Réalisé par : Monoem YOUNEB
13
b. Afficher & vérifier le nom de dépôt distant du projet
c. Déposer le projet
Git push origin muster
14. Récupérer un travail (pull)
#Gneric command
$ git pull <remote> <brunch>
#utilisation de la commande (Synopsys)
$ git pull origin muster
Origin : signifie le serveur
Muster : c’est la branche dans le quel on va mettre le
nouveau dépôt
CMD GIT
CMD Signification
git – version Afficher la version de git
git config --global user.name "votre_pseudo" votre nom (ou pseudo)
git config --global user.email moi@email.com votre e-mail
git config --global color.diff auto
git config --global color.status auto
git config --global color.branch auto
Elles activeront la couleur dans Git. Il ne faut le faire
qu’une fois, et ça aide à la lisibilité des messages
dans la console.
vim ~/.gitconfig Editer votre fichier de configuration. gitconfig situé
dans votre répertoire personnel pour y ajouter une
section alias
14. Débuter avec Git et Github Réalisé par : Monoem YOUNEB
14
$ cd m/workspace
$ mkdir pom
$ cd pom
Créer un nouveau dépôt
git init Initialisez un dépôt Git tout neuf dans ce dossier
git clone url
exemple :
git clone http://github.com/symfony/symfony.git
Cloner un dépôt existant
on se connecte au dépôt en HTTP, mais il
existe d’autres méthodes : les protocoles
« git:// » et « ssh:// ».
$ git status Indique les fichiers que vous avez modifiés
récemment
Lorsqu’on travaille avec Git, on suit en général
toujours les étapes suivantes :
1. modifier le code source ;
2. tester votre programme pour vérifier si cela
fonctionne ;
3. faire un commit pour « enregistrer » les
changements et les faire connaître à Git ;
4. recommencer à partir de l’étape 1 pour une
autre modification.
$ git diff Vous pouvez voir concrètement ce que vous avez
changé en tapant git diff :
Par défaut, Git affiche les modifications de tous les
fichiers qui ont changé.
- static protected $spec = ’1.2’;
+ static protected $spec = ’1.3’;
Les lignes ajoutées sont précédées d’un « + » tandis
que les lignes supprimées sont
précédées d’un « - ».
git diff path file
exemple:
git diff src/Symfony/Components/Yaml/Yaml.php
Vous pouvez demander à Git d’afficher seulement les
changements d’un fichier précis.
1. git add nomfichier1 nomfichier2
Effectuer un commit des changements
pour ajouter les fichiers à la liste de ceux devant
faire l’objet d’un commit.
vous devriez voir les fichiers que vous avez modifiés
en rouge
15. Débuter avec Git et Github Réalisé par : Monoem YOUNEB
15
2. git commit
3. git status
Afficher les commit (log)
après un git add, vous les verrez alors en vert ;
git commit -a pour « commiter » tous les fichiers qui étaient listés
dans git status dans les colonnes « Changes to be
committed » et « Changed but not updated » (qu’ils
soient en vert ou en rouge) ;
git-log Vérifions les logs
Show commit logs
« Page up », « Page down »
« Q » quitter
« less » pour paginer les résultats
git log -p Avoir le détail des lignes qui ont été ajoutées et
retirées dans chaque commit.
git log --stat résumé plus court des commits
git commit --amend Modifier le dernier message de commit
HEAD : dernier commit ;
HEAD^ : avant-dernier commit ;
HEAD^^ : avant-avant-dernier commit ;
HEAD~2 : avant-avant-dernier commit
(notation équivalente) ;
Annuler le dernier commit (soft)
Cela annulera sans confirmation tout votre travail !
Faites donc attention et vérifiez que c’est bien ce que
vous voulez faire !
git branch nom de la branche Créer une nouvelle branche
git chechout nom de la branche Se déplacer sur la branche
git branch Lister les branches
Git merge nom de la branche
Exemple : Git merge description
- Demander à git de récupérer le travail de la
branche « description » pour la fusionner sur
la branche master
- Fusionner les commits
git branch –d nom de la branche
Exemple : git branch –d description
Suppression de la branche
git remote add origin url du dépôt Associer le dépôt distant au dépôt local
Git push origin nom de la branche de
travail local
Déposer le projet
git-pull
Récupère et intègre avec un autre référentiel ou
une branche locale.
Incorpore les modifications d'un référentiel distant
dans la branche en cours. Dans son mode par
16. Débuter avec Git et Github Réalisé par : Monoem YOUNEB
16
défaut, git pullest raccourci pour git fetchsuivi
par git merge FETCH_HEAD.
Plus précisément, git pull exécute git fetch avec
les paramètres donnés et appelle git merge pour
fusionner les têtes de branches récupérées dans la
branche courante. Avec --rebase, il exécute git
rebase au lieu de git merge .