SlideShare ist ein Scribd-Unternehmen logo
1 von 64
Downloaden Sie, um offline zu lesen
Utilisation de git
dans Delphi
Webinaire du 22 décembre 2020
PRÉSENTATEUR
MVP Embarcadero
Prestataire informatique freelance et formateur Delphi
CV et contacts :
https://www.linkedin.com/in/patrickpremartin/
Blog Delphi/Pascal :
https://developpeur-pascal.fr
Outils Embarcadero
Les meilleurs outils de développement multi-
plateformes. Créez une fois et déployez des
applications modernes sur chaque plateforme.
Support Technique
Nos techniciens sont à votre service à tout
moment pour répondre à vos questions et
vous fournir des informations sûres.
Distributeur Officiel
Partenaire exclusif de Embarcadero
Technologies, largement reconnu pour
ses produits de programmation primés.
B A R N S T E N
QUI
Site : https://www.barnsten.com – Contacts FR : equipe@barnsten.com
NOTRE
Société de prestations informatiques.
Edition de sites Internet, logiciels, vidéos et livres.
Centre de formation référencé sur Datadock.
Infos et contacts : https://olfsoftware.fr
Formations en entreprise : https://se-former-a-delphi.fr
Formations en ligne : https://apprendre-delphi.fr
O L F S O F T W A R E
AU
• Introduction
• Notions sur Git
• Installation et configuration de Git
• Travail sur un projet local
• Travail sur un projet distant
• Utilisation avec Github
• Participer à un projet open source
• Conclusion
© Patrick Prémartin / developpeur-pascal.fr
INTROD
Quand on développe seul, la gestion de sources
et de versions n’est pas toujours la priorité.
C’est surtout vrai chez « les anciens » qui
n’avaient pas d’outils dédiés lors de leur
apprentissage de l’informatique et n’en ont pas
ressenti le besoin depuis. Un ZIP ou la copie d’un
dossier suffisent pour les archivages.
© Patrick Prémartin / developpeur-pascal.fr
INTROD
Elle le devient quand les choses se compliquent :
travail à plusieurs sur le même projet, travail
depuis plusieurs appareils à la fois.
La gestion des ZIP et des copies de fichiers
devient un trop gros casse tête pour éviter les
erreurs.
© Patrick Prémartin / developpeur-pascal.fr
INTROD
Dans ce cas il est fortement recommandé de
passer par une solution centralisée pour gérer ses
fichiers.
On parle de VCS (version control system) ou de
SCM (source control management).
© Patrick Prémartin / developpeur-pascal.fr
INTROD
Vous avez probablement déjà entendu parler de
l’un de ces trois là : Subversion (SVN), Mercurial
et Git.
Ils sont pris en charge nativement dans l’IDE de
Delphi et C++Builder.
© Patrick Prémartin / developpeur-pascal.fr
INTROD
Dans cette session nous allons voir git, à quoi il
sert, comment s’en servir pour des projets
personnels, internes à une organisation mais
aussi tournés pour du partage avec la
communauté de développeurs.
© Patrick Prémartin / developpeur-pascal.fr
GIT :
Git a été créé par Linus Torvalds en 2005 pour
gérer le noyau de Linux et ses dépendances.
En 10 ans il est devenu le système le plus
populaire dans le milieu open source et
maintenant professionnel.
Plus d’infos sur https://fr.wikipedia.org/wiki/Git
© Patrick Prémartin / developpeur-pascal.fr
GIT :
Git est un gestionnaire de versions de codes
sources mais pas seulement.
De base il sert à archiver les sources de projets et
pouvoir évoluer dans le temps pour chaque
fichier qu’il prend en charge.
© Patrick Prémartin / developpeur-pascal.fr
GIT :
Git permet également de gérer des séries de
modifications, les fusionner, les annuler sous la
forme de transactions et de branches.
Interfacé avec un système d’intégration continue
il permet d’automatiser la génération de plusieurs
versions de vos projets quasiment sans
intervention humaine.
© Patrick Prémartin / developpeur-pascal.fr
GIT :
L’outil se présente sous la forme d’un programme
console classique. Tout se fait en ligne de
commande ou par l’intermédiaire d’une couche
graphique proposée par de nombreux éditeurs.
Pour utiliser git il faut en connaître la philosophie
et les commandes de base.
© Patrick Prémartin / developpeur-pascal.fr
GIT :
Git travaille par projet.
Un projet correspond à un dossier, son
arborescence descendante et certains fichiers qui
s’y trouvent.
Les dépôts de code ou repository correspondent
à un stockage quelque part de « projets git ».
© Patrick Prémartin / developpeur-pascal.fr
GIT :
Git n’a pas de distinction entre serveur ou client.
C’est le même programme qui permet de
synchroniser des données dans un dossier local
comme avec un dépôt de code en cloud.
Voici quelques hébergeurs de dépôts de code
connus : GitHub, GitLab, BitBucket, CodeCommit,
Assembla, SourceForge…
© Patrick Prémartin / developpeur-pascal.fr
GIT :
On peut aussi créer notre propre dépôt de code,
soit avec juste git (un peu de ssh sur une
distribution Linux peut aider), soit en utilisant
l’une des interfaces graphiques proposées par
exemple par GitLab, Gogs, Gitea…
© Patrick Prémartin / developpeur-pascal.fr
GIT :
Un projet git est composé de branches. Par
défaut on est généralement sur la branche
« master ».
On peut en créer d’autres à partir de n’importe
quelle modification puis les manipuler pour les
fusionner et créer une multitude de versions du
même projet.
© Patrick Prémartin / developpeur-pascal.fr
GIT :
Le système de branches permet par exemple de
gérer les versions de production, test et
développement d’un logiciel.
On peut ajouter une branche par développeur sur
chacune d’entre elles ou une branche de
correctifs.
© Patrick Prémartin / developpeur-pascal.fr
GIT :
Les branches peuvent ensuite être regroupées
lors d’une opération de fusion qui permet de
gérer les éventuels conflits (fichiers modifiées au
même endroit et ne contenant pas les mêmes
modifications).
© Patrick Prémartin / developpeur-pascal.fr
GIT :
Illustration provenant du tutoriel de Atlassian sur
https://www.atlassian.com/fr/git/tutorials/using-
branches
© Patrick Prémartin / developpeur-pascal.fr
GIT :
Le commit est la base de Git. Comme pour les
bases de données gérant des transactions, c’est
un regroupement de modifications de fichiers
validées et enregistrées « à vie » dans le projet.
Chaque commit a une référence unique et un
commentaire.
© Patrick Prémartin / developpeur-pascal.fr
GIT :
Les branches sont composées de commit dans
leur ordre de validation.
Les commit sont inaltérables.
Toute opération sur un projet git fait l’objet d’un
commit.
© Patrick Prémartin / developpeur-pascal.fr
GIT :
Dans un projet git (hors fichiers de git) il existe
trois types de fichiers : ignoré, pas encore pris en
compte, pris en compte.
Les fichiers pris en compte sont soit modifiés
(créé/supprimé/modifié), en attente de validation
ou validés dans la branche en cours.
© Patrick Prémartin / developpeur-pascal.fr
GIT :
En pratique on a les fichiers sur lesquels on
travaille, dans la branche en cours du projet, et
les fichiers qu’on a regroupés pour le prochain
commit.
Ceux-ci se trouvent dans un groupe appelé
staging area. Le commit suivant validera la staging
area.
© Patrick Prémartin / developpeur-pascal.fr
GIT :
En plus du commit il existe aussi une zone
tampon dans laquelle on peut faire un équivalent
du commit mais elle est réversible puisque
validée uniquement localement.
© Patrick Prémartin / developpeur-pascal.fr
GIT :
Git est fiable mais comme pour tout logiciel avec
une base de données on n’est pas à l’abri d’une
anomalie.
Il est fortement recommandé de faire des
sauvegardes de vos dépôts de code / projets dans
les différentes versions qui vous intéressent (par
exemple chaque version publiée de vos logiciels).
© Patrick Prémartin / developpeur-pascal.fr
GIT :
Tout ce qui se trouve dans un dépôt git est visible
par toutes les personnes ayant un accès à ce
projet.
Il n’y a pas de suppression possible de données !
© Patrick Prémartin / developpeur-pascal.fr
GIT :
Ne créez jamais de dépôt public en cloud pour
vos projets internes. Créez les en mode privé.
NE STOCKEZ JAMAIS de mots de passes dans vos
sources ou de clés (signature/chiffrement) avec
vos projets : ils seraient visibles sur les dépôts
pour n’importe qui ayant accès un jour dessus.
© Patrick Prémartin / developpeur-pascal.fr
GIT :
D’une manière générale restez méfiants envers
les plateformes d’hébergement de dépôts de
codes en ligne. Du jour au lendemain elles
peuvent fermer, couper les accès, tomber en
panne, se faire pirater, boguer et publier en
public des projets privés…
© Patrick Prémartin / developpeur-pascal.fr
GIT :
Soyez conscients des avantages mais aussi des
risques.
Limitez les dépendances autant que possible.
Faites des backups chez vous (et en dehors bien
entendu) !
© Patrick Prémartin / developpeur-pascal.fr
GIT :
Ne faites pas de commit de fonctionnalités que
vous n’avez pas testées.
Quand vous travaillez à plusieurs ne synchronisez
pas de projet avec des commit non testés pour
éviter que toute l’équipe se trouve avec un
logiciel inutilisable !
© Patrick Prémartin / developpeur-pascal.fr
GIT :
Pour nous l’installation sous Windows est
suffisante. Il suffit de télécharger et installer
https://gitforwindows.org
© Patrick Prémartin / developpeur-pascal.fr
GIT :
Une fois installé il faut s’identifier auprès de git
pour « signer » chaque modification. Ces données
sont accessibles à vie pour les personnes ayant
accès au projet.
© Patrick Prémartin / developpeur-pascal.fr
GIT :
• Enregistrez votre nom et l’adresse email à
laquelle vous contacter. Si vous participez à un
projet public, mettez une adresse avec un bon
antispams et antivirus…
• Enregistrez une clé SSH si vous voulez utiliser
ce protocole pour travailler. Pas pris en charge
par RAD Studio pour le moment mais pratique
pour les saisies en ligne de commande.
© Patrick Prémartin / developpeur-pascal.fr
GIT :
Installez une surcouche graphique pour vous
simplifier la vie : TortoiseGit, SourceTree,
GitExtensions, …
Si vous travaillez avec Github, il est recommandé
de passer par Github desktop pour simplifier vos
opérations sur les projets associés à votre
compte.
© Patrick Prémartin / developpeur-pascal.fr
GIT :
Du côté de RAD Studio il suffit de remplir les
informations disponibles dans « Outils / Options /
Contrôle de version / Git »
© Patrick Prémartin / developpeur-pascal.fr
TRAVAILLER
Pas besoin d’avoir un serveur pour travailler avec
git. Il suffit d’un dossier dans lequel on l’active
pour travailler.
Git n’est pas un logiciel client / serveur.
Il fonctionne de façon autonome, sans réseau,
tant qu’on n’a pas besoin de se synchroniser avec
des projets gérés sur un hébergement ailleurs.
© Patrick Prémartin / developpeur-pascal.fr
TRAVAILLER
• Créer un dossier ou ouvrir un dossier existant
• Activer git dedans
• Travailler sur les fichiers du dossier
La gestion de versions et de branches est
pleinement fonctionnelle.
© Patrick Prémartin / developpeur-pascal.fr
TRAVAILLER
Si on travaille à plusieurs ou avec plusieurs
ordinateurs sur les mêmes projets il est
préférable d’avoir un dépôt de code sur un
serveur (sur Internet, un NAS ou un ordinateur du
réseau local).
© Patrick Prémartin / developpeur-pascal.fr
TRAVAILLER
De base il suffit que git soit installé et accessible
de l’extérieur, par exemple avec ssh.
De nombreux tutoriels existent sur Internet. Pour
la démo j’ai suivi celui-ci sur un serveur VPS chez
OVH équipé d’Ubuntu :
https://linuxize.com/post/how-to-setup-a-git-
server/
© Patrick Prémartin / developpeur-pascal.fr
TRAVAILLER
Une fois la partie serveur configurée, il suffit d’y
créer un projet sous forme de dépôt de code
distant. Ca génère un fichier d’extension git qui
sert pour les synchronisations.
© Patrick Prémartin / developpeur-pascal.fr
TRAVAILLER
Le dépôt distant (appelé REMOTE) est la base de
stockage. Tout le travail se fait en local, y compris
la gestion du dépôt distant.
© Patrick Prémartin / developpeur-pascal.fr
TRAVAILLER
Les commandes à connaître sont :
• CLONE pour créer le projet localement à partir
d’un projet distant (et de son fichier .git)
• PULL (FETCH + MERGE) pour mettre à jour la
branche activée du projet local à partir du
dépôt distant.
• PUSH pour envoyer nos COMMIT (et autres
modifs) sur le dépôt distant.
© Patrick Prémartin / developpeur-pascal.fr
TRAVAILLER
Notez que les fichiers et modifications non
validées restent en local.
Globalement seules les modifications ayant fait
l’objet d’un COMMIT sont synchronisées.
© Patrick Prémartin / developpeur-pascal.fr
GITHUB :
GitHub est l’un des nombreux services
d’hébergement de projets. Plutôt orienté open
source GitHub permet aussi de stocker des
projets privés.
En plus de la partie sources, GitHub propose aussi
la gestion de tickets d’incidents, de versions, un
wiki par projet et l’hébergement de sites web.
© Patrick Prémartin / developpeur-pascal.fr
GITHUB :
GitHub et les autres plateformes équivalentes ont
l’avantage de proposer un peu plus qu’un simple
archivage de projets git en ligne et accessible
partout.
Outre l’utilisation pour nos propres projets on
peut collaborer sur d’autres et avec une
multitude de développeurs.
© Patrick Prémartin / developpeur-pascal.fr
GITHUB :
Pour nos projets le fonctionnement est le même
que sur un serveur à nous.
Pour collaborer sur d’autres projets il y a
quelques subtilités.
© Patrick Prémartin / developpeur-pascal.fr
CONTRIBUER
Les projets open sources sont attachés à un
compte unique.
Certains autorisent un accès direct, d’autres
préfèrent par mesure de précaution ne pas laisser
libre accès et fonctionnent par soumission de
groupes de modifications.
© Patrick Prémartin / developpeur-pascal.fr
CONTRIBUER
Pour les premiers, lorsqu’on fait partie des
développeurs ayant un accès complet, pas de
différence avec le travail habituel. On clone le
projet, on crée une branche de travail et quand
on a fini on intègre nos modifications au projet
global.
© Patrick Prémartin / developpeur-pascal.fr
CONTRIBUER
Pour les seconds il n’est pas possible de
soumettre directement nos modifications sur le
projet de base. On a deux étapes
supplémentaires.
© Patrick Prémartin / developpeur-pascal.fr
CONTRIBUER
Comme pour le reste il existe de nombreux
tutoriels en ligne sur le sujet, notamment sur
GitHub et ses pairs.
Vous pouvez vous inspirer de celui-ci :
https://akrabat.com/the-beginners-guide-to-
contributing-to-a-github-project/
© Patrick Prémartin / developpeur-pascal.fr
GITHUB :
Première étape pour participer à un projet public
: faire un fork.
Ca consiste en une copie du projet d’origine sur
notre compte.
On travaille ensuite sur ce projet comme
n’importe lequel des nôtres.
© Patrick Prémartin / developpeur-pascal.fr
GITHUB :
Dernière étape de la participation à un projet
open source : la soumission de nos modifications.
Cette opération s’appelle un PULL REQUEST.
© Patrick Prémartin / developpeur-pascal.fr
GITHUB :
Le PULL REQUEST se fait au niveau de notre
repository, à partir de notre branche de travail
que l’on va pouvoir soumettre pour approbation
à une branche du projet d’origine.
Charge au gestionnaire de ce projet d’accepter ou
refuser notre lot de modifications.
© Patrick Prémartin / developpeur-pascal.fr
CONCL
© Patrick Prémartin / developpeur-pascal.fr
Je suis loin d’avoir tout dit sur git et son utilisation
en général.
Vous avez les manipulations de base et pouvez
vous documenter avec les très nombreuses
ressources disponibles en ligne.
CONCL
© Patrick Prémartin / developpeur-pascal.fr
Même si vous travaillez seul, en local, sur vos
projets, habituez-vous à travailler avec un VCS…
et pensez à faire quand même une sauvegarde de
vos fichiers à chaque fois que vous sortez une
version de vos logiciels, c’est toujours plus sûr
d’avoir une version figée quelque part au cas où.
CONCL
© Patrick Prémartin / developpeur-pascal.fr
S’il y avait un dernier conseil à vous donner suite
à cette session de présentation ce serait de vous
familiariser avec git ou d’autres outils de gestion
de version.
Tôt ou tard vous en aurez besoin.
PLUS
© Patrick Prémartin / developpeur-pascal.fr
Pour des ressources complémentaires,
télécharger cette présentation et accéder aux
exemples, rendez-vous sur :
https://developpeur-pascal.fr/p/_400a-
webinaire-du-22-decembre-2020-utilisation-de-
git-dans-delphi.html
(RE)VOIR
© Patrick Prémartin / developpeur-pascal.fr
La rediffusion de ce webinaire devrait être
disponible sur la chaîne YouTube de Barnsten :
https://www.youtube.com/c/BarnstenFrance/vid
eos
Vous y trouverez également d’autres vidéos dont
une formation complète aux bases de la
programmation avec Delphi en VCL et FMX.
PROCHAINS
© Patrick Prémartin / developpeur-pascal.fr
La liste des sujets et des dates pour 2021 sera
communiquée courant janvier.
Surveillez vos emails.
Les rediffusions, détails et inscriptions sont aussi
disponibles depuis https://developpeur-
pascal.fr/p/_6007-webinaires.html
LIVRES
© Patrick Prémartin / developpeur-pascal.fr
Des livres sur le développement avec Delphi
sortent régulièrement. Voici les 3 derniers :
• Delphi GUI programming with FireMonkey
• Delphi Event-based and Asynchronous
Programming
• Object Pascal Handbook (Delphi 10.4 Sydney
Edition)
Liste complète sur https://delphi-books.com/
QUESTIONS
© Patrick Prémartin / developpeur-pascal.fr
CONTACTEZ NOUS

