« STIC:STIC I - Atelier technique 2 » : différence entre les versions

De EduTech Wiki
Aller à la navigation Aller à la recherche
 
(45 versions intermédiaires par 4 utilisateurs non affichées)
Ligne 4 : Ligne 4 :
== Programme ==
== Programme ==


Au programme (peut changer) :
* Ligne de commande
* Git et GitHub


* Fonctionnement d'une page web dynamique côté serveur
== Ligne de commande ==
* Installation serveur web en local avec Ampps
* Installation d'un ou plusieurs portails en local (e.g. Wordpress, MediaWiki, Moodle, ...)
* Démo installation sur serveur distant


== Fonctionnement d'une page web dynamic (server-side) ==
Pourquoi ?
* Faire certaines opérations pas possibles avec une interface GUI
* Comprendre les scripts, c.f. [[fichier de commande]]
* Faire des opérations sur un serveur distant (notamment pour installer des portails)


Lorsqu'on parle d'une page web dynamique on peut se référer à deux types de dynamisme :
=== Demo installation WordPress avec ligne de commande ===


# Côté-serveur : la page est générée de manière dynamique, c'est-à-dire que son contenu peut varier de requête en requête selon certains conditions (e.g. des paramètres dans l'URL, le fait qu'un utilisateur ait le droit ou pas de voir la page, etc.)
Nous allons vous montrer comment on peut utiliser la ligne de commande pour installer [[WordPress]]. Pour l'instant nous allons nous concentrer sur les fichiers, l'installation complète nécessite d'autres composantes (e.g. [[Base de données]]) qui seront traitées dans les prochains ateliers.
# Côté-client : la page présente certains fonctionnalités interactives une fois qu'elle est à disposition de l'utilisateur dans le navigateur web (e.g. drag&drop, slideshow, ...)


