Objectifs de cette séquence (1h) :
Command-Line Interface (CLI) :
Graphical User Interface (GUI) :
Vidéo https://www.youtube.com/watch?v=gc9NpYrbZgQ par UserExperiencesWorks
Natural User Interface (NUI) :
Plate-forme préférentielle (majorité des utilisateurs)
Utiliser technos Web pour applis mobiles :-)
Objectifs de cette séquence (1h) :
CW NSFW : https://userinyerface.com/
Le Web est la plate-forme universelle.
Source : article Comment les aveugles utilisent-ils internet ? de l’Obs
Voir aussi Usage plage braille et synthèse vocale par personne non voyante de https://design.numerique.gouv.fr/.
etc.
Concevons des services publics numériques accessibles, inclusifs et humains.
Objectifs de cette séquence (1h) :
(suite)
Conversion de documents en une présentation dans le navigateur.
Une « page Web » :
Un document (HTML) :
Arbre de balises HTML (DOM : Document Object Model)
Une page affichée en 2D (ou imprimée) :
Le navigateur (moteur de rendu) convertit :
en :
Logo du site |
||
Accueil | ||
Lien Lien Lien Lien Lien |
Titre pageUne mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les lignes 1, 2 et 4 du tableau créent respectivement l'en-tête, la barre de navigation et le bas-de-page, et contiennent une seule cellule de tableau chacune.La ligne 3 du tableau contient 3 cellules qui créent la colonne de menu (gauche), la colonne de contenu (milieu) et la collonne supplémentaire (droite). |
|
Copyright © |
<table>
<tr> <!-- SECTION EN-TETE -->
<td colspan="3">
<h3>Logo du site</h3>
</td>
</tr>
<tr> <!-- SECTION BARRE NAVIGATION == -->
<td colspan="3">
<a href="#">Accueil</a>
</td>
</tr>
<tr>
<td width="20%"> <!-- COLONNE GAUCHE (MENU) == -->
<a href="#">Lien</a><br>
<a href="#">Lien</a><br>
</td>
<td width="55%"> <!-- COLONNE MILIEU (CONTENU) == -->
<h4>Titre page</h4>
Une mise-en-page avec en-tête, barre de navigation et section de
...
</td>
<td width="25%"</td>
</tr>
<tr> <!-- SECTION PIED-DE-PAGE == -->
<td colspan="3">Copyright ©</td>
</tr>
</table>
<div>
Source : http://webstyleguide.com/wsg3/6-page-structure/3-site-design.html (versions suivante : https://webstyleguide.com/6-page-structure.html )
25/01/1963 - 05/09/2023
Outils de Mockup :
Marché :
Avantage d’HTML : le code source HTML dispo.
Vive le copier-coller :-)
Roadmap of Web Applications on Mobile du W3C (September 2020)
Cascading Style Sheets (Feuilles de style de Cascade)
Concevoir l’habillage des pages du site / application
Modèle « objet » particulier
Factorisation de motifs :
DRY – don’t repeat yourself
h1 {
font-size: 60px;
text-align: center;
}
p,
li {
font-size: 16px;
line-height: 2;
letter-spacing: 1px;
}
Emplacement du code CSS :
fichier CSS externe :
<link rel="stylesheet" href="external.css"/>
bloc style interne :
<style type="text/css">
.underline { text-decoration: underline; }
</style>
dans élément :
<div class="column" style="float:left; width: 50%">
Quelles règles s’appliquent, si plusieurs définies ?
Ordre croissant de spécificité du sélecteur :
div {style:valeur}
.myclass {style:valeur}
#myid {style:valeur}
Source : Examiner et modifier le CSS sur MDN
Couplage blocs templates Twig et CSS
Objectifs de cette séquence (1h) :
Conception parallèle :
<div>
qu’ils contiennent (identifiants ou classes)Même convention de nommage
<html>
<head>
</head>
<body>
NAVIGATION
MENU (COLONNE DE GAUCHE)
CONTENU PRINCIPAL
BAS DE PAGE
</body>
</html>
<body>
<div id="navigation">
(NAVIGATION)
</div>
<div id="menu">
(MENU RUBRIQUES)
</div>
<div id="main">
(CONTENU PRINCIPAL)
</div>
<div id="footer">
(BAS DE PAGE)
</div>
</body>
{% block body %} <body> <div id="navigation"> {% block navigation %} {% endblock %} {# navigation #} </div> <div id="menu"> {% block menu %} {% endblock %} {# menu #} </div> <div id="main"> {% block main %} <h1>{{ Message }}</h1> {% endblock %} {# main #} </div> <div id="footer"> {% block footer %} {% endblock %} {# footer #} </div> </body> {% endblock %} {# body #}
Spécialisation dans une sous-section ou une page de certains éléments de structure ou de présentation
héritage des gabarits : redéfinition du contenu de blocs
{% block main %} ... {% endblock %}
cascade des feuilles de style CSS : redéfinition de la mise en forme
#main { background-color: lightblue; }
Framework CSS (+ JS)
Mise en page basée sur une grille de 12 colonnes
[X]
HTTP (GET)[X]
PHP[X]
Doctrine[X]
Routeur Symfony[X]
HTML[X]
Twig[X]
CSSTout ce qu’il faut pour un joli site Web dynamique en lecture seule ;-)
Pour vos projets, mieux que make controller
:
symfony console make:crud Todo
Génère code + gabarits :
created: src/Controller/TodoController.php created: src/Form/TodoType.php created: templates/todo/_delete_form.html.twig created: templates/todo/_form.html.twig created: templates/todo/index.html.twig created: templates/todo/show.html.twig created: templates/todo/new.html.twig created: templates/todo/edit.html.twig
spoiler : formulaires, mais du temps gagné
UserExperiencesWorks