application(s) web architecture(s) et · exemple de page avec un tableau logo du site titre page...

95
Architecture(s) et application(s) Web CSC4101 - Expérience utilisateur Web 09/10/2018 1

Upload: others

Post on 13-May-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Architecture(s)etapplication(s)Web

CSC4101-ExpérienceutilisateurWeb09/10/2018

1

Page 2: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Planducours

CM4:ExpérienceutilisateurWeb

2

Page 3: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

1. Interfaceutilisateur

3

Page 4: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Interfacehomme-machine(IHM)

4

Page 5: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Interfaceutilisateur

5

Page 6: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

PropriétésdelalignedecommandeCommand-LineInterface(CLI):

CodifiéeStricteStatique

6

Page 7: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Interfaceutilisateur

7

Page 8: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

PropriétésdesinterfacesgraphiquesGraphicalUserInterface(GUI):

Métaphore(bureau)Exploratoire

8

Page 9: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Interfaceutilisateur

Yourbrowserdoesnotcurrentlyrecognizeanyofthevideoformatsavailable.ClickheretovisitourfrequentlyaskedquestionsaboutHTML5video.

Vidéo parUserExperiencesWorkshttps://www.youtube.com/watch?v=gc9NpYrbZgQ

9

Page 10: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Propriétésdesinterfaces«naturelles»NaturalUserInterface(NUI):

Directe(passagedenoviceàexpertfacilement)Naturelle/Intuitive

10

Page 11: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Importancedesordiphones(mobiles)Plate-formepréférentielle(majoritédesutilisateurs)

UtilisertechnosWebpourapplismobiles:-)

11

Page 12: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

2. InterfacesWeb

12

Page 13: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Interfaced’uneapplicationWeb

13

Page 14: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Ensembledevues/écrans/pagesNaviguerdansunearborescencedepages/vues/écrans/dialoguesTrouverdel’informationauseind’unepageWidgetspourinteraction:composantsd’interfacegraphique(boutons,listes,etc.)

14

Page 15: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

UnétatUnepageWebestunétatdel’application

15

Page 16: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

HypermediaAsTheEngineOfApplicationState(HATEOAS)Uneapplication=diagrammed’étatsfiniTransitions=hyperlienssurlesquelsonclique(etautreswidgets)

16

Page 17: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

ExempleApplicationWebPointdépart:

( )https://twitter.com/jack/status/20

17

Page 18: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

DiagrammeétatsWebappTwitter1transitionenentrée/32transitionsensortie

18

Page 19: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

InteractionsavecutilisateurAffichagedepages(lecturesurdesressources)Invocationdeméthodessurdesressourcesdédiées(ycomprisécriture)Invocationd’APIspourinteractionsfines(lecture/écriture)

19

Page 20: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

QualitédesinterfacesWeb

20

Page 21: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

ErgonomieExpérienceutilisateur(UsereXperience:UX)Utilisabilité:apprenabilité(novices)

«Fléau»del’abandondepanierUtilisateurs«PIP»:Pressés,IgnorantsetParesseux

21

Page 22: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

PortabilitéLeWebestlaplate-formeuniverselle.

Standardisation=portabilité(merciHTML5)Applicationsmobiles:DéveloppéenHTML«Compilé»entoolkitnatif(ex. )

Attention:prédominencedeChromedeGoogle…BestviewedinChrome

ApacheCordova

22

Page 23: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

AccessibilitéVidéo:

Yourbrowserdoesnotcurrentlyrecognizeanyofthevideoformatsavailable.ClickheretovisitourfrequentlyaskedquestionsaboutHTML5video.

Source:article del’Obs

.

Commentlesaveuglesutilisent-ilsinternet?

23

Page 24: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Obligations

Différentsniveauxdepriorité/niveauxdeconformitéàlanormePrincipes:Perceptible,Utilisable,Compréhensible,RobusteRègles,critèresdesuccèsTechniquessuffisantesettechniquesrecommandées

Règlespourl’accessibilitédescontenusWeb(WCAG)2.0

RéférentielGénérald’AccessibilitédesAdministrations(RGAA)Version32017

24

Page 25: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

PrincipesWCAG2.0

25