Par conséquent, on peut déterminer une sorte de tableau à double entrée qui catégorise les pages selon qu'elles soient statique ou dynamique sur les deux niveaux. En d'autres termes, on peut avoir des pages qui sont :
=== Logiciel ===
Utilisation d'un logiciel pour accéder à la ligne de commande. '''Attention''' : l'utilisation de la ligne de commande peut générer des opérations irréversibles !


* statiques au niveau serveur et client (e.g. vos rapports STIC)
Logiciels :
* statiques au niveau serveur mais dynamique au niveau client (e.g. vos exercices STIC I)
* dynamiques au niveau serveur mais (plutôt) statiques au niveau client (e.g. les pages de ce Wiki)
* dynamiques au niveau serveur et client (e.g. Google docs, jeux online, etc.)


Voici un tableau récapitulatif :
* Pour Windows utiliser le logiciel WIndows Terminal à installer depuis le Microsoft Store ou [https://fr.wikipedia.org/wiki/Windows_PowerShell Windows PowerShell] ('''N'utilisez pas le prompt command''')
* Pour Mac utiliser le [http://www.osxfacile.com/terminal.html Terminal]
* Pour Linux utiliser l’une des lignes de commandes disponibles selon la version.


[[Fichier:Webmaster statique vs dynamique.png|800px|vignette|néant|Comparaison pages statiques vs. dynamiques]]
Les commandes que nous allons voir par la suite fonctionnent sur toutes les plateformes, mais ce n'est pas toujours le cas, et même parmi les commandes illustrés par la suite il y a des différences entre Windows vs. Mac/Linux.


Pour éviter de faire confusion entre le type de dynamisme, au niveau client on parle souvent plutôt de pages web interactives. L'interactivité est déterminé par des scripts JavaScript qui sont téléchargés avec la page web et qui sont exécuté à l'intérieur du navigateur de l'utilisateur. Le dynamisme côté serveur, par contre, se produit avant que la page soit téléchargée par l'utilisateur et concerne donc comment la page est générée.
=== Position actuelle ===


Voici un schéma qui montre le fonctionnement d'un serveur web avec une ressource (page) web statique ou dynamique :
Lorsque vous utilisez la ligne de commande, '''faites toujours attention à la position actuelle dans le système''', que ce soit en local ou sur un serveur distant.


[[Fichier:Express.js-normal-web-server.png|800px|vignette|néant|Fonctionnement d'une page web dynamic au niveau serveur]]
[[Fichier:Node.js command position actuelle.png|none|thumb|600x600px|Toujours bien vérifier la position actuelle (i.e. le path) lorsqu'on utilise la ligne de commande. ]]


La différence concerne le fait qu'une page web dynamique nécessite d'un langage de programmation qui est interprété par le serveur et qui sert pour générer du contenu de manière dynamique, par exemple à travers une base de données.
Pour récupérer votre position actuelle si elle n'est pas visible, utilisez :


== Installation serveur web en local avec Ampps ==
pwd


=== Présentation de ampps ===
C'est l'acronyme de "Print Working Directory".


Pour créer/tester des applications web côté-serveur, nous allons d'abord installer [http://www.ampps.com/ ampps], qui est un logiciel libre qui facilite l'installation de plus de 400 applications web parmi lesquelles :
=== Commandes principales ===


* Wordpress
Il y a eu un effort dans les dernières années pour uniformer certaines commandes dans les différentes plateforme (Win vs. Unix). Les commandes listées par la suite fonctionnent généralement sur tous les systèmes :
* Moodle
* MediaWiki
* Chamilo
* Etc.


De plus, ampps installe et configure sur votre ordinateur :
;Changer de dossier


* Un serveur web de type Apache
cd
* Le langage de programmation côté-serveur PHP
* Une base de données de type MySQL


Le logiciel installe également d'autres éléments (Perl, MongoDB, etc.), mais ces trois sont les éléments le plus fréquemment utilisés, à présent (2016), dans des applications qui proposent les deux avantages suivants :
C'est l'acronyme de Change Directory. On utilise cette commande avec des chemins absolus ou relatifs à la position actuelle.


# Elles sont considérées stables, car elles existent depuis plusieurs années et ont été mis à jour regulièrement
Vous pouvez faire référence aux différents niveaux de l'arborescence par rapport à la position actuelle avec les notations suivantes :
# Elles disposent de zone d'administration et même parfois des scripts d'installation qui permettent de gérer une application avec des connaissances techniques limitées


Avant que ce type de logiciel étaient mis à disposition, pour obtenir un serveur web en local il fallait installer Apache, MySQL et PHP séparément, ainsi que les configurer selon le système d'exploitation. Ce passage était déjà très compliqué en soi, et en plus le résultat était souvent très différent par rapport à la configuration du serveur distant, sur lequel l'application était destinée en production.
* <code>./</code> fait référence au dossier actuel
** '''attention''' à ne pas confondre avec <code>/</code> (sans point) qui fait référence à la '''racine de votre système''' où se trouvent des fichiers importants !
* <code>../</code> fait référence à un niveau supérieur
* <code>../../</code> fait référence à deux niveaux supérieurs
* etc.
* <code>~</code> fait référence au dossier utilisateur (dont la position peut varier selon le système d'exploitation).


Grâce à des logiciels comme ampps, l'installation en local se fait de manière très simple et, en plus, la configuration de base est déjà prise en charge par le logiciel. De plus, il existe la possibilité de modifier facilement des paramètres par la suite (e.g. version de PHP, etc.)
Examples :


=== Installation du logiciel ===
* <code>cd documents</code>
* <code>cd ../stic-1/ex1/</code>
* <code>cd ~/Documents</code>
* <code>cd /home</code>


Pour installer ampps il faut tout simplement :
Hint:  


# Télécharger le fichier d'installation depuis la [http://www.ampps.com/downloads section download du site officiel]
* vous pouvez vous aider avec la touche TAB pour complèter des noms des fichiers très longs. Cette pratique s'applique à toutes les commandes
# Choisir la version adaptée à son propre système d'exploitation (Win, Mac ou Linux). Choisir la version '''avec installer''' facilite le processus.
* vous pouvez trainer un dossier depuis votre gestionnaire de fichiers dans le terminal de commande pour faire apparaître son chemin
# Lancer le fichier d'installation et suivre les instructions
* pour windows seulement : quand vous êtes au bon chemin dans votre gestionnaire de fichiers appuyez sur les touches <code>Ctrl + l</code> (comme lausanne) et tapez <code>powershell</code> dans la barre de l'adresse.  


Dans le wiki du site officiel il existe un [http://www.ampps.com/wiki/Install '''tutoriel''' sur les étapes d'installation], une vidéo est également disponible.
; Lister les fichiers


Une fois l'installation achevée, vous devez obtenir un panel de contrôle similaire à celui ci :
ls


[[Fichier:Ampps control panel.png|cadre|néant|Panel de contrôle de Ampps]]
On utilise cette commande pour afficher une liste de dossiers/fichiers existants à un chemin donné. Si la commande n'a pas d'argument, la position actuelle sera prise en compte. Si non, il est possible de fournir :


Si tout a marché correctement, vous devez obtenir les messages suivants en bas de la fenêtre du panel :
* Un chemin absolu ou relatif, e.g. <code>ls /home</code> va lister tous les éléments contenu dans le dossier home qui se trouve à la racine du système
* Un critère de selection, e.g. <code>ls *.png</code> va lister tous les fichiers qui terminent avec .png


Apache Started
; Créer un dossier
MySql Started


Si ce n'est pas le cas, essayez de cliquer sur les deux boutons Start sous Apache et MySQL.
mkdir nom-du-dossier


==== Potentiels problèmes avec le logiciel ====
C'est l'acronyme de Make Directory. On utilise cette commande pour créer un nouveau dossier à un chemin donné (dans la position actuelle si on spécifie juste le nom du nouveau dossier).


Si vous n'arrivez pas à faire démarrer Apache et/ou MySQL, il peut y avoir un problème avec les portes de votre ordinateur, notamment avec le serveur Apache.
Examples :


En effet, le serveur Apache marche (ou écoute) la porte :80 de votre ordinateur qui peut être utilisée également par d'autres processus (e.g. Skype). Dans ce cas, il faudra résoudre le conflit : vous pouvez tout simplement fermer l'application. S'il s'agit de Skype, veuillez faire attention de bien fermer l'application (Sorti de Skype) et pas seulement la fenêtre.
* <code>mkdir my-new-folder</code>
* <code>mkdir ~/Documents/atelier-webmaster</code>


=== Installation des applications web ===
; Copier un fichier/dossier


Pour installer les applications web il faudra utiliser l'interface web. Pour y acceder, cliquer tout simplement sur l'icône "HOME" du panel de contrôle. Votre navigateur web s'ouvre et pointe sur la page :
cp chemin-du-fichier-existant chemin-de-la-nouvelle-copie


* http://localhost/ampps
On utilise cette commande pour créer une copie d'un fichier existant et la placer dans un autre endroit.


La première fois que vous accédez à l'interface web, ampps vous demande si vous voulez sécurisez l'accès. Cette étape n'est pas fondamentale si vous ne partagez pas ampps dans un réseau local ou dans le web.
Examples :


La page d'accueil de l'interface web se présente ainsi :
* <code>cp documents documents-old</code>
* <code>cp file.txt /home/backup/file.txt</code>


[[Fichier:Ampps interface web home.png|800px|vignette|néant|Homepage de l'interface web de ampps]]
; Déplacer un fichier/dossier


L'interface présente :
mv chemin-du-fichier-actuel nouveau-chemin-du-fichier


* Sur la gauche une liste de catégories parmi lesquelles vous pouvez trouver les applications à installer
On utilise cette commande d'une manière similaire à <code>cp</code> avec la différence que le fichier lui-même sera déplacé à un nouveau endroit.
* Sur la droite des liens d'administration (configuration, bases de données, etc.)


Une fois choisi l'application qui nous intéresse parmi les choix disponibles, la page d'installation de l'application nous permet déjà de faire les configurations nécessaires pour installer l'application. Les paramètres de configuration dépendent de l'application choisie. Ici de suite vous avez un aperçu de la page d'installation de Moodle :
Examples :


[[Fichier:Ampps Moodle install.png|800px|vignette|néant|Page d'installation de l'application Moodle via Ampps]]
* <code>mv stic-1/ex12/ stic-2/ex12/</code>


Les paramètres qui sont plus au moins commun à tout type d'application concerne :
; Détruire des fichiers/dossiers


* La version de l'application (e.g. 3.1.2, 2.7.1, etc.)
Il existe des commandes également pour détruire des fichiers/dossiers mais on ne les verra pas ici. Ces commandes sont en effet irréversibles (i.e. les fichiers ne sont pas mis dans la corbeille).
* Le dossier dans lequel installer l'application. Ce paramètre est important parce qu'il détermine également l'URL pour accéder à l'application. Il faut choisir un nom de dossier qui n'existe pas dans votre système, et le dossier choisi représentera le path à ajouter après http://localhost/.
** E.g. si vous saisissez <code>my-personal-moodle</code>, votre application moodle sera accessible via http://localhost/my-personal-moodle
** De cette manière vous pouvez installer plusieurs instances de la même application
* Le préfixe des tables dans la base de données (et en option avancée le nom de la base des données)


Certaines application, comme par exemple Moodle, vous permettent déjà en phase d'installation de choisir des paramètres tels que :
=== Travailler avec un serveur linux distant ===


* Le titre de votre site
Pour se connecter en ligne de commande à un serveur distant, vous pouvez utiliser <code>SSH</code>. Voici la commande pour se connecter au serveur <code>tecfaetu.unige.ch</code> :
* La description
 
* Le username, password, email, etc. de l'account administrateur
ssh tecfaetu.unige.ch -l ''votre-login-court''
 
Une fois la commande lancée, le terminal va vous demander de confirmer la connexion. Vous pouvez accepter en saisissant <code>yes</code>.
 
À ce moment vous êtes connectés à la machine et vous pouvez donc bénéficier des commandes que nous avons vues plus haut dans la page.
 
==== Pour windows si ssh ne marche pas ====
 
Si la commande <code>ssh</code> ne marche pas sous Windows avec PowerShell, il faudra installer un autre logiciel :
 
* [https://putty.org/ Putty]
 
Une fois installé
# Ouvrir le logiciel et saisir <code>tecfaetu.unige.ch</code> dans le Host Name.
# Laissez la porte 22 et cliquez en bas sur '''Open'''
# Acceptez un éventuel message d'avertissement
# Mettre votre login court et mot de passe
# Vous êtes déjà connecté en SSH à ce moment, pas besoin de relancer la commande
 
==== Activité manipulation d'un fichier ====
 
# Commencez par vous informer sur la position actuelle avec la commande <code>pwd</code>
# Depuis cette position, déplacez-vous à l'aide de la commande <code>cd</code> pour arriver à votre espace travaux, par exemple :
#: <code>/web/etu-maltt/''volée''/''votre-login-court''</code>
#: Pour ce faire, vous avez différentes stratégies, par exemple utiliser <code>cd ../</code> pour remonter l'arborescence, etc.
# '''Utilisez la commande <code>pwd</code> pour contrôler que vous êtes au bon endroit !'''
# Listez tout le contenu du dossier avec la commande <code>ls</code>, qu'est-ce que vous voyez ?
# Créez un dossier qui s'appelle <code>atelier-technique</code> avec la commande <code>mkdir atelier-technique</code>
# Déplacez-vous dans ce nouveau dossier avec la commande <code>cd atelier-technique</code>
# Vous allez créer un fichier depuis la ligne de commande. Saisissez la commande <code>touch test.txt</code>
# Contrôlez que le fichier a bien été créé avec la commande <code>ls</code>. Son nom doit apparaître à l'écran
# Vous pouvez modifier directement le contenu du fichier avec un éditeur de texte disponible depuis la ligne de commande. Saisissez la commande <code>nano test.txt</code>
# Une interface très simple apparaît à l'écran qui vous permet d'écrire dans le fichier. Écrivez un texte, par exemple "Ce fichier a été créé depuis la ligne de commande". Utilisez les raccourcis clavier indiquées en bas pour enregistrer/écrire le contenu dans le fichier, en sachant que le caractère <code>^</code> équivaut à la touche <code>Ctrl</code>, donc <code>^X</code> équivaut à <code>Ctrl + X</code>. Une fois le texte écrit dans le fichier, sortez de l'interface de l'éditeur de texte.
# Contrôlez que le contenu du fichier a été enregistré en saisissant la commande <code>cat test.txt</code>. Si vous avez suivi les étapes correctement, vous allez voir le message que vous avez écrit dans le fichier s'afficher dans la ligne de commande
 
Une fois que vous voulez vous déconnecter du serveur distant, vous avez deux options :
 
# Fermez tout simplement le logiciel (PowerShell, terminal, ...)
# Saisir la commande <code>exit</code>
 
== Git/GitHub ==
 
Git (logiciel de gestion de version en local) et GitHub (extension online de Git) sont des outils qui sont très utilisés à présent et leur connaissance, au moins au niveau de base, peut être utile à plusieurs niveaux. En effet, ils ne sont pas utilisés exclusivement pour la programmation, mais également pour :
 
* Maintenir un site web
** voir [https://pages.github.com/ GitHub Pages]
* Écrire/maintenir de la documentation online
* Écrire des livres
* Mettre à disposition du matériel d'un cours (online)
* Mettre à disposition des données et des analyses d'un article de recherche
** Voir par exemple [http://happygitwithr.com/ Happy Git and GitHub for the useR]
* Créer une classe virtuelle avec des devoirs qui prévoient du codage
** voir [https://education.github.com/ GitHub Education]
** voir [https://classroom.github.com/ GitHub Classroom]
* Découvrir des projets existants et créer des liens avec d'autres personnes actives dans les projets
** voir [https://help.github.com/articles/be-social/ Be Social]
** voir [https://github.community/ GitHub Community Forum]
* ...
* ...


Une fois déterminé les paramètres souhaitez, cliquez tout simplement sur le bouton '''Install''' en bas de la page. Le processus d'installation démarre et il exécute automatiquement les étapes suivantes :
En plus, la participation dans des projets open-source disponibles sur GitHub ne se limite pas à l'écriture du code. Les projets recherchent souvent d'autres type de participation tels que :


* Télécharger les fichiers de la version de l'application choisie
* La gestion du projet
* Copier/dézipper les fichiers dans le dossier choisi
* Collecter/répondre aux "Issues" soulevées par les utilisateurs
* Configuration des fichiers de système avec les paramètres nécessaires (base de donné, etc.)
* Tester/débugger les projets
* Corriger l'orthographe
* ...
 
Pour plus d'informations voir :
 
{{ Goblock | [[Gestion de versions]] }}


L'avantage d'utiliser un système de type Ampps concerne également le fait qu'il peut vous avertir s'il y a des problèmes en phase d'installation.
=== Présentation ===


==== Problèmes avec l'installation d'une application ====
[[Fichier:Git et GitHub dans un projet open-source.png|800px|vignette|néant|Git et GitHub dans un projet open-source]]


S'il y un ou plusieurs problèmes en phase d'installation, Ampps arrête l’exécution et affiche les problèmes à l'écran. Vous trouvez ici de suite, par exemple, une erreur dans l'installation de Moodle qui concerne la version de PHP disponible :
; À retenir :


[[Fichier:Ampps Moodle install error.png|800px|vignette|néant|Erreur dans l'installation de Moodle]]
{{bloc important | '''Git''' : système de version de fichiers en local }}


Il s'agit d'une erreur assez commune qui peut être corrigé à travers le panel de contrôle de Ampps :
Vous pouvez travailler sur plusieurs versions de votre projets
* Créer des "branches" pour tester des nouvelles fonctionnalités
* Revenir à une version précédente si quelque chose ne marche pas correctement
* ...


# Menu PHP > Change PHP Version
{{bloc important | '''GitHub''' : plateforme de développement collaborative pour projets }}
# Sélectionnez la version souhaitée


Ampps fait un restart automatique pour prendre en compte les changements, mais parfois il est plus sûr de rédemarrer une deuxième fois Apche et MySQL à travers les boutons du Control Center.
Possibilités :


À ce point vous pouvez reprendre l'installation, le message d'erreur ne s'affichera plus.
* Vous pouvez travailler à plusieurs sur le même projet/repository
* Les projets peuvent être publics (default) ou privés (versions payante)
* Les projets peuvent être open-source ou pas
* Attention à ne pas confondre public = open-source et privé = non open-source, c'est la '''licence''' qui détermine le type de projet


==== Liste d'erreurs communs ====
; À savoir :


Parmi les erreurs les plus fréquents on trouve :
* On peut utiliser Git sans GitHub, mais c'est difficile de pouvoir utiliser GitHub sans Git (quoi que possible si on travaille juste avec l'interface du site)
* On peut utiliser Git avec d'autres services online, e.g. :
** {{Goblock | [https://gitlab.unige.ch/ GitLab UNIGE] }}
** [https://bitbucket.org/ BitBucket]
** [https://www.visualstudio.com/fr/team-services/ Visual Studio Team Services]
* On peut utiliser Git et GitHub avec n'importe quel type de projet/fichier (pas que développement web)


* La version de PHP (voir plus haut)
; À éviter :
* L'activation d'extensions de PHP (qui peuvent être activés toujours à travers le panel de contrôle)
* L'activation de modules Apache requis


=== Configuration des applications web installées ===
* '''Évitez''' de créer des projets/repository Git dans des dossiers locaux qui sont liés à un système de synchronisation de données (e.g. Dropbox, OneDrive, Google Drive)
* Faites attention à ne pas publier des données sensibles. Par exemple si vous publiez par erreur un mot de passe, pensez à le modifier tout de suite, il ne suffit pas de le faire disparaître de GitHub (entretemps quelqu'un peut l'avoir vu ou il peut rester dans le cache, etc.) - voir  [https://help.github.com/articles/removing-sensitive-data-from-a-repository/ Removing sensitive data from a repository]


Une fois votre installation achevée, selon le type d'application que vous avez choisie, vous devez/pouvez configurer ultérieurement votre application. Cela peut se faire généralement de deux manières :
=== Activités prévues ===


# À travers une zone d'administration qui est propre à l'application et qu'il ne faut pas confondre avec l'interface web de Ampps. Par exemple, Moodle dispose de sa propre zone d'administration, c'est pour cela que pendant le processus d'installation vous avez dû choisir un account admin.
Vous allez effectuer des activités sur le portail GitHub pour consolider certains concepts vus dans la présentation. Nous allons utiliser seulement GitHub, car l'utilisation de Git nécessite de l'installation sur votre ordinateur, ce qui nécessite un peu plus de temps. On verra Git de manière plus approfondie dans un prochain atelier.
# À travers la modification manuelle de fichiers qui sont disponibles dans le dossier où vous avez installé votre application. Ces fichiers sont souvent des fichiers '''.php''' que vous pouvez ouvrir avec un éditeur de texte (e.g. [[Brackets]])
#* Ces fichiers se trouvent généralement dans le dossier <code>www</code> qui se trouve à l'intérieur du dossier où vous avez installé Ampps et que vous pouvez voir dans le panel de contrôle (voir image plus haut dans la page)


== Demo installation serveur distant ==
==== Créer un compte GitHub ====


Bien que certains hébergeurs web mettent à disposition des solutions similaires à Ampps pour installer des applications (ce qu'on appelle souvent des solutions One-Click Install), le processus est plus compliqué lorsqu'il faut le faire manuellement. La démarche exacte peut varier selon l'application choisie, et souvent il existe des tutoriels spécifiques pour suivre des étapes, mais de manière générale on peut identifier les passages suivants :
Si vous n'avez pas encore un account GitHub ou vous préférez en utiliser un différent par rapport à celui que vous avez déjà, il faudra créer un nouveau compte.


# Télécharger (download) les fichiers qui composent l'application. Il s'agit souvent de fichier .zip ou .rar qui contiennent tous les fichiers nécessaires à l'application de manière comprimée.
# Pointez vers le site https://github.com/
#* Une erreur assez commune concerne le fait qu'ils s'attendent à télécharger un logiciel/executable, mais ce n'est pas le cas
# Créez un nouveau compte.
# Uploader ces fichiers sur le serveur distant sur lequel l'application va tourner
#* '''Vous pouvez utiliser le username que vous voulez, sans nécessité qu'il soit reconnaissable'''
#* Pour ce faire il faut disposer d'un account (S)FTP ou SSH avec les droits d'écriture/modification sur le fichier
#* Si vous comptez utiliser GitHub par la suite, utilisez votre email personnel plutôt que l'email étudiant UNIGE
# Préparer une base de données pour contenir les données de configuration et les contenus de l'application
#* Pour ce faire il faut disposer d'un account pour la base des données (e.g. MySQL) et souvent d'une interface pour éviter d'avoir à exécuter ces opérations en ligne de commande (e.g. phpMyAdmin)
# Lancer un script d'installation/configuration avec une interface web (ou modifier manuellement des fichiers de configuration qui ont été uploadés au point 2) pour insérez les informations sur la base de données créée. Parmi ces informations on retrouve souvent :
#* Le host de l'application : souvent c'est <code>localhost</code> mais cela peut être également un url du type <code>mysql.mydomain.com</code>
#* Le username de l'account qui a accès à la base de données
#* La password de l'account qui a accès à la base de données
#* Le nom de la base des données qui va contenir les données
#* Eventuellement un préfix du nom des tables pour les distinguer d'autres déjà présent dans la même base des données


Ce qui peut souvent créer de la confusion est le fait qu'on à souvent à faire avec trois accounts (et mots de pass) différents :
==== Création d'un projet sur GitHub ====


# L'account de type (S)FTP pour uploader/modifier les fichiers physiques de l'application
Vous allez suivre un tutoriel du site GitHub qui vous permet de créer un dépôt sûr qui simule un projet public/open-source. Cela permet de voir :
# L'account de la base de données (très souvent MySQL) qui permet d'intéragir avec les tables (ajouter, créer, effaces des tables ou des données dans les tables)
# Un account d'administrateur qui est créé par l'application elle-même (e.g. administrateur Moodle)


=== Anatomie d'une application web ===
* Utilisation du site [https://github.com GitHub.com]
* La création d'un dépôt avec le choix d'une licence et un fichier d'information README
* La notion de '''commit'''
* La notion de '''branch'''
* La notion de '''pull request'''


Une application web dynamique se compose de trois éléments qui sont en lien l'un avec l'autre :
Pointez vers le tutoriel et suivez-le étape par étape :


# L'interface (l'application telle qu'elle est disponible aux utilisateur à travers le navigateur)
* {{Goblock|[https://guides.github.com/activities/hello-world/ Hello World example sur GitHub.com]}}
# Les fichiers
# La base de données


Voici la structure en image :
Une fois terminé, répondez à la discussion dans le forum de l'espace Moodle dédié aux Ateliers techniques en ajoutant le lien à votre dépôt.
 
==== Participer à un projet déjà existant ====
 
Si vous avez terminé le premier tutoriel, vous pouvez enchaîner avec la participation à un projet déjà existant. Petit hands-on sur comment on peut participer/contribuer à un projet déjà existant. En bref :
 
* Fork du projet https://github.com/MALTT-STIC/stic-webmaster-test
* Créer un fichier VotreLoginCourt.md || VotreLoginGitHub.md dans la racine du projet
* Envoyer une pull request au projet initial pour incorporer le changement
 
Pour plus d'infos voir
 
* {{Goblock|[https://guides.github.com/activities/forking/ Forking projects sur GitHub.com]}}
 
; Suivre les étapes suivantes :
 
# Pointer à l'URL d'un repository/projet créé pour l'occasion https://github.com/MALTT-STIC/stic-webmaster-test
# Cliquez sur le bouton '''Fork''' en haut à gauche, cette opération vous permet de '''créer une copie du projet dans votre account'''
# Après le temps nécessaire, vous serez redirigés vers la page du fork du projet
#* Notez bien le nom du projet maintenant, il s'appelle '''''votre-login-github''/stic-webmaster-test'''
#* Notez également que au-dessous du nom du projet apparaît '''forked from MALTT-STIC/stic-webmaster-test'''
# Cliquez sur le bouton <code>Create new file</code>
# Dans l'éditeur en ligne qui s'ouvre :
## Ajoutez un nom du fichier du type '''''votre-username-github''.md'''
## Ajoutez du contenu, pas important quoi (si jamais c'est du contenu de type [https://guides.github.com/features/mastering-markdown/ Markdown], une notation de marquage similaire au code wiki)
## Insérez une labellisation à votre commit
## Insérez une description pour votre commit (optionnelle)
## Laissez l'option Commit directly to the master branch cochée
## Cliquez sur <code>Commit new file</code>
# Vous êtes redirigés sur la page principale de votre projet où le nouveau fichier apparaît avec les autres fichiers. Cliquez maintenant sur <code>New pull request</code>
# Vous arrivez sur une page qui compare votre projet avec le projet original et vous informe que vous pouvez ''merge'' les deux sans conflits. Cliquez sur le bouton vert <code>Create pull request</code>
#: [[Fichier:GitHub create pull request.png|600px|vignette|néant|Créer une "Pull request" au projet d'origine]]
## Encore une fois, choisissez une labellisation qui définit votre changement
## Ajoutez également une explication qui permette aux propriétaires du projet originale de savoir pourquoi vous proposez ce changement
## Cliquez à nouveau sur le bouton vert <code>Create pull request</code>
##: [[Fichier:GitHub envoyer la pull request.png|600px|vignette|néant|Envoyer la pull request avec une explication pour les propriétaires du projet original]]
# Votre requête sera envoyée aux propriétaires du projet original qui pourront décider si l'accepter (et l'intégrer donc dans le projet) ou pas
 
==== GitHub Pages ====
 
Créer et maintenir un site web directement à travers un dépôt GitHub :
 
{{ Goblock | [https://pages.github.com/ GitHub Pages] }}
 
Essayez de :
 
# Créer un dépôt
# Y ajouter un fichier index.html
# Faire le set-up pour qu'on puisse voir cette page GitHub pages
 
{{ bloc important | La mise en ligne de GitHub Pages peut prendre quelques minutes }}
 
==== Skills GitHub ====
 
Vous pouvez trouver d'autres tutoriels interactifs sur le site officiel :
 
{{ Goblock | [https://skills.github.com/ GitHub Skills] }}
 
=== Optionnel : Installation des logiciels ===
 
Si vous comptez utiliser Git/GitHub concrètement, il vous faudra installer les logiciels sur votre ordinateur.
 
==== Git ====
 
# Installez le logiciel git depuis le site officiel : https://git-scm.com/
#* Suivre les instructions [[Git_et_Github#Installer_Git]]
# Il faudra configurer Git à travers la ligne de commande
#* '''Attention''' : utilisez le nom d'utilisateur et l'adresse email que vous avez utilisé pour créer votre account GitHub
 
; Nom d'utilisateur
 
git config --global user.name "''votre username GitHub''"
 
; Email
 
git config --global user.email ''votre-email-account-github@domain.com''
 
Ces configurations vont permettre par la suite de reconnaître vos contributions, par exemple dans un projet commun.
 
==== Optionnel : Git dans éditeur de texte ====
 
Il y a la possibilité d'intégrer git directement dans des éditeurs de texte, par exemple :
 
* Installer [https://github.com/zaggino/brackets-git extension pour utiliser Git] directement dans [[Brackets]] ('''ça marche mais pas idéal''')
* Installer [[Visual studio code]] qui a déjà Git intégré ('''préférable''' si vous comptez utiliser sérieusement Git)
** [https://code.visualstudio.com/Download Lien direct pour le download]
 
==== GitHub Desktop ====
 
# Installez GitHub Desktop https://desktop.github.com/
 
Documentation logiciel : https://help.github.com/desktop/guides/
 
==== Pour aller plus loin ====
 
Il existe beaucoup de commandes qui vous permettent de travailler sur différentes versions de votre projet en local, comparer les différences, faire un ''merge'' entre deux branches, etc :
 
* git init
* git add [params]
* git commit [params]
* git branch [params]
* git checkout [params]
* ...


[[Fichier:AtelierWebmaster web application components.png|800px|vignette|néant|Les trois composantes d'une application web dynamique]]
Pour plus d'infos voir [https://git-scm.com/docs Git - Reference sur le site officiel de Git]


Il en résulte que si vous voulez obtenir exactement la même interface que vous avez en local sur votre serveur distant, il faudra répliquer exactement la même configuration, c'est-à-dire :
== Ressources ==


* Exactement la même structure des fichiers
=== Ligne de commande ===
* Exactement la même structure de la base de données


'''Attention #1''' : cela n'est cependant pas suffisant. Il faudra également adapter votre configuration au serveur distant, car il se peut que vous n'avez pas exactement les mêmes accounts en local que sur le serveur distant. Exemple :
* [[Commandes Unix]]
* [[Commandes Windows]]
* [[Commandes Mac]]


* En local (ou sur un autre site) l'account pour accéder à la base de donnée s'appelle <code>user_local123</code>
=== Git/GitHub ===
* Sur le serveur distant l'account s'appelle plutôt <code>fh437g344r538</code>


Il faudra donc modifier cette références dans tous les endroits où le nom de l'account pour accéder à la base de données est mentionné.
* [[Gestion de versions]]
* [[Git]]
* [[GitHub]]
* [https://guides.github.com/ Guides sur le site officiel GitHub]
* [https://skills.github.com Skills sur le site officiel GitHub] tutoriels interactifs
* [https://lab.github.com/ GitHub Learning Lab]
* [https://help.github.com/articles/github-glossary/ Glossaire sur le site officiel GitHub]
* [https://www.youtube.com/githubguides GitHub Training & Guides sur YouTube]
* [https://pages.github.com/ GitHub Pages]
* [https://git-scm.com/book/fr/v2 Pro Git] version online (traduite en français) du livre
* [http://swcarpentry.github.io/git-novice/ Tutoriel sur Software-Carpentery] pour novices


'''Attention #2''' : selon le type d'application, il se peut que certaines références à l'intérieur des fichiers ou de la base des données fassent référence à des paramètres spécifiques de votre application en local, par exemple :
=== GitHub Education & Classroom ===


* Wordpress utilise une référence dans la base de données pour déterminer l'URL du site. Donc cet URL dans votre site local ampps est très probablement http://localhost/votre-nom-de-dossier-wp, mais sur le serveur distant vous aurez plutôt http://tecfaetu.unige.ch/projets/votre-volée/nom-projet/etc
* [https://education.github.com/ GitHub Education] : utilisation de GitHub dans l'éducation
* Certaines applications mémorisent le chemin absolu dans lequel elles ont été installées, donc en local vous pouvez avoir quelque chose du style "C://...", mais sur le serveur sera plutôt "/web/projets/..."
** Voir notamment [https://classroom.github.com GitHub Classroom] pour créer des "assignments" à travers GitHub


==Liens==
=== Open Source ===


* [http://www.ampps.com/ Site officiel ampps]
* [https://opensource.org/ Open Source Initiative]
* [http://www.ampps.com/wiki/Main_Page Documentation ampps]
* [https://choosealicense.com/ Choose an open source licence] (synthèse et suggestions des licences proposées par GitHub)
* [https://en.wikipedia.org/wiki/LAMP_(software_bundle) Architecture LAMP sur Wikipedia]
* [https://www.youtube.com/watch?v=0DL-MeAvWz4 Tutoriel vidéo sur phpMyAdmin] ('''Attention''', l'accès à phpMyAdmin dans le tutoriel est différent de Ampps)

Dernière version du 11 décembre 2022 à 21:46

Cette page fait partie des cours STIC I et STIC II

Programme

  • Ligne de commande
  • Git et GitHub

Ligne de commande

Pourquoi ?

  • Faire certaines opérations pas possibles avec une interface GUI
  • Comprendre les scripts, c.f. fichier de commande
  • Faire des opérations sur un serveur distant (notamment pour installer des portails)

Demo installation WordPress avec ligne de commande

Nous allons vous montrer comment on peut utiliser la ligne de commande pour installer WordPress. Pour l'instant nous allons nous concentrer sur les fichiers, l'installation complète nécessite d'autres composantes (e.g. Base de données) qui seront traitées dans les prochains ateliers.

Logiciel

Utilisation d'un logiciel pour accéder à la ligne de commande. Attention : l'utilisation de la ligne de commande peut générer des opérations irréversibles !

Logiciels :

  • Pour Windows utiliser le logiciel WIndows Terminal à installer depuis le Microsoft Store ou Windows PowerShell (N'utilisez pas le prompt command)
  • Pour Mac utiliser le Terminal
  • Pour Linux utiliser l’une des lignes de commandes disponibles selon la version.

Les commandes que nous allons voir par la suite fonctionnent sur toutes les plateformes, mais ce n'est pas toujours le cas, et même parmi les commandes illustrés par la suite il y a des différences entre Windows vs. Mac/Linux.

Position actuelle

Lorsque vous utilisez la ligne de commande, faites toujours attention à la position actuelle dans le système, que ce soit en local ou sur un serveur distant.

Toujours bien vérifier la position actuelle (i.e. le path) lorsqu'on utilise la ligne de commande.

Pour récupérer votre position actuelle si elle n'est pas visible, utilisez :

pwd

C'est l'acronyme de "Print Working Directory".

Commandes principales

Il y a eu un effort dans les dernières années pour uniformer certaines commandes dans les différentes plateforme (Win vs. Unix). Les commandes listées par la suite fonctionnent généralement sur tous les systèmes :

Changer de dossier
cd

C'est l'acronyme de Change Directory. On utilise cette commande avec des chemins absolus ou relatifs à la position actuelle.

Vous pouvez faire référence aux différents niveaux de l'arborescence par rapport à la position actuelle avec les notations suivantes :

  • ./ fait référence au dossier actuel
    • attention à ne pas confondre avec / (sans point) qui fait référence à la racine de votre système où se trouvent des fichiers importants !
  • ../ fait référence à un niveau supérieur
  • ../../ fait référence à deux niveaux supérieurs
  • etc.
  • ~ fait référence au dossier utilisateur (dont la position peut varier selon le système d'exploitation).

Examples :

  • cd documents
  • cd ../stic-1/ex1/
  • cd ~/Documents
  • cd /home

Hint:

  • vous pouvez vous aider avec la touche TAB pour complèter des noms des fichiers très longs. Cette pratique s'applique à toutes les commandes
  • vous pouvez trainer un dossier depuis votre gestionnaire de fichiers dans le terminal de commande pour faire apparaître son chemin
  • pour windows seulement : quand vous êtes au bon chemin dans votre gestionnaire de fichiers appuyez sur les touches Ctrl + l (comme lausanne) et tapez powershell dans la barre de l'adresse.
Lister les fichiers
ls

On utilise cette commande pour afficher une liste de dossiers/fichiers existants à un chemin donné. Si la commande n'a pas d'argument, la position actuelle sera prise en compte. Si non, il est possible de fournir :

  • Un chemin absolu ou relatif, e.g. ls /home va lister tous les éléments contenu dans le dossier home qui se trouve à la racine du système
  • Un critère de selection, e.g. ls *.png va lister tous les fichiers qui terminent avec .png
Créer un dossier
mkdir nom-du-dossier

C'est l'acronyme de Make Directory. On utilise cette commande pour créer un nouveau dossier à un chemin donné (dans la position actuelle si on spécifie juste le nom du nouveau dossier).

Examples :

  • mkdir my-new-folder
  • mkdir ~/Documents/atelier-webmaster
Copier un fichier/dossier
cp chemin-du-fichier-existant chemin-de-la-nouvelle-copie

On utilise cette commande pour créer une copie d'un fichier existant et la placer dans un autre endroit.

Examples :

  • cp documents documents-old
  • cp file.txt /home/backup/file.txt
Déplacer un fichier/dossier
mv chemin-du-fichier-actuel nouveau-chemin-du-fichier

On utilise cette commande d'une manière similaire à cp avec la différence que le fichier lui-même sera déplacé à un nouveau endroit.

Examples :

  • mv stic-1/ex12/ stic-2/ex12/
Détruire des fichiers/dossiers

Il existe des commandes également pour détruire des fichiers/dossiers mais on ne les verra pas ici. Ces commandes sont en effet irréversibles (i.e. les fichiers ne sont pas mis dans la corbeille).

Travailler avec un serveur linux distant

Pour se connecter en ligne de commande à un serveur distant, vous pouvez utiliser SSH. Voici la commande pour se connecter au serveur tecfaetu.unige.ch :

ssh tecfaetu.unige.ch -l votre-login-court

Une fois la commande lancée, le terminal va vous demander de confirmer la connexion. Vous pouvez accepter en saisissant yes.

À ce moment vous êtes connectés à la machine et vous pouvez donc bénéficier des commandes que nous avons vues plus haut dans la page.

Pour windows si ssh ne marche pas

Si la commande ssh ne marche pas sous Windows avec PowerShell, il faudra installer un autre logiciel :

Une fois installé

  1. Ouvrir le logiciel et saisir tecfaetu.unige.ch dans le Host Name.
  2. Laissez la porte 22 et cliquez en bas sur Open
  3. Acceptez un éventuel message d'avertissement
  4. Mettre votre login court et mot de passe
  5. Vous êtes déjà connecté en SSH à ce moment, pas besoin de relancer la commande

Activité manipulation d'un fichier

  1. Commencez par vous informer sur la position actuelle avec la commande pwd
  2. Depuis cette position, déplacez-vous à l'aide de la commande cd pour arriver à votre espace travaux, par exemple :
    /web/etu-maltt/volée/votre-login-court
    Pour ce faire, vous avez différentes stratégies, par exemple utiliser cd ../ pour remonter l'arborescence, etc.
  3. Utilisez la commande pwd pour contrôler que vous êtes au bon endroit !
  4. Listez tout le contenu du dossier avec la commande ls, qu'est-ce que vous voyez ?
  5. Créez un dossier qui s'appelle atelier-technique avec la commande mkdir atelier-technique
  6. Déplacez-vous dans ce nouveau dossier avec la commande cd atelier-technique
  7. Vous allez créer un fichier depuis la ligne de commande. Saisissez la commande touch test.txt
  8. Contrôlez que le fichier a bien été créé avec la commande ls. Son nom doit apparaître à l'écran
  9. Vous pouvez modifier directement le contenu du fichier avec un éditeur de texte disponible depuis la ligne de commande. Saisissez la commande nano test.txt
  10. Une interface très simple apparaît à l'écran qui vous permet d'écrire dans le fichier. Écrivez un texte, par exemple "Ce fichier a été créé depuis la ligne de commande". Utilisez les raccourcis clavier indiquées en bas pour enregistrer/écrire le contenu dans le fichier, en sachant que le caractère ^ équivaut à la touche Ctrl, donc ^X équivaut à Ctrl + X. Une fois le texte écrit dans le fichier, sortez de l'interface de l'éditeur de texte.
  11. Contrôlez que le contenu du fichier a été enregistré en saisissant la commande cat test.txt. Si vous avez suivi les étapes correctement, vous allez voir le message que vous avez écrit dans le fichier s'afficher dans la ligne de commande

Une fois que vous voulez vous déconnecter du serveur distant, vous avez deux options :

  1. Fermez tout simplement le logiciel (PowerShell, terminal, ...)
  2. Saisir la commande exit

Git/GitHub

Git (logiciel de gestion de version en local) et GitHub (extension online de Git) sont des outils qui sont très utilisés à présent et leur connaissance, au moins au niveau de base, peut être utile à plusieurs niveaux. En effet, ils ne sont pas utilisés exclusivement pour la programmation, mais également pour :

  • Maintenir un site web
  • Écrire/maintenir de la documentation online
  • Écrire des livres
  • Mettre à disposition du matériel d'un cours (online)
  • Mettre à disposition des données et des analyses d'un article de recherche
  • Créer une classe virtuelle avec des devoirs qui prévoient du codage
  • Découvrir des projets existants et créer des liens avec d'autres personnes actives dans les projets
  • ...

En plus, la participation dans des projets open-source disponibles sur GitHub ne se limite pas à l'écriture du code. Les projets recherchent souvent d'autres type de participation tels que :

  • La gestion du projet
  • Collecter/répondre aux "Issues" soulevées par les utilisateurs
  • Tester/débugger les projets
  • Corriger l'orthographe
  • ...

Pour plus d'informations voir :

Présentation

Git et GitHub dans un projet open-source
À retenir
Git : système de version de fichiers en local

Vous pouvez travailler sur plusieurs versions de votre projets

  • Créer des "branches" pour tester des nouvelles fonctionnalités
  • Revenir à une version précédente si quelque chose ne marche pas correctement
  • ...
GitHub : plateforme de développement collaborative pour projets

Possibilités :

  • Vous pouvez travailler à plusieurs sur le même projet/repository
  • Les projets peuvent être publics (default) ou privés (versions payante)
  • Les projets peuvent être open-source ou pas
  • Attention à ne pas confondre public = open-source et privé = non open-source, c'est la licence qui détermine le type de projet
À savoir
  • On peut utiliser Git sans GitHub, mais c'est difficile de pouvoir utiliser GitHub sans Git (quoi que possible si on travaille juste avec l'interface du site)
  • On peut utiliser Git avec d'autres services online, e.g. :
  • On peut utiliser Git et GitHub avec n'importe quel type de projet/fichier (pas que développement web)
À éviter
  • Évitez de créer des projets/repository Git dans des dossiers locaux qui sont liés à un système de synchronisation de données (e.g. Dropbox, OneDrive, Google Drive)
  • Faites attention à ne pas publier des données sensibles. Par exemple si vous publiez par erreur un mot de passe, pensez à le modifier tout de suite, il ne suffit pas de le faire disparaître de GitHub (entretemps quelqu'un peut l'avoir vu ou il peut rester dans le cache, etc.) - voir Removing sensitive data from a repository

Activités prévues

Vous allez effectuer des activités sur le portail GitHub pour consolider certains concepts vus dans la présentation. Nous allons utiliser seulement GitHub, car l'utilisation de Git nécessite de l'installation sur votre ordinateur, ce qui nécessite un peu plus de temps. On verra Git de manière plus approfondie dans un prochain atelier.

Créer un compte GitHub

Si vous n'avez pas encore un account GitHub ou vous préférez en utiliser un différent par rapport à celui que vous avez déjà, il faudra créer un nouveau compte.

  1. Pointez vers le site https://github.com/
  2. Créez un nouveau compte.
    • Vous pouvez utiliser le username que vous voulez, sans nécessité qu'il soit reconnaissable
    • Si vous comptez utiliser GitHub par la suite, utilisez votre email personnel plutôt que l'email étudiant UNIGE

Création d'un projet sur GitHub

Vous allez suivre un tutoriel du site GitHub qui vous permet de créer un dépôt sûr qui simule un projet public/open-source. Cela permet de voir :

  • Utilisation du site GitHub.com
  • La création d'un dépôt avec le choix d'une licence et un fichier d'information README
  • La notion de commit
  • La notion de branch
  • La notion de pull request

Pointez vers le tutoriel et suivez-le étape par étape :

Une fois terminé, répondez à la discussion dans le forum de l'espace Moodle dédié aux Ateliers techniques en ajoutant le lien à votre dépôt.

Participer à un projet déjà existant

Si vous avez terminé le premier tutoriel, vous pouvez enchaîner avec la participation à un projet déjà existant. Petit hands-on sur comment on peut participer/contribuer à un projet déjà existant. En bref :

Pour plus d'infos voir

Suivre les étapes suivantes
  1. Pointer à l'URL d'un repository/projet créé pour l'occasion https://github.com/MALTT-STIC/stic-webmaster-test
  2. Cliquez sur le bouton Fork en haut à gauche, cette opération vous permet de créer une copie du projet dans votre account
  3. Après le temps nécessaire, vous serez redirigés vers la page du fork du projet
    • Notez bien le nom du projet maintenant, il s'appelle votre-login-github/stic-webmaster-test
    • Notez également que au-dessous du nom du projet apparaît forked from MALTT-STIC/stic-webmaster-test
  4. Cliquez sur le bouton Create new file
  5. Dans l'éditeur en ligne qui s'ouvre :
    1. Ajoutez un nom du fichier du type votre-username-github.md
    2. Ajoutez du contenu, pas important quoi (si jamais c'est du contenu de type Markdown, une notation de marquage similaire au code wiki)
    3. Insérez une labellisation à votre commit
    4. Insérez une description pour votre commit (optionnelle)
    5. Laissez l'option Commit directly to the master branch cochée
    6. Cliquez sur Commit new file
  6. Vous êtes redirigés sur la page principale de votre projet où le nouveau fichier apparaît avec les autres fichiers. Cliquez maintenant sur New pull request
  7. Vous arrivez sur une page qui compare votre projet avec le projet original et vous informe que vous pouvez merge les deux sans conflits. Cliquez sur le bouton vert Create pull request
    Créer une "Pull request" au projet d'origine
    1. Encore une fois, choisissez une labellisation qui définit votre changement
    2. Ajoutez également une explication qui permette aux propriétaires du projet originale de savoir pourquoi vous proposez ce changement
    3. Cliquez à nouveau sur le bouton vert Create pull request
      Envoyer la pull request avec une explication pour les propriétaires du projet original
  8. Votre requête sera envoyée aux propriétaires du projet original qui pourront décider si l'accepter (et l'intégrer donc dans le projet) ou pas

GitHub Pages

Créer et maintenir un site web directement à travers un dépôt GitHub :

Essayez de :

  1. Créer un dépôt
  2. Y ajouter un fichier index.html
  3. Faire le set-up pour qu'on puisse voir cette page GitHub pages
La mise en ligne de GitHub Pages peut prendre quelques minutes

Skills GitHub

Vous pouvez trouver d'autres tutoriels interactifs sur le site officiel :

Optionnel : Installation des logiciels

Si vous comptez utiliser Git/GitHub concrètement, il vous faudra installer les logiciels sur votre ordinateur.

Git

  1. Installez le logiciel git depuis le site officiel : https://git-scm.com/
  2. Il faudra configurer Git à travers la ligne de commande
    • Attention : utilisez le nom d'utilisateur et l'adresse email que vous avez utilisé pour créer votre account GitHub
Nom d'utilisateur
git config --global user.name "votre username GitHub"
Email
git config --global user.email votre-email-account-github@domain.com

Ces configurations vont permettre par la suite de reconnaître vos contributions, par exemple dans un projet commun.

Optionnel : Git dans éditeur de texte

Il y a la possibilité d'intégrer git directement dans des éditeurs de texte, par exemple :

GitHub Desktop

  1. Installez GitHub Desktop https://desktop.github.com/

Documentation logiciel : https://help.github.com/desktop/guides/

Pour aller plus loin

Il existe beaucoup de commandes qui vous permettent de travailler sur différentes versions de votre projet en local, comparer les différences, faire un merge entre deux branches, etc :

  • git init
  • git add [params]
  • git commit [params]
  • git branch [params]
  • git checkout [params]
  • ...

Pour plus d'infos voir Git - Reference sur le site officiel de Git

Ressources

Ligne de commande

Git/GitHub

GitHub Education & Classroom

Open Source