Weitere ähnliche Inhalte

Was ist angesagt?

Application mobile bancaire sous la plateforme Android
Application mobile bancaire sous la plateforme AndroidApplication mobile bancaire sous la plateforme Android
Application mobile bancaire sous la plateforme AndroidKhaled Fayala
 
Rapport stage
Rapport stageRapport stage
Rapport stageTECOS
 
Presentation pfe Système de gestion des rendez-vous médicaux
Presentation pfe Système de gestion des rendez-vous médicauxPresentation pfe Système de gestion des rendez-vous médicaux
Presentation pfe Système de gestion des rendez-vous médicauxFehmi Arbi
 
Rapport restaurant le-roi
Rapport restaurant le-roiRapport restaurant le-roi
Rapport restaurant le-roiMarwa Bhouri
 
Rapport de PFE - Houssem SAKLI (ISIMM)
Rapport de PFE - Houssem SAKLI (ISIMM)Rapport de PFE - Houssem SAKLI (ISIMM)
Rapport de PFE - Houssem SAKLI (ISIMM)Houssem Sakli
 
Presentation de soutenance du Projet Fin d'Etudes
Presentation de soutenance du Projet Fin d'EtudesPresentation de soutenance du Projet Fin d'Etudes
Presentation de soutenance du Projet Fin d'EtudesTahani RIAHI
 
