SlideShare une entreprise Scribd logo
1  sur  45
Télécharger pour lire hors ligne
Cours HTML / CSS 
Learn to code 
HTML/CSS easily 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 1
Cours HTML / CSS 
• 6 Sessions de ~3 heures > ~18 heures au total, 
• A chaque sessions aura des objectifs à atteindre pour pouvoir continuer à la 
prochaine session, 
• 30% de théorie et 70% de pratique, 
• Finalité : Monter un site en HTML / CSS responsive, 
• En bonus, utilisation d’outil de versioning 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
2
Me, myself and I 
• Développeur web indépendant, 
• 5 années d’XP en agence web Lyonnaise, 1 an 1/2 d’XP en indépendant, 
• Travaille sur des projets nationaux et internationaux pour des marques (presque) connues 
de tous, 
• Membre de la communauté eZ Publish (sujet passionnant dont vous m’entendrez parler 
durant les différentes sessions), 
• Réelle expertise sur les CMS/CXM d’un point de vue technique et gestion de projet, 
• Grosses compétences en intégrations HTML / CSS, 
• Me suivre : @nicolasaguenot | +nicolasaguenot 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
3
Outils de versioning 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
4
GIT vs SVN #1 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
5
GIT vs SVN #2 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
6
GIT vs SVN #3 
• Outil permettant de gérer un projet à plusieurs personnes, 
• Outil permettant d’avoir des développements à jour, 
• Outil permettant d’avoir un historique des modifications effectuées… 
• … et par conséquent de revenir en arrière si on a fait une erreur… 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
7
Why GIT ? 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
8
Why GIT ? 
• On ne copie pas un fichier ou un dossier mais une partie de l’information encodée, 
• Plus simple et plus rapide à prendre en main, 
• Process de branches pouvant être utilisé au maximum. 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
9
Créer un repository GIT 
en 4 étapes 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
10
GIT #Step1 
On créé son compte sur github 
http://www.github.com 
Nom de compte : icom-[prenom] 
[nom] 
Exemple : icom-nicolasaguenot 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
11
GIT #Step2 
On choisit le plan que l’on 
souhaite. 
Choisissez le plan « free » et 
cliquez sur « Finish sign up » 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
12
GIT #Step 3 - Welcome to Github! 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
13
GIT #Step 4 
- Création d’un repository : 
icom-htmlcss 
! 
- Repository Public, 
- On ajoute un README, 
- Sans .gitignore, 
- Sans licence, 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
14
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 15
GIT : Tips and tricks 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
16
GIT : Tips and tricks 
• Github fonctionne à partir d’un logiciel ou à partir de lignes de commandes… 
• …. nous allons l’utiliser à grâce aux lignes de commandes, 
• Par défaut, on est sur une branche nommée « master ». 
• Les mots communs lorsqu’on utilise GIT : clone, add (-p), commit, push, pull, 
branch, checkout 
• On peut récupérer le lien d’un repo GIT à cloner à partir du champ sur la droite 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
17
GIT : Tips and tricks 
• Git clone : On récupère un repository 
• Git status : On regarde si des éléments sont prêt à être envoyé au repository 
• Git add : On ajoute un élément 
• Git add -p : On ajoute une partie d’un fichier 
• Git commit : On met en mémoire ses éléments 
• Git push : On envoi ces éléments au repository 
• Git pull : On récupère les éléments du repository, 
• Git branch : On créé / consulte les branches, 
• Git checkout : On change de branche 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
18
Vous voulez 
en savoir plus 
sur GIT ? 
Consulter ce site : 
https://www.atlassian.com/git/ 
tutorials/ 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
19
GIT et le projet 
• Création d’une branche par session (session1, session2, session3, …), 
• On ajoute régulièrement nos modifications avec des messages clairs (les messages 
sont visibles), 
• Avant de finir la session, on pense à finaliser ces éléments et on les push. 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
20
Comment organiser son projet ? 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
21
Comment organiser son projet ? 
• Chaque projet contient : 
• Des images : 
• Dans un répertoire images/ 
• Chaque type d’images se trouve dans un dossier (exemple : header/, footer/, homepage/, …) 
• Des fichiers CSS : 
• Dans un dossier stylesheets/ 
• Un fichier pour les éléments globaux, un fichier pour les éléments du type de page 
(global.css et style.css par exemple) 
• … 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
22
Comment organiser son projet ? 
• Des fichiers Javascript : 
• Dans un dossier javascript/ 
• Un fichier pour les éléments globaux, un fichier pour les librairies externe par 
exemple. 
• Des fichiers HTML : 
• A la racine du projet, 
• Un fichier par page. 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
23
Comment organiser son projet ? 
Arborescence type 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
24
GIT Branch « session1 » 
• On se place sur son dossier : 
cd /YOUR/PATH/TO/YOUR/REPO 
• On contrôle les branches existantes : 
git branch -v 
• On créé sa branche : 
git branch session1 
• On contrôle si la branche a bien été créée : 
git branch -v 
• On change de branche : 
git checkout session1 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
25
Premier commit 
• On ajoute les fichiers sur cette branche : 
git status 
git add et git add -p 
• On commit ses changements (avec un message) : 
git commit -m ‘My first commit’ 
• On envoie les éléments sur le repo : 
git push 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
26
HTML : Les bases et balises 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
27
HTML : Les bases 
• HTML = HyperText Markup Language, 
• Langage qui permet de formater les données pour représenter les pages web. 
• Permet de monter une page web simplement avec des balises de type <div>…</div>. 
• On trouve du HTML dans toutes les pages web, c’est la base du web et de la génération 
de pages lisible à partir d’un navigateur, 
• Les données doivent être structurées en utilisant les bonnes balises au bon endroit. 
• Chaque balises peuvent contenir des attributs très utiles pour les styles : 
• <div class=‘…’ id=‘…’ my-attr=‘…’> …… </div> 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
28
HTML : Les bases 
• Une page contient une tête et un 
corps (un head et un body). 
• Le head va contenir les informations 
permettant de référencer un site, les 
feuilles de style, les fichiers 
javascript. 
• Le body contient le contenu et les 
balises des pages. 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
29
HTML : Les balises 
• Les titres : 
• Les titres ont des balises allant de <h1>…</h1> à <h6>…</h6> 
• Il ne doit y avoir qu’un seul <h1> … </h1> par page, les autres balises peuvent être dupliquées. 
• Les éléments textuels : 
• On englobe un paragraphe par un <p> … </p>, 
• On englobe un texte en gras par un <strong> … </strong> ou un <b> … </b>, 
• On englobe un texte en italique par un <em> … </em> ou un <i>…</i>, 
• On englobe un texte souligné par un <u> … </u>, 
• Les éléments doivent être englober par des <div> … </div>. 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
30
HTML : Les balises 
• Un lien doit être déclaré comme suit : <a href=‘mon-lien.html’ title=‘mon title’ 
target=‘self|blank’>…</a>, 
• Les éléments doivent être englober par des <div> … </div> (pour les blocs) et par des 
<span>…</span> (pour les éléments en ligne), 
• Une liste à puce peut être : 
• Ordonnée (ol) : <ol> <li> … </li> <li> … </li></ol> 
• Désordonnées (ul) : <ul> <li> … </li> <li> … </li></ul> 
• Une image est chargée à partir de <img src=‘…’ alt=‘alternative text’ /> 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
31
HTML : Les balises 
• Un formulaire est créé à partir de <form action=‘…’ method=‘POST|GET’> … </form> 
• Il peut contenir : 
• Des champs texte : <input type=‘text’ name=‘my-input-text’ value=‘…’ placeholder=‘My default text’ /> 
• Des champs mot de passe : <input type=‘password’ name=‘my-input-password’ value=‘…’ /> 
• Des champs email : <input type=‘email’ name=‘my-input-email’ value=‘…’ placeholder=‘My default 
email’ /> 
• Des blocs de texte : <textarea name=‘my-textarea’> … </textarea> 
• Des champs de sélection : <select name=‘my-select-field’><option value=‘1’>Option 1</option> <option 
value=‘2’>Option 2</option> </select> 
• Envoyer son formulaire : <input type=‘submit’ name=‘submit’ value=‘Send’ /> 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
32
HTML : Les balises 
La liste complète 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
33
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 34
CSS 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
35
CSS 
• CSS = Cascading Style Sheets > Feuille de style en cascade, 
• Ce langage décrit la présentation des documents HTML et XML. 
• Les standards sont publiés par le W3C. 
• On intègre le style dans un fichier css après avoir déclaré des classes dans le fichier HTML sur les balises, 
• Pour bien commencer son projet, toujours mettre en place un reset css, 
• Les déclarations CSS peuvent : 
• Ne rien avoir si on appel un tag de balise, 
• Avoir un # si on appelle un id, 
• Avoir un . si on appelle une classe. 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
36
Alternatives au CSS pur : 
Les CSS pre-processeurs 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
37
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 38
Our first job ! 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
39
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 40
Maquette 
• Maquette fictive, ne correspond à 
aucun site. 
• Base du travail, on peut faire 
beaucoup de choses à partir d’une 
maquette comme celle-ci. 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
41
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 42
A vos papiers ! 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
43
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 44
Des questions ? 
Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 
45