Page 26: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Principe1:perceptible1.1Proposerdeséquivalentstextuelsàtoutcontenunontextuelquipourraalorsêtreprésentésousd’autresformesselonlesbesoinsdel’utilisateur:grandscaractères,braille,synthèsevocale,symbolesoulangagesimplifié.1.2Proposerdesversionsderemplacementauxmédiatemporels.1.3Créeruncontenuquipuisseêtreprésentédedifférentesmanièressansperted’informationnidestructure(parexempleavecunemiseenpagesimplifiée).1.4Faciliterlaperceptionvisuelleetauditivedu 26

Page 27: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Principe2:utilisable2.1Rendretouteslesfonctionnalitésaccessiblesauclavier.2.2Laisseràl’utilisateursuffisammentdetempspourlireetutiliserlecontenu.2.3Nepasconcevoirdecontenususceptibledeprovoquerdescrises.2.4Fourniràl’utilisateurdesélémentsd’orientationpournaviguer,trouverlecontenuetsesituerdanslesite.

27

Page 28: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Principe3:compréhensible3.1Rendrelecontenutextuellisibleetcompréhensible.3.2Faireensortequelespagesapparaissentetfonctionnentdemanièreprévisible.3.3Aiderl’utilisateuràéviteretàcorrigerleserreursdesaisie.

28

Page 29: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Principe4:robuste4.1Optimiserlacompatibilitéaveclesagentsutilisateursactuelsetfuturs,ycomprisaveclestechnologiesd’assistance.

etc.

29

Page 30: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

ÉvaluationqualitéCritèresOpquast(OpenQualityStandards):https://checklists.opquast.com/oqs-v3/

30

Page 31: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

3. HabillagedespagesWeb

31

Page 32: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Découplagestructure/présentation

32

Page 33: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

PageWebetdocumentHTMLConversiondedocumentsenuneprésentationdansle

navigateur.

33

Page 34: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

HTML+CSS

34

Page 35: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Une«pageWeb»:

undocumentHTML(maître)plusdesimages,boutons,menus,etc.(éventuellementexternes)

Undocument(HTML):

unarbrederubriques,sous-rubriques,etc.

Structuredessourcesdespages

ArbredebalisesHTML(DOM:DocumentObject

Model)

35

Page 36: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Structured’unepageaffichéeUnepageaffichéeen2D(ouimprimée):

desboîtesquicontiennentd’autresboîtesboîtesquicontiennenttexteouimages,etc.textequicontientdescaractèrescaractèrequicontiennentdespixels…

36

Page 37: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

ArbreDOMetrendudespagesLenavigateur(moteurderendu)convertit:

ArbreDOM:DocumentObjectModel

en:

Arbred’élémentsàafficherRèglesdeconversionPrédéfinies(navigateur)Programmables(CSS)

37

Page 38: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Exempledepageavecuntableau

Logodusite

TitrepageUnemise-en-pageavecen-tête,barredenavigationetsectiondebas-de-page.Leslignes1,2et4dutableaucréentrespectivementl'en-tête,labarredenavigationetlebas-de-page,etcontiennentuneseulecelluledetableauchacune.

Laligne3dutableaucontient3cellulesquicréentlacolonnedemenu(gauche),lacolonnedecontenu(milieu)etlacollonne

Accueil

LienLienLienLienLien

38

Page 39: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

StructureHTMLcorrespondante?<table><tr><!--SECTIONEN-TETE--><tdcolspan="3"><h3>Logodusite</h3></td></tr><tr><!--SECTIONBARRENAVIGATION==--><tdcolspan="3"><ahref="#">Accueil</a></td></tr><tr><tdwidth="20%"><!--COLONNEGAUCHE(MENU)==--><ahref="#">Lien</a><br><ahref="#">Lien</a><br></td><tdwidth="55%"><!--COLONNEMILIEU(CONTENU)==--><h4>Titrepage</h4>Unemise-en-pageavecen-tête,barredenavigationetsectionde...</td><tdwidth="25%"</td></tr><tr><!--SECTIONPIED-DE-PAGE==-->

39

Page 40: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Fairemieux!Structurerlapageen6sections,parexemple,avecdesbalises<div>PositionnerlecontenudechaquesectionavecdesrèglesCSS.Permetdefaireévoluerlamiseenpage,parexemplesousformelinéaireetnonplustabulaire,etc.

40

Page 41: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

ProgrammerenHTMLetCSS

41

Page 42: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Structurearchétypaled’unepage

Source:http://webstyleguide.com/wsg3/6-page-structure/3-site-design.html

42

Page 43: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Oubien,cestemps-ci…

43

Page 44: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Exemples:CSSZenGardenhttp://www.csszengarden.com/tr/francais/

44

Page 45: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