Cahier des charges_sirh_v24mai17
Cahier des charges_sirh_v24mai17Cahier des charges_sirh_v24mai17
Cahier des charges_sirh_v24mai17MiisterSifdin1
 
Rapport Projet de fin d'etude sur le parc informatique
Rapport Projet  de fin d'etude sur le parc informatiqueRapport Projet  de fin d'etude sur le parc informatique
Rapport Projet de fin d'etude sur le parc informatiqueHicham Ben
 
Présentation PFE
Présentation PFEPrésentation PFE
Présentation PFEHedi Riahi
 
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humainesRapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humainesAyoub Ayyoub
 
rapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATrapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATSiwar GUEMRI
 
Republique_Tunisienne_Ministere_de_lEnse.pdf
Republique_Tunisienne_Ministere_de_lEnse.pdfRepublique_Tunisienne_Ministere_de_lEnse.pdf
Republique_Tunisienne_Ministere_de_lEnse.pdfAzizJenhani1
 
Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux fehmi arbi
 
Rapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRouâa Ben Hammouda
 
Présentation du projet de fin d'année
Présentation du projet de fin d'année Présentation du projet de fin d'année
Présentation du projet de fin d'année Joel Scander
 
Rapport de stage boite à idées innovantes avec dashboard
Rapport de stage boite à idées innovantes avec dashboardRapport de stage boite à idées innovantes avec dashboard
Rapport de stage boite à idées innovantes avec dashboardSiwar GUEMRI
 