Contenu connexe

En vedette

WebApp #4 : Consuming REST APIs
WebApp #4 : Consuming REST APIs WebApp #4 : Consuming REST APIs
WebApp #4 : Consuming REST APIs Jean Michel
 
Dev Web 101 #2 : development for dummies
Dev Web 101 #2 : development for dummiesDev Web 101 #2 : development for dummies
Dev Web 101 #2 : development for dummiesJean Michel
 
Javascript #4.2 : fonctions for pgm
Javascript #4.2 : fonctions for pgmJavascript #4.2 : fonctions for pgm
Javascript #4.2 : fonctions for pgmJean Michel
 
Javascript #6 : objets et tableaux
Javascript #6 : objets et tableauxJavascript #6 : objets et tableaux
Javascript #6 : objets et tableauxJean Michel
 
Gestion de projet #4 : spécification
Gestion de projet #4 : spécificationGestion de projet #4 : spécification
Gestion de projet #4 : spécificationJean Michel
 
Les modèles économiques du web
Les modèles économiques du webLes modèles économiques du web
Les modèles économiques du webJean Michel
 
Javascript #8 : événements
Javascript #8 : événementsJavascript #8 : événements
Javascript #8 : événementsJean Michel
 
#1 entreprendre au xxiè siècle
#1 entreprendre au xxiè siècle#1 entreprendre au xxiè siècle
#1 entreprendre au xxiè siècleJean Michel
 
