OpenGL["noël"]

OpenGL["noël"]

  • Intro et SDK
  • Bronze
  • Silver
  • Gold
  • Blog
  • OpenGL Documentation
  • OpenGL Wiki
  • GitHub
  • My glTF Viewer Tutorial

›Software Development Kit (SDK)

La Philosophie OpenGL 3+

  • Introduction
  • Le Rendu Direct
  • Pipeline Programmable
  • Deprecation Model
  • Exemple
  • Conclusion

Software Development Kit (SDK)

  • Le repository Github
  • Compilation du SDK
  • Structure du SDK
  • Le site web

Aller plus loin

  • Liens externes

Le repository Github

Git ?

Si vous ne connaissez pas, Git est un système distribué de gestion de version: un logiciel permettant d'enregistrer au fur à mesure les modifications du code source d'un projet, de manière partagé entre plusieurs utilisateur.

On peut ainsi facilement revenir en arrière, partager du code, controler qui fait quoi, gérer plusieurs versions, etc.

L'objectif de ces TDs n'est pas d'apprendre à utiliser Git, mais il sera pratique pour moi de suivre votre progression et de récupérer votre projet grace à un repo Git publique.

Compte Github

Si ce n'est pas déjà fait, commencez par créer un compte sur Github. Ce site vous permet de créer des repository Git et de contribuer sur des projets Open Source.

N'oubliez pas de vérifier votre e-mail en cliquant sur le lien reçu.

Fork du repo des TDs

Une fois connecté sur Github, allez sur la page du repository des TDs https://github.com/Celeborn2BeAlive/openglnoel et cliquez sur le bouton "Fork" en haut à droite.

Cela va créer une copie de mon repository "openglnoel" sur votre compte Github. Vous pourrez utiliser cette copie comme bon vous semble, faire des modifications (c'est le but !), et même me soumettre vos modifications pour intégration dans le repository original (à éviter à moins que je vous le demande).

Installer Git

Sur les machines de la Fac Git est déjà installé. Sous Linux il suffit d'utiliser votre gestionnaire de paquet. Par exemple sous Ubuntu (versions récentes):

sudo apt install git

Commande à adapter à votre distribution Linux.

Sous windows téléchargez et installez Git. Vous devriez ensuite pouvoir lancer une console Git (recherchez "Git" à partir du menu windows) et executer les commandes à venir, comme sous linux.

Cloner votre repo en local

Il faut à présent cloner en local votre copie du repository. On doit pour cela utiliser la commande git clone. Dans une console, commencez par vous placer dans le repertoire de votre choix (utilisez la console Git sous windows):

cd /le/repertoire/de/mon/choix

On clone ensuite le repo (c'est évident mais j'ai appris à me méfier: remplacez <username> par votre nom d'utilisateur Github):

git clone https://github.com/<username>/openglnoel

Si vous travaillez en binome, choisissez l'un des deux repo pour travailler en TD.

Un nouveau dossier openglnoel devrait alors être créé. Cela ci contient le repository local. Déplacez vous dedans en console.

Branches du repo

Un repository peut être composé de plusieurs branches, c'est à dire différente versions du code source, à différent états d'avancement, voir des branches avec un contenu completement différent des autres. Voici les branches du repo de TD:

Principales:

  • master Code de base + apps d'exemple en OpenGL 3+

Corrections:

  • cheat-* Branches de correction des TDs pour chaque niveau Bronze, Silver, Gold. A utiliser lorsque vous aurez perdu toute dignité

Site web des TDs (peut vous concerner si vous voulez corriger les fautes d'orthographe ou contribuer):

  • www Site web statique développé avec docusaurus
  • gh-pages Version buildée et déployée du site web, que vous etes en train de lire en ce moment

Pour changer de branche il faut utiliser la commande

git checkout <branch_name>

Mais vous n'aurez normalement pas à changer de branche.

Première modification

Commençons par une modification simple: l'ajout d'un fichier README.md. Créez ce fichier et écrivez ce que vous voulez dedans.

Utilisez ensuite la commande:

git status

Git vous informe alors des changements dit "non commités" dans votre repo.

Lorsque l'on ajoute un nouveau fichier, il faut le dire à git. Pour cela on utilise la commande:

git add <nom_du_fichier>

Faites le sur README.md.

Si vous utilisez à nouveau git status, vous verrez que le message à changé.

Il faut ensuite dire à Git de "commiter" nos modifications sur les fichiers, grace à la commande:

git commit -a -m "Message de commit décrivant les modifications effectué"

Utilisez cette commande avec le message "Add README.md".

A nouveau git status donne un nouveau message, indiquant que notre repository à un commit d'avance sur origin/master, qui correspond au repo sur Github.

Il faut donc "pusher" nos modifications sur Github:

git push

Git devrait alors vous demander votre username/password pour vous autoriser à push. Vous pourrez ensuite voir vos modifs sur votre repo en ligne, en particulier un fichier README.md s'affiche en page d'accueil du repository (ce fichier doit etre ecrit au format Markdown pour un rendu correct).

Pour eviter d'avoir à entrer username/password à chaque push, il est possible de passer par une clef ssh et utiliser l'url en git:// de votre repo. Consulter cette page pour plus d'info.

Conseils pour la gestion du repo

Afin d'exploiter au mieux votre repo, je vous conseille de commiter vos changements assez souvent afin de "sauvegarder" votre code. Pensez à pusher quelques fois par TDs afin d'avoir vos changements en ligne et que je puisse les consulter.

Récuperer des modification sur votre fork depuis le repo original

Il m'arrivera parfois de faire des modifications sur le repo original, pour du debug ou l'ajout de libs par exemple. Afin de récuperer ces modifications sur votre fork, il faut faire une pull request.

  • Aller sur la page github de votre fork
  • Onglet Pull Request
  • Cliquer sur New Pull Request
  • Cliquer sur compare accross forks en haut de la page
  • En haut choisir comme base repository le votre dans la liste des fork, et choisir la branche (en general master, mais vous voudrez peut etre récuperer les modifs de branches de triche aussi)
  • Choisir comme head repository le mien (Celeborn2BeAlive/openglnoel)
  • Cliquer sur Create pull request, lui donner un titre, et confirmer la creation
  • Cliquer sur Merge pull request, puis Confirm merge

S'il y a des conflits il faudra peut être les traiter. Suivez les instructions de Github pour ça.

Après avoir mergé la pull request, vous pouvez git pull dans votre repository local pour recuperer les modifications.

← ConclusionCompilation du SDK →
  • Git ?
  • Compte Github
  • Fork du repo des TDs
  • Installer Git
  • Cloner votre repo en local
  • Branches du repo
  • Première modification
  • Conseils pour la gestion du repo
  • Récuperer des modification sur votre fork depuis le repo original
OpenGL["noël"]
About Me
Personal websiteGithub
About This Website
BlogopenglnoelPowered by Docusaurus
About OpenGL
Documentation (docs.gl)Wiki
Copyright © 2021 Laurent NOEL