Rapport de projet de fin d’étude
Rapport  de projet de fin d’étudeRapport  de projet de fin d’étude
Rapport de projet de fin d’étudeOumaimaOuedherfi
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Riadh K.
 
Rapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbachRapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbachAyoub Mkharbach
 

Was ist angesagt? (20)

Application mobile bancaire sous la plateforme Android
Application mobile bancaire sous la plateforme AndroidApplication mobile bancaire sous la plateforme Android
Application mobile bancaire sous la plateforme Android
 
Rapport stage
Rapport stageRapport stage
Rapport stage
 
Presentation pfe Système de gestion des rendez-vous médicaux
Presentation pfe Système de gestion des rendez-vous médicauxPresentation pfe Système de gestion des rendez-vous médicaux
Presentation pfe Système de gestion des rendez-vous médicaux
 
Rapport restaurant le-roi
Rapport restaurant le-roiRapport restaurant le-roi
Rapport restaurant le-roi
 
Rapport de PFE - Houssem SAKLI (ISIMM)
Rapport de PFE - Houssem SAKLI (ISIMM)Rapport de PFE - Houssem SAKLI (ISIMM)
Rapport de PFE - Houssem SAKLI (ISIMM)
 
Presentation de soutenance du Projet Fin d'Etudes
Presentation de soutenance du Projet Fin d'EtudesPresentation de soutenance du Projet Fin d'Etudes
Presentation de soutenance du Projet Fin d'Etudes
 
Cahier des charges_sirh_v24mai17
Cahier des charges_sirh_v24mai17Cahier des charges_sirh_v24mai17
Cahier des charges_sirh_v24mai17
 
Rapport Projet de fin d'etude sur le parc informatique
Rapport Projet  de fin d'etude sur le parc informatiqueRapport Projet  de fin d'etude sur le parc informatique
Rapport Projet de fin d'etude sur le parc informatique
 
Présentation PFE
Présentation PFEPrésentation PFE
Présentation PFE
 
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humainesRapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
 
rapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATrapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSAT
 
Republique_Tunisienne_Ministere_de_lEnse.pdf
Republique_Tunisienne_Ministere_de_lEnse.pdfRepublique_Tunisienne_Ministere_de_lEnse.pdf
Republique_Tunisienne_Ministere_de_lEnse.pdf
 
Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux
 
Rapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learning
 
Rapport de PFE
Rapport de PFERapport de PFE
Rapport de PFE
 
Présentation du projet de fin d'année
Présentation du projet de fin d'année Présentation du projet de fin d'année
Présentation du projet de fin d'année
 
Rapport de stage boite à idées innovantes avec dashboard
Rapport de stage boite à idées innovantes avec dashboardRapport de stage boite à idées innovantes avec dashboard
Rapport de stage boite à idées innovantes avec dashboard
 
Rapport de projet de fin d’étude
Rapport  de projet de fin d’étudeRapport  de projet de fin d’étude
Rapport de projet de fin d’étude
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
 
Rapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbachRapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbach
 

Ähnlich wie Utilisation de git avec Delphi

WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
 WordCamp Lyon 2015 - WordPress, Git et l'intégration continue WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
WordCamp Lyon 2015 - WordPress, Git et l'intégration continueStéphane HULARD
 
Présentation Git & GitHub
Présentation Git & GitHubPrésentation Git & GitHub
Présentation Git & GitHubThibault Vlacich
 
Diffuser nos logiciels et leurs mises à jour
Diffuser nos logiciels et leurs mises à jourDiffuser nos logiciels et leurs mises à jour
Diffuser nos logiciels et leurs mises à jourpprem
 
Comment développer pour Linux avec Delphi
Comment développer pour Linux avec DelphiComment développer pour Linux avec Delphi
Comment développer pour Linux avec Delphipprem
 
Le social coding pour la Creative Technologie
Le social coding pour la Creative TechnologieLe social coding pour la Creative Technologie
Le social coding pour la Creative TechnologieUX REPUBLIC
 
GIT training - basic for software projects
GIT training - basic for software projectsGIT training - basic for software projects
GIT training - basic for software projectsThierry Gayet
 
Présentation du versioning avec Git
Présentation du versioning avec GitPrésentation du versioning avec Git
Présentation du versioning avec Gitmsadouni
 
Comment travailler avec les logiciels Open Source
Comment travailler avec les logiciels Open SourceComment travailler avec les logiciels Open Source
Comment travailler avec les logiciels Open SourceChristian Charreyre
 
Paris Container Day 2016 : Cloudunit v2 (Treeptik)
Paris Container Day 2016 : Cloudunit v2 (Treeptik)Paris Container Day 2016 : Cloudunit v2 (Treeptik)
Paris Container Day 2016 : Cloudunit v2 (Treeptik)Publicis Sapient Engineering
 
Git & Rstudio vincent guyader
Git & Rstudio vincent guyaderGit & Rstudio vincent guyader
Git & Rstudio vincent guyaderVincent Guyader
 
les commandes Git que vous devez absolument connaitre!.pdf
les commandes Git que vous devez absolument connaitre!.pdfles commandes Git que vous devez absolument connaitre!.pdf
les commandes Git que vous devez absolument connaitre!.pdfSimpleLearn1
 
Faire des applications web avec Delphi
Faire des applications web avec DelphiFaire des applications web avec Delphi
Faire des applications web avec Delphipprem
 
Déploiement et débogage à distance
Déploiement et débogage à distanceDéploiement et débogage à distance
Déploiement et débogage à distancepprem
 
Adama Coulibaly.pptx
Adama Coulibaly.pptxAdama Coulibaly.pptx
Adama Coulibaly.pptxIdrissaDembl
 
Coder sans coder : Delphi en mode no code !
Coder sans coder : Delphi en mode no code !Coder sans coder : Delphi en mode no code !
Coder sans coder : Delphi en mode no code !pprem
 
Chaine de production pipeline
Chaine de production   pipelineChaine de production   pipeline
Chaine de production pipelineNicolas wallerand
 
Gestion des drifts Terraform avec la méthode GitOps
Gestion des drifts Terraform avec la méthode GitOpsGestion des drifts Terraform avec la méthode GitOps
Gestion des drifts Terraform avec la méthode GitOpsKatia HIMEUR TALHI
 

Ähnlich wie Utilisation de git avec Delphi (20)

WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
 WordCamp Lyon 2015 - WordPress, Git et l'intégration continue WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
 
Présentation Git & GitHub
Présentation Git & GitHubPrésentation Git & GitHub
Présentation Git & GitHub
 
Diffuser nos logiciels et leurs mises à jour
Diffuser nos logiciels et leurs mises à jourDiffuser nos logiciels et leurs mises à jour
Diffuser nos logiciels et leurs mises à jour
 
Comment développer pour Linux avec Delphi
Comment développer pour Linux avec DelphiComment développer pour Linux avec Delphi
Comment développer pour Linux avec Delphi
 
Le social coding pour la Creative Technologie
Le social coding pour la Creative TechnologieLe social coding pour la Creative Technologie
Le social coding pour la Creative Technologie
 