Javascript #3 : boucles & conditions
Javascript #3 : boucles & conditionsJavascript #3 : boucles & conditions
Javascript #3 : boucles & conditionsJean Michel
 
Html & Css #6 : formulaires
Html & Css #6 : formulairesHtml & Css #6 : formulaires
Html & Css #6 : formulairesJean Michel
 
Javascript #5.1 : tp1 zombies!
Javascript #5.1 : tp1 zombies!Javascript #5.1 : tp1 zombies!
Javascript #5.1 : tp1 zombies!Jean Michel
 
Architecture logicielle #5 : hipsto framework
Architecture logicielle #5 : hipsto frameworkArchitecture logicielle #5 : hipsto framework
Architecture logicielle #5 : hipsto frameworkJean Michel
 
Javascript #11: Space invader
Javascript #11: Space invaderJavascript #11: Space invader
Javascript #11: Space invaderJean Michel
 
Javascript #7 : manipuler le dom
Javascript #7 : manipuler le domJavascript #7 : manipuler le dom
Javascript #7 : manipuler le domJean Michel
 
Architecture logicielle #3 : object oriented design
Architecture logicielle #3 : object oriented designArchitecture logicielle #3 : object oriented design
Architecture logicielle #3 : object oriented designJean Michel
 
Javascript #2 : valeurs, types & opérateurs
Javascript #2 : valeurs, types & opérateursJavascript #2 : valeurs, types & opérateurs
Javascript #2 : valeurs, types & opérateursJean Michel
 
