GitHub = site web dedié au stockage du code
C'est un service en ligne qui héberge les dépôts git, une fois en ligne ils peuvent etre modifié ou distribué.
On parle alors de dépôt distant.
git = outil de gestion des version d'un code ( grace au gestionnaire de version)
Gestionnaire de version ou versioning -> Un gestionnaire de versions est un programme qui permet
aux développeurs de conserver un historique des modifications et des versions de tous leurs fichiers.
fonctions principales du versioning :
a) revenir à une version precedent du code sans problème
b) Suivre l'evolution de votre code étape par étape
c) travailler à plusieur sans risquer de supprimer les modification des autres utilisateurs
!! Git est l'outil INDISPENSABLE de tout codeur quelque soit sont niveau !!
depot (ou repository) = dossier contenant l'historique des version et modification d'un projet.
Pourquoi avoir un dépots distant?
Le dépôt distant est un peu différent. Il permet de stocker les différentes versions de votre code
afin de garder un historique délocalisé.
Au cas ou vous n'auriez pas acces à votre machine ou que celui-ci rendent l'âme
(comme ta machine à écrire par exemple )
Sur GitHub il existe 2 type de depots privé et depots public.
GitHub n'est pas le seul à proposer ce genre de service ( gitLab, bitBUcket )
GitHub est aussi le book/portfolio des développeurs ( mais racheté par l'hydre Mycrosoft)
Alternative : GitLab
Ordre d'action pour créer un nouveau depot-------------------
$git init
pour initialiser le projet
!!attention a bien se placer dans le fichier concerné avant!!
$git status
pour verifier les fichier pris en compte et ce qui ne sont pas encore intégré
$git add
pour intégrer tout les fichiers concerné
$ git commit
pour les enregistré tel que souhaité dans le repository (depot) local
et enfin dans le cas ou on veut le mettre en ligne pour en avoir une sauvegarde online > $ git push
Commande à connaitre -----------------------------------------------
1. Configuration et initialisation
$cd Documents/premierProjet
pour se positionner dans le dossier 1erProjet
$git init
Pour intialiser un nouveau dépôt Git
git clone URL_DU_REPO
pour cloner un depot existant à partir de l'url fournie
2.Travailler avec des repos distant
git push
pour envoyer la nouvelle version sur le depot distant
git pull
pour récupérer les dernières modification du dépôt distant
3. Gestion des fichiers et des commits
git status
Pour montrer l'état des fichiers
$git add fichier.html
Pour ajouter des fichier à l'index pour le prochain commit
git commit -m "Message de commit"
pour créer un nouveau commit avec les fichier ajouté à l'index
4. Gestion de branches
git branch
pour lister toutes les branches
git branch NOM_DE_LA_BRANCHE
pour créer une nouvelle branche
git checkout NOM_DE_LA_BRANCHE
Pour changer de branche
git merge NOM_DE_LA_BRANCHE
Pour fusionner la branche spécifiée dans la branche actuelle
5. Historique et inspection
git log
Pour voir l'historique des commits
git stash
pour enregistrer temporairement des modification non indexées
git stash apply
Pour appliquer les modification enregistrées avec stash
------------------------------------------------------------------------------
// ceci est une variable
let numberOfCats = 4;
let numberOfDogs = 7;
// on peut procéder à des opération en tout genre avec des variabes du meme types
let numberOfAnimals = numberOfCats + numberOfDogs;
//En doublant les operateurs elementaire de type ++ ou -- on additionne ou soustrait d'une unité.
numberOfDogs--;
// les constantes sont des variables immuable une fois definit elle ne peuvnt etre modifier
const numberOfhousePerAnimals = 2;
// une autre operation implicant differente variable eet dont le result en crée une nouvele 3e
let hebegemeentPerAnimals = numberOfAnimals/numberOfhousePerAnimals;
// ceci est un objet , un objet est un element complexe composé de plusieur parametre (un ensemble de variables)
qui definissent les caracteristiques de l'objet
let myBook = {
title: "Dorémieux",
author: "Alain Dorémieux",
numberOfPages: 309,
fullyRead: false ,
};
// ici on convoque different élément de l'objet pour les ranger dans des variables qui en feront usages plus tard dans le scripts
let bookTitle = myBook.title;
let bookPages = myBook.numberOfPages;
class Book{
constructor(title,author,pages,read){
this.title;
this.author;
this.pages;
this.read;
}
}
let hisBook = new Book ("la Pensée Captive","Czesla Milosz",334,true);
//Maintenant a utiliser les tableaux avec JS
// 1 - la structure de base
let guests = [];//<-- ceci est un tableau vide
let guests = ["Sara Bernhard","Emilie Frostin","julien Perrier"]; //<-- ceci est un tableau pré-remplie
// ici on convoque les different element du tableau selon l'ordre intuitif humain bien que l'on rappel
que la machine elle commence toujours sont decompte à partir de 0.
Ainsi le premier element d'un tableau sera toujour indéxé au numero 0 le second au numéro 1 etc.
let firstGuest = guests[0];
let secondGuest = guests [1];
let undefinedGuest = guests[45];
// ici on va utiliser les fonction de JS pour voir les capacité d'interaction avecl'objet tableau
guestsNumber = guests.length; // grace à ".lenght" on peu connaitre le nombre d'élément contenu par le tableau
// pour ajouter uun elemnt au tableau utiiser ".push"
guests.push("Emma Watson");
// avec l'usage de .push l'élément est ajouté à la fin du tableau, si l'on soouhaite qu'un nouvel élément
soit ajouté en debut de tableau on utilise .unshift
guests.unshift("Georges Rodney");
// georges est maintenant à l'index 0 et non au 4..
// pour supprimer le denier élément ajouter d'un tableau on utilise la fonction pop san aucun argument entre parenthèse.
guests.pop();
// plus de Georges parmis les invités
// -------------BRAVO tu viens de finir la première parti du cours d'introduction à JS !!!------------------------- //
// Passon maintenant aux injonctions conditionnel avec les fonctions if ,else et switch.
// 1- Instruction conddtionnelle : if /else
// a) la syntaxe de base
if (numberOfAnimals){
// reaction à la valeur vraie
}
else{
// reaction à la valeur fausse
};
// Admettons que l'on veuille verifié si un usager est connecté
let userLoggedIn = true
if (userLoggedIn){
console.log ("l'utilisateur est connecté ");
}
else{
console.log("Alerte! intrus!");
};
// b) utiliser des expression de comparaison
// < inferieur à
//== egal à
//>= superieur ou égal à
//> superieur à
// != different de
if (numberOfCats > numberOfDogs){
console.log ("Augmenter les adoption de chat et augmenter le receuil de chien ");
}
else{
console.log("Augmenter les adoptions de chien et augmenter le receuil de chat");
};
if (numberOfAnimals == numberOfhousePerAnimals){
console.log("fermer l'acceuil d'animaux jusqu'à nouvel ordre");
}
else if (numberOfAnimals< numberOfhousePerAnimals){
console.log ("augmenter les maraudes")
}
else{
console. log ("Le receuil à encore de la place");
};
// c) operateur de comparaison et subtilité == et ===
// == egalité simple egalité de valeur
// === egalité stricte egalité de valeur et de type
// ainsi il existe au meme titre d'autre comparateur comme != et !== par exemple 5!=="5"
// d) les conditions multiples
//- les operateurs logiques
// && ET pour verifier si deux ont toutes les deux vraies
// || OU pour verifier si au moins une conditions est vraie
// ! NON pour verfier si une condition n'est pas vraie
// note le scope des variable est un element tres important il faut savoir qu'une varable ne peut etre vue et convoqquer
qu'a lendroit ou elle a été crée.
//C'est à dire que ci celle ci à ete créer à l'interieur d'une fonction la dite variable sera innvisible
en dehors de la fonction en question
// 2- le Switch
let firstUser = {
name: "Armand bervoy",
age:45,
accountLevel:"normal",
};
let secondUser = {
name: "Evangeline Carsoy",
age:25,
accountLevel:"prenium",
};
let thirdUser = {
name: "Berangère Servide",
age:65,
accountLevel:"silverClub",
};
// la on lance un switch ou le programe reagira en fonction du cas avéré
switch(firstUser.accountLevel){
case 'normal':
console.log('You have a normal account');
break;
case'prenium':
console.log('you havve a prenium acccount');
break;
case 'silverClub':
console.log('You are a silver club Member!');
break
default:
console.log ('unknown account type.');
}
// 3- les boucle for et while
// a) les boucle FOR
const numberOfPassengers =10;
for(let i = 0; i< numberOfPassengers; i++){
console.log('Passager embarqué!');
}
console.log (" Tous les psssagers sont embarqués");
// le dernier log s'affichera une fois que tout les 10 seront passer
// Mais memme si le fonctionnement par indice (i) c'est cool peut-etre que l'on veut quelque chose de plus ordonné
avec un fonctionnement precis comme en utilisant un tableau
// b) for ... of et for... in
// on crée un tableau
const passengers = [
"William Pierce",
"Sean Cruz",
"Katie Flake",
"Emrald Jacksman"
]
// puis on cree la boucle
for (let i in passengers){
console.log("Embarqement du passager"+ passengers[i]);
};
// a chaque iteration de i est affiché la personne traité en console log la formule est plus courte mais mene au meme but
// il esiste une option similaie ou l'on ne s'inquiete vraiment pasde l'indice mais ui mene au meme resultat
// for ... of...
for (let passenger of passengers){
console.log("Embarquement du passager"+ passenger);
}
// d'aautan plus utile dans un tableau plus complexe avec des objets
const Passengers =[
{
name:"William Pierce",
ticketNumber:347002
},
{
name: "Marie Kate",
ticketNumber:785230
},
{
name:"Emma Olsen",
ticketNumber:821005
},
{
name: "Orlan Cobaine",
ticketNumber:985730
},
{
name:"Patrick Pennington",
ticketNumber: 249768
}
]
for (let Passenger of Passengers){
console.log("Embarquement du passager "+ Passenger.name + "numero"+ Passenger.ticketNumber+"gate 735, Merci");
}
// c) Les boucles while
// unee boucle while fait toourné le programme tant qu'une condition est vrai
let seatsLeft = 25;
let passengersToBoard = 15;
let passengersBoarded = 0;
while (seatsLeft > 0 && passengersToBoard > 0){
passengersBoarded++;
passengersToBoard--;
seatsLeft --;
}
console.log ( passengersBoarded);
// ainsi a ou a boucle for realie un nombre d'iteration fixe while elle est plus adapté pour un programme d'on le nombre d'iteration
est indefinit
//4- Gerer les erreurs et les exceptions
// a) Les erreurs de frappes ou des oubli de signe
// b) erreur logique ( exemple on se trompe d'opperateu llogique ! au lieu de | ou > au lieu de < )
// c) les erreures 'executions : probleme de reseaux, deficience d'un appareil, ..> gestion des exception
// il existe des fonnction permettant d'executer des block de code susceptible de gér des erreurs
try{
// code susceptible de planter
}catch{
// reaction aux erreurs ici
}