Compare commits

13 Commits
main ... main

Author SHA1 Message Date
0ede3e0e0e maj groupes 2025-12-04 09:30:40 +01:00
b2e08e37e7 ds 2024 2025-12-04 09:00:48 +01:00
12eb2aeff6 grid generator 2025-12-04 08:59:19 +01:00
148696e062 correctin tp3 2025-12-03 14:04:41 +01:00
f468b0b2e0 typo 2025-12-03 10:49:35 +01:00
37bdfcc48e typo 2025-12-03 10:48:06 +01:00
f059288f99 tp4 : layout css 2025-12-03 10:46:49 +01:00
2ccce12589 js 2025-11-28 08:38:14 +01:00
0ad7edafdf erreur lien src 2025-11-25 10:44:23 +01:00
75865cd076 tp3 : css 2025-11-25 10:42:00 +01:00
7d81beb8bb une correction du tp2 2025-11-23 11:00:46 +01:00
68ca62927e sae 2025-11-20 17:31:51 +01:00
96ffe9b4be sae 2025-11-20 17:29:57 +01:00
40 changed files with 1486 additions and 0 deletions

View File

@@ -21,6 +21,8 @@ de site statique sur un serveur et l'ergonomie d'interface.
| 1 : 03/11 - 07/11 | [WEB-HTML](./cours/html.pdf) | |
| 2 : 10/11 - 14/11 | [CSS](./cours/css.pdf) | [tp1 html](./tp/tp1) ([correction](./tp/tp1/correction))|
| 3 : 17/11 - 21/11 | [CSS](./cours/css.pdf) | [tp2 html-css](./tp/tp2) |
| 4 : 24/11 - 28/11 | [JS](./cours/js.pdf) | [tp3 css](./tp/tp3) |
| 5 : 01/12 - 05/12 | [JS](./cours/js.pdf) | [tp4 css](./tp/tp4) |
## Serveur http(s) de l'iut

BIN
R1.02/ds/2024.pdf Normal file

Binary file not shown.

76
R1.02/sae/README.md Normal file
View File