Gestion de projet #3 : besoin client
Gestion de projet #3 : besoin clientGestion de projet #3 : besoin client
Gestion de projet #3 : besoin clientJean Michel
 
PHP & MYSQL #5 : fonctions
PHP & MYSQL #5 :  fonctionsPHP & MYSQL #5 :  fonctions
PHP & MYSQL #5 : fonctionsJean Michel
 

En vedette (20)

#4 css 101
#4 css 101#4 css 101
#4 css 101
 
WebApp #4 : Consuming REST APIs
WebApp #4 : Consuming REST APIs WebApp #4 : Consuming REST APIs
WebApp #4 : Consuming REST APIs
 
Dev Web 101 #2 : development for dummies
Dev Web 101 #2 : development for dummiesDev Web 101 #2 : development for dummies
Dev Web 101 #2 : development for dummies
 
Projet timezone
Projet timezoneProjet timezone
Projet timezone
 
Javascript #4.2 : fonctions for pgm
Javascript #4.2 : fonctions for pgmJavascript #4.2 : fonctions for pgm
Javascript #4.2 : fonctions for pgm
 
Javascript #6 : objets et tableaux
Javascript #6 : objets et tableauxJavascript #6 : objets et tableaux
Javascript #6 : objets et tableaux
 
Gestion de projet #4 : spécification
Gestion de projet #4 : spécificationGestion de projet #4 : spécification
Gestion de projet #4 : spécification
 
Les modèles économiques du web
Les modèles économiques du webLes modèles économiques du web
Les modèles économiques du web
 
Javascript #8 : événements
Javascript #8 : événementsJavascript #8 : événements
Javascript #8 : événements
 
#1 entreprendre au xxiè siècle
#1 entreprendre au xxiè siècle#1 entreprendre au xxiè siècle
#1 entreprendre au xxiè siècle
 
Javascript #3 : boucles & conditions
Javascript #3 : boucles & conditionsJavascript #3 : boucles & conditions
Javascript #3 : boucles & conditions
 
Html & Css #6 : formulaires
Html & Css #6 : formulairesHtml & Css #6 : formulaires
Html & Css #6 : formulaires
 
Javascript #5.1 : tp1 zombies!
Javascript #5.1 : tp1 zombies!Javascript #5.1 : tp1 zombies!
Javascript #5.1 : tp1 zombies!
 
Architecture logicielle #5 : hipsto framework
Architecture logicielle #5 : hipsto frameworkArchitecture logicielle #5 : hipsto framework
Architecture logicielle #5 : hipsto framework
 
Javascript #11: Space invader
Javascript #11: Space invaderJavascript #11: Space invader
Javascript #11: Space invader
 
Javascript #7 : manipuler le dom
Javascript #7 : manipuler le domJavascript #7 : manipuler le dom
Javascript #7 : manipuler le dom
 
Architecture logicielle #3 : object oriented design
Architecture logicielle #3 : object oriented designArchitecture logicielle #3 : object oriented design
Architecture logicielle #3 : object oriented design
 
Javascript #2 : valeurs, types & opérateurs
Javascript #2 : valeurs, types & opérateursJavascript #2 : valeurs, types & opérateurs
Javascript #2 : valeurs, types & opérateurs
 
Gestion de projet #3 : besoin client
Gestion de projet #3 : besoin clientGestion de projet #3 : besoin client
Gestion de projet #3 : besoin client
 
PHP & MYSQL #5 : fonctions
PHP & MYSQL #5 :  fonctionsPHP & MYSQL #5 :  fonctions
PHP & MYSQL #5 : fonctions
 

