Développement

Archi & techno

Les Patterns des Grands du Web – Contribution au Logiciel Libre

Mais pourquoi Facebook, Google et autre Twitter contribuent-ils autant à l'open source ? L’avance technologique est un atout important dans la conquête du Web. Que ce soit pour se démarquer de la concurrence en lançant de nouveaux services (pensez à la sortie de Gmail et de son large stockage à l’époque de l’hégémonie Hotmail), ou plus pragmatiquement pour faire face aux contraintes qui leur sont propres comme le défit de croissance lié à leurs bases utilisateurs, nous allons voir que les Géants du Web ont…

Lire la suite
Archi & techno

D’un site mobile à une véritable application Web

La navigation mobile (smartphone ou tablette) s’est sans conteste accaparée une partie non négligeable du trafic Internet, et son augmentation ne fait pas de doute. Pour répondre à l’arrivée de ce nouveau support de consultation, nombres de sites ont commencé par adapter leur présentation pour une lecture agréable. Aujourd’hui, le mobile fait l’objet d’une véritable stratégie d’entreprise et ce sur de nombreux fronts : organisationnel, marketing et technologique notamment. Ce dernier point amorce aujourd’hui un virage naturel mais peu évident à négocier, tiré par la…

Lire la suite
Archi & techno

Vers une Usine de Développement 2.0

En repartant de l’usine de développement tel que nous la connaissons aujourd’hui, nous allons tenter de vous initier à notre vision de l’UDD (Usine de développement) de demain. En effet, en interne chez OCTO nous travaillons activement sur ce sujet de recherche. Pourtant, avant de rentrer dans les séduisants concepts qu'il pourrait apporter, revenons sur les principes et limites de ce que l’on considère comme une UDD 1.0.   Mais c’est quoi une UDD ? C’est une usine logicielle, contenant des outils pour le développement…

Lire la suite
Archi & techno

Thrift et Protocol Buffers : compacité du message sérialisé dans le monde Java

Un précédent article a exposé les grands principes de la sérialisation avec Thrift et Procotol Buffers. Ces deux frameworks promettent notamment une représentation des messages optimisée en termes de taille, ce qui est avéré dans le benchmark JVM Serializers : Thrift et Protocol Buffers y obtiennent une réduction de taille du message de 73% par rapport à la sérialisation native Java. Ce benchmark regroupe par ailleurs de nombreux autres frameworks de sérialisation du monde Java, mais se limite toutefois à l'utilisation d'un unique message de…

Lire la suite
Archi & techno

Sérialisation : Thrift et Protocol Buffers, principes et aperçu

La sérialisation est une des bases de la transmission de données entre systèmes. Certains langages proposent d'ailleurs une méthode de sérialisation en standard, qui leur est souvent propre. L'interopérabilité entre systèmes hétérogènes nécessite que le format de sérialisation soit compréhensible par différents langages et plates-formes. De nombreux standards utilisent le mécanisme d'IDL (Interface Description Language) pour répondre à ce besoin : ASN.1, CORBA ou encore SOAP. Depuis quelques années, de nouveaux frameworks basés sur un IDL ont vu le jour pour l'interopérabilité de technologies hétérogènes…

Lire la suite
Archi & techno

Applications mobiles multi-plateformes: les approches PhoneGap et Titanium Mobile

Introduction Le développement d'applications pour terminaux mobiles (iPhone, iPad, Android, Blackberry, Windows Phone, Nokia Symbian, Samsung Bada...) se heurte à la fragmentation des technologies de développements: environnement iOS/Objective-C pour l'iPhone et l'iPad, SDK Java spécifique pour Android, J2ME pour Symbian, etc. Deux approches possibles lorsque l'on débute un projet d'application ciblant plusieurs de ces plateformes sont de développer une application pour chacune d'elle, ou de développer un site Web compatible. Dans le premier cas, l'inconvénient concerne bien évidemment le coût des développements. Dans le deuxième,…

Lire la suite
Archi & techno

Domain Driven Design : des armes pour affronter la complexité

"La complexité, c'est comme le cholestérol. Il faut surtout se débarasser du mauvais." (Proverbe gascon-malgache) DDD est l’acronyme de Domain Driven Design. Ce n’est ni un framework, ni une méthodologie, mais plutôt une approche décrite dans l’ouvrage du même nom d’Eric Evans. Un de ses objectifs est de définir une vision et un langage partagés par toutes les personnes impliquées dans la construction d’une application, afin de mieux en appréhender la complexité. Nous ne souhaitons pas faire ici une présentation de DDD (voir plutôt ici…

Lire la suite
Archi & techno

La programmation haute performance n’est-elle réservée qu’à une élite de développeurs C++ ?

Récemment un papier d'étude de Google UK a été publié sur la performance des langages de programmation JAVA, Scala, C++ et Go (Loop Recognition in C++/Java/Go/Scala). Dans ce papier, les performances des langages sont comparées sur la base d'un algorithme de recherche de boucles dans un graphe (Algorithme de Tarjan). Principalement basé sur la performance d'exécution d'instructions séquentielles (boucles), la gestion de la mémoire, le temps de compilation et le nombre de lignes de code écrites cette étude montre que pour arriver à des hautes…

Lire la suite
Archi & techno

Charger des fichiers javascript de façon performante

Users really respond to speed La citation est de Marissa Meyer, VP expérience utilisateur à Google, en 2006. Pas grand chose n’a changé depuis, si ce n’est qu’on a des chiffres plus précis, et un peu effrayants, sur l’importance de la performance dans les applications web : Quelques points de performance feront la différence entre une expérience réussie et une application perçue négativement par ses utilisateurs. Ou plutôt si, ce qui a changé c’est que depuis 2006 on ne se contente plus de sites web, les…

Lire la suite
Brèves de consultants

A la recherche de nouveaux vaccins

Il y a peu, je participais à une réunion de travail impliquant une trentaine de personnes et j’ai fait une observation qui m’a intrigué. Avez-vous remarqué ce qui se produit lorsqu’un téléphone portable sonne au cours d’une réunion ? La personne propriétaire du portable l’éteint rapidement Tous ceux qui ne l’avaient pas encore fait vérifient leur portable et activent discrètement le mode silence. Voilà un exemple de mesure préventive particulièrement efficace! Dans les entreprises où l’on respecte un certain standard de réunion, l’exception que constitue…

Lire la suite