Paris Web 2009 - Compte rendu à 4 mains

Cet article a été précédemment publié a cette adresse http://dev.af83.io/2009/10/15/paris-web-2009-compte-rendu-4-mains.html.

Paris Web 2009

Nous étions à Paris web, les 8 et 9 octobre 2009. Petit compte rendu.

Jeudi 8 octobre 2009

Intégrateurs, montez au front! de Stéphane Deschamps

Le terme intégrateur est péjoratif, on préfère le terme de développeur Web Front. L’intégrateur fait principalement du HTML et du javascript.

L’intégrateur évolue dans 4 types de milieu :

  • La grosse agence où ils ne sont que de petites mains
  • La startup où ils sont frustrés par trop de travail
  • La grosse boites mais dont leur métier est pas le coeur de métier de cette société.
  • Il est un prestataire en chaine. En gros entre plusieurs prestataire.

Les frustrations ressenties par l’intégrateur sont les suivantes :

  • l'incompatibilité des browsers (surtout IE)
  • Le relationnel, car l'intégrateur n'est pas écouté
  • Le statut, car dévalorisé par les logiciels ou les neveux qui peuvent faire son boulot (mal évidement, mais sans que le client s'en rende compte tout de suite)

Il y a une reconnaissance tardive de l’intégrateur.

Ce qu’il faut faire pour améliorer les choses :

  • Indiquer le plus tôt possible ce qui ne marchera pas. Avant même de le faire
  • Montrer que ça n'a pas marché comme indiqué au préalable.

Enfin la différence Paris/Province est réel. Il y a le salaire à Paris mais la qualité de vie est meilleure en province.

Un seul Web, de Daniel Glazman

Le web évolue énormément depuis sa création. Au début, il y avait de très grande différence entre tous les browsers. On ne voyait pas du tout la même chose entre les navigateurs. Ainsi par exemple la taille de font par défaut était variable entre les navigateurs.

Maintenant, on peux constater qu’un même site est quasiment identique entre les derniers navigateurs web ( safari, opera, chrome, firefox ).

Les chiffres d’utilisations des navigateurs tendent à montrer une chute de l’utilisation d’internet Explorer. Cette chute est équivalent à la chute effectuer par Netscape avant sa fin.

La standardisation de l’HTML 5 est en cours, même microsoft est entrée dans le Working group et a fait des propositions. L’utilisation d’HTML 5 implique l’arrêt de développement pour IE6 qui n’arrive vraiment pas à gérer une modification de doctype.

Il est désormais possible de faire de l’HTML 5, les nouveaux éléments passeront bien dans les navigateurs. Exception d’internet Explorer qui oblige l’inclusion d’un javascript qui corrige les problèmes de rendu.

HTTP pour les naïfs et les brutes, de Karl Dubost

La définition d’un site est vague. Est-ce un domaine avec un auteur, ou un domaine avec plusieurs auteurs. Au final, basiquement un site internet n’est qu’une histoire. Exactement comme pourrait la raconter des enfants.

Un site se déroule de la manière suivante :

  • Identification
  • Représentation différente pour un même identifiant
  • Ajout d'information
  • Suppression d'information
  • transmission de l'information

Le HTTP est composé principalement de 4 verbes :

  • GET (consultation)
  • POST (ajout)
  • PUT (modification)
  • DELETE (suppression)

Pour définir la représentation, il y a le Content-Negocation dans les headers. Grâce au code HTTP on peux améliorer l’information

Au niveau d’internet, il n’y a quasiment que du GET (consultation), et juste un peu de POST (modification,création)

Une bonne introduction aux services web REST !

Web Ouvert d'Eric Daspet

Tentative d’interdire des liens sur son site, car écrit dans certain CGU.

pour faire du web ouvert il faut faire du HTML, RSS, ATOM. Faire en sorte de publier son contenu dans un format ouvert pour que ce soit interprétable par des robots. Utiliser Rdf/A MicroFormat.

Ces technologies permettent ensuite de rechercher de l’information via SPARQL par exemple. Les moteurs de recherches commencent a prendre en compte les microformats, Yahoo mais aussi Google.

l’authentification partagé.

  • OpenID
  • OpenAuth

Il faut avoir des API de préférences des API ouverts :

  • REST
  • XML

Partager ne coute rien. Par contre attention à la licence. Il ne faut pas faire de propriété privé.

Si tout le monde exporte facilement son contenu il est possible de d’enrichir son site grâce aux autres (Flickr, Twitter et les autres).

Basic housekeeping, keeping the web a safe and clean environment de Christian Heilmann

La sécurité est souvent sous-estimé. On l’a considère souvent comme étant peu utile. “C’est pas grave si on a une faille de sécurité”.

Les failles de sécurités sont souvent issus de la fainéantise.

Christian liste les classiques failles de sécurité PHP avec l’inclusion de fichiers a distance, les données utilisateurs non vérifié, les phpinfo() accessible, les messages d’erreurs en production.

Quelques autres conseils :

  • mettre a jour son système
  • mettre de nouveau a jour son système
  • ne pas cacher des choses dans le HTML
  • ne pas faire confiance a javascript
  • vérifier aussi les appels ajax
  • éviter toute injection de code javascript et HTML de la part de vos utilisateurs
  • ne pas activer le listage des répertoires
  • Éviter les .svn accessible depuis le web

Il a également abordé les failles du a l’ingénierie sociale. Entrez dans les locaux de l’entreprise ciblé, si vous faite preuve d’autorité en créant un effet de stress vous pourrez facilement entrer dans le système informatique de la société (Je n’arrive pas a me logger sur l’intranet, vous ne pourriez pas me donner votre accès, c’est très urgent).

Vendredi 9 Octobre 2009

Being Agile, Being Good de Stephanie Troeth

L’agilité est une suite de solution. Cela permet principalement d’estimer et de planifier son développement.

Pour être agile il faut travailler en équipe sur de petite itération. Chaque itération ne doit pas être défini par une durée, mais par une liste de tâche. Il faut qu’à la fin de chaque itération, cette liste de tâche soit fini.

Il faut surtout se concentrer sur ses priorités. L’adaptation est la clé et surtout il faut toujours avoir un plan défini.

La qualité est une part de l’agilité. La qualité est relative et donc dépend énormément du point de vue. Un développeur aura pas la même notion de qualité que le Chef de Projet. La meilleur preuve de qualité est la fierté de son travail.

Pour pouvoir être agile il faut avoir des “Users stories”, c’est ce que voir l’utilisateur. L’avantage des user stories est qu’elles sont réellement testable et évite de lourde spécifications, car elles servent de spécification. Essayer d’avoir le moins de documents possible permet de ne conserver que les documents essentiels. Ceux qui contiennent des décisions. Un des autres avantages est la possibilité de réutilisations des stories. Il faut essayer au maximum de réutiliser ce qui a déjà été produit.

Pour aider à la planification, il y a les “story points”, on défini un nombre de point par story. Au début, elle représente 1 heure. mais si finalement on se rend compte qu’un point a une durée différente, on peux ainsi adapter son planning.

Pour avoir une découpe des tâches les plus optimum, il faut essayer de réduire ses tâches à 4h (une demi-journée). Il faut essayer au maximum de pouvoir finir une tâche dans la journée pour éviter l’enlisement.

CSS peut-il être orienté object ? de Nicole sullivan

Pour bien utilisé le CSS, il faut vraiment connaitre le cascading. Ainsi certaine règle sont parfois méconnu :

  • Il n'y a pas d'ordre dans les class d'un élément
  • Dans une feuille de style, il n'y a pas d'ordre, c'est le dernier lu qui est la référence.
  • les parties inconnues sont ignorées

Pour améliorer les performances de ses CSS, il faut essayer au maximum d’aggréger.

Il y a plusieurs problème avec le CSS :

  • le code est très fragile. Il peux donc être très facilement cassé.
  • Difficulté de réutilisation du code
  • Plus la taille de fichier augmente plus la vitesse diminue

Essayer de rendre CSS Objet permettrait de rendre le CSS plus puissant. Le CSS ne le peux pas de base, il y a donc une librairie qui reprend le concept Object dans le CSS. Bien sûr, les puriste de l’OO ne trouverons pas ça orienté objet.

Nicole nous a présenté en fin de présentation oocss, son framework “maison” http://github.com/stubbornella/oocss.

CSS3: Future Style Now de Molly Holzschlag

CSS 2 est la seule spécification fini qui est actuellement en place. CSS 2.1 devait sortir, mais il n’y a rien de vrai définitif. L’objectif actuel est vraiment CSS3. CSS3 est en partie implémenté dans les nouveaux navigateurs. Chacun a son propre niveau d’implémentation de cette nouvelle norme. Bien sûr, CSS3 est toujours en cours de spécification et d’implémentation. Il faudra attendre encore très longtemps avant que la spécification finale soit définie. CSS 3 étant découpé en module, certains modules peuvent être en version finale sans devoir attendre les spécifications des autres.

Nouveauté intéressante de CSS3 ?

  • Les media queries qui permettent de définir quel CSS pour quel média http://www.w3.org/TR/css3-mediaqueries/
  • Les CSS Transition http://www.w3.org/TR/css3-transitions/
  • Les CSS Transformation http://www.w3.org/TR/css3-2d-transforms/
  • Les CSS animations http://www.w3.org/TR/css3-animations/
  • les multiples background http://www.w3.org/TR/css3-background/
  • les multiples colonnes http://www.w3.org/TR/css3-multicol/
  • les définitions de couleur avec la notations hsl http://www.w3.org/TR/css3-color/#hsl-color

Concevoir un produit web c'est bien, faire en sorte qu'il soit accepté c'est mieux! de Gautier Barrère et Alain Vagnier

Les techniciens et les Ergonomes ne se comprennent pas forcement de par leur différence de point de vue.

Pour faire accepter un produit, il y a 2 types d’acceptation :

  • L'acceptation pratique (si on trouve le produit pratique on l'utilise et donc on l'accepte)
  • L'acceptation social ( son groupe social accepte un produit, on est donc obligé de l'accepter. On doit suivre l'acceptation. Si tout le monde utilise Facebook, on est obligé d'utiliser facebook. On l'accepte)

Par contre il faut savoir que toute application a des possibilités d’utilisation discrétionnaire ( utilisation qui n’était pas prévu à la base ). Il ne faut pas essayer d’allez à l’encontre de cette utilisation. Il faut essayer au maximum de la prévoir plutôt que d’essayer de l’éviter.

WCAG 2.0, flash, pdf, javacript sont dans un bateau de S.Delorme et A.Levy

Les WCAG2.0 sont sorties cette année et le principal changement est la non dépendance à une technologie. Les annexes spécifiques ne sont pas normatives et n’existent que pour information, elles ne visent pas l’exhaustivité.

Flash depuis la version 6.0 peut être accessible si on le précise explicitement a la compilation (tous composants natifs seront alors accessible). Il est possible de :

  • spécifier des alternatives textuelles
  • gérer le focus et l'ordre de tabulation
  • spécifier des sous titre a une vidéo et une retranscription textuelle
  • zoomer et d'augmenter la taille du texte

PDF permet également une lecture d’écran facilité. Les alternatives textuelles sont possible, mais aussi spécifier une vraie sémantique dans le document comme en HTML. L’ordre de lecture peut également être géré. La langue du contenu peut être exporté, important pour la synthèse vocale.

Toutes ces possibilités se font principalement via Acrobat Pro. Open Office permet de faire une grande partie du travail au niveau de la structure du document. Il manque des librairies/API qui tirent partie de ces mécanismes.

Pour Javascript, ARIA peut de spécifier des rôles, des états et des propriétés a des éléments HTML. Pratique lorsque ces éléments sont détourné de leur sémantique originelle. Les frameworks Javascript implémentent de plus en plus ARIA qui va être intégré en partie dans HTML5.

Une note importante des conférenciers est qu’il ne faut pas se limiter. Si des éléments ne sont pas pour le moment accessible, tant pis. Si une nouvelle technologie ne permet pas encore d’être accessible a tous, utilisons la et attendons :).

Les nouveaux standards du web et de leur implémentation dans les navigateurs modernes de Tristan Nitot & Paul Rouget

Mozilla travaille pour rendre le maximum de chose disponible sur le web.

  • Canvas 2D et 3D (webGL)
  • les accès aux périphériques (Accelorémètre, Webcam, GPS, Multitouch, ...)

Des APIs riches apparaissent avec le web hors ligne, les drag’n drop. la géolocalisation, xmlhttprequest cross-domain, ….

Firefox 3.7 pre-alpha implémente une partie de HTML 5. On peux ainsi avoir l’implémentation de la balise video avec l’utilisation de CSS-transformation.

On obtient ainsi d’impressionnante démonstrations. A voir sur http://hacks.mozilla.org/.

Cette édition était bien sympathique, pour les absents les vidéos ne devrait pas trop tarder.

Have a comment? Contact me by email.