Similaire à ISCOM::HTML/CSS::session1 (20140930)

Etendre le Web avec les Web Components
Etendre le Web avec les Web ComponentsEtendre le Web avec les Web Components
Etendre le Web avec les Web Componentscjolif
 
Les méthodes agiles dans TFS
Les méthodes agiles dans TFSLes méthodes agiles dans TFS
Les méthodes agiles dans TFSDenis Voituron
 
meetup devops aix-marseille 27/10/2022
meetup devops aix-marseille 27/10/2022meetup devops aix-marseille 27/10/2022
meetup devops aix-marseille 27/10/2022Frederic Leger
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphipprem
 
SEO AnswerBox, une méthode inédite pour interroger vos données et créer vos d...
SEO AnswerBox, une méthode inédite pour interroger vos données et créer vos d...SEO AnswerBox, une méthode inédite pour interroger vos données et créer vos d...
SEO AnswerBox, une méthode inédite pour interroger vos données et créer vos d...Vincent Terrasi
 
Optimiser réellement le référencement naturel de WordPress
Optimiser réellement le référencement naturel de WordPressOptimiser réellement le référencement naturel de WordPress
Optimiser réellement le référencement naturel de WordPressDaniel Roch - SeoMix
 
Enib cours c.a.i. web - séance #1 - html5 css3-js - 2
Enib   cours c.a.i. web - séance #1 - html5 css3-js - 2Enib   cours c.a.i. web - séance #1 - html5 css3-js - 2
Enib cours c.a.i. web - séance #1 - html5 css3-js - 2Horacio Gonzalez
 
Paul valery et les Web components
Paul valery et les Web componentsPaul valery et les Web components
Paul valery et les Web componentsFrancois ANDRE
 
Paris Web 2015 - Atelier desendettement javascript
Paris Web 2015 - Atelier desendettement javascriptParis Web 2015 - Atelier desendettement javascript
Paris Web 2015 - Atelier desendettement javascriptMichael Akbaraly
 
Beautiful CSS : Structurer, documenter, maintenir
Beautiful CSS : Structurer, documenter, maintenirBeautiful CSS : Structurer, documenter, maintenir
Beautiful CSS : Structurer, documenter, maintenirYves Van Goethem
 
Portable Class Library et Nuget : Le Combo gagnant
Portable Class Library et Nuget : Le Combo gagnantPortable Class Library et Nuget : Le Combo gagnant
Portable Class Library et Nuget : Le Combo gagnantMicrosoft
 
Internationalisation du Front
Internationalisation du FrontInternationalisation du Front
Internationalisation du FrontYannick Croissant
 
Awareness Oniryx - Mai 2018
Awareness Oniryx - Mai 2018Awareness Oniryx - Mai 2018
Awareness Oniryx - Mai 2018Denis Voituron
 
Inclure du Javascript de manière performante
Inclure du Javascript de manière performanteInclure du Javascript de manière performante
Inclure du Javascript de manière performanteJean-Pierre Vincent
 
GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...
GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...
GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...akramalidrissi1
 
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
 
Importer 500 millions de données de MySQL vers Neo4j
Importer 500 millions de données de MySQL vers Neo4jImporter 500 millions de données de MySQL vers Neo4j
Importer 500 millions de données de MySQL vers Neo4jGabriel Pillet 🐙
 

Similaire à ISCOM::HTML/CSS::session1 (20140930) (20)

Etendre le Web avec les Web Components
Etendre le Web avec les Web ComponentsEtendre le Web avec les Web Components
Etendre le Web avec les Web Components
 
Les méthodes agiles dans TFS
Les méthodes agiles dans TFSLes méthodes agiles dans TFS
Les méthodes agiles dans TFS
 
meetup devops aix-marseille 27/10/2022
meetup devops aix-marseille 27/10/2022meetup devops aix-marseille 27/10/2022
meetup devops aix-marseille 27/10/2022
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphi
 
