An#overview#of#Web#development# - Mathieu...

66
An overview of Web development (for PDL) Master 1 MIAGE Mathieu Acher Maître de Conférences [email protected]

Transcript of An#overview#of#Web#development# - Mathieu...

Page 1: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

An  overview  of  Web  development  (for  PDL)  

 Master  1  -­‐  MIAGE  

 

Mathieu  Acher  Maître  de  Conférences  [email protected]  

       

Page 2: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

Material  

         

h@p://mathieuacher.com/teaching/iPDL-­‐MIAGE1/  

2  

Page 3: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges
Page 4: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

GesGonnaire  Fournisseurs   Clients  

Système  de  ges<on  de  catalogue  web  de  produits    

configurateur  Ges<on  des  produits  

Plateforme  d’échange  

Page 5: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

A  rendre  

•  Livrable  d'analyse  (A1)  

•  Livrable  de  concep<on  (D1)  

•  Livrable  de  valida<on  (V1)  

•  Code  (C1)  

•  Livrable  qualité  (Q1)  

Page 6: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

Code  (C1)  

•  Contenu    – Code  source  de  l’applica<on  

•  Incluant  jeu  de  tests  –  Instruc<ons  sur  comment  installer,  exécuter  et  tester  l’applica<on    

•  «  Le  code  sera  à  rendre  de  façon  électronique  et  non  sur  papier  »  – Soit  via  une  archive  mail  – Soit  en  pointant  la  forge,  le  github  ou  googlecode  

•  En  s’assurant  que  j’ai  bien  les  droits  

Page 7: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

Code  (C1)  

•  Code  source  de  l’applica<on  –  Java  (ou  PHP)  – Liberté  totale  pour  les  “frameworks”  

•  JEE,  Play!,  GWT,  Symfony,  etc.  

•  Bonnes  propriétés    – Code  documenté,  respectant  une  certaine  conven<on    

– Design  paaerns  – Maven  ou  ANT-­‐like  pour  générer  la  documenta<on,  exécuter  les  tests,  et  déployer  l’applica<on  

Page 8: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

Code  (C1)  &  Soutenance  

•  Date  limite  de  rendu  du  “code”  – 15  janvier  23:59:59  – ~  1  jour  avant  la  soutenance  

•  Soutenance  16  janvier  – 15’  de  présenta<on  – 5’  de  ques<ons    

•  Individuelles  ou  au  groupe  – Défense  de  votre  travail    – Retour  d’expérience    

•  A1,  D1,  V1,  C1  

Page 9: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges
Page 10: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

A  rendre  

•  Livrable  d'analyse  (A1)  

•  Livrable  de  concep<on  (D1)  

•  Livrable  de  valida<on  (V1)  

•  Code  (C1)  

•  Livrable  qualité  (Q1)  

ApplicaGon  Web  

Page 11: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges
Page 12: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges
Page 13: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

Web  browser   HTTP  server  request  

response  

Page 14: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

Web  browser   HTTP  server  

request  

response  

Page 15: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

Web  browser   HTTP  server  

request  

response  

Page 16: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

Web  browser  HTTP  server  

request  

response  

Page 17: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges
Page 18: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

Web  browser   HTTP  server  request  

response  

Java  program    (or  PHP  or  Ruby  or  Scala  or  …)  

~  treat  requests  and  user  inputs  (e.g.,  input  forms)  ~  generate  HTML/JS/CSS  stuff  accordingly    

 Can  be  highly  complex  and  require  a  combina<on  of  technology  (user  session,  data  storage,  business  logic,  user  interface  concerns,  performance,  reliability,  etc.)  

Page 19: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

Web  browser   HTTP  server  request  

response  

JEE  (Servle

ts+JSP)  

Play!  fram

ework  

Java  program    (or  PHP  or  Ruby  or  Scala  or  …)  

Page 20: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

Web  browser   HTTP  server  request  

response  

Disclaimer:  this  is  just  an  overview  with  a  quick  focus  on  two  technologies  

Java  program    (or  PHP  or  Ruby  or  Scala  or  …)  