GIT training - basic for software projects
GIT training - basic for software projectsGIT training - basic for software projects
GIT training - basic for software projects
 
Présentation du versioning avec Git
Présentation du versioning avec GitPrésentation du versioning avec Git
Présentation du versioning avec Git
 
Comment travailler avec les logiciels Open Source
Comment travailler avec les logiciels Open SourceComment travailler avec les logiciels Open Source
Comment travailler avec les logiciels Open Source
 
Paris Container Day 2016 : Cloudunit v2 (Treeptik)
Paris Container Day 2016 : Cloudunit v2 (Treeptik)Paris Container Day 2016 : Cloudunit v2 (Treeptik)
Paris Container Day 2016 : Cloudunit v2 (Treeptik)
 
Git & Rstudio vincent guyader
Git & Rstudio vincent guyaderGit & Rstudio vincent guyader
Git & Rstudio vincent guyader
 
Versioning avec Git
Versioning avec GitVersioning avec Git
Versioning avec Git
 
les commandes Git que vous devez absolument connaitre!.pdf
les commandes Git que vous devez absolument connaitre!.pdfles commandes Git que vous devez absolument connaitre!.pdf
les commandes Git que vous devez absolument connaitre!.pdf
 
Faire des applications web avec Delphi
Faire des applications web avec DelphiFaire des applications web avec Delphi
Faire des applications web avec Delphi
 
Phigrate
PhigratePhigrate
Phigrate
 
Déploiement et débogage à distance
Déploiement et débogage à distanceDéploiement et débogage à distance
Déploiement et débogage à distance
 
Adama Coulibaly.pptx
Adama Coulibaly.pptxAdama Coulibaly.pptx
Adama Coulibaly.pptx
 
Tizen sdk-solutionslinux-20130529
Tizen sdk-solutionslinux-20130529Tizen sdk-solutionslinux-20130529
Tizen sdk-solutionslinux-20130529
 
Coder sans coder : Delphi en mode no code !
Coder sans coder : Delphi en mode no code !Coder sans coder : Delphi en mode no code !
Coder sans coder : Delphi en mode no code !
 
Chaine de production pipeline
Chaine de production   pipelineChaine de production   pipeline
Chaine de production pipeline
 
Gestion des drifts Terraform avec la méthode GitOps
Gestion des drifts Terraform avec la méthode GitOpsGestion des drifts Terraform avec la méthode GitOps
Gestion des drifts Terraform avec la méthode GitOps
 

Mehr von pprem

Using FireMonkey as a game engine
Using FireMonkey as a game engineUsing FireMonkey as a game engine
Using FireMonkey as a game enginepprem
 
Using Delphi as a no code development environment
Using Delphi as a no code development environmentUsing Delphi as a no code development environment
Using Delphi as a no code development environmentpprem
 
Easy coding a multi device game with FireMonkey
Easy coding a multi device game with FireMonkeyEasy coding a multi device game with FireMonkey
Easy coding a multi device game with FireMonkeypprem
 
Utiliser FireMonkey comme moteur de jeux vidéo
Utiliser FireMonkey comme moteur de jeux vidéoUtiliser FireMonkey comme moteur de jeux vidéo
Utiliser FireMonkey comme moteur de jeux vidéopprem
 
Quoi de neuf dans la version 11 Alexandria ?
Quoi de neuf dans la version 11 Alexandria ?Quoi de neuf dans la version 11 Alexandria ?
Quoi de neuf dans la version 11 Alexandria ?pprem
 
Delphi et les tests unitaires
Delphi et les tests unitairesDelphi et les tests unitaires
Delphi et les tests unitairespprem
 
Développer une application pour Android TV avec Delphi
Développer une application pour Android TV avec DelphiDévelopper une application pour Android TV avec Delphi
Développer une application pour Android TV avec Delphipprem
 
Sauvegarder et restaurer l'état des applications mobiles
Sauvegarder et restaurer l'état des applications mobilesSauvegarder et restaurer l'état des applications mobiles
Sauvegarder et restaurer l'état des applications mobilespprem
 
Gérer le clavier virtuel sous iOS et Android
Gérer le clavier virtuel sous iOS et AndroidGérer le clavier virtuel sous iOS et Android
Gérer le clavier virtuel sous iOS et Androidpprem
 
Internationaliser les projets VCL / FMX
Internationaliser les projets VCL / FMXInternationaliser les projets VCL / FMX
Internationaliser les projets VCL / FMXpprem
 
Utiliser des dessins vectoriels à la place d'images
Utiliser des dessins vectoriels à la place d'imagesUtiliser des dessins vectoriels à la place d'images
Utiliser des dessins vectoriels à la place d'imagespprem
 
Embarquer une base de données locale dans vos logiciels et applications mobiles
Embarquer une base de données locale dans vos logiciels et applications mobilesEmbarquer une base de données locale dans vos logiciels et applications mobiles
Embarquer une base de données locale dans vos logiciels et applications mobilespprem
 
Utiliser l'EDI pour développer en multiplateforme
Utiliser l'EDI pour développer en multiplateformeUtiliser l'EDI pour développer en multiplateforme
Utiliser l'EDI pour développer en multiplateformepprem
 
Faire une interface adaptive avec la VCL
Faire une interface adaptive avec la VCLFaire une interface adaptive avec la VCL
Faire une interface adaptive avec la VCLpprem
 
Faire une interface adaptive avec FireMonkey
Faire une interface adaptive avec FireMonkeyFaire une interface adaptive avec FireMonkey
Faire une interface adaptive avec FireMonkeypprem
 
QR codes et codes à barres sous Delphi
QR codes et codes à barres sous DelphiQR codes et codes à barres sous Delphi
QR codes et codes à barres sous Delphipprem
 
Créer des composants visuels sans faire de composant
Créer des composants visuels sans faire de composantCréer des composants visuels sans faire de composant
Créer des composants visuels sans faire de composantpprem
 
Des solutions de synchronisation de données
Des solutions de synchronisation de donnéesDes solutions de synchronisation de données
Des solutions de synchronisation de donnéespprem
 
Découvrez FireDAC pour FMX
Découvrez FireDAC pour FMXDécouvrez FireDAC pour FMX
Découvrez FireDAC pour FMXpprem
 
Découvrez FireDAC pour la VCL
Découvrez FireDAC pour la VCLDécouvrez FireDAC pour la VCL
Découvrez FireDAC pour la VCLpprem
 

Mehr von pprem (20)

Using FireMonkey as a game engine
Using FireMonkey as a game engineUsing FireMonkey as a game engine
Using FireMonkey as a game engine
 
Using Delphi as a no code development environment
Using Delphi as a no code development environmentUsing Delphi as a no code development environment
Using Delphi as a no code development environment
 
Easy coding a multi device game with FireMonkey
Easy coding a multi device game with FireMonkeyEasy coding a multi device game with FireMonkey
Easy coding a multi device game with FireMonkey
 
Utiliser FireMonkey comme moteur de jeux vidéo
Utiliser FireMonkey comme moteur de jeux vidéoUtiliser FireMonkey comme moteur de jeux vidéo
Utiliser FireMonkey comme moteur de jeux vidéo
 