SEO AnswerBox, une méthode inédite pour interroger vos données et créer vos d...
SEO AnswerBox, une méthode inédite pour interroger vos données et créer vos d...SEO AnswerBox, une méthode inédite pour interroger vos données et créer vos d...
SEO AnswerBox, une méthode inédite pour interroger vos données et créer vos d...
 
Html5 now light
Html5 now lightHtml5 now light
Html5 now light
 
Optimiser réellement le référencement naturel de WordPress
Optimiser réellement le référencement naturel de WordPressOptimiser réellement le référencement naturel de WordPress
Optimiser réellement le référencement naturel de WordPress
 
Enib cours c.a.i. web - séance #1 - html5 css3-js - 2
Enib   cours c.a.i. web - séance #1 - html5 css3-js - 2Enib   cours c.a.i. web - séance #1 - html5 css3-js - 2
Enib cours c.a.i. web - séance #1 - html5 css3-js - 2
 
Paul valery et les Web components
Paul valery et les Web componentsPaul valery et les Web components
Paul valery et les Web components
 
Paris Web 2015 - Atelier desendettement javascript
Paris Web 2015 - Atelier desendettement javascriptParis Web 2015 - Atelier desendettement javascript
Paris Web 2015 - Atelier desendettement javascript
 
Beautiful CSS : Structurer, documenter, maintenir
Beautiful CSS : Structurer, documenter, maintenirBeautiful CSS : Structurer, documenter, maintenir
Beautiful CSS : Structurer, documenter, maintenir
 
Portable Class Library et Nuget : Le Combo gagnant
Portable Class Library et Nuget : Le Combo gagnantPortable Class Library et Nuget : Le Combo gagnant
Portable Class Library et Nuget : Le Combo gagnant
 
Internationalisation du Front
Internationalisation du FrontInternationalisation du Front
Internationalisation du Front
 
Awareness Oniryx - Mai 2018
Awareness Oniryx - Mai 2018Awareness Oniryx - Mai 2018
Awareness Oniryx - Mai 2018
 
Inclure du Javascript de manière performante
Inclure du Javascript de manière performanteInclure du Javascript de manière performante
Inclure du Javascript de manière performante
 
GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...
GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...
GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...
 
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
 
Versioning avec Git
Versioning avec GitVersioning avec Git
Versioning avec Git
 
Importer 500 millions de données de MySQL vers Neo4j
Importer 500 millions de données de MySQL vers Neo4jImporter 500 millions de données de MySQL vers Neo4j
Importer 500 millions de données de MySQL vers Neo4j
 
TYPO3 : quelles nouveautés en 2018 ?
TYPO3 : quelles nouveautés en 2018 ? TYPO3 : quelles nouveautés en 2018 ?
TYPO3 : quelles nouveautés en 2018 ?
 