DesignOutilsdeMockup:

Papier+crayon+gommeOutilsHTML+CSS(+templates)

45

Page 46: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

GuidesdestyleChercher«webinterfacestyleguide»survotremoteurderecherchepréféréFairecommesurlesapplismobiles:Android:Materialdesign:

iOSHumanInterfaceGuidelines:https://developer.android.com/design/index.html

https://developer.apple.com/ios/human-interface-guidelines/

46

Page 47: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Inspiration/prêtàl’emploi:récompensespourle

Webdesign:sélection

dedesigns

Marché:

:thèmesprêtsàl’emploi

https://www.awwwards.com/

http://www.webdesign-inspiration.com/

https://themeforest.net/

47

Page 48: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

CaractéristiquesdeHTML

48

Page 49: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

HTML5Tout(oupresque)estpossibleentermed’interfaced’applications.Ycomprisl’accèsàdeszonesdegraphismelibreetl’intégrationdespériphériquesdutéléphone/ordinateur

49

Page 50: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Lesbonsartistescopient,lesgrandsartistesvolent

Avantaged’HTML:lecodesourceHTMLdispo.

Vivelecopier-coller:-)

50

Page 51: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

ContenuadaptatifResponsivedesign:prendencomptelatailledel’écranautomatiquementp.ex.:avec (voirplusloin)Bootstrap

51

Page 52: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

InteractionsdynamiquesJavascriptInteractionsasynchrones

52

Page 53: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

InteractionsavecordiphonemobileApplicationallantplusloinquel’affichageetlasaisiedetexte:accèsàtouteslesfonctionsduterminalmobiledepuislenavigateurWeb

https://www.w3.org/Mobile/mobile-web-app-state/

53

Page 54: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

PrincipesdeCSSCascadingStyleSheets

Concevoirl’habillagedespagesdusite/application

54

Page 55: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

CascadeModèle«objet»particulier

LangagedéclaratifCombinaisondeplusieursfeuillesavecpriorités«Héritage»depropriétésdesparents

Factorisationdemotifs:

DRY–don’trepeatyourself

55

Page 56: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

LangageàbasederèglesSimotiftrouvé(sélecteur)alorsvaleurdonnéeà

attribut/propriétédemiseenforme

56

