PROJET AUTOBLOG


Korben

Site original : Korben

⇐ retour index

Initiation à Polymer, le nouveau framework web de Google

lundi 1 décembre 2014 à 11:06

Un article un peu particulier aujourd'hui, qui devrait plaire à tous les développeurs web qui cherchent une nouvelle techno avec laquelle jouer pour se dégourdir les doigts. Pour ce tuto, je me suis fait aidé d'Erwan Martin et Jim Laurie, tous les 2 développeurs chez Kontest et experts en Polymer / Material Design. Ce sont eux qui ont rédigé le tuto ci dessous et qui partage leur expérience.

Polymer, pour ceux qui n'en auraient jamais entendu parlé, c'est un nouveau framework développé par Google permettant de créer rapidement des applications web à l'aide de composants préexistants. Comme d'autres frameworks tels que X-Tag (Mozilla), Polymer repose sur les Web Components. Il s'agit d'une spécification en cours de standardisation par le W3C permettant la création de composants HTML indépendants et réutilisables.

Polymer

Pour faire simple Polymer permet de découper une application web en plusieurs morceaux (composants), indépendants, qui contiennent le code HTML (structure), le style CSS et le code Javascript (intelligence du composant). Un composant peut par exemple être un menu, un bouton ou encore un widget Twitter. Il existe un ensemble de composants Polymer préexistants qui permettent de gagner du temps pour démarrer une application web.

Ce tutoriel pour vous initier à Polymer est découpé en 4 parties :

Material Design

Ce nouveau framework permet par exemple d’appliquer les règles du Material Design dans une application web. Ce nouveau langage visuel, lui aussi développé par Google, est pensé pour maximiser le confort de navigation et simplifier la prise en main des applications. Pour être le plus intuitif possible, il s’inspire directement des matériaux tels que le papier et l’encre, il fait ainsi directement référence aux réelles sensations de toucher. Le Material Design de Google intègre également les dernières avancées technologiques permettant d’unifier les interfaces quel que soit l’outil de navigation de l’utilisateur (ordinateur, tablette ou smartphone).

L'expérience utilisateur est devenu aujourd’hui un axe nécessaire d’innovation pour les marques déjà présentes sur le Web afin de coller aux tendances actuelles en matière de webdesign.

La technologie Polymer permet donc de penser le développement différemment. Chaque web component est indépendant et est du coup facilement réutilisable tout au long du développement d’une application. Cette nouvelle technologie évite donc les répétitions et permet de gagner du temps.

Voici le tutoriel officiel proposé par Google.

Kontest

En intégrant les dernières innovations technologiques de Google que sont Polymer et le Material Design, la startup française Kontest est la 1ère plateforme marketing à utiliser Polymer en production. L’objectif premier de Kontest, à savoir de “Sublimer les marques par le jeu”, se confirme avec l’annonce de cette nouvelle collection de jeux. Six jeux composent la Collection Polymer™ : trois types de Calendrier de l’Avent, un Quizz, un jeu Instant Gagnant et un jeu de Tirage au sort. L’ensemble des jeux est compatible avec les dernières versions des navigateurs.

kontest 650x295 Initiation à Polymer, le nouveau framework web de Google

Maintenant nous allons aborder rapidement et simplement deux notions très importantes de Polymer qui sont les web components ainsi que les mutations d’object.

Nous allons créer une page toute simple qui affichera un message.

image07 650x353 Initiation à Polymer, le nouveau framework web de Google

Pour cela je vais bien sûr loader (charger en français) Polymer ainsi que platform.js (<troll>Dans Polymer 0.5 sortie depuis peu, ça s’appelle webcomponents.js maintenant :) </troll>).

Je crée ensuite directement dans le <body> mon nouvel élément polymer <my-collection>. Cet élément contient un template qui sera affiché là où sera appelé mon élément, ici directement dans le <body>.

Il contient {{description}}, ce qui affiche la valeur de la variable description de notre élément. On ne peut pas faire plus simple comme élément. Voilà le résultat sur notre navigateur.

image11 650x195 Initiation à Polymer, le nouveau framework web de Google

Maintenant nous allons voir qu’il est possible d’imbriquer des éléments entre eux sans difficulté. Grâce au scope de chaque élément l’on aura aucun conflit tant sur le html, css que le js.