ISCOM::HTML/CSS::session1 (20140930)

  • 1. Cours HTML / CSS Learn to code HTML/CSS easily Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 1
  • 2. Cours HTML / CSS • 6 Sessions de ~3 heures > ~18 heures au total, • A chaque sessions aura des objectifs à atteindre pour pouvoir continuer à la prochaine session, • 30% de théorie et 70% de pratique, • Finalité : Monter un site en HTML / CSS responsive, • En bonus, utilisation d’outil de versioning Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 2
  • 3. Me, myself and I • Développeur web indépendant, • 5 années d’XP en agence web Lyonnaise, 1 an 1/2 d’XP en indépendant, • Travaille sur des projets nationaux et internationaux pour des marques (presque) connues de tous, • Membre de la communauté eZ Publish (sujet passionnant dont vous m’entendrez parler durant les différentes sessions), • Réelle expertise sur les CMS/CXM d’un point de vue technique et gestion de projet, • Grosses compétences en intégrations HTML / CSS, • Me suivre : @nicolasaguenot | +nicolasaguenot Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 3
  • 4. Outils de versioning Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 4
  • 5. GIT vs SVN #1 Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 5
  • 6. GIT vs SVN #2 Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 6
  • 7. GIT vs SVN #3 • Outil permettant de gérer un projet à plusieurs personnes, • Outil permettant d’avoir des développements à jour, • Outil permettant d’avoir un historique des modifications effectuées… • … et par conséquent de revenir en arrière si on a fait une erreur… Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 7
  • 8. Why GIT ? Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 8
  • 9. Why GIT ? • On ne copie pas un fichier ou un dossier mais une partie de l’information encodée, • Plus simple et plus rapide à prendre en main, • Process de branches pouvant être utilisé au maximum. Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 9
  • 10. Créer un repository GIT en 4 étapes Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 10
  • 11. GIT #Step1 On créé son compte sur github http://www.github.com Nom de compte : icom-[prenom] [nom] Exemple : icom-nicolasaguenot Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 11
  • 12. GIT #Step2 On choisit le plan que l’on souhaite. Choisissez le plan « free » et cliquez sur « Finish sign up » Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 12
  • 13. GIT #Step 3 - Welcome to Github! Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 13
  • 14. GIT #Step 4 - Création d’un repository : icom-htmlcss ! - Repository Public, - On ajoute un README, - Sans .gitignore, - Sans licence, Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 14
  • 15. Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 15
  • 16. GIT : Tips and tricks Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 16
  • 17. GIT : Tips and tricks • Github fonctionne à partir d’un logiciel ou à partir de lignes de commandes… • …. nous allons l’utiliser à grâce aux lignes de commandes, • Par défaut, on est sur une branche nommée « master ». • Les mots communs lorsqu’on utilise GIT : clone, add (-p), commit, push, pull, branch, checkout • On peut récupérer le lien d’un repo GIT à cloner à partir du champ sur la droite Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 17
  • 18. GIT : Tips and tricks • Git clone : On récupère un repository • Git status : On regarde si des éléments sont prêt à être envoyé au repository • Git add : On ajoute un élément • Git add -p : On ajoute une partie d’un fichier • Git commit : On met en mémoire ses éléments • Git push : On envoi ces éléments au repository • Git pull : On récupère les éléments du repository, • Git branch : On créé / consulte les branches, • Git checkout : On change de branche Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 18
  • 19. Vous voulez en savoir plus sur GIT ? Consulter ce site : https://www.atlassian.com/git/ tutorials/ Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 19
  • 20. GIT et le projet • Création d’une branche par session (session1, session2, session3, …), • On ajoute régulièrement nos modifications avec des messages clairs (les messages sont visibles), • Avant de finir la session, on pense à finaliser ces éléments et on les push. Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 20
  • 21. Comment organiser son projet ? Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 21
  • 22. Comment organiser son projet ? • Chaque projet contient : • Des images : • Dans un répertoire images/ • Chaque type d’images se trouve dans un dossier (exemple : header/, footer/, homepage/, …) • Des fichiers CSS : • Dans un dossier stylesheets/ • Un fichier pour les éléments globaux, un fichier pour les éléments du type de page (global.css et style.css par exemple) • … Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 22
  • 23. Comment organiser son projet ? • Des fichiers Javascript : • Dans un dossier javascript/ • Un fichier pour les éléments globaux, un fichier pour les librairies externe par exemple. • Des fichiers HTML : • A la racine du projet, • Un fichier par page. Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 23
  • 24. Comment organiser son projet ? Arborescence type Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 24
  • 25. GIT Branch « session1 » • On se place sur son dossier : cd /YOUR/PATH/TO/YOUR/REPO • On contrôle les branches existantes : git branch -v • On créé sa branche : git branch session1 • On contrôle si la branche a bien été créée : git branch -v • On change de branche : git checkout session1 Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 25
  • 26. Premier commit • On ajoute les fichiers sur cette branche : git status git add et git add -p • On commit ses changements (avec un message) : git commit -m ‘My first commit’ • On envoie les éléments sur le repo : git push Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 26
  • 27. HTML : Les bases et balises Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 27
  • 28. HTML : Les bases • HTML = HyperText Markup Language, • Langage qui permet de formater les données pour représenter les pages web. • Permet de monter une page web simplement avec des balises de type <div>…</div>. • On trouve du HTML dans toutes les pages web, c’est la base du web et de la génération de pages lisible à partir d’un navigateur, • Les données doivent être structurées en utilisant les bonnes balises au bon endroit. • Chaque balises peuvent contenir des attributs très utiles pour les styles : • <div class=‘…’ id=‘…’ my-attr=‘…’> …… </div> Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 28
  • 29. HTML : Les bases • Une page contient une tête et un corps (un head et un body). • Le head va contenir les informations permettant de référencer un site, les feuilles de style, les fichiers javascript. • Le body contient le contenu et les balises des pages. Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 29
  • 30. HTML : Les balises • Les titres : • Les titres ont des balises allant de <h1>…</h1> à <h6>…</h6> • Il ne doit y avoir qu’un seul <h1> … </h1> par page, les autres balises peuvent être dupliquées. • Les éléments textuels : • On englobe un paragraphe par un <p> … </p>, • On englobe un texte en gras par un <strong> … </strong> ou un <b> … </b>, • On englobe un texte en italique par un <em> … </em> ou un <i>…</i>, • On englobe un texte souligné par un <u> … </u>, • Les éléments doivent être englober par des <div> … </div>. Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 30
  • 31. HTML : Les balises • Un lien doit être déclaré comme suit : <a href=‘mon-lien.html’ title=‘mon title’ target=‘self|blank’>…</a>, • Les éléments doivent être englober par des <div> … </div> (pour les blocs) et par des <span>…</span> (pour les éléments en ligne), • Une liste à puce peut être : • Ordonnée (ol) : <ol> <li> … </li> <li> … </li></ol> • Désordonnées (ul) : <ul> <li> … </li> <li> … </li></ul> • Une image est chargée à partir de <img src=‘…’ alt=‘alternative text’ /> Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 31
  • 32. HTML : Les balises • Un formulaire est créé à partir de <form action=‘…’ method=‘POST|GET’> … </form> • Il peut contenir : • Des champs texte : <input type=‘text’ name=‘my-input-text’ value=‘…’ placeholder=‘My default text’ /> • Des champs mot de passe : <input type=‘password’ name=‘my-input-password’ value=‘…’ /> • Des champs email : <input type=‘email’ name=‘my-input-email’ value=‘…’ placeholder=‘My default email’ /> • Des blocs de texte : <textarea name=‘my-textarea’> … </textarea> • Des champs de sélection : <select name=‘my-select-field’><option value=‘1’>Option 1</option> <option value=‘2’>Option 2</option> </select> • Envoyer son formulaire : <input type=‘submit’ name=‘submit’ value=‘Send’ /> Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 32
  • 33. HTML : Les balises La liste complète Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 33
  • 34. Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 34
  • 35. CSS Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 35
  • 36. CSS • CSS = Cascading Style Sheets > Feuille de style en cascade, • Ce langage décrit la présentation des documents HTML et XML. • Les standards sont publiés par le W3C. • On intègre le style dans un fichier css après avoir déclaré des classes dans le fichier HTML sur les balises, • Pour bien commencer son projet, toujours mettre en place un reset css, • Les déclarations CSS peuvent : • Ne rien avoir si on appel un tag de balise, • Avoir un # si on appelle un id, • Avoir un . si on appelle une classe. Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 36
  • 37. Alternatives au CSS pur : Les CSS pre-processeurs Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 37
  • 38. Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 38
  • 39. Our first job ! Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 39
  • 40. Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 40
  • 41. Maquette • Maquette fictive, ne correspond à aucun site. • Base du travail, on peut faire beaucoup de choses à partir d’une maquette comme celle-ci. Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 41
  • 42. Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 42
  • 43. A vos papiers ! Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 43
  • 44. Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 44
  • 45. Des questions ? Nicolas AGUENOT - Freelance web developer - contact@nicolasaguenot.com - +33 (0)6 27 32 20 52 45