@@ -0,0 +1,76 @@
# SAE S1.05-S1-06
> [Groupes](./groupes.md)
#### Sujet
Vous devez coder le site de l'entreprise que vous avez créée (cf partie EGOD/COM).
Votre site devra être accessible depuis le serveur http(s) de l'iut `dwarves.iut-fbleau.fr`.
Il donnera lieu à une note en DEV et en COM. Seront jugés :
- la technique,
- l'ergonomie,
- le contenu.
> Envoyez-moi un mail <a href="mailto:monnerat@u-pec.fr">monnerat@u-pec.fr</a>, avec comme sujet [SAEWEB]
> contenant :
> - l'url précise de votre site sur le serveur de l'iut.
> - l'url de votre dépot git associé, contenant les sources et le rapport demandé.
> - tous les noms d'étudiants faisant partie du groupe.
**Vérifiez [ici](./Groupes.md) que votre mail a été pris en compte.**
#### Exigences minimales
Votre site doit :
- contenir au moins 4 pages, dont une page de contact avec un formulaire.
- utiliser les éléments de structuration appropriés.
- être validé sur [http://validator.w3.org/](http://validator.w3.org/) (tous les sites seront vérifiés avec cet outil de validation).
- utiliser un format d'image adapté: png, jpg, svg.
- s'adapter (significativement) au format ordinateur de bureau, **et** téléphone portable (mode portrait).
à l'aide des media-queries/container-queries.
- proposer un mode "eco-responsable" ([RGESN](https://ecoresponsable.numerique.gouv.fr/publications/referentiel-general-ecoconception/))
- contenir les CVs des créateurs de l'entreprise pouvant être imprimer à partir de la **version HTML** (media print).
- utiliser des feuilles de styles structurées (cf cours).
- contenir les mentions légales.
- contenir un plan du site.
- **bonus** : un rapport d'audit de votre site avec l'outil [Ara](https://ara.numerique.gouv.fr/), conforme au RGAA (référentiel
général d'amélioration de l'accessibilité).
> L'utilisation de **CMS**, **framework** ou d'un **template** est **interdite**.
> Le plagiat est sanctionné d'un 0.
#### Utilisations de librairie JavaScript
L'utilisation de librairies est autorisée. Il sera demandé en plus du code
source et d'une URL fonctionnelle pour validater votre travail, un rapport détaillant:
- le choix de la(es) librairie(s) : pourquoi avoir utilisé telle librairie ?
- la mise en place de la dépendance : comment charge-t-on la librairie JavaScript ?
- le fonctionnement de la librairie : comment la librairie interagit avec votre code ?
- le lien vers les sources de la librairie
L'idée de ce rapport est de montrer que vous avez compris (le code et comment la librairie
intéragit avec votre page) ce que vous ajouter dans votre projet et surtout que
vous savez expliquer les choix que vous faites... C'est ce qu'on vous demandera en entreprise.
> L'absence de rapport sera sanctionné.
#### Conseils
- Respecter les exigences minimales.
- Soigner l'aspect, l'ergonomie, l'accessibilté et la convivialité (look and feel) de votre site.
- Le point d'entrée de votre site est **index.html**. Diviser le contenu à l'aide de répertoires (img, css, js, etc.).
#### Attendus et dates
Votre travail est à rendre au plus tard le **vendredi 16 janvier**
(1 jour de retard : -1 point; 2 jours = 0/20)
Il vous est demandé :
- le site web.
- un dépot git avec les sources, et le rapport (si besoin).

2
R1.02/sae/groupes.md Normal file
View File

@@ -0,0 +1,2 @@
# Groupes SAÉ
- Alves-Le DU Tiago / De Jesus Oliveira Abel / CHABOT Nicolas

View File

@@ -1,5 +1,7 @@
> Vous trouverez une correction du tp1 [ici](../tp1/correction).
> Vous trouverez une correction du tp2 [ici](../tp2/correction).
# TP HTML/CSS
- partie 1 : [html](#liens)

View File

@@ -0,0 +1,105 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Laws of Cartoon Physics</title>
<style>
body {
width : 960px;
margin:auto;
}
</style>
</head>
<body>
<h1>
<cite>Laws of Cartoon Physics</cite>
by Mark O'Donnell
</h1>
<nav>
<ul>
<li><a href="#law-1">Law 1</a></li>
<li><a href="#law-2">Law 2</a></li>
<li><a href="#law-3">Law 3</a></li>
<li><a href="#law-4">Law 4</a></li>
<li><a href="#law-5">Law 5</a></li>
<li><a href="#law-6">Law 6</a></li>
<li><a href="#law-7">Law 7</a></li>
<li><a href="#law-8">Law 8</a></li>
<li><a href="#law-9">Law 9</a></li>
<li><a href="#law-10">Law 10</a></li>
<li><a href="#law-11">Law 11</a></li>
</ul>
</nav>
<h2 id="law-1">Cartoon Law I (<a href="#">top</a>)</h2>
<p>
Any body suspended in space will remain suspended in space until made aware of
its situation. A character steps off a cliff but remains in midair until looking
down, then the familiar principle of 16 feet per second squared takes over.
</p>
<h2 id="law-2">Cartoon Law II (<a href="#">top</a>)</h2>
<p>
A body passing through solid matter will leave a perforation conforming to its
perimeter called the silhouette of passage.
</p>
<h2 id="law-3">Cartoon Law III (<a href="#">top</a>)</h2>
<p>
The time required for an object to fall 20 stories is greater than or equal to
the time it takes for whoever knocked it off the ledge to spiral down 20 flights
to attempt to capture it unbroken. Such an object is inevitably priceless; the
attempt to capture it, inevitably unsuccessful.
</p>
<h2 id="law-4">Cartoon Law IV (<a href="#">top</a>)</h2>
<p>
All principles of gravity are negated by fear.
</p>
<h2 id="law-5">Cartoon Law V (<a href="#">top</a>)</h2>
<p>
Psychic forces are sufficient in most bodies for a shock to propel them directly
away from the ground. A spooky noise or an adversary's signature sound will
introduce motion upward, usually to the cradle of a chandelier, a treetop or the
crest of a flagpole.
</p>
<h2 id="law-6">Cartoon Law VI (<a href="#">top</a>)</h2>
<p>
The feet of a running character or the wheels of a speeding auto need never
touch the ground, ergo fleeing turns to flight.
</p>
<h2 id="law-7">Cartoon Law VII (<a href="#">top</a>)</h2>
<p>
As speed increases, objects can be in several places at once.
</p>
<h2 id="law-8">Cartoon Law VIII (<a href="#">top</a>)</h2>
<p>
A painted tunnel entrance may or may not be traversable
</p>
<h2 id="law-9">Cartoon Law IX (<a href="#">top</a>)</h2>
<p>
Certain bodies can pass through a solid wall painted to resemble tunnel
entrances; others cannot. ... Whoever paints an entrance on a wall's surface to
trick an opponent will be unable to pursue him into this theoretical space. The
painter is flattened against the wall when he attempts to follow into the
painting. This is ultimately a problem of art, not science.
</p>
<h2 id="law-10">Cartoon Law X (<a href="#">top</a>)</h2>
<p>
Any violent rearrangement of feline matter is impermanent. Cartoon cats can be
sliced, splayed, accordion-pleated, spindled or disassembled, but they cannot be
destroyed. After a few moments of blinking self-pity, they reinflate, elongate,
snap back or solidify.
</p>
<h2 id="law-11">Cartoon Law XI (<a href="#">top</a>)</h2>
<p>
Everything falls faster than an anvil.
</p>
</body>
</html>

View File

@@ -0,0 +1,83 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<title>Exercice 2</title>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1,witdh=device-width">
</head>
<body>
<form method="POST" action="https://dwarves.iut-fbleau.fr/requete.php">
<div>
<label for="lastname">Nom : </label>
<input type="text" name="lastname" id="lastname" placeholder="ex: Dupont" required>
</div>
<div>
<label for="firstname">Prénom : </label>
<input type="text" name="firstname" id="firstname" placeholder="ex: Jean-Paul" required>
</div>
<div>
<label for="birthdate">Date de naissance : </label>
<input type="date" name="birthdate" id="birthdate">
</div>
<div>
<label for="email">Adresse email : </label>
<input type="email" name="email" id="email" placeholder="ex: jean-paul.dupont@gmail.com" required>
</div>
<div>
<label for="postcode">Code postal : </label>
<input type="number" name="postcode" id="postcode" placeholder="ex: 75000" min="5" max="99999" required>
<!--
Validation d'un code postal avec une expression régulière
<input type="text" name="postcode" id="postcode" placeholder="ex: 75000" pattern="(?:[0-8]\d|9[0-8])\d{3}">
-->
</div>
<div>
<label for="phonenumber">N° Télephone portable : </label>
<input type="text" name="phonenumber" id="phonenumber" placeholder="ex: 0655664488" pattern="^(\+33|0)[6-7](\d\d){4}$" required>
<!-- Il n'y a pas d'attribut pour afficher un message d'erreur personnalisé, c'est pour cela qu'il y a JavaScript -->
</div>
<div>
<input type="radio" name="gender" id="femme" value="Madame" required>
<label for="femme">Femme </label>
<input type="radio" name="gender" id="homme" value="Monsieur" required>
<label for="homme">Homme </label>
<input type="radio" name="gender" id="autre" value="Autre" required>
<label for="autre">Autre </label>
</div>
<div>
<label for="semester">Semestre : </label>
<select name="semester" id="semester" size="4" required>
<option value="Semestre 1">Semestre 1</option>
<option value="Semestre 2" selected>Semestre 2</option>
<option value="Semestre 3">Semestre 3</option>
<option value="Semestre 4">Semestre 4</option>
</select>
</div>
<div>
<label for="niveau">Niveau en HTML (entre 0 et 10) : </label>
<input type="range" name="niveau" id="niveau" min="0" max="10" value="5">
</div>
<div>
<label for="message">Message : </label>
<textarea name="message" id="message" required></textarea>
</div>
<div>
<input type="submit" value="Envoyer">
<input type="reset" value="Remettre à zéro">
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,85 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<title>Exercice 3</title>
<meta name="viewport" content="initial-scale=1,witdh=device-width">
<meta charset="utf-8">
</head>
<body>
<form method="POST" action="https://dwarves.iut-fbleau.fr/requete.php">
<div>
<label for="lastname">Nom : </label>
<input type="text" name="lastname" id="lastname" placeholder="ex: Dupont" required>
</div>
<div>
<label for="firstname">Prénom : </label>
<input type="text" name="firstname" id="firstname" placeholder="ex: Jean-Paul" required>
</div>
<div>
<label for="birthdate">Date de naissance : </label>
<input type="date" name="birthdate" id="birthdate">
</div>
<div>
<label for="email">Adresse email : </label>
<input type="email" name="email" id="email" placeholder="ex: jean-paul.dupont@gmail.com" required>
</div>
<div>
<label for="postcode">Code postal : </label>
<input type="number" name="postcode" id="postcode" placeholder="ex: 75000" min="5" max="99999" required>
<!--
Validation d'un code postal avec une expression régulière
<input type="text" name="postcode" id="postcode" placeholder="ex: 75000" pattern="(?:[0-8]\d|9[0-8])\d{3}">
-->
</div>
<div>
<label for="phonenumber">N° Télephone portable : </label>
<input type="text" name="phonenumber" id="phonenumber" placeholder="ex: 0655664488" pattern="^(\+33|0)[6-7](\d\d){4}$" required>
<!-- Il n'y a pas d'attribut pour afficher un message d'erreur personnalisé, c'est pour cela qu'il y a JavaScript -->
</div>
<div>
<input type="radio" name="gender" id="femme" value="Madame" required>
<label for="femme">Femme </label>
<input type="radio" name="gender" id="homme" value="Monsieur" required>
<label for="homme">Homme </label>
<input type="radio" name="gender" id="autre" value="Autre" required>
<label for="autre">Autre </label>
</div>
<div>
<label for="semester">Semestre : </label>
<select name="semester" id="semester" size="4" required>
<option value="Semestre 1">Semestre 1</option>
<option value="Semestre 2" selected>Semestre 2</option>
<option value="Semestre 3">Semestre 3</option>
<option value="Semestre 4">Semestre 4</option>
</select>
</div>
<div>
<label for="niveau">Niveau en HTML (entre 0 et 10) : </label>
<input type="range" name="niveau" id="niveau" min="0" max="10" value="5">
</div>
<div>
<label for="message">Message : </label>
<textarea name="message" id="message" required></textarea>
</div>
<div>
<input type="submit" value="Envoyer">
<input type="reset" value="Remettre à zéro">
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,53 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1,witdh=device-width">
<title>Exercice 4</title>
<link rel="stylesheet" href="./style4.css">
</head>
<body>
<h1>Emoticons</h1>
<p>
Emoticons are textual portrayals of a writer's moods or facial
expressions in the form of icons. Originally, these icons
consisted of ASCII art.
</p>
<p>
Emoticons can generally be divided into two groups: Western (mainly
from America and Europe) or horizontal; Eastern or vertical (mainly
from east Asia).
</p>
<h2>Western</h2>
<p>
Western style emoticons are mostly written from left to right as
though the head is rotated counter-clockwise 90 degrees.
</p>
<ul>
<li>Smiley: <span>:) :-&gt;</span></li>
<li>Tongue-tied: <span>:&</span></li>
<li>Broken heart: <span>&lt;\3</span></li>
<li>Rose: <span>@}-&gt;--</span></li>
<li>Fish: <span>&gt;&lt;(((*&gt;</span></li>
</ul>
<h2>Eastern</h2>
<p>
Eastern emoticons generally are not rotated sideways. They first
arose in Japan, where they are referred to as kaomoji.
</p>
<ul>
<li>Troubled: <span>(&gt;_&lt;)</span></li>
<li>Sad: <span>("_")</span></li>
<li>Cat: <span>(=^·^=)</span></li>
<li>Headphones: <span>((d[-_-]b))</span></li>
</ul>
</body>
</html>

View File

@@ -0,0 +1,85 @@
<!doctype html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>Exercice 5</title>
<meta name="viewport" content="initial-scale=1,witdh=device-width">
<link rel="stylesheet" href="./style5.css">
</head>
<body>
<table>
<caption>Orbites des planètes du Système solaire</caption>
<thead>
<tr>
<th>Planète</th>
<th>Distance moyenne (UA)</th>
<th>Exentricité </th><th>Inclinaison  (°)</th>
<th>Période de révolution (an)</th>
</tr>
</thead>
<tbody>
<tr>
<td>Mercure</td>
<td>0,38709893</td>
<td>0,205</td>
<td>7</td>
<td>0,241</td>
</tr>
<tr>
<td>Venus</td>
<td>0,72333199</td>
<td>0,007</td>
<td>3,4</td>
<td>0,615</td>
</tr>
<tr>
<td>Terre</td>
<td>1</td>
<td>0,017</td>
<td>0</td>
<td>1</td>
</tr>
<tr>
<td>Mars</td>
<td>1,52366231</td>
<td>0,094</td>
<td>1,9</td>
<td>1,881</td>
</tr>
<tr>
<td>Jupiter</td>
<td>5,20336301</td>
<td>0,049</td>
<td>1,3</td>
<td>11,862</td>
</tr>
<tr>
<td>Saturne</td>
<td>9,6</td>
<td>0,057</td>
<td>2,5</td>
<td>29,452</td>
</tr>
<tr>
<td>Uranus</td>
<td>2872,5</td>
<td>0,8</td>
<td>97,8</td>
<td>30,589</td>
</tr>
<tr>
<td>Neptune</td>
<td>4495,1</td>
<td>1,8</td>
<td>28,3</td>
<td>59,8</td>
</tr>
</tbody>
</table>
</body>
</html>

View File

@@ -0,0 +1,20 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1,witdh=device-width">
<title>Exercice 6</title>
<link rel="stylesheet" href="./style6.css">
</head>
<body>
<table>
<tbody>
<tr><td rowspan="5"></td><td colspan="3"></td><td rowspan="4"></td></tr>
<tr><td rowspan="3"></td><td></td><td rowspan="2"></td></tr>
<tr><td></td></tr>
<tr><td colspan="2"></td></tr>
<tr><td colspan="4"></td></tr>
</tbody>
</table>
</body>
</html>

View File

@@ -0,0 +1,21 @@
body {
font-family:sans-serif;
}
h1 {
font-variant:small-caps;
text-decoration : underline;
}
h2 {
background-color:#aaaaaa;
padding : 10px;
font-style:italic;
}
span {
font-family: monospace;
font-weight:bold;
color : #aa4512;
}

View File

@@ -0,0 +1,26 @@
table {
font-family: sans-serif;
border-collapse: collapse;
margin : auto;
width:700px;
}
table caption {
font-weight: bold;
font-variant: small-caps;
}
th {
border-bottom: 3px solid black;
border-top: 3px solid black;
text-align: left;
font-weight: bold;
font-variant: small-caps;
}
td {
border-bottom: 1px solid lightgray;
text-align: left;
}

View File

@@ -0,0 +1,9 @@
table {
border-collapse: collapse;
}
td {
border:1px solid black;
width:50px;
height:50px;
}

181
R1.02/tp/tp3/README.md Normal file
View File

@@ -0,0 +1,181 @@
# TP CSS
> Vous trouverez une correction du tp1 [ici](../tp1/correction).
> Vous trouverez une correction du tp2 [ici](../tp2/correction).
## Exercice 1 : stylisation d'une liste
Soit le code [html](src/exercice1.html) suivant
```html
<h1>Mes films préférés de Clint Eastwood</h1>
<ul>
<li>Gran Torino (2008)</li>
<li>Impitoyable (1992)</li>
<li>Mystic River (2003)</li>
<li>Sur la route de Madison (1995)</li>
<li>Lettres d'Iwo Jima (2006)</li>
<li>L'Échange (2008)</li>
<li>Josey Wales hors-la-loi (1976)</li>
<li>Breezy (1973)</li>
</ul>
```
Donnez une feuille de style pour obtenir la mise en page suivante ;
![eastwood](./img/eastwood.png)
> Propriétés css utiles :
> - `list-style-type` : contrôle l'apparence de la puce d'un élément de liste.
> - `padding`, `margin` : espace intérieur et extérieur
> - `background-color` : couleur de fond
> - `font-style` : italique, oblique ou normal
>
> Pseudo-classes utiles :
> - `nth-child` : nth-child(an+b) permet de selctionner les éléments en fonction de leur position.
## Exercice 2 : positionnement des boîtes avec la propriété `position`.
Soit le code [html](./src/exercice2.html) suivant :
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Exercice 2</title>
</head>
<body>
<main>
<header></header>
<section></section>
<footer></footer>
</main>
</body>
</html>
```
Donnez une feuille de style pour obtenir la mise en page suivante :
![eastwood](./img/smiley.png)
> Propriétés utiles
> - `position` : static, relative, absolute, fixed, sticky
> - `top`, `bottom`, `right`, `left` : coordonnées de l'élément. Attention, pour le
> positionnement absolu, les **coordonnées s'entendent par rapport au premier ascendant en position relative,
> le body s'il n'y en a pas**.
> - `ẁidth` et `height` : largeur et hauteur.
> - `border-radius` et `border` : arrondi des coins, et bordure.
## Exercice 3
Soit le code [html](src/exercice3.html) suivant :
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Pulp fiction</title>
<style>
body {
font-family: serif;
}
</style>
</head>
<body>
<h1>Uuummmm, this is a tasty burger!</h1>
<p>
Yeah, I like animals better than people sometimes...
</p>
<p>
Especially dogs.
</p>
<article>
<h2>We happy?</h2>
<p>
Dogs are the best.
</p>
<div>
<p>
And the good thing about dogs...
</p>
<p>
is they got different dogs for different people.
</p>
</div>
</article>
<p>
Give me... Raoul.
</p>
<p>
Right, Omar? Give me Raoul.
</p>
</body>
</html>
```
En utilsant les selecteurs contextuels (`E F`,`E + F`, `E > F`, `E ~ F`), donnez des règles de styles pour obtenir la
mise en forme suivante :
![stack](./img/exo3.png)
## Exercice 4 : selection à l'aide d'attributs.
Soit le code [html](src/exercice4.html) suivant
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Exercice 3</title>
</head>
<body>
<ul>
<li><a href="https://developer.mozilla.org/docs/Web/HTML">HTML</a></li>
<li><a href="https://developer.mozilla.org/docs/Web/CSS">CSS</a></li>
<li><a href="https://developer.mozilla.org/docs/Web/Javascript">JS</a></li>
</ul>
</body>
</html>
```
Donnez une feuille de style pour obtenir la mise en page suivante :
![stack](./img/web_stack.png)
Vous pouvez utiliser les images suivantes :
- [html](https://raw.githubusercontent.com/devicons/devicon/master/icons/html5/html5-plain.svg)
- [css](https://raw.githubusercontent.com/devicons/devicon/master/icons/css3/css3-plain.svg)
- [javascript](https://raw.githubusercontent.com/devicons/devicon/master/icons/javascript/javascript-plain.svg)
> On peut selectionner un élément en utilisant la valeur d'un attribut. Par exemple :
> ```css
> a[href*="toto"]
> ```
> selectionne les liens dont l'url cible contient "toto".
> Propriétés utiles :
> - `background-image` : permet de définir une image comme arrière plan.
> - `display` : permet de définir le rendu d'un élément. On pourra utiliser ici les boîtes flexibles (`flex`).
> - `font-size` : contrôle la taille de la fonte.
## Exercice 5 : media queries
Soit le code [html](src/exercice5.html) et sa feuille de [style](src/style5.css).
Lorsque la largeur de l'écran est inférieur à `640px`, le menu n'est plus affiché.
> Utilisez une requête media `@media`.
## Exercice 6 : mise en page avec la propriété `float`
On reprend le source précédent.
À l'aide de la propriété `float`, affichez les articles sur 2 colonnes avec une bordure de 1px grise et
une marge entre les articles de 40px.
> Vous aurez besoin d'utiliser la propriété `width` que vous pouvez utiliser avec la fonction CSS `calc()` pour le calcul,
> exemple:
> ```css
> width: calc(100px + 2*20px)
> ```
> Penser quand vous cherchez la bonne largeur (+/- 50%), qu'il faut prendre en compte la taille de marge et des bordures. Vous pouvez utiliser
> la propriété `box-sizing`.
Ajoutez une requête media pour que les articles s'affichent à nouveau verticalement lorsque la taille de l'écran est en dessous de 720px.

View File

@@ -0,0 +1,21 @@
ul {
width : 50%;
max-width : 700px;
margin:auto;
border : 1px solid black;
padding : 0;
}
li {
list-style-type: none;
padding : 0.25rem;
margin : 0.25rem;
}
li:nth-child(2n){
background-color : #888888;
color : rgb(255,255,255);
}
li:nth-child(2n+1){
background-color : #dddddd;
font-style:italic;
}

View File

@@ -0,0 +1,46 @@
main {
--main-height : 400px;
--main-width : 400px;
position : relative;
width : var(--main-width);
height : var(--main-height);;
background-color : yellow;
border-radius : 10px;
border: 4px solid red;
margin:auto;
}
section {
position : absolute ;
top : calc(var(--main-height) / 4 );
right:calc(var(--main-width) / 5);
width : calc(var(--main-height) / 4);
height : calc(var(--main-height) / 4);
height : calc(var(--main-height) / 4);
border-radius : calc(var(--main-height) / 4);
background-color : red;
}
header {
position : absolute ;
top : calc(var(--main-height) / 4 );
left:calc(var(--main-width) / 5);
width : calc(var(--main-height) / 4);
height : calc(var(--main-height) / 4);
height : calc(var(--main-height) / 4);
border-radius : calc(var(--main-height) / 4);
background-color : red;
}
footer {
position : absolute;
bottom : calc(var(--main-height) / 8 );
--tmp-left : calc(var(--main-width) / 5);
left : var(--tmp-left);
height : calc(var(--main-height) / 6);
width : calc(var(--tmp-left) * 3 );
background-color : red;
border-radius : calc(var(--main-height) / 6) calc(var(--main-height) / 6) 0px 0px;
}

View File

@@ -0,0 +1,20 @@
body {
font-family: serif;
}
h1 + p {
font-variant: small-caps;
}
article p {
font-style: italic;
}
article > p {
text-decoration: underline;
}
article ~ p {
font-family: sans-serif;
}

View File

@@ -0,0 +1,28 @@
ul {
padding : 1em;
text-align:center;
border : 1px solid grey;
display : flex;
justify-content:space-around;
}
li {
list-style-type : none;
display : flex;
}
li > a {
height:10rem;
width:10rem;
font-size : 0px;
}
li > a[href*="HTML"] {
background-image: url(https://raw.githubusercontent.com/devicons/devicon/master/icons/html5/html5-plain.svg);
}
li > a[href*="CSS"] {
background-image: url(https://raw.githubusercontent.com/devicons/devicon/master/icons/css3/css3-plain.svg);
}
li > a[href*="Javascript"] {
background-image: url(https://raw.githubusercontent.com/devicons/devicon/master/icons/javascript/javascript-plain.svg);
}

View File

@@ -0,0 +1,51 @@
/* media query pour le menu */
@media screen and (max-width: 640px){
nav {
display : none;
}
}
ul {
padding:0;
display:flex;
list-style-type: none;
justify-content:center;
}
li {
margin-right: 2em;
font-size : 2em;
}
/*
ul {
text-align: center;
padding:0;
}
li {
list-style-type: none;
list-style-position: inside;
display: inline-block;
margin-right: 2em;
font-size : 2em;
}
li:last-child{
margin-right:0;
}*/
main{
display : flex;
flex-direction : row;
flex-wrap : wrap;
justify-content : center;
}
article {
box-sizing : border-box;
margin: 2em;
flex-basis : 40%;
min-width:300px;
text-align: justify;
border : 1px solid grey;
padding : 1em;
}
img {
width : 90%;
}

View File

@@ -0,0 +1,40 @@
/* media query pour le menu */
@media screen and (max-width: 640px){
nav {
display : none;
}
}
ul {
padding:0;
display:flex;
list-style-type: none;
justify-content:center;
}
li {
margin-right: 2em;
font-size : 2em;
}
main{
display : grid;
grid-template-columns: 1fr 1fr;
grid-gap : 1rem;
}
article:first-child{
grid-column : 1 / span 2;
}
article {
box-sizing : border-box;
margin: 2em;
min-width:300px;
text-align: justify;
border : 1px solid grey;
padding : 1em;
}
img {
width : 90%;
}

View File

@@ -0,0 +1,25 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="initial-scale=1,witdh=device-width">
<link rel="stylesheet" href="./css/style1.css">
<title>CEastwood</title>
</head>
<body>
<h1>Mes films préférés de Clint Eastwood</h1>
<ul>
<li>Gran Torino (2008)</li>
<li>Impitoyable (1992)</li>
<li>Mystic River (2003)</li>
<li>Sur la route de Madison (1995)</li>
<li>Lettres d'Iwo Jima (2006)</li>
<li>L'Échange (2008)</li>
<li>Josey Wales hors-la-loi (1976)</li>
<li>Breezy (1973)</li>
</ul>
</body>
</html>

View File

@@ -0,0 +1,18 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Smiley</title>
<meta name="viewport" content="initial-scale=1,witdh=device-width">
<link rel="stylesheet" href="./css/style2.css">
</head>
<body>
<main>
<header></header>
<section></section>
<footer></footer>
</main>
</body>
</html>

View File

@@ -0,0 +1,40 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Pulp fiction</title>
<link rel="stylesheet" href="css/style3.css" type="text/css" media="screen">
</head>
<body>
<h1>Uuummmm, this is a tasty burger!</h1>
<p>
Yeah, I like animals better than people sometimes...
</p>
<p>
Especially dogs.
</p>
<article>
<h2>We happy?</h2>
<p>
Dogs are the best.
</p>
<div>
<p>
And the good thing about dogs...
</p>
<p>
is they got different dogs for different people.
</p>
</div>
</article>
<p>
Give me... Raoul.
</p>
<p>
Right, Omar? Give me Raoul.
</p>
</body>
</html>

View File

@@ -0,0 +1,17 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="initial-scale=1,witdh=device-width">
<link rel="stylesheet" href="./css/style4.css">
<title>Liste</title>
</head>
<body>
<ul>
<li><a href="https://developer.mozilla.org/docs/Web/HTML">HTML</a></li>
<li><a href="https://developer.mozilla.org/docs/Web/CSS">CSS</a></li>
<li><a href="https://developer.mozilla.org/docs/Web/Javascript">JS</a></li>
</ul>
</body>
</html>

View File

@@ -0,0 +1,59 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="initial-scale=1,witdh=device-width">
<link rel="stylesheet" href="./css/style5.css">
<title>Document</title>
</head>
<body>
<header>
<nav>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/">About</a></li>
<li><a href="/">Contact</a></li>
</ul>
</nav>
</header>
<main>
<article>
<header>
<h1>Article title 1</h1>
</header>
<section>
<img src="https://picsum.photos/300/200" alt="">
<p>lorem ipsum</p>
</section>
</article>
<article>
<header>
<h1>Article title 2</h1>
</header>
<section>
<img src="https://picsum.photos/300/200" alt="">
<p>lorem ipsum</p>
</section>
</article>
<article>
<header>
<h1>Article title 3</h1>
</header>
<section>
<img src="https://picsum.photos/300/200" alt="">
<p>lorem ipsum</p>
</section>
</article>
<article>
<header>
<h1>Article title 3</h1>
</header>
<section>
<img src="https://picsum.photos/300/200" alt="">
<p>lorem ipsum</p>
</section>
</article>
</main>
</body>
</html>

View File

@@ -0,0 +1,59 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="initial-scale=1,witdh=device-width">
<link rel="stylesheet" href="./css/style6.css">
<title>Document</title>
</head>
<body>
<header>
<nav>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/">About</a></li>
<li><a href="/">Contact</a></li>
</ul>
</nav>
</header>
<main>
<article>
<header>
<h1>Article title 1</h1>
</header>
<section>
<img src="https://picsum.photos/300/200" alt="">
<p>lorem ipsum</p>
</section>
</article>
<article>
<header>
<h1>Article title 2</h1>
</header>
<section>
<img src="https://picsum.photos/300/200" alt="">
<p>lorem ipsum</p>
</section>
</article>
<article>
<header>
<h1>Article title 3</h1>
</header>
<section>
<img src="https://picsum.photos/300/200" alt="">
<p>lorem ipsum</p>
</section>
</article>
<article>
<header>
<h1>Article title 3</h1>
</header>
<section>
<img src="https://picsum.photos/300/200" alt="">
<p>lorem ipsum</p>
</section>
</article>
</main>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

BIN
R1.02/tp/tp3/img/exo3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

BIN
R1.02/tp/tp3/img/smiley.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -0,0 +1,23 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="initial-scale=1,witdh=device-width">
<title>CEastwood</title>
</head>
<body>
<h1>Mes films préférés de Clint Eastwood</h1>
<ul>
<li>Gran Torino (2008)</li>
<li>Impitoyable (1992)</li>
<li>Mystic River (2003)</li>
<li>Sur la route de Madison (1995)</li>
<li>Lettres d'Iwo Jima (2006)</li>
<li>L'Échange (2008)</li>
<li>Josey Wales hors-la-loi (1976)</li>
<li>Breezy (1973)</li>
</ul>
</body>
</html>

View File

@@ -0,0 +1,14 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Exercice 2</title>
</head>
<body>
<main>
<header></header>
<section></section>
<footer></footer>
</main>
</body>
</html>

View File

@@ -0,0 +1,43 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Pulp fiction</title>
<style>
body {
font-family: serif;
}
</style>
</head>
<body>
<h1>Uuummmm, this is a tasty burger!</h1>
<p>
Yeah, I like animals better than people sometimes...
</p>
<p>
Especially dogs.
</p>
<article>
<h2>We happy?</h2>
<p>
Dogs are the best.
</p>
<div>
<p>
And the good thing about dogs...
</p>
<p>
is they got different dogs for different people.
</p>
</div>
</article>
<p>
Give me... Raoul.
</p>
<p>
Right, Omar? Give me Raoul.
</p>
</body>
</html>

View File

@@ -0,0 +1,14 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Exercice 3</title>
</head>
<body>
<ul>
<li><a href="https://developer.mozilla.org/docs/Web/HTML">HTML</a></li>
<li><a href="https://developer.mozilla.org/docs/Web/CSS">CSS</a></li>
<li><a href="https://developer.mozilla.org/docs/Web/Javascript">JS</a></li>
</ul>
</body>
</html>

View File

@@ -0,0 +1,60 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="initial-scale=1,witdh=device-width">
<link rel="stylesheet" href="style5.css">
<title>Document</title>
</head>
<body>
<header>
<nav>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/">About</a></li>
<li><a href="/">Contact</a></li>
</ul>
</nav>
</header>
<main>
<article>
<header>
<h1>Article title 1</h1>
</header>
<section>
<img src="https://picsum.photos/300/200" alt="">
<p>lorem ipsum</p>
</section>
</article>
<article>
<header>
<h1>Article title 2</h1>
</header>
<section>
<img src="https://picsum.photos/300/200" alt="">
<p>lorem ipsum</p>
</section>
</article>
<article>
<header>
<h1>Article title 3</h1>
</header>
<section>
<img src="https://picsum.photos/300/200" alt="">
<p>lorem ipsum</p>
</section>
</article>
<article>
<header>
<h1>Article title 3</h1>
</header>
<section>
<img src="https://picsum.photos/300/200" alt="">
<p>lorem ipsum</p>
</section>
</article>
</main>
</body>
</html>

View File

@@ -0,0 +1,21 @@
ul {
text-align: center;
padding:0;
}
li {
list-style-type: none;
list-style-position: inside;
display: inline-block;
margin-right: 2em;
font-size : 2em;
}
li:last-child{
margin-right:0;
}
article {
text-align: justify;
border : 1px solid grey;
padding : 1em;
}

57
R1.02/tp/tp4/README.md Normal file
View File

@@ -0,0 +1,57 @@
# TP CSS - mise en page d'un site
> Vous pouvez utiliser l'inspecteur dans les outils développeur pour modifier du code CSS directement dans le navigateur.
> Vous pouvez utiliser [des aides](https://developer.mozilla.org/fr/docs/Web/CSS/Reference) pour trouver les propriétés CSS.
> Un peu d'aide pour les [grilles css](https://developer.mozilla.org/fr/docs/Web/CSS/CSS_Grid_Layout/Basic_Concepts_of_Grid_Layout) et [css tricks](https://css-tricks.com/snippets/css/complete-guide-grid/).
> Un peu d'aide pour les [flexbox](https://developer.mozilla.org/fr/docs/Web/CSS/CSS_Flexible_Box_Layout/Basic_Concepts_of_Flexbox) et [css tricks](https://css-tricks.com/snippets/css/a-guide-to-flexbox/).
> Une vidéo si vous voulez utiliser les css grid [css grid](https://www.youtube.com/watch?v=KOvGeFUHAC0).
> Un exemple de [générateur de grille css](https://cssgrid-generator.netlify.app/)
## Exercice
On veut réaliser un site qui regroupe des personnes importantes de divers domaines, pour obtenir la présentation suivante. Nous allons écrire l'HTML, puis réaliser progressivement les CSS correspondantes.
![gallerie](./img/tp4.png ':-:')
1. ~~Écrire l'HTML nécessaire pour coder cette page (sans utiliser de tableau). On se limitera à deux informaticiens.~~
Si vous êtes en retard sur les tp, vous pouvez récupérer une version [html](src/pantheon.html).
> La page fait 960px de large [pour votre culture](https://webdevdesigner.com/q/why-width-960px-88380/)
>
> Les photos:
> - http://upload.wikimedia.org/wikipedia/commons/e/e6/Dennis_Ritchie.jpg
> - http://upload.wikimedia.org/wikipedia/commons/7/71/Linus_Torvalds_cropped.jpeg
> - http://upload.wikimedia.org/wikipedia/commons/7/79/Blaise_pascal.jpg
> - https://upload.wikimedia.org/wikipedia/commons/1/17/Alan_Turing_%281912-1954%29_in_1936_at_Princeton_University.jpg
>
> Les couleurs :
> - bleu : `#08c`.
> - gris : `#EFEFEF`.
> - ombre : `#555`.
> On utilisera les balises htm5 d'organisation d'un site : `header`, `nav`, `footer`, `section`, `aside`, etc.
> Pour la mise en page des éléments, il y a évidemment plusieurs solutions. `float` et `display:inline-block` peuvent être utiles.
> On peut aussi utiliser le module css de boîtes flexibles (flexbox).
> On peut utiliser le module css de grilles (grid).
2. Réaliser la mise en page telle que sur l'image en haut de page. Vous pouvez ajouter des attributs (`class` et `id`) dans votre
source html.
> Commencer de haut en bas et de gauche à droite. Il faut garder au maximum une logique dans la mise en page et la réaliser étape par étape.
> Par exemple :
> - mise en page du titre de la page
> - mise en page du menu
> - mise en page sur 2 colonnes du contenu principal
> - mise en page de la colonne de droite
> - mise en page du titre de la colonne de gauche
> - mise en page des images des personnalités
> - mise en page des vignettes
> - mise en page du pied de page
> - petit correctif pour la mise en page globale
Bon courage ;)

BIN
R1.02/tp/tp4/img/tp4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 KiB

View File

@@ -0,0 +1,80 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="initial-scale=1,witdh=device-width">
<title>TP mise en page avec le css</title>
<link rel='stylesheet' type='text/css' href='style.css'>
</head>
<body>
<header>
<h2 class="titre">Mon Panthéon</h2>
<nav>
<ul>
<li><a href="#">Informaticiens</a></li>
<li><a href="#">Mathématiciens</a></li>
<li><a href="#">Sportifs</a></li>
<li><a href="#">Musiciens</a></li>
</ul>
</nav>
</header>
<main>
<section class="informaticien">
<h2>Les informaticiens</h2>
<article>
<img alt="Ritchie" src="http://upload.wikimedia.org/wikipedia/commons/e/e6/Dennis_Ritchie.jpg">
<h3>Dennis <br>Ritchie</h3>
<p class='date'><small>9 septembre 1941 - 12 octobre 2011</small></p><p>Nationalité : américaine</p>
</article>
<article>
<img alt="linus torvalds" src="http://upload.wikimedia.org/wikipedia/commons/7/71/Linus_Torvalds_cropped.jpeg">
<h3>Linus <br>Torvalds</h3><p class='date'><small>28 décembre 1969 - </small></p>
<p>Nationalité : finlandaise</p>
</article>
<article>
<img alt="Pascal" src="http://upload.wikimedia.org/wikipedia/commons/7/79/Blaise_pascal.jpg">
<h3>Blaise <br>Pascal</h3>
<p class='date'><small>19 juin 1623 - 19 août 1662</small></p>
<p>Nationalité : française</p>
</article>
<article>
<img alt="turing" src="https://upload.wikimedia.org/wikipedia/commons/e/ea/Alan_Turing_%281912-1954%29_in_1936_at_Princeton_University_%28b%26w%29.jpg">
<h3>Alan <br>Turing</h3><p class='date'><small>23 juin 1912 - 7 juin 1954</small></p>
<p>Nationalité : britannique</p>
</article>
</section>
<aside>
<p>
<strong>Dennis MacAlistair Ritchie</strong>, né le 9 septembre 1941 à Bronxville dans
l'État de New York et trouvé mort le 12 octobre 20111 à Berkeley Heights dans le New Jersey, est
un des pionniers de l'informatique moderne, inventeur du langage C et
codéveloppeur de Unix. Il est parfois désigné par dmr, son adresse électronique aux Laboratoires Bell.
</p>
<p>
<strong>Linus Benedict Torvalds</strong>, né le 28 décembre 1969 à Helsinki en Finlande, est un informaticien
américano-finlandais1. Il est connu pour avoir créé en 1991 le noyau Linux
dont il continue à diriger le développement. Il en est considéré comme le « dictateur bienveillant ».
</p>
<p>
<strong>Blaise Pascal</strong>, né le 19 juin 1623 à Clairmont (aujourd'hui Clermont-Ferrand) en
Auvergne et mort le 19 août 1662 à Paris, est un mathématicien, physicien, inventeur, philosophe,
moraliste et théologien français. Il invente, à 19 ans, la calculatrice mécanique.
</p>
<p>
<strong>Alan Mathison Turing</strong>est un mathématicien, cryptologue et informaticien britannique. Il
est l'auteur de l'article fondateur de la science informatique1 qui
allait donner le coup d'envoi à la création des calculateurs universels programmables (ordinateurs). Il
y présente sa machine de Turing et les concepts modernes de programmation et de programme.
</p>
</aside>
</main>
<footer>
<p class="gauche">
<a href="mailto:monnerat@u-pec.fr">Envoyer un mail</a>
</p>
<p class="droite">
<a href="#">Revenir à la page d'accueil</a>
</p>
</footer>
</body>
</html>