#1  You  can  consider  other  technologies  as  well      (the  principles  are  likely  to  be  the  same)  

 #2  You  will  have  to  learn  and  prac<ce  more  by  yourself  

 (available  for  any  ques<ons)  

Page 21: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges
Page 22: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

Web  browser   HTTP  server  request  

response  

Java  servlet    (and  Java  ecosystem  actually)  

Page 23: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

Java  Servlet  

•  Java  program  –  rely  on  Java  ecosystem    

•  Receive  and  treat  HTTP  requests    –  inputs  (e.g.,  input  forms)  –  resources  (e.g.,  images)  

•  Generate  web  pages  “on  the  fly”    – Response  to  “clients”  (browser)  – HTML  code  +  (JavaScript  +  CSS)  

Page 24: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

Web  browser   HTTP  server  

Java  servlet  

Iden<fy/Retrieve  User  (if  everything  goes  fine)  

Treat  input  forms   Find  associated    Followers/tweets/ads  

Generate  HTML  stuff  

request  

response  

Page 25: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

Java  servlets  

The  server  responds  according  to  the  URL  of  the  request  («  context  »)  Different  applica<ons/processings  according  to  different  contexts  

HTTP  server  

Page 26: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

Client,  Server  and  Java  Servlet  

Page 27: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

Java  Servlet  (Hello  World)  

Page 28: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

Java  Servlet  (zoom  on  “doGet”)  

Page 29: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

Servlet  Container  

•  HTTP  server  does  not  know  how  to  execute  the  Java  code  of  a  servlet  (obvious)  –  HTTP  requests,  that’s  it  

•  A  servlet  container  is  needed  and  manages  a  set  of  servlets  – Management  of  servlet  names  (class  names)  –  Crea<on  and  ini<aliza<on  of  servlets  –  Dele<on  of  servlets  

•  HTTP  server  delegates  the  requests  to  the  container    

Java  servlets  HTTP  server  

Page 30: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

•  Client  (browser)  won’t  specify  a  direct  reference  to  a  Servlet  but  rather  an  URL  

•  The  web  applica<on  should  establish  a  correspondence  between  an  URL  and  a  servlet  – Mapping  URL-­‐Servlet  

•  The  corresponding  container  of  the  servlet  will  execute  the  servlet  

URL  

Page 31: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

Mapping  URL-­‐Servlet  

•  Two  solu<ons  –  Java  annota<ons  – web.xml  (configura<on  file)  

Page 32: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

Mapping  URL-­‐Servlet  

•  Java  annotaGons  (since  Servlet  3.0)  

Page 33: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

Mapping  URL-­‐Servlet  •  web.xml  (configura<on  file,  since  the  beginning)  

–  Included  in  the  WAR  archive  that  packages  all  code  and  resources  of  the  applica<ons  

Page 34: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

Mapping  URL-­‐Servlet  •  web.xml  (configura<on  file,  since  the  beginning)  •  Joker  can  be  used  