image10 650x423 Initiation à Polymer, le nouveau framework web de Google

Ce que je viens de faire c’est de déclarer un nouvel élément <my-game> qui prend en argument type. Dans le template de <my-collection> j’ai rajouté l’appel à notre nouvel élément en fournissant à l’attribut type la valeur de la variable type de l’élément <my-collection>. Maintenant en dessous de notre première phrase on va avoir le paragraphe du template de notre nouvel élément.

Voilà ce que ça donne.

image04 650x243 Initiation à Polymer, le nouveau framework web de Google

Grâce à la possibilité de faire des multitudes de composant indépendant, on va pouvoir créer un élément une seule fois et le réutiliser très simplement à l’infini.

Je vais vous montrer que Polymer observe chacune des mutations des variables de vos élément.

image01 650x579 Initiation à Polymer, le nouveau framework web de Google

Ce que je viens de faire c’est d’ajouter un lien qui exécute ma fonction changeType au click. Celle ci modifie la variable type de l’élément. Automatiquement l’élément <my-game> va appeler sa fonction typeChanged car la valeur de son attribut type aura changé. Voilà ce que ça donne au click.

image02 650x133 Initiation à Polymer, le nouveau framework web de Google

Voilà une approche rapide de deux notions incluses dans Polymer. Ce qu’il faut faire pour améliorer ce code c’est créer un dossier pour chacun de nos éléments ce qui permettra de les maintenir plus facilement et de les rendre réutilisable.

Ce qu’il faut retenir, penser en élément indépendant qui vont interagir ensemble afin de faire quelque chose de bien précis. Polymer sait quand une variable à changé, du coup le déclenchement d’action spécifique est bien plus facile à mettre en place.

Positonnement

Polymer apporte un ensemble de fonctionnalités facilitant la vie des développeurs front-end.

J’imagine que certains d’entre vous savent qu’il n’est pas toujours facile de positionner les éléments comme on le souhaiterait. Entre le positionnement vertical ou le dimensionnement d’un élément par rapport aux autres, cela peut vite devenir un casse-tête. Heureusement CSS3 a apporté “flexbox”, un nouveau type de rendu permettant de résoudre la plupart de nos problèmes, comme les alignements horizontaux et verticaux, la gestion de l’espace disponible ou la modification de l’ordre d’affichage des éléments.

Malheureusement l’utilisation de cette propriété est mal connue, n’est pas toujours implémentée de la même manière, et nécessite encore l’utilisation de préfixes. Pour faciliter le placement des éléments dans une interface, les développeurs de Polymer ont ajouté des attributs permettant de contrôler la mise en page avec flexbox. Voici quelques exemples de ce que Polymer permet de faire :

<div horizontal layout>
    <div>Enfant 1</div>
    <div>Enfant 2</div>
    <div>Enfant 3</div>
 </div>

image12 Initiation à Polymer, le nouveau framework web de Google

(http://jsbin.com/bizoku)

<div horizontal reverse layout>
    <div>Enfant 1</div>
    <div>Enfant 2</div>
    <div>Enfant 3</div>
 </div>

image09 Initiation à Polymer, le nouveau framework web de Google

(http://jsbin.com/jicud/)

<div vertical layout center>
    <div>Enfant</div>
 </div>

image03 Initiation à Polymer, le nouveau framework web de Google

(http://jsbin.com/kofuti)

<div horizontal center center-justified layout>
    <div>Enfant</div>
 </div>

image00 Initiation à Polymer, le nouveau framework web de Google

(http://jsbin.com/dinuro)

<div vertical layout>
    <div>Enfant 1</div>
    <div flex>Enfant 2</div>
    <div>Enfant 3</div>
 </div>

image05 Initiation à Polymer, le nouveau framework web de Google

(http://jsbin.com/rifulu)

Les exemples ci-dessus ne représentent que quelques possibilités de ce qui est faisable. Si vous êtes curieux et souhaitez en savoir plus, n’hésitez pas à consulter la documentation officielle.

Animations & transitions

Le positionnement c’est bien, mais Polymer permet de faire beaucoup plus. Comme nous l’avons déjà vu précédemment, Google cherche à faciliter la mise en oeuvre du material design dans nos web-applications à travers Polymer. Pour cela, le framework met à disposition un ensemble de transitions et d’animations pré-disponibles.

Je vais vous présenter une seule des multiples transitions possibles. Pour découvrir l’ensemble des possibilités je vous invite à vous rendre sur cette page.

Les animations sont une des caractéristiques principales du material design comme vous pouvez le voir sur cette vidéo démo :

ll est donc intéressant de voir comment on peut créer une transition entre deux éléments de votre interface.

<core-animated-pages selected="{{page}}" transitions="hero-transition">
  <section>
    <div class="thumbnail" hero hero-id="card-transition" on-tap="{{open}}">
      <div class="background" hero hero-id="background-transition"></div>
      <div class="title" hero hero-id="title-transition">
        <p>This is a thumbnail</p>
      </div>
    </div>
  </section>
  <section>
    <div class="card" hero hero-id="card-transition" on-tap="{{close}}">
      <div class="background" hero hero-id="background-transition"></div>
      <div class="title" hero hero-id="title-transition">
        <p>This is a title</p>
      </div>
      <p>Lorem ipsum...</p>
    </div>
  </section>
<core-animated-pages>

Cette interface est composée de deux sections contenues dans une balise core-animated-pages. Cet élement permet justement de réaliser une transition entre deux pages en spécifiant son type avec l’attribut “transitions” (ici ‘hero-transition’). On spécifie la page affichée avec l’attribut “selected” (la valeur correspondant à la position de la page dans le DOM, ici 0 ou 1).

A l’intérieur des pages (sections) j’ai ajouté des éléments composé d’un rectangle coloré et d’un texte.

Pour pouvoir réaliser une transition entre les deux pages, Polymer a besoin de connaître les éléments qui sont présents sur chacune d’elles et de les associer. Pour cela on ajoute un attribut “hero” sur chacun des éléments ainsi qu’un attribut “hero-id” qui doit avoir la même valeur pour les éléments identiques des deux pages. Par exemple les titres des deux pages ont un attribut “hero-id” qui est “title-transition”.

Et c’est tout. Polymer se charge ensuite de faire les associations entre les éléments et va afficher une transition lorsque l’on change de page.

Dans cet exemple, le changement de page se fait au clic sur les div “thumbnail” et “card”, déclenchant l’appel au fonctions “open” et “close” qui se chargent de changer la page sélectionnée.

image06 Initiation à Polymer, le nouveau framework web de Google

image08 Initiation à Polymer, le nouveau framework web de Google

http://jsbin.com/fehig/3/

Alors ça vous a plu ? Si cette techno vous intéresse, voici le gars à suivre sur ce sujet : Addy Osmani (c'est lui l'un des inventeurs de Polymer). Et si vous avez des choses à ajouter, des ressources, des liens, des conseils etc... N'hésitez pas à le faire dans les commentaires.

Merci à vous et merci à Erwan et Jim d'avoir partagé tout ça avec nous !

Cet article merveilleux et sans aucun égal intitulé : Initiation à Polymer, le nouveau framework web de Google ; a été publié sur Korben, le seul site qui t'aime plus fort que tes parents.

Gestionnaires de mot de passe sous Android – Attention à la fuite…

lundi 1 décembre 2014 à 09:57

Si vous utilisez un gestionnaire de mot de passe de type Lastpass, SecureSafe, RoboForm et d'autres, il y a un truc sur lequel j'aimerai attirer votre attention.

Lorsque vous utilisez un logiciel client de ce genre sous Android, celui propose généralement de remplir automatiquement les champs login et mot de passe de vos sites web ET de vos applications. Si ce n'est pas le cas, ce qu'on fait tous en général, c'est d'aller dans le gestionnaire de mot de passe, copier le mot de passe et le coller dans le champ qui va bien.

Dans les 2 cas, grave erreur ! Car il est très simple pour une application tierce tournant sur votre téléphone, d'intercepter le contenu du presse papier. Évidemment, et contrairement aux versions desktop, il n'y a pas d'API sous Android et les navigateurs mobiles pour permettre de passer des mots de passe de manière sécurisée. Les développeurs de ces gestionnaires de mot de passe mobile ont donc dû trouver un moyen détourné de transmettre ce login et ce mot de passe et cela se fait via le presse papier.

Voici la liste des applications testées par les chercheurs qui soulèvent ce problème :

tests Gestionnaires de mot de passe sous Android   Attention à la fuite...

Il faut que vous ayez bien conscience de ça avant d'utiliser de tels logiciels. N'importe quelle app vérolée installée sur votre smartphone peut récupérer ces identifiants et les transmettre dans votre dos à d'affreux criminels. Pour démontrer cette possibilité, le développeur Xbao a mis au point un soft baptisé ClipCaster qui intercepte tout simplement le contenu de votre presse papier (et donc vos logins et vos mots de passe). Il s'agit d'un proof of concept pour montrer que ça fonctionne...

clipcaster Gestionnaires de mot de passe sous Android   Attention à la fuite...

Les chercheurs en sécurité qui soulèvent ce problème proposent 2 solutions pour arranger ça. La première consiste à modifier le presse-papier d'Android afin de le segmenter et le sécuriser pour que seules les applications autorisées puissent accéder à son contenu. La seconde possibilité passe par un soft de clavier qui pourrait communiquer avec les gestionnaires de mot de passe via une API et transmettre le mot de passe en toute sécurité aux sites et aux applications. Je pense que Swiftkey a un coup à jouer sur ce créneau. Voici comment ça se passerait en théorie :

usb Gestionnaires de mot de passe sous Android   Attention à la fuite...

Mais attention, rien de tout cela n'existe pour le grand public... Donc ce que je vous recommande si vous utilisez un gestionnaire de mot de passe sous Android, c'est d'afficher en clair votre mot de passe, de le mémoriser et d'aller le retaper vous-même dans le bon champ. Bref, d'utiliser votre mémoire comme d'un presse papier ;-)Autrement, choisissez bien votre gestionnaire de mot de passe, car certains ne sont pas sérieux lorsqu'ils communiquent avec les serveurs (dans le cas de mots de passe stockés dans le cloud). Si la TLS (couche de chiffrement) n'est pas correctement implémentée, il est possible via une attaque Man In The Middle (MITM) d'intercepter votre identifiant principal (login+pass) pour déverrouiller cette base de mots de passe. C'est le cas par exemple de RoboForm et SecureSafe qui échouent lors de la vérification des certificats TLS, laissant la porte ouverte aux interceptions MITM. Par contre sur LastPass, les chercheurs n'ont pas réussi à pratiquer d'attaque MITM, car la vérification des certificats TLS se fait bien.Maintenant vous savez...

Merci à Nicola pour le partage.

Cet article merveilleux et sans aucun égal intitulé : Gestionnaires de mot de passe sous Android – Attention à la fuite… ; a été publié sur Korben, le seul site qui t'aime plus fort que tes parents.

Un petit voyage dans l’espace, ça vous dit ?

dimanche 30 novembre 2014 à 19:19

Avez-vous un jour rêvé de monter là haut ? D'enfiler une combinaison d'astronaute et de regarder la Terre d'en haut, ainsi que le noir de l'espace qui s'étend jusqu'à l'infini ?

Moi, oui... Souvent. C'est pourquoi je partage avec vous cette jolie vidéo de Guillaume JUIN qui a assemblé les toutes dernières vidéos prises à bord de la Station Spatiale Internationale, qui tourne actuellement à 350 km au-dessus de la Terre à plus de 28 000 km/h (oui oui, pas d'erreur).

Bravo à Guillaume pour ce superbe montage qui nous fait voyager !

Musique: Astronaut - Vincent Tone

Cet article merveilleux et sans aucun égal intitulé : Un petit voyage dans l’espace, ça vous dit ? ; a été publié sur Korben, le seul site qui t'aime plus fort que tes parents.

Plongez au coeur de notre système solaire (court métrage)

dimanche 30 novembre 2014 à 17:29

Réalisé par Erik Wernquist reprenant une narration de Carl Sagan, The Wanderers est une vision futuriste de l'Humanité qui s'est installée dans le Système Solaire et qui profite des petits bonheurs de chaque planète.

Là où c'est fort, c'est qu'Erik Wernquist s'est attaché à reproduire de véritables endroits dans le système solaire, à partir des de photos et de cartes détaillées des planètes qui s'y trouvent. Ne cherchez pas d'histoire, mais contemplez plutôt ces images et laissez vous emporter par ce doux rêve que nous ne connaitrons probablement jamais de notre vivant.

Je vous ajoute aussi une petite galerie avec de quoi faire de jolis fonds d'écran :

01 quotthe open roadquot earth 150x150 Plongez au coeur de notre système solaire (court métrage) 02 10cage6 150x150 Plongez au coeur de notre système solaire (court métrage) 03 quotleaving homequot earth 150x150 Plongez au coeur de notre système solaire (court métrage) 04 xjzrrkb 150x150 Plongez au coeur de notre système solaire (court métrage) 05 quotthe great red spotquot jupiter 150x150 Plongez au coeur de notre système solaire (court métrage) 06 4aw6tql 150x150 Plongez au coeur de notre système solaire (court métrage) 07 quotenceladus limbquot enceladus moon of saturn 150x150 Plongez au coeur de notre système solaire (court métrage) 08 quotringsurfquot rings of saturn 150x150 Plongez au coeur de notre système solaire (court métrage) 09 quotmars elevatorquot mars 150x150 Plongez au coeur de notre système solaire (court métrage) 10 iixjm4x 150x150 Plongez au coeur de notre système solaire (court métrage) 11 aqhctrl 150x150 Plongez au coeur de notre système solaire (court métrage) 12 quotcape verdequot mars 150x150 Plongez au coeur de notre système solaire (court métrage) 13 quotblue sunsetquot mars 150x150 Plongez au coeur de notre système solaire (court métrage) 14 quotiapetus ridgequot iapetus moon of saturn 150x150 Plongez au coeur de notre système solaire (court métrage) 15 quotexcavationquot unnamed asteroid main asteroid belt 150x150 Plongez au coeur de notre système solaire (court métrage) 16 6dvkapd 150x150 Plongez au coeur de notre système solaire (court métrage) 17 quotterrariumquot unnamed asteroid main asteroid belt 150x150 Plongez au coeur de notre système solaire (court métrage) 18 quoteuropa viewquot europa moon of jupiter 150x150 Plongez au coeur de notre système solaire (court métrage) 19 quotligeia marequot titan moon of saturn 150x150 Plongez au coeur de notre système solaire (court métrage) 20 quotverona rupesquot miranda moon of uranus 150x150 Plongez au coeur de notre système solaire (court métrage) 21 7bjphty 150x150 Plongez au coeur de notre système solaire (court métrage) 22 w7hm9nq 150x150 Plongez au coeur de notre système solaire (court métrage) 23 quotringshinequot saturn 150x150 Plongez au coeur de notre système solaire (court métrage) 24 oxz7yhy 150x150 Plongez au coeur de notre système solaire (court métrage) 25 ihtciux 150x150 Plongez au coeur de notre système solaire (court métrage) 26 dbnz6xn 150x150 Plongez au coeur de notre système solaire (court métrage)

Merci à Didier pour le partage.

Cet article merveilleux et sans aucun égal intitulé : Plongez au coeur de notre système solaire (court métrage) ; a été publié sur Korben, le seul site qui t'aime plus fort que tes parents.

Comment faire des petits visages comme ಠ_ಠ ou (ʘ‿ʘ) ou des petits ours comme ceci ʕ•ᴥ•ʔ

dimanche 30 novembre 2014 à 17:04

Si vous cherchez un moyen sympathique d'illustrer votre site web ou vos articles avec des petits bonshommes ( ͡ᵔ ͜ʖ ͡ᵔ ) , des petits animaux ʕ•ᴥ•ʔ , ou des petits fantômes ༼⍢༽ et j'en passe, voici un site baptisé Disapproval Look qui vous propose tout un tas de petits bonshommes comme ça à copier-coller et à insérer dans votre code HTML.

code 650x293 Comment faire des petits visages comme ಠ ಠ ou (ʘ‿ʘ) ou des petits ours comme ceci ʕ•ᴥ•ʔ

Ça ne sert strictement à rien, mais c'est possible alors pourquoi pas ?

Cet article merveilleux et sans aucun égal intitulé : Comment faire des petits visages comme ಠ_ಠ ou (ʘ‿ʘ) ou des petits ours comme ceci ʕ•ᴥ•ʔ ; a été publié sur Korben, le seul site qui t'aime plus fort que tes parents.