0

Présentation d’Xcode : Les repos et GitHub

Cet article n'a pas été mis à jour depuis plus d'un an, il est possible que certaines informations ne soient plus à jour. Si vous rencontrez des erreurs ou des différences en le suivant, n'hésitez pas à commenter pour me le signaler.

On a déjà rapidement vu dans les bases d’Xcode qu’il était possible de cloner des repositories Git directement depuis Xcode. On va maintenant voir plus en détail le fonctionnement d’Xcode avec GitHub.

Les repos

Tout d’abord, je vous invite à créer un compte sur le site GitHub. Pour le présenter rapidement je vais tout d’abord vous parler des repositories qui est un mot anglais pouvant bien se traduire par “dépôt”. Les repos sont des sortes de dossiers  permettant un versionnage des fichiers qu’il contient. Il s’agit de conserver toutes les modifications apportées à un document depuis sa création avec des commentaires spécifiques à chaque modification. C’est très pratique lorsque l’on travaille à plusieurs ou simplement sur un gros projet. Cela nous permet de conserver un historique de tout le code que l’on a fait et de savoir pourquoi est ce qu’on l’a modifié.

GitHub, c’est un site qui stocke les repos de millions de développeurs et rends leur contenu accessible à tous, c’est une plateforme de code open-source (Wikipedia). Il contient donc des milliers de programme dont le code source est accessible à tous ce qui en fait une base de savoir et de diversité très importante. On y trouve tout un tas d’outils et de scripts très pratiques mais c’est aussi un endroit où chacun peut apporter une modification au code de l’autre et ainsi participer à l’amélioration du code.

Cloner un projet

Lorsque vous avez créé votre compte GitHub, vous pouvez vous y connecter dans Xcode dans le menu Xcode Préférences Accounts puis le petit + en bas à gauche de la fenêtre. Une fois que c'est fait, vous pouvez sélectionner "Clone an existing project" dans la fenêtre d'accueil de Xcode.
 

Au milieu de cette fenêtre s’affiche par défaut les repos sur lesquelles vous avez mis une étoile (l’équivalent des favoris) . On peut télécharger la repo soit en la sélectionnant, soit en entrant son adresse URL dans la barre de recherche en haut puis en cliquant sur le bouton “Clone”. Il est possible de récupérer des repos depuis n’importe quelle plateforme (gitlab, bitbucket, etc…) car ici je vous présente rapidement GitHub mais ce n’est pas le seul à fournir ce service, d’autres le font aussi avec des fonctionnalités différentes.

Pour essayer, vous pouvez copier une application très simple pour iPhone :https://github.com/juniarta/swift-ios-helloworld. Il est également possible de le faire directement depuis le site de GitHub en cliquant sur “Clone or download” puis “Open in Xcode”.

Une fois téléchargé, le fichier s’ouvre comme un projet Xcode classique. Il faudra sélectionner votre identifiant Apple dans la partie Singin du projet pour lancer une compilation (créer un compte développeur). Une fois fait, vous pouvez directement voir le résultat de la compilation du code.

Si on modifie le projet, on peut voir dans le variateur de fichiers à droite des fichiers modifié une indication "M" ou "A". Le M signifie qu'Xcode a détecté une modification sur le fichier concerné et A que le fichier a été ajouté au projet. Il peut parfois y avoir aussi un point d'interrogation qui signifie qu'Xcode ne sait pas ce qui a été fait sur le fichier.

Il est possible d’enregistrer ces modifications et d’y ajouter un commentaire git (appelé commit) via le menu Source control d’Xcode. Depuis ce menu il est également possible de télécharger une mise à jour du projet directement depuis GitHub, d’uploader sa propre version, etc…

Voici donc un toute légère introduction aux repositories Git avec Xcode et GitHub. Il y en a énormément plus à dire croyez moi mais nous y reviendrons plus tard. En attendant je vous laisse parcourir cette fantastique bibliothèque et si vous souhaitez en savoir plus sur ce sujet et le versionnage, voici l’Introduction à GitHub (en anglais).

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *