Optimiser les performances de vos applications web sur mobile

La part du web consulté par des terminaux mobiles augmente très vite, et proposer à ces utilisateurs une version mobile devient un véritable enjeu stratégique. Malheureusement, le web mobile n’a pas grand chose à voir avec celui qu’on connaît sur desktop: du fait des faibles performances des appareils mobiles par rapport au desktop, des contraintes qui n’existaient plus vraiment sur nos ordinateurs sont de nouveaux d’actualité :

  • peu de CPU
  • peu de mémoire
  • peu d’autonomie
  • peu d’espace disque… voir pas du tout
  • une connexion intermittente… au mieux
  • une débit de connexion très variable

Yahoo! YSlow est certainement la référence pour trouver des optimisations sur son site web,  mais ces optimisations sont orientées pour le web sur Desktop et YSlow se base sur les prédicats suivants :

  • connexion internet sans coupure intermittente, toujours disponible et illimitée
  • une mémoire et un espace de stockage illimités

Si on prend nos contraintes sur mobile, on se rend compte que ça change pas mal la donne. Nous allons détailler ce qu’implique ces nouvelles contraintes sur votre application web en terme d’expérience utilisateur et vous donner quelques pistes d’optimisation qui émergent.

(Lire la suite…)

Les 3 S de l’administrateur UNIX, saison 3

Nous avons vu dans les articles précédents comment ssh permettait à Bob de chiffrer ses connexions aux serveurs, comment sudo permettait de restreindre et de tracer qui fait quoi, et comment screen pouvait éviter à Bob de perdre du temps. Fort des ces outils, Bob a commencé à automatiser plusieurs tâches, mais se heurte à des problèmes d’échelle : taper une fois un mot de passe passe, mais cent fois trois mots de passe ne passe plus. (Lire la suite…)

Utiliser la fédération d’identité sur votre site Web ?

2 mots sur la fédération d’identité

Pour le  grand public, le principal avantage de la fédération d’identité est de disposer d’une identité unifiée, utilisable sur divers sites Web indépendants.
La fédération permet d’orienter les applications compatibles vers un gestionnaire d’identité unifié et ainsi :

  • De disposer d’un identifiant / mot de passe unique et du “Single Sign On” sur l’ensemble des applications fédérées ;
  • De mettre à la disposition des applications une fiche d’identité paramétrable (nom, prénom, date de naissance, sexe, email, etc.)
  • De conserver un lien vers cette fiche d’identité pour connaître ses évolutions

(Lire la suite…)

Un DSL SQL pour Java

Alors que Hibernate est très largement répandu dans les projets Java pour accéder à une base de données relationnelle, il arrive que l’utilisation en direct de l’API JDBC reste pertinente.
En effet, il demeure intéressant de rester en SQL « pur » plutôt que de sortir la grosse artillerie lorsque :

  • les données de la base sont plutôt pensées tuple qu’objet : le modèle de données ne présente pas de relations complexes entre
    elles.
  • lors de la reprise d’un existant, il arrive que du code métier soit implémenté en PL/SQL par exemple. Les requêtes peuvent alors faire régulièrement appel à ces fonctions.

Lorsque nous sommes arrivés sur un projet de migration d’une application existante qui cumulait les contraintes précédentes (surtout beaucoup de procédures stockées), JDBC nous semblait une bonne idée. Seulement voilà, lorsqu’il a fallu écrire la requête à 60 critères de recherche qui étaient présents selon les critères que l’utilisateur avait entré sur sa belle IHM, je me suis posé la question de comment faire pour construire ladite requête.
Fallait-il faire des tas de « if » pour tester la présence d’une valeur dans chacun des critères de recherche ? Faire les jointures nécessaires selon les critères fournis ? J’ai entraperçu quelque chose de pas très sympa à écrire et à maintenir.

Pourquoi ne pas encapsuler le choix d’ajouter les clauses SQL à ma requête derrière une API qui le ferait selon les valeurs que je lui donne ? Et puis pourquoi pas faire ressembler cette API à du SQL pour pas inventer une nouvelle API ?
(Lire la suite…)

Compte rendu du Paris JUG du 11 Mai

Mardi dernier, Meriem, Sébastien, Christian et moi nous sommes rendu à la soirée « Share, Build & Deploy » au Paris JUG. Voici un rapide compte rendu des différentes sessions:

