Website Creation Course
Website Creation Course
COUPEAU Laurent
The profession of Webmaster P 2 to 4
• Professional context and related profession P 2 to 3
• Webmaster skills P 3 to 4
Annex 1 to 8 (HTML, CSS, Javascript, PHP, Bootstrap, jQuery, Important tools and sites, glossary)
1
The purpose of the training is not to make you webmasters or web developers, but you need to...
know the tools currently used and that you know how to use them. Today, the world of the web has become
essential. You will certainly be required to manage computer scientists, and you need to
you could collaborate, even give instructions to them.
• What is a Webmaster?
2
Director
human resources
DSI
Director / Director of
Information Technology services
Administrator
of systems and networks
Web designer
Dsi: it is the director of IT services (he coordinates all the IT services among themselves)
System and network administrator: They manage servers and your networks.
keep up to date. They take care of the security of these and ensure that the practices used
are in compliance with the laws and the respect of the company.
Webmaster: He manages, maintains, updates the sites, and ensures that they are in
compliance with European law (GDPR). He often collaborates with the system administrator,
developers and integrators.
Web developer: he designs the site, develops it using web-oriented programming languages.
often collaborates with web designers and webmasters
Web Integrator: He integrates the site, meaning he collaborates with the web designer to integrate using
of programming languages or CMS, the graphic brochures to color the site to
the company.
Web designer: He designs brochures, graphic charters for the company, which the integrator...
charger to translate on the site.
• System administration to possibly manage a web server (Keep the server up to date,
to maintain it).
• A bit of web development because it must be able to update the sites.
• English as always in computer science.
It must be:
3
• Rigorous
• Organized
• Multivalent
• Adaptive
• Manage
• Update
• Feed
• Secure
• Bring into compliance with the laws
• Moderate
• Dedicated hosting: You are allowed to rent a physical server, hosted by the provider.
This hosting is very interesting because you can host a multitude of sites, big ones.
projects, which will be faster. However, one must have good knowledge in administration of
systems and networks.
• VPS hosting (Virtual Private Server): it has the same characteristics as dedicated hosting.
but it is much more flexible, we can add storage, RAM at a cost.
A major advantage is its scalability. In addition, the cost is significantly reduced.
• Domain names
When you take accommodation, you are generally asked to choose a domain name.
Very often, the hosting provider you choose will offer you one for free for the first year.
• OVH
• 1&1
• Gandhi
• HostPapa
This tool allows you to see the statistics of your site: Who visits it, where they live, the attendance in
volume, on which page the visitor will not go, etc....
[Link]/analytics
Click onAdministration.
2. Click on the account column menu to select the account you wish to
add the property.
If you have a large number of accounts, use the search field to help you
find the one that interests you.
3. In the PROPERTY column menu, click on Create a property.
If you do not have Edit permission on the account, the Create property option
does not display. Make sure you have selected the appropriate account in the 'ACCOUNT' column.
4. Select Website or Mobile App.
If you select Website, proceed to step 7.
If you select Mobile application, proceed to step 6.
5. (Mobile application) Under Tracking Method, select Firebase. Select an application
in the menu and click on Associate an application.
6. Indicate the name of the website or application.
If you plan to track multiple applications in your account, choose a name.
very precise and descriptive, including the edition or version number. You will thus be able to organize your
applications more easily.
7. (Website only) Enter the website URL.
You cannot create a property if the URL format is not correct.
5
Example above: analyze attendance by geographical area.
Go to the Administration section (the gear at the bottom)
6
You can see your tracking and the JavaScript code to put on your websites to make the link.
between Google and the site.
• Legal framework
Every website must have a 'legal notice' page, French law n°2004-575
8
The URL is ok Redirection
It's just a permanent
Redirection
response from temporary
It is a
server when redirection to
we access Allows to
another
directly to bypass a
address (not
associated content resource
must not be
at the URL temporarily
changed it is unavailable
regularly)
9
A mistake that many people make is working in production. You should always design your site locally and then
transfer it to the server using Filezilla.
How to do it: you need a web server + a database + an interface for testing
There are tools for this like WAMP on Windows (MAMP on MAC, LAMP on Linux)
To do this, you need to install WAMP on your machine, which will simulate a web server but locally (only on your
machine).
You will still need to equip yourself with a free text editor like (Wordpad++, Sublime Text, Braquet....)
We also have the option to create folders and subfolders, to create .css, .html, .js, .php files with the editor.
text.
[Link]
The obligations
• Information : en effet, vous devez prévenir les personnes que vous collectez des
data about them, inform them of their rights.
• You must obtain the clients' agreement.
• Inform them of their rights to access, modify, and delete information
collected
• Ensure the security of the information system
• Ensure data confidentiality
• Indicate a data retention period.
• Analyze the impact in case of high risk for people's rights (profiling,
sensitive data of individuals, statistical studies, research treatments
medical, the transfer of data outside the EU.
• Appoint a DPO (Data Protection Officer).
The data protection officer must have the following qualities and skills:
• A good knowledge of the industry sector and the organization of the organization
(processing operations, information systems and the organization's needs regarding
of data protection and security;
• Animate a network of relays within the subsidiaries of a group for example and/or a
internal team of experts (IT expert, lawyer, communication expert,
translator, for example).
The delegate can be a person from the technical, legal, or other field.
All organizations with more than 250 employees must maintain a register of processing activities, unless these processing activities...
are occasional.
11
Administrative sanctions
In case of violation of the regulation, the CNIL can impose administrative fines that can reach, depending on the category
the shortfall of 2% to 4% of the total annual worldwide revenue of the previous financial year.
Analyzer
Informer
To prevent
Secure
Act
• The HTML
HTML (HyperText Markup Language) is a markup language for the web. It was created
in 1993.
It allows you to create so-called "static" sites, meaning that they do not need to
communicate with the server. With it, we can create 'showcase' websites.
To work on code, you always need a text editor (Wordpad++, Sublime Text,
Brackets...)
Small example
13
I advise you when coding to always open and close them before doing anything else.
Choose, it will save you time and prevent you from making mistakes.
Class: it is a name that is associated with a tag and allows manipulation through code.
this tag. This class may not be unique and can be used for all tags
from your site.
EXAMPLE:
<a class="moi">
Id: it is a unique identifier for a tag. The same Id can only be used once.
times per site page.
Example:
14
<hr> Draw a line
horizontal
<br> To go to the line
<i> Text in italics
<em> Highlight the text
Give him more
of importance
<table> Create a table
<tr> Create a line of a
tableau
<td> Create a cell of a
table
<caption> Legend of a painting
<th> At the top of the table
<ul> Create a bullet list
<li> Bullet list
<ol> Numbered list
<span> A part of a text Inline
<form> Create a form
<scripts> To integrate a
javascript script
<iframe> To create a
window
<p> Declare a Block
paragraph
<head> Section that does not Block
does not appear on the
but which site
parameter your site
<nav> Section to declare Block
your browser,
your menu
This language allows us to format our site and was created in 1996.
Always try to comment your pieces of code so you don't get lost.
CSS uses priorities (what is at the beginning of the stylesheet will take precedence).
15
Example of stylesheet
16
Font-family Put a font on the text
Font size Text size
color Color of a text
Let's talk about the inspector of your browser and media queries.
On Google Chrome
17
Check if your site is suitable for all formats (media queries)
• JavaScript
This language allows us to enhance our web pages and enable some interaction.
between the visitor and the site. It was created in 1995.
Var
Example
Laurent Var;
Example
Var Laurent = 2;
18
One can create conditions from variables using
(If, for...)
It was created in 1998, it is a markup language like HTML but much less
employee.
Exemple
19
• XHTML (Extensible HyperText Markup Language)
It is also a markup language like HTML but not used much anymore.
This language was created in 2000.
The languages excluding the frameworks are Javascript / PHP / HTML / CSS.
• There are many frameworks to help you go further and especially faster.
The most well-known are:
• Bootstrap for CSS
• JQuery for JavaScript
• Symfony for PHP
20
A content manager is an interface on the Internet that allows you to create a site,
to add plugins, to manage it quickly and quite easily.
• Extensions
• Plugins
Many are free, which is why people's interest in the CMS is growing.
You can, however, install Wamp for example to test your sites locally and
then transfer them with Filezilla to your server.
For non-e-commerce sites, although we can make them with (by installing
WooCommerce on WordPress for example.
The main ones
21
For e-commerce sites (Magento and Prestashop)
The main ones:
• PHP
This language was created in 1994. It allows communication with the server.
In PHP, just like in JavaScript, you can initialize variables, assign values to them, and integrate conditions.
Very often, there is a connection made between PHP and SQL (database language)
Example:
$age_visiteur = 17 ;
22
23
• ASPX
It is a web language based on Java, which allows the creation of dynamic pages.
directly in HTML, XML or all types of web pages.
24
• Jobs related to the webmaster: web developer, web integrator, web designer.
System and Network Administrator.
• To create a site:
• A domain name
• A hosting (shared, dedicated, VPS)
• An FTP software (Filezilla)
• A text editor (Sublime Text or others)
• CMS or pure code.
➢ Les langages :
- Html (to create a static site, a showcase site)
- CSS (styling a website)
- Javascript (Dynamize the site)
- PHP (to create a site with a database)
➢ The CMS
- WordPress (the most used)
- Drupal
- Joomla
- Prestashop (for e-commerce sites)
- Magento (for e-commerce sites)
["Designate a pilot","Map the processing of personal data","Prioritize the actions to be taken","Manage the risks"]
You must: inform clients of their access rights, obtain clients' consent, ensure the security of the system
d’information, Assurer la confidentialité des données, Indiquer une durée de conservation des données,Analyser l’impact
in case of high risk to people's rights, appoint a DPO,
Administrative sanctions if you do not comply with European law regarding data collection are of the order
2 to 4% of annual revenue.
25
Here we speak in terms of tags.
27
Here we speak in terms of selectors, properties, attributes, and ids.
@media Example:
@media screen and (min-
width: 480px){
body{
background-color:
light green
}
}
29
Icion will speak in terms of functions, variables, operators, conditions, and events.
30
parseFloat() Convert
the argument in
a figure at
comma
parseInt() Convert
the argument in
an integer
var cars = [ Create a
"Volvo", "BMW"]; table
pop() Method that
erase it
last
element of a
tableau
push() Method that
add a
new
element in
a painting (to the
end)
shift() Method that
return a
value of
tableau
unshift() Method that
add a
new
element
.length Allows to
to know the
size of a
element
splice() Method that
add a
new
element to one
table
concat() Method that
allows to
merge two
pictures
slice() Method that
allows to
create a
new board
sort() Method that
allows sorting
the data
by order
alphabetical
in a
table
31
Here we will talk in terms of functions, variables, functions, conditions, and objects.
You can definitely put PHP in HTML, but it is better to keep everything separate.
32
$cars = Create a
array("Volvo", table of
BMW values
"Toyota");
count() Allows it
name
elements
foreach Search for a
element in
a painting
sort() Sort them
data of a
table by
order
ascendant
rsort() Sort them
data from a
table by
order
descendant
asort() Associate some
values to some
information
of the table
ksort() Associate some
keys to some
elements of a
tableau
arsort()
krsort()
$_SERVER Global variable
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION
33
classes comments type
34
close close an alert in tag a
data-dismiss="alert" in tag a
alert alert-danger fade in in div
btn in button
default button in button
primary button in button
success button in button
info button in button
warning button in button
btn-danger in button
link button in button
.btn-lg in button
.btn-md in button
.btn-sm in button
.btn-xs in button
btn-block in button
btn btn-primary active activate a button in button
button button-primary disabled disable a button in button
button group group the buttons in div
btn-group btn-group-justified in div
glyphicon glyphicon-name drawing in Spain
badge badge in span often after button
label label-default label in span
progress progress bar in div supp
progress bar progress bar in div inf
role="progressbar" progress bar in div inf
aria-valuenow="" progress bar in div inf
aria-valuemax= progress bar in div inf
minimum aria value progress bar in div inf
.progress-bar-success progress bar in div inf
.progress-bar-info progress bar in div inf
.progress-bar-warning progress bar in div inf
.progress-bar-danger progress bar in div inf
.progress-bar-striped progress bar in div inf
.sr-only visible percentage in div inf
pagination pagination in ul
active pagination in the
disabled pagination in the
pagination pagination-lg pagination in ul
breadcrumb Ariadne's thread in ul
pager next et previus in ul
previous in the
next in the
list-group group the lists in ul
list group item in the
.panel panel in additional div
35
panel body panel in div inf
panel heading panel in div inf
panel-footer panel in div inf
dropdown brochure menu in class supp
caret arrow in span
type=button in button
data-toggle = dropdown
divider menu separation in the
dropdown-menu in ul
dropdown-header in head menu in the
dropup in div
role="presentation" in
role="menuitem" in a
data-toggle="collapse" collapse in button
data-target in button
collapse in div
nav nav-tabs in ul
nav nav-pills in ul
data-toggle="pill" in a
navbar navbar-default create a navbar in nav
fluid container in div supp
navbar-header in div inf
navbar brand in a
nav navbar-nav in ul
navbar navbar-inverse in nav
navbar navbar-inverse navbar-fixed-top fixed navigator in nav
navbar navbar-inverse navbar-fixed-bottom in nav
form-group in additional div
checkbox
inline form online form in form
form-control frame the form in textarea, input, select
col-sm-offset-2 col-sm-10
control-label col-sm-2
horizontal form take the entire width
rows number of lines in textarea
cols columns
inline checkbox
small input form control
media media in additional div
media-left media in div inf
media body media in div inf
media-heading media in h4 for example
media-right media in additional div
media object media in img
class="carousel slide" carousel in additional div
data-ride="carousel" carousel in the additional div
36
carousel indicators carousel in oil
data-target="#myCarousel" carousel in the
data-slide-to="0" carousel in there
carousel-inner carousel in div inf
item carousel in infinite div
left carousel control carousel in a
right carousel-control carousel in a
modal fade modal
role="dialog" modal
modal dialog modal in additional div
modal-content modal in additional div
modal-header modal in div inf
modal-title modal in h4
modal footer modal in div inf
data-dismiss="modal" modal in button
data-toggle="modal" modal in button
data-target="#myModal" modal in button
data-toggle="tooltip" toolpip in a
data-placement="top" toolpip in a
data-toggle="popover" popover in a
data-content="Some content inside the popover" popover in a
data-spy="scroll" popover in body
data-target=".navbar" popover in body
data-offset="50" popover in body
data-spy="affix" attach in nav
data-spy="scroll" scroll in body
data-target='.navbar' scroll in body
37
Selectors Explanations Event functions
$(document).ready(function(){
$("p").click(function(){
$(this).hide();
});
});
38
show a content show
toggle between show and hide toggle
appearance of an element with effect fadeIn
disappearance of an element with effect fadeOut
switcher between fadeIn and fadeOut fadeToggle
switch to a given opacity fadeTo
slide an element down slide down
slide an element up slide up
switch between slideUp and slideDown slideToggle
Animate content animate
Stop an animation stop
callback function callback
return the text contained in an html element text
return the content of the elements including the html html
returns the value of a form val
retrieve the value of the attributes attr
insert content at the end of the selected items learn
insert content at the beginning of the selected elements prepend
insert content after the selected element after
insert content before the selected element before
erase the selected elements remove
remove the children of the selected element empty
add one or more classes to the element addClass
remove one or more classes from the element removeClass
switch between roveClass and addClass toggleClass
retrieve or return the style of an attribute css
dimensions width()
dimensions height()
dimensions innerWidth()
dimensions innerHeight()
dimensions outerWidth()
dimensions outerHeight()
return all parents of an element parent()
return all parents of an element parents()
return all parents of an element parentsUntil()
return all direct children of an element children()
search for the descendants of an element find()
returns all sibling elements of an element siblings()
return the closest brother next()
return all the next brother elements nextAll()
returns the brothers between two arguments nextUntil()
return the closest brother prev()
return all the next elements brothers prevAll()
return the brothers between two arguments prevUntil()
return the first element of a specific element first()
return the last element of a specific element last()
39
returns an element with the index of the selected element eq()
allows to specify a criterion filter()
return all items that do not meet the criteria not()
jQuery and AJAX is FUN!!! AJAX
<p id="p1">This is some text in a paragraph.</p>
$("#div1").load("demo_test.txt");
$.get(URL,callback); $.get()
$.noConflict()
40
Wordpress Plugins Browser plugins Tools Comments
The inspector Provided in all the
browsers
Elementor Constructeur de pages
WPS Trick Allows you to know
quickly information
on the server
JackMail Newsletter For newsletters
Caldera Forms For the forms
WPS Hide Login To secure your site
JetPack Statistics, security, ..........
Updraft Plus Backup
WooCommerce Free extension for the e-
commerce
Quick Adsense Connects to Google AdSense
Yoast SEO For SEO
Write up For SEO
Advanced Custom Fields Allows you to create mushrooms
personalized
Custom Post Type UI Create new types of
contents
Code Snippets To add new
types of codes quickly
RDS bar Powerful tool for SEO
CTRL+F5 Force to clear the cache of the
browser
Sublime Text Text editor
Brackets Text Editor
Filezilla FTP software
Css viewer See the CSS on hover of the
mouse
Web developer Powerful tool for the
web developers
colorzilla See the color code of a
element of a site on hover
Builtwith See how it is built
a site
41
Some Important Sites
42
Label Definition
Attribute They are entities that define the properties of objects.
Constant It is a value that we initialize and that will never change.
Class A class is a set of objects sharing
certain properties
CMS It is a content manager
CSS Language to format a website
Domain It is the name that constitutes the URL of your site.
Child It's a link in the code
Event It is an action that occurs in a certain context.
Function It is a programming routine
Framework It is a software library that allows you to gain
of time.
FTP It is a file transfer protocol
Host It is an entity whose purpose is to put in place
disposition of internet users of websites designed and managed
by third parties.
HTML It is a language that allows you to create static sites.
HTTP It is a protocol that puts communication on the Internet
between the client and the server.
Id It is a unique identifier on the same web page
Javascript It is a language that allows to animate web pages
Subject It is a code element that has a structure
internal and a behavior
Method A method refers to a member routine of a class.
Parent It is a link in the code
PHP It is a language that allows you to communicate with the server and
a database
Property It is a characteristic of an element
GDPR This is the European data protection law.
SMTP It is a protocol that allows the sending of emails.
SSH It is a session protocol
SSL It is a security certificate on a site.
URL the uniform naming of a localized resource
Variable It is a value that is stored and can take
different values
43
44