Quoi de neuf dans la version 11 Alexandria ?
Quoi de neuf dans la version 11 Alexandria ?Quoi de neuf dans la version 11 Alexandria ?
Quoi de neuf dans la version 11 Alexandria ?
 
Delphi et les tests unitaires
Delphi et les tests unitairesDelphi et les tests unitaires
Delphi et les tests unitaires
 
Développer une application pour Android TV avec Delphi
Développer une application pour Android TV avec DelphiDévelopper une application pour Android TV avec Delphi
Développer une application pour Android TV avec Delphi
 
Sauvegarder et restaurer l'état des applications mobiles
Sauvegarder et restaurer l'état des applications mobilesSauvegarder et restaurer l'état des applications mobiles
Sauvegarder et restaurer l'état des applications mobiles
 
Gérer le clavier virtuel sous iOS et Android
Gérer le clavier virtuel sous iOS et AndroidGérer le clavier virtuel sous iOS et Android
Gérer le clavier virtuel sous iOS et Android
 
Internationaliser les projets VCL / FMX
Internationaliser les projets VCL / FMXInternationaliser les projets VCL / FMX
Internationaliser les projets VCL / FMX
 
Utiliser des dessins vectoriels à la place d'images
Utiliser des dessins vectoriels à la place d'imagesUtiliser des dessins vectoriels à la place d'images
Utiliser des dessins vectoriels à la place d'images
 
Embarquer une base de données locale dans vos logiciels et applications mobiles
Embarquer une base de données locale dans vos logiciels et applications mobilesEmbarquer une base de données locale dans vos logiciels et applications mobiles
Embarquer une base de données locale dans vos logiciels et applications mobiles
 
Utiliser l'EDI pour développer en multiplateforme
Utiliser l'EDI pour développer en multiplateformeUtiliser l'EDI pour développer en multiplateforme
Utiliser l'EDI pour développer en multiplateforme
 
Faire une interface adaptive avec la VCL
Faire une interface adaptive avec la VCLFaire une interface adaptive avec la VCL
Faire une interface adaptive avec la VCL
 
Faire une interface adaptive avec FireMonkey
Faire une interface adaptive avec FireMonkeyFaire une interface adaptive avec FireMonkey
Faire une interface adaptive avec FireMonkey
 
QR codes et codes à barres sous Delphi
QR codes et codes à barres sous DelphiQR codes et codes à barres sous Delphi
QR codes et codes à barres sous Delphi
 
Créer des composants visuels sans faire de composant
Créer des composants visuels sans faire de composantCréer des composants visuels sans faire de composant
Créer des composants visuels sans faire de composant
 
Des solutions de synchronisation de données
Des solutions de synchronisation de donnéesDes solutions de synchronisation de données
Des solutions de synchronisation de données
 
Découvrez FireDAC pour FMX
Découvrez FireDAC pour FMXDécouvrez FireDAC pour FMX
Découvrez FireDAC pour FMX
 
Découvrez FireDAC pour la VCL
Découvrez FireDAC pour la VCLDécouvrez FireDAC pour la VCL
Découvrez FireDAC pour la VCL
 