–   <url-­‐paaern>/users/*</url-­‐paaern>  

Page 35: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

H@pServlet  (1)  

Page 36: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

H@pServlet  (2)  

•  service()  method  of  HapServlet  delegates  the  treatment  to  another  method,  depending  on  the  kinf  of  HTTP  request  sent  by  the  client  – doGet(),  doPost(),  doPut(),  doDelete(),  doHead(),  doOp<ons(),  doTrace()  

Page 37: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

WriGng  a  Servlet  •  Boil  down  to…  •  Wri<ng  a  class  that  inherits  from  HapServlet  •  Override  at  least  one  method  (doGet,  doPost,  etc.)  •  Eventually  override  init  or  destroy  if  the  servlet  manages  a  set  of  resources  that  need  to  be  ini<alized  or  removed  

Page 38: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

WriGng  a  Servlet  •  Boil  down  to…  •  Wri<ng  a  class  that  inherits  from  HapServlet  •  Override  at  least  one  method  (doGet,  doPost,  etc.)  •  Eventually  override  init  or  destroy  if  the  servlet  manages  a  set  of  resources  that  need  to  be  ini<alized  or  removed  

Page 39: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

TreaGng  input  forms  (1)  Servlet  in  acGon    

 •  HTTP  recalls  – With  GET  (within  the  URL):  •  hap://www.truc.com/abonnement?id=23378&nom=Toto&op=d&v=56  

– With  POST    •  Parameters  are  directly  in  the  HTTP  request  

•  Methods  to  get  the  parameters  are  independent  of  the  kind  of  request  (POST  or  GET)  –  As  a  result  doGet  can  call  doPost  (or  the  other  way)  

Page 40: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

TreaGng  input  forms  (2)  Servlet  in  acGon    

 •  H@pServletRequest  –  Interface,  represents  a  request  of  the  client  

•  Several  methods  are  provided  – String  getParameter  (String  nomParam)    – String[]  getParameterValues()  •  e.g.  mul<values    

– Enumera<on<String>  getParameterNames()  

hap://www.truc.com/abonnement?id=23378&nom=Toto&op=d&v=56  

Page 41: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges
Page 42: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

JSP  (Java  Servlet  Page)  

Page 43: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

JSP  +  Javabean  

Page 44: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges
Page 45: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges
Page 46: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

First,  let  us  talk    about  REST  architecture  (revisiGng  HTTP)  

Page 47: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

Web  browser   HTTP  server  

request  

response  

(revisiGng)    

Page 48: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

Performance?  Scalability?  

Page 49: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

REST  

Page 50: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

(basic)  

Page 51: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

HTTP  request  (basics)  

Page 52: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges
Page 53: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

Play!  REST  principles  

Page 54: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges
Page 55: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

Play!  framework    offers  an  integrated  soluGon  

controller  faciliGes  for  treaGng  HTTP  requests  (controllers)  template  language/engine  (views)  specificaGon/serializaGon  of  domain  model  (models)  

Page 56: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

OrganizaGon  of  a  Play!  Project  (main  excerpt)  

Model  View  

Controller  

~  mapping  URL  –  controller  acGon    

Page 57: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

Example:  routes  definiGon    mapping  URL  –  controller  acGon    

routes  (file)  

controller  

hap://localhost:9000/hello?name=World  

Page 58: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

Example:  routes  definiGon    mapping  URL  –  controller  acGon    

Page 59: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

Controller  acGon  and  result  

Page 60: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

Model  

Persistance  and  Querying  for  free  

 AnnotaGons  define  the  constraints  on  the  model  data  

Models  can  be  serialized  in  a  database  (eg  SQL)      

Page 61: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

code  that  can  be  used  in    the  controller  acGons  

Model  and  Controller  

Page 62: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

Template  Language/Engine  

Mix  of    HTML  (+  Javascript  +  CSS)    and    ApplicaGon  code  (models)  

Page 63: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

Much  more  here:    hap://www.playframework.org/documenta<on/  

 If  you  choose  Play!  

 start  with  a  simple  tutorial  

don’t  try  to  master  everything  about  the  framework    get  simple  results  ASAP  

     

Page 64: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

Advices  for  the  PDL  •  Models  –  Rely  on  your  previous  work  («  livrable  de  concep<on  »)  –  Facili<es  are  offered/integrated  by  Play!  but  be  careful    

•  The  learning  curve  is  high  •  «  Magics  »  can  be  a  nightware  •  You  may  prefer  control  the  way  models  are  serialized  

•  Views  –  Simple  HTML  pages    

•  as  a  client,  I  don’t  care  about  the  usability  and  look  and  feel  

–  Templates  (JSP  or  Play!  template  engines)  

•  Controllers  –  HTTPServlet  (Servlet)  or  Controller  in  Play!  

Page 65: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

GesGonnaire  Fournisseurs   Clients  

Système  de  ges<on  de  catalogue  web  de  produits    

configurateur  Ges<on  des  produits  

Plateforme  d’échange  

Page 66: An#overview#of#Web#development# - Mathieu Achermathieuacher.com/teaching/iPDL-MIAGE1/iPDL-WebTechnology.pdf · Fournisseurs# Gesonnaire # Clients Système(de(ges

   

   

       

   ?