(Lire la suite…)

Octo @ ScalaDays 2010

Les 15 et 16 avril, la première rencontre de la communauté Scala s’est déroulée à l’EPFL à Lausanne, ville d’origine de ce langage.

100 % compatible avec le Java, le Scala est un langage orienté objets et fonctionnel et qui tourne sur la JVM. C’est un langage plus expressif mais dans lequel les concepts de Java se retrouvent facilement.

J’ai eu la chance de pouvoir participer à cette conférence. Elle regroupait 155 personnes venant principalement d’Europe, mais aussi des États-Unis et même du Japon ! Il y avait à peu près autant d’universitaires que de personnes issues de l’industrie informatique.

Je vais présenter les conférences qui m’ont semblé les plus intéressantes. Par souci de lisibilité, j’ai classé celles-ci de la moins « geek » à la plus « geek ».
(Lire la suite…)

Des rituels pour changer

Un double paradoxe

Le titre de ce billet est doublement paradoxal. Le terme de « rituel » lui-même surprend en milieu professionnel. Souvent associé à un contexte religieux, il appartient au registre de l’anthropologue et pas du professionnel ou du consultant en entreprise. Qui plus est, il est associé plutôt à des actions répétées dans un ordre fixe et immuable, et pas au changement

Pourquoi alors ce terme apparait-il, notamment mais pas seulement dans l’Agile?

(Lire la suite…)

Résistance, équilibre et renforcement

Just Do It ?

- Qu’est-ce que tu crois que je devrais faire ?
- Moi à ta place j’arrêterais tout simplement de faire X et je commencerais à faire Y.
- Oui, facile à dire…
- C’est une question de discipline. Il suffit de s’y mettre.

Nous avons tous vécu cette scène du conseil d’ami, comme émetteur et comme receveur. C’est un antipattern; comme tous les antipattern, il part d’une bonne idée: dans certaines circonstances, la résistance à faire le premier pas représente le seul obstacle réel au changement. Il suffit de faire!

(Lire la suite…)

Performances de build Java sous Linux ?

Un matin, j’en ai eu assez d’attendre 15 min à chaque construction mon application par l’usine de développement. Sur mon Mac Book Pro, cela mets deux fois moins de temps. Je suis donc aller chez le revendeur informatique d’à coté, pour acheter un serveur tout neuf. J’installe un Linux (Ubuntu 9.10), je lance mon build, je patiente, et je constate que cela mets 11 minutes. C’est toujours plus lent que sur mon Mac Book Pro; quelle déception ! Effectivement, mon Mac Book Pro est puissant, mais le nouveau serveur contient quand même un coreI5 quad core (le plus rapide que j’ai trouvé), avec 6Go de Ram DDR3 et des disques en RAID 1 !

Pour couronner le tout, un collègue arrive et me dit : j’ai un Windows Seven 32 bits sur une clé USB, on peut essayer si tu veux … On installe, on build, 5 min 30. Ce n’est donc pas le hard qui est en cause …
(Lire la suite…)

Belle soirée de présentation de sessions avec les speakers USI

OCTO a organisé hier soir (Jeudi 6 Mai) un évènement qui a permis de rassembler la quasi-totalité des futurs conférenciers USI 2010 ainsi que quelques inscrits.

Le but : un USI en une heure, permettant à chaque speaker, seul, en duo ou en équipe, de présenter les thèmes principaux de sa session. C’est donc de façon conviviale et souvent théâtrale que nous avons pu avoir un avant-goût de ce qui nous attend les 1er et 2 Juillet prochains, parfois en live ou parfois grâce aux vidéos que certains speakers étrangers ou malheureusement absents nous avaient fait parvenir (nous les en remercions).

Le tout ayant attisé notre curiosité et nous donnant envie de découvrir les sessions lors des deux jours J.

Nous remercions bien entendu tous les speakers qui ont participé et joué le jeu avec brio, pour faire de cette soirée un moment de partage, d’écoute et de convivialité.

Nous vous encourageons donc tous à découvrir prochainement le petit film, tiré de cet USI en une heure, qui j’en suis sûre, ne manquera pas de vous donner envie !

Rendez-vous les 1er et 2 juillet!