Page 57: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Exemplebody{padding-left:11em;font-family:Georgia,"TimesNewRoman",Times,serif;color:purple;background-color:#d8da3d}ul.navbar{list-style-type:none;padding:0;margin:0;position:absolute;top:2em;left:1em;width:9em}

57

Page 58: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Différentsniveauxdeproximité

58

Page 59: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

SpécificitéselonlaproximitéQuellesrègless’appliquent,siplusieurssontdéfinies?

59

Page 60: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Spécificitédusélecteur

60

Page 61: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

OutilsdudéveloppeursurMDNExamineretmodifierleCSS

61

Page 62: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

ConceptiondeCSSPastoujourssimpleAbstractionFrameworksCSS(etJavascript)ex.:

CouplagetemplatesetCSS

Bootstrap

62

Page 63: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

4. Programmationdesinterfaces

63

Page 64: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

PatronMVC

64

Page 65: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Rappel:Architecturemulti-tiers

65

Page 66: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Rappel:PatronMVC

66

Page 67: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

ModèleetVue

67

Page 68: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

FrameworkWebMVCModèleVueContrôleur

LecontrôleurgèrelestransitionsHATEOAS

68

Page 69: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Pilotedesinteractions:leContrôleurContrôleur:coordonnelestransitionsentrevues,etlesentréesdel’utilisateur,enfonctiondel’étatdumodèleVues(pages)Modèle

Objectif:programmerlesvuesmaisaussilecontrôleur,au-dessusdesmécanismesdeHTMLetHTTP,pour

offrirunebonneexpérienceutilisateur.

69

Page 70: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

DansSymfony

70

Page 71: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

ModèleClassesPHPDoctrine:typagedesattributsBasededonnées…

71

Page 72: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

VuesUnereprésentationdelaressourcedemandéedansla

requêteduclient.

argumentsderender():

injectésdanslegabaritTwig

$this->render('frontoffice/programmationshow.html.twig',['id'=>$id,'programmation'=>$programmation]);

72

Page 73: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Routageverslesméthodesducontrôleur

/***@Route("/front/programmation/{id}",name="front_programmationshow")*@Method("GET")*/publicfunctionprogrammationShow($id){...}

73

Page 74: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

CohérencedesroutesUtilisationdesroutespourlestransitionsdans

l’application(nommées),aulieudeschemins«endur».<ahref="{{path('front_programmationshow',{'id':programmation.id})}}">détails</a>

74

Page 75: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

5. Technologiespourleprojet

75

Page 76: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Gabarits,sectionsetCSS

76

Page 77: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

ConcevoirlesgabaritsdespagesConceptionparallèle:

desblocsdesgabaritsHTMLdessections<div>qu’ilscontiennent(identifiantsouclasses)desmisesenforme

Mêmeconventiondenommage

77

Page 78: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Modèledepagesouhaité<html><head></head><body>NAVIGATION

MENU(COLONNEDEGAUCHE)

CONTENUPRINCIPAL

BASDEPAGE</body></html>

78

Page 79: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Structuresémantique<body><divid="navigation">(NAVIGATION)</div><divid="menu">(MENURUBRIQUES)</div><divid="main">(CONTENUPRINCIPAL)</div><divid="footer">(BASDEPAGE)</div></body>

79

Page 80: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

FeuilledestyleCSS#navigation{...}

#menu{float:left;...}

#main{...}

#footer{...}

80

Page 81: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

GabaritTwig{%blockbody%}<body><divid="navigation">{%blocknavigation%}{%endblock%}{#navigation#}</div><divid="menu">{%blockmenu%}{%endblock%}{#menu#}</div><divid="main">{%blockmain%}<h1>{{Message}}</h1>{%endblock%}{#main#}</div><divid="footer">{%blockfooter%}{%endblock%}{#footer#}</div></body>{%endblock%}{#body#}

81

Page 82: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Standardisation/SpécialisationSpécialisationdansunesous-sectionouunepagedecertainsélémentsdestructureoudeprésentation

héritagedesgabarits:redéfinitionducontenudeblocs

cascadedesfeuillesdestyleCSS:redéfinitiondelamiseenforme

{%blockmain%}...{%endblock%}

#main{background-color:lightblue;}

82

Page 83: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Bootstrap

83

Page 84: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Utilisationd’unframeworkdeprésentationCSS

StandardisationdulookAdaptatifGrillepourlepositionnementgraphiqueIntégrationavecTwig/Symfony

84

Page 85: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

BootstrapFrameworkCSS(+JS)

http://getbootstrap.com/

85

Page 87: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

SystèmedegrilleMiseenpagebaséesurunegrillede12colonnes

87

Page 88: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

TakeawayStructure!=présentationRôledeCSSPrincipedesurchargedesfeuillesContrôleursMVCpourgérerlecomportementHypertextedel’interfaceWeb(HATEOS)Accessibilité

88

Page 89: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Récap[X]HTTP(GET)[X]PHP[X]Doctrine[X]RouteurSymfony[X]HTML[X]Twig[X]CSS

Toutcequ’ilfautpourunjolisiteWebdynamiqueenlectureseule;-)

89

Page 90: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Ensuite…

90

Page 91: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Toutdesuite,séanceTPn°4

91

Page 92: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Hors-présentield’iciauprochaincours3hàcaserdanslasemaine

92

Page 93: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

Postface

93

Page 94: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

CréditsillustrationsetvidéosVidéo parUserExperiencesWorksvidéo: (Lenouvelobs)Image«HTML+CSS»empruntéeau«CSSTutorial»deAvinashMalhotra:

Diagrammes«Specificityrankingbyproximity»,«Proximalspecificityinaction…»et«Specificityrankingbyselectortype»empruntésàparErnieSimpson,akaTheBigErns:

DiagrammedegrilledemiseenpagedeBootstrapempruntéeàparMauriceChavelli

Illustration« »,supposémmentdeBruceSterling

https://www.youtube.com/watch?v=gc9NpYrbZgQCommentlesaveuglesutilisent-ilsinternet?

http://tutorial.techaltum.com/css.html

http://cssway.thebigerns.com/special/master-item-styles/BootstrapdeTwitter:un

kitCSSetplus!EnjoyWebsurfing

94

Page 95: application(s) Web Architecture(s) et · Exemple de page avec un tableau Logo du site Titre page Une mise-en-page avec en-tête, barre de navigation et section de bas-de-page. Les

CopyrightDocumentpropriétédesesauteursetdeTélécomSudParis(saufexceptionsexplicitementmentionnées).Réservéàl’utilisationpourlaformationinitialeàTélécomSudParis.

95