Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Le quotidien d'une agence web du futur

Le quotidien d'une agence web du futur

Par Rodolphe Rimelé et Raphaël Goetter.
Une agence web de 1996 qui se projette dans le futur, et imagine les technologies et spécifications de 2016.

Raphael Goetter

June 21, 2016
Tweet

More Decks by Raphael Goetter

Other Decks in Programming

Transcript

  1. Raphaël, Rodolphe


    Salsacreations
    Salsacreations
    Contactez-nous :

    View full-size slide

  2. bonjour
    21/12/2012 n'ai pas la fin du monde
    mondo***@gmail.com
    mondo***@gmail.com
    bonjour
    (2)

    View full-size slide

  3. pourquoi ne trouve t on plus les desserts
    alsa le notre dans les grandes surfaces a
    le mans?
    d***[email protected]
    sonia d.
    dans ma région ?
    (3)

    View full-size slide

  4. c.body&&c.body.clientWidth||
    a},c=a.document,d=[],e=0,f=b(),g=function(){f=b();v
    a,c;for(a=0;a+)c=d[a],c.old=c.wdt&&c.fwd&&c.fwd(),c.ol
    =c.wdt&&fstener?a.addEventListener("resize",g,!
    1):a.attachEvent("onresize",g),a.minwidth=function(
    b,c,e){d.push({wdt:a,old:e?1e9:0,fwd:b,bck:c}),g()}
    (this),relocate=function(a,b,c,d)b.nodeName&&(b=[b]
    varg,h,i,j=b.length;for(i=j-1;i>=0;i--)f.push(b[i])
    ar k=function(){for(i=0;i+)g=f[i].parentNode,e[i]===undefined&&(e[i]=documen
    createElement("span"),g.insertBefore(e[i],f[i])),h=
    removeChild(f[i]),c.insertBefore(h,c.firstChild)},l
    unction(){for(i=0;i+)g=f[i].parentNode,h=g.removeChild(f[i]),e[i].pare

    View full-size slide

  5. 1
    Grâce à order. Mais ne fonctionne qu’entre éléments frères :/
    2
    Modification du DOM avec relocateJS ou un appendTo()
    JS / JQUERY
    FLEXBOX
    3
    Détection du User-Agent et reconstruction du HTML
    CÔTÉ SERVEUR
    4
    Parce que c’est fait pour ça, quoi
    CSS REGIONS

    View full-size slide

  6. Salade
    Tomate
    Oignon
    Picon bière
    #container-a #container-b

    View full-size slide

  7. Salade
    Oignon
    Picon bière
    .tomate {
    flow-into: plop;
    }
    #container-b {
    flow-from: plop;
    }
    #container-a #container-b
    Tomate

    View full-size slide

  8. nav a {
    flow-into: plop;
    }
    .target {
    flow-from: plop;
    }
    source : https://www.w3.org/TR/css-regions-1/

    View full-size slide

  9. erf
    polyfill : https://github.com/FremyCompany/css-regions-polyfill
    démo : http://codepen.io/raphaelgoetter/pen/aNrrNO

    View full-size slide

  10. salut tout le monde je souhaite passer de
    bonne moment avec vous
    a***@hotmail.com
    Albertine
    tranquille ?
    (4)

    View full-size slide

  11. Comment je fais pour introduire le clavier
    sur mon PC ?… Merci
    [email protected]
    Albert le vert
    C’est pas de l’adobe
    (5)

    View full-size slide

  12. Pouvoir brancher des manettes
    de jeu sur le web !

    View full-size slide

  13. Support de multiples gamepads simultanés (pour multiplayer),

    chacun se voyant attribuer un identifiant.
    Avec ou

    sans fil !
    1 2 3
    4

    View full-size slide

  14. Applications pratiques : jeux mais pas seulement
    Besoin de standardisation car plein de modèles !

    View full-size slide

  15. • id – Identifiant du modèle ou de la marque
    • index – Le numéro de la manette s’il y en a plusieurs.
    • connected – Si la connexion est établie.
    • timestamp – Le dernier moment où les données ont été reçues.
    • mapping – Le « mapping » des boutons.
    • axes – Un tableau de coefficient (-1 à 1) des axes analogiques.
    • buttons – Un tableau des états des boutons (pressés ou non).
    Mini spec, mais elle fait le maximum

    View full-size slide

  16. Démo : http://www.pwnd.fr/gamepad/gamepad-svg.html
    Démo imaginaire du futur

    View full-size slide

  17. J'aimerais avoir des musiques et clips
    SVP de Rhiana et Brytney Spaers
    Merci!!!!!!!!!!=) Au revoir !!”
    mateo.b***@hotmail.fr
    mateo b.
    des musiques et clips
    (6)

    View full-size slide

  18. BACKGROUND-CLIP:TEXT
    CLIP-PATH

    View full-size slide

  19. h1 {
    background-image: url();
    color: transparent;
    background-clip: text;
    }
    andreas
    grande
    lovely!

    View full-size slide

  20. démo : http://codepen.io/raphaelgoetter/pen/XdLjpB?editors=1100

    View full-size slide

  21. BACKGROUND-CLIP: TEXT

    View full-size slide

  22. BACKGROUND-CLIP:TEXT
    CLIP-PATH

    View full-size slide

  23. img {
    clip-path: circle(50.0% at 50% 50%);
    }
    img {
    /* rien */
    }

    View full-size slide

  24. clip-path maker : http://bennettfeely.com/clippy/

    View full-size slide

  25. démo : http://codepen.io/raphaelgoetter/pen/KzEPba?editors=1100

    View full-size slide

  26. mais le flash, c’est bien ou pas?
    [email protected]
    Hilary C.
    Conseillez moi
    (7)

    View full-size slide

  27. GAMEPAD + 3D/VR

    View full-size slide

  28. Démo : http://www.babylonjs-playground.com/#1SMKQ6#1
    Démo imaginaire du futur

    View full-size slide

  29. Hello Mr. Goetter,
    My actual site is a crap and I need a Flex
    CSS guru.
    May I have a little talk with you ?
    See you soon.
    Hugh Jackman
    [email protected]
    Hugh Jackman
    beuuarh
    (8)

    View full-size slide

  30. CSS GRID LAYOUT

    View full-size slide


  31. ...
    ...

    body {
    display: grid;
    grid-template-columns: 200px 400px;
    }
    nav {
    grid-column: 1; /* je vais en colonne 1 */
    }
    section {
    grid-column: 2; /* je vais en colonne 2 */
    }

    View full-size slide








  32. .container {
    display: grid;
    grid-template-columns: 10em 1fr 10em;
    grid-template-rows: auto 1fr auto;
    grid-template-areas: "header header header"
    "nav article aside"
    "footer footer footer";
    grid-gap: 1rem;
    min-height: 100vh;
    }
    header { grid-area: header; }
    nav { grid-area: nav; }
    article { grid-area: article; }
    aside { grid-area: aside; }
    footer { grid-area: footer; }
    démo : http://codepen.io/raphaelgoetter/pen/XXpeWO?editors=1100

    View full-size slide

  33. démo : http://codepen.io/raphaelgoetter/pen/pgRQwv

    View full-size slide

  34. polyfill : https://github.com/FremyCompany/css-grid-polyfill
    démo : http://codepen.io/raphaelgoetter/pen/aNrrNO

    View full-size slide

  35. et oui sa fait vingt un ans, je tai vu pour la
    premiere fois , dans une boite de nuit.tu
    as fait battre mon coeur , depuis se jour
    la. je n ai jamais cesse de t aimer. malgre
    les orages, les obstacle de la vie. toi etmoi
    , on en a tournes des pages. mes notre
    histoire , de notre vie, n est pas fini, nous
    [email protected]
    Kévina
    Ma lettre pour pascal
    (9)

    View full-size slide

  36. je n'ai pas entendu le son sur le youtube
    comment que je fais?
    [email protected]
    Ludwig
    Pom pom pom pom
    (10)

    View full-size slide

  37. GAMEPAD +

    WEB AUDIO

    View full-size slide

  38. Démo : http://www.pwnd.fr/gamepad/gamepad-audio.html
    Démo imaginaire du futur

    View full-size slide

  39. • le web a longtemps copié le « natif »
    • désormais on a un cheminement clair et fort vers les web apps
    • y compris pour la production de contenu ( != consommation)
    avec plein d’API, des styles CSS enrichis
    • imaginer de nouveaux services
    • le web (re)devient la plate-forme universelle par excellence
    Perspectives

    View full-size slide

  40. • un seul langage : le web
    • chargement rapide, adaptatif (selon connexion), voire hors-ligne
    • notifications push
    • ajout à l’écran d’accueil
    • sécurisation par https
    • mises en pages riches, responsive !

    animations/transitions CSS accélérées graphiquement
    Applications web progressives

    View full-size slide

  41. • mises à jour faciles et instantanées (et pas de sollicitations
    constantes de l’utilisateur)
    • pas d’obsolescence programmée (les tous premiers sites web
    sont encore consultables aujourd’hui)
    • utilisation des URLs « dans » les applications (linkables,
    partageables, référençables)
    • app stores : très difficile de se faire une place dans le top 10 et
    de contrer les systèmes de classement, de tomber "par hasard"
    sur une app, comme sur le web
    Contrairement aux applications natives

    View full-size slide

  42. Icônes : https://www.iconsmind.com/
    MERCI !

    View full-size slide