Utilisation de git avec Delphi

  • 1. Utilisation de git dans Delphi Webinaire du 22 décembre 2020
  • 2. PRÉSENTATEUR MVP Embarcadero Prestataire informatique freelance et formateur Delphi CV et contacts : https://www.linkedin.com/in/patrickpremartin/ Blog Delphi/Pascal : https://developpeur-pascal.fr
  • 3. Outils Embarcadero Les meilleurs outils de développement multi- plateformes. Créez une fois et déployez des applications modernes sur chaque plateforme. Support Technique Nos techniciens sont à votre service à tout moment pour répondre à vos questions et vous fournir des informations sûres. Distributeur Officiel Partenaire exclusif de Embarcadero Technologies, largement reconnu pour ses produits de programmation primés. B A R N S T E N QUI Site : https://www.barnsten.com – Contacts FR : equipe@barnsten.com
  • 4. NOTRE Société de prestations informatiques. Edition de sites Internet, logiciels, vidéos et livres. Centre de formation référencé sur Datadock. Infos et contacts : https://olfsoftware.fr Formations en entreprise : https://se-former-a-delphi.fr Formations en ligne : https://apprendre-delphi.fr O L F S O F T W A R E
  • 5. AU • Introduction • Notions sur Git • Installation et configuration de Git • Travail sur un projet local • Travail sur un projet distant • Utilisation avec Github • Participer à un projet open source • Conclusion © Patrick Prémartin / developpeur-pascal.fr
  • 6. INTROD Quand on développe seul, la gestion de sources et de versions n’est pas toujours la priorité. C’est surtout vrai chez « les anciens » qui n’avaient pas d’outils dédiés lors de leur apprentissage de l’informatique et n’en ont pas ressenti le besoin depuis. Un ZIP ou la copie d’un dossier suffisent pour les archivages. © Patrick Prémartin / developpeur-pascal.fr
  • 7. INTROD Elle le devient quand les choses se compliquent : travail à plusieurs sur le même projet, travail depuis plusieurs appareils à la fois. La gestion des ZIP et des copies de fichiers devient un trop gros casse tête pour éviter les erreurs. © Patrick Prémartin / developpeur-pascal.fr
  • 8. INTROD Dans ce cas il est fortement recommandé de passer par une solution centralisée pour gérer ses fichiers. On parle de VCS (version control system) ou de SCM (source control management). © Patrick Prémartin / developpeur-pascal.fr
  • 9. INTROD Vous avez probablement déjà entendu parler de l’un de ces trois là : Subversion (SVN), Mercurial et Git. Ils sont pris en charge nativement dans l’IDE de Delphi et C++Builder. © Patrick Prémartin / developpeur-pascal.fr
  • 10. INTROD Dans cette session nous allons voir git, à quoi il sert, comment s’en servir pour des projets personnels, internes à une organisation mais aussi tournés pour du partage avec la communauté de développeurs. © Patrick Prémartin / developpeur-pascal.fr
  • 11. GIT : Git a été créé par Linus Torvalds en 2005 pour gérer le noyau de Linux et ses dépendances. En 10 ans il est devenu le système le plus populaire dans le milieu open source et maintenant professionnel. Plus d’infos sur https://fr.wikipedia.org/wiki/Git © Patrick Prémartin / developpeur-pascal.fr
  • 12. GIT : Git est un gestionnaire de versions de codes sources mais pas seulement. De base il sert à archiver les sources de projets et pouvoir évoluer dans le temps pour chaque fichier qu’il prend en charge. © Patrick Prémartin / developpeur-pascal.fr
  • 13. GIT : Git permet également de gérer des séries de modifications, les fusionner, les annuler sous la forme de transactions et de branches. Interfacé avec un système d’intégration continue il permet d’automatiser la génération de plusieurs versions de vos projets quasiment sans intervention humaine. © Patrick Prémartin / developpeur-pascal.fr
  • 14. GIT : L’outil se présente sous la forme d’un programme console classique. Tout se fait en ligne de commande ou par l’intermédiaire d’une couche graphique proposée par de nombreux éditeurs. Pour utiliser git il faut en connaître la philosophie et les commandes de base. © Patrick Prémartin / developpeur-pascal.fr
  • 15. GIT : Git travaille par projet. Un projet correspond à un dossier, son arborescence descendante et certains fichiers qui s’y trouvent. Les dépôts de code ou repository correspondent à un stockage quelque part de « projets git ». © Patrick Prémartin / developpeur-pascal.fr
  • 16. GIT : Git n’a pas de distinction entre serveur ou client. C’est le même programme qui permet de synchroniser des données dans un dossier local comme avec un dépôt de code en cloud. Voici quelques hébergeurs de dépôts de code connus : GitHub, GitLab, BitBucket, CodeCommit, Assembla, SourceForge… © Patrick Prémartin / developpeur-pascal.fr
  • 17. GIT : On peut aussi créer notre propre dépôt de code, soit avec juste git (un peu de ssh sur une distribution Linux peut aider), soit en utilisant l’une des interfaces graphiques proposées par exemple par GitLab, Gogs, Gitea… © Patrick Prémartin / developpeur-pascal.fr
  • 18. GIT : Un projet git est composé de branches. Par défaut on est généralement sur la branche « master ». On peut en créer d’autres à partir de n’importe quelle modification puis les manipuler pour les fusionner et créer une multitude de versions du même projet. © Patrick Prémartin / developpeur-pascal.fr
  • 19. GIT : Le système de branches permet par exemple de gérer les versions de production, test et développement d’un logiciel. On peut ajouter une branche par développeur sur chacune d’entre elles ou une branche de correctifs. © Patrick Prémartin / developpeur-pascal.fr
  • 20. GIT : Les branches peuvent ensuite être regroupées lors d’une opération de fusion qui permet de gérer les éventuels conflits (fichiers modifiées au même endroit et ne contenant pas les mêmes modifications). © Patrick Prémartin / developpeur-pascal.fr
  • 21. GIT : Illustration provenant du tutoriel de Atlassian sur https://www.atlassian.com/fr/git/tutorials/using- branches © Patrick Prémartin / developpeur-pascal.fr
  • 22. GIT : Le commit est la base de Git. Comme pour les bases de données gérant des transactions, c’est un regroupement de modifications de fichiers validées et enregistrées « à vie » dans le projet. Chaque commit a une référence unique et un commentaire. © Patrick Prémartin / developpeur-pascal.fr
  • 23. GIT : Les branches sont composées de commit dans leur ordre de validation. Les commit sont inaltérables. Toute opération sur un projet git fait l’objet d’un commit. © Patrick Prémartin / developpeur-pascal.fr
  • 24. GIT : Dans un projet git (hors fichiers de git) il existe trois types de fichiers : ignoré, pas encore pris en compte, pris en compte. Les fichiers pris en compte sont soit modifiés (créé/supprimé/modifié), en attente de validation ou validés dans la branche en cours. © Patrick Prémartin / developpeur-pascal.fr
  • 25. GIT : En pratique on a les fichiers sur lesquels on travaille, dans la branche en cours du projet, et les fichiers qu’on a regroupés pour le prochain commit. Ceux-ci se trouvent dans un groupe appelé staging area. Le commit suivant validera la staging area. © Patrick Prémartin / developpeur-pascal.fr
  • 26. GIT : En plus du commit il existe aussi une zone tampon dans laquelle on peut faire un équivalent du commit mais elle est réversible puisque validée uniquement localement. © Patrick Prémartin / developpeur-pascal.fr
  • 27. GIT : Git est fiable mais comme pour tout logiciel avec une base de données on n’est pas à l’abri d’une anomalie. Il est fortement recommandé de faire des sauvegardes de vos dépôts de code / projets dans les différentes versions qui vous intéressent (par exemple chaque version publiée de vos logiciels). © Patrick Prémartin / developpeur-pascal.fr
  • 28. GIT : Tout ce qui se trouve dans un dépôt git est visible par toutes les personnes ayant un accès à ce projet. Il n’y a pas de suppression possible de données ! © Patrick Prémartin / developpeur-pascal.fr
  • 29. GIT : Ne créez jamais de dépôt public en cloud pour vos projets internes. Créez les en mode privé. NE STOCKEZ JAMAIS de mots de passes dans vos sources ou de clés (signature/chiffrement) avec vos projets : ils seraient visibles sur les dépôts pour n’importe qui ayant accès un jour dessus. © Patrick Prémartin / developpeur-pascal.fr
  • 30. GIT : D’une manière générale restez méfiants envers les plateformes d’hébergement de dépôts de codes en ligne. Du jour au lendemain elles peuvent fermer, couper les accès, tomber en panne, se faire pirater, boguer et publier en public des projets privés… © Patrick Prémartin / developpeur-pascal.fr
  • 31. GIT : Soyez conscients des avantages mais aussi des risques. Limitez les dépendances autant que possible. Faites des backups chez vous (et en dehors bien entendu) ! © Patrick Prémartin / developpeur-pascal.fr
  • 32. GIT : Ne faites pas de commit de fonctionnalités que vous n’avez pas testées. Quand vous travaillez à plusieurs ne synchronisez pas de projet avec des commit non testés pour éviter que toute l’équipe se trouve avec un logiciel inutilisable ! © Patrick Prémartin / developpeur-pascal.fr
  • 33. GIT : Pour nous l’installation sous Windows est suffisante. Il suffit de télécharger et installer https://gitforwindows.org © Patrick Prémartin / developpeur-pascal.fr
  • 34. GIT : Une fois installé il faut s’identifier auprès de git pour « signer » chaque modification. Ces données sont accessibles à vie pour les personnes ayant accès au projet. © Patrick Prémartin / developpeur-pascal.fr
  • 35. GIT : • Enregistrez votre nom et l’adresse email à laquelle vous contacter. Si vous participez à un projet public, mettez une adresse avec un bon antispams et antivirus… • Enregistrez une clé SSH si vous voulez utiliser ce protocole pour travailler. Pas pris en charge par RAD Studio pour le moment mais pratique pour les saisies en ligne de commande. © Patrick Prémartin / developpeur-pascal.fr
  • 36. GIT : Installez une surcouche graphique pour vous simplifier la vie : TortoiseGit, SourceTree, GitExtensions, … Si vous travaillez avec Github, il est recommandé de passer par Github desktop pour simplifier vos opérations sur les projets associés à votre compte. © Patrick Prémartin / developpeur-pascal.fr
  • 37. GIT : Du côté de RAD Studio il suffit de remplir les informations disponibles dans « Outils / Options / Contrôle de version / Git » © Patrick Prémartin / developpeur-pascal.fr
  • 38. TRAVAILLER Pas besoin d’avoir un serveur pour travailler avec git. Il suffit d’un dossier dans lequel on l’active pour travailler. Git n’est pas un logiciel client / serveur. Il fonctionne de façon autonome, sans réseau, tant qu’on n’a pas besoin de se synchroniser avec des projets gérés sur un hébergement ailleurs. © Patrick Prémartin / developpeur-pascal.fr
  • 39. TRAVAILLER • Créer un dossier ou ouvrir un dossier existant • Activer git dedans • Travailler sur les fichiers du dossier La gestion de versions et de branches est pleinement fonctionnelle. © Patrick Prémartin / developpeur-pascal.fr
  • 40. TRAVAILLER Si on travaille à plusieurs ou avec plusieurs ordinateurs sur les mêmes projets il est préférable d’avoir un dépôt de code sur un serveur (sur Internet, un NAS ou un ordinateur du réseau local). © Patrick Prémartin / developpeur-pascal.fr
  • 41. TRAVAILLER De base il suffit que git soit installé et accessible de l’extérieur, par exemple avec ssh. De nombreux tutoriels existent sur Internet. Pour la démo j’ai suivi celui-ci sur un serveur VPS chez OVH équipé d’Ubuntu : https://linuxize.com/post/how-to-setup-a-git- server/ © Patrick Prémartin / developpeur-pascal.fr
  • 42. TRAVAILLER Une fois la partie serveur configurée, il suffit d’y créer un projet sous forme de dépôt de code distant. Ca génère un fichier d’extension git qui sert pour les synchronisations. © Patrick Prémartin / developpeur-pascal.fr
  • 43. TRAVAILLER Le dépôt distant (appelé REMOTE) est la base de stockage. Tout le travail se fait en local, y compris la gestion du dépôt distant. © Patrick Prémartin / developpeur-pascal.fr
  • 44. TRAVAILLER Les commandes à connaître sont : • CLONE pour créer le projet localement à partir d’un projet distant (et de son fichier .git) • PULL (FETCH + MERGE) pour mettre à jour la branche activée du projet local à partir du dépôt distant. • PUSH pour envoyer nos COMMIT (et autres modifs) sur le dépôt distant. © Patrick Prémartin / developpeur-pascal.fr
  • 45. TRAVAILLER Notez que les fichiers et modifications non validées restent en local. Globalement seules les modifications ayant fait l’objet d’un COMMIT sont synchronisées. © Patrick Prémartin / developpeur-pascal.fr
  • 46. GITHUB : GitHub est l’un des nombreux services d’hébergement de projets. Plutôt orienté open source GitHub permet aussi de stocker des projets privés. En plus de la partie sources, GitHub propose aussi la gestion de tickets d’incidents, de versions, un wiki par projet et l’hébergement de sites web. © Patrick Prémartin / developpeur-pascal.fr
  • 47. GITHUB : GitHub et les autres plateformes équivalentes ont l’avantage de proposer un peu plus qu’un simple archivage de projets git en ligne et accessible partout. Outre l’utilisation pour nos propres projets on peut collaborer sur d’autres et avec une multitude de développeurs. © Patrick Prémartin / developpeur-pascal.fr
  • 48. GITHUB : Pour nos projets le fonctionnement est le même que sur un serveur à nous. Pour collaborer sur d’autres projets il y a quelques subtilités. © Patrick Prémartin / developpeur-pascal.fr
  • 49. CONTRIBUER Les projets open sources sont attachés à un compte unique. Certains autorisent un accès direct, d’autres préfèrent par mesure de précaution ne pas laisser libre accès et fonctionnent par soumission de groupes de modifications. © Patrick Prémartin / developpeur-pascal.fr
  • 50. CONTRIBUER Pour les premiers, lorsqu’on fait partie des développeurs ayant un accès complet, pas de différence avec le travail habituel. On clone le projet, on crée une branche de travail et quand on a fini on intègre nos modifications au projet global. © Patrick Prémartin / developpeur-pascal.fr
  • 51. CONTRIBUER Pour les seconds il n’est pas possible de soumettre directement nos modifications sur le projet de base. On a deux étapes supplémentaires. © Patrick Prémartin / developpeur-pascal.fr
  • 52. CONTRIBUER Comme pour le reste il existe de nombreux tutoriels en ligne sur le sujet, notamment sur GitHub et ses pairs. Vous pouvez vous inspirer de celui-ci : https://akrabat.com/the-beginners-guide-to- contributing-to-a-github-project/ © Patrick Prémartin / developpeur-pascal.fr
  • 53. GITHUB : Première étape pour participer à un projet public : faire un fork. Ca consiste en une copie du projet d’origine sur notre compte. On travaille ensuite sur ce projet comme n’importe lequel des nôtres. © Patrick Prémartin / developpeur-pascal.fr
  • 54. GITHUB : Dernière étape de la participation à un projet open source : la soumission de nos modifications. Cette opération s’appelle un PULL REQUEST. © Patrick Prémartin / developpeur-pascal.fr
  • 55. GITHUB : Le PULL REQUEST se fait au niveau de notre repository, à partir de notre branche de travail que l’on va pouvoir soumettre pour approbation à une branche du projet d’origine. Charge au gestionnaire de ce projet d’accepter ou refuser notre lot de modifications. © Patrick Prémartin / developpeur-pascal.fr
  • 56. CONCL © Patrick Prémartin / developpeur-pascal.fr Je suis loin d’avoir tout dit sur git et son utilisation en général. Vous avez les manipulations de base et pouvez vous documenter avec les très nombreuses ressources disponibles en ligne.
  • 57. CONCL © Patrick Prémartin / developpeur-pascal.fr Même si vous travaillez seul, en local, sur vos projets, habituez-vous à travailler avec un VCS… et pensez à faire quand même une sauvegarde de vos fichiers à chaque fois que vous sortez une version de vos logiciels, c’est toujours plus sûr d’avoir une version figée quelque part au cas où.
  • 58. CONCL © Patrick Prémartin / developpeur-pascal.fr S’il y avait un dernier conseil à vous donner suite à cette session de présentation ce serait de vous familiariser avec git ou d’autres outils de gestion de version. Tôt ou tard vous en aurez besoin.
  • 59. PLUS © Patrick Prémartin / developpeur-pascal.fr Pour des ressources complémentaires, télécharger cette présentation et accéder aux exemples, rendez-vous sur : https://developpeur-pascal.fr/p/_400a- webinaire-du-22-decembre-2020-utilisation-de- git-dans-delphi.html
  • 60. (RE)VOIR © Patrick Prémartin / developpeur-pascal.fr La rediffusion de ce webinaire devrait être disponible sur la chaîne YouTube de Barnsten : https://www.youtube.com/c/BarnstenFrance/vid eos Vous y trouverez également d’autres vidéos dont une formation complète aux bases de la programmation avec Delphi en VCL et FMX.
  • 61. PROCHAINS © Patrick Prémartin / developpeur-pascal.fr La liste des sujets et des dates pour 2021 sera communiquée courant janvier. Surveillez vos emails. Les rediffusions, détails et inscriptions sont aussi disponibles depuis https://developpeur- pascal.fr/p/_6007-webinaires.html
  • 62. LIVRES © Patrick Prémartin / developpeur-pascal.fr Des livres sur le développement avec Delphi sortent régulièrement. Voici les 3 derniers : • Delphi GUI programming with FireMonkey • Delphi Event-based and Asynchronous Programming • Object Pascal Handbook (Delphi 10.4 Sydney Edition) Liste complète sur https://delphi-books.com/
  • 63. QUESTIONS © Patrick Prémartin / developpeur-pascal.fr