Archives par mot-clé : Software

IBM sur le point d’acheter Coremetrics ?

IBM serait sur le point d’acheter coremetrics.

C’est une nouvelle importante dans notre petit monde : Coremetrics est l’une des solutions avancée de Web Analytics (entre autre).

Coremetrics, c’est quand même 200 personnes… avec des références prestigieuses, aux US en particulier.

IBM poursuit donc ses acquisitions, en vue d’avoir une offre la plus complète possible.

La news ici (us).

Fredhopper racheté par SDL !!!

Je viens de tomber sur la nouvelle :

Fredhopper propose une offre très avancée pour les sites e-commerce.

La solution est en fait composé d’un moteur de recherche orienté e-commerce, ainsi qu’un moteur de merchandising (présenter les produits pour vendre plus).

La solution est, par exemple, déployée sur le site de boulanger (couplé au moteur IBM Websphere Commerce Server).

Et bien FredHopper donc, vient de se faire racheter par SDL.

SDL ?

C’est un éditeur, qui propose principalement des solutions de CMS.

Trop tôt pour dire si c’est une bonne ou une mauvaise nouvelle.

Peut être une bonne nouvelle, si les deux boites ont plus de moyens, et donc ça permettra de booster le développement commercial, et les investissements R&D, très importants pour ce type de produits.

Mais risque, d’une fusion raté entre deux boites n’ayant pas la même culture. Quand, dans les articles qui parlent de cette fusion, je lis que ça va permettre à Fredhopper d’adapter son produit pour aller sur les marchés de la finance, ça ne me semble pas être un très bon signal…

A suivre de près donc.

(on en parle ici par exemple)

Grandeur et décadences de l’objet

L’objet, c’est un élément fondateur de l’informatique moderne.

On programme objet, on peut analyser avec une approche objet…

Mais d’abord, c’est quoi ce truc ?

L’approche objet est à la base une évolution « naturelle » des techniques de programmation.

Un peu d’histoire :

L’informatique a commencé avec des langages « barbares », ou en tout cas de bas niveau : assembleur, cobol…

Puis sont venus les langages fonctionnels et structurés.

Fini les GOTO, et bienvenue aux variables locales !

Cela a constitué une avancée fondamentale :

Le programme est 1000 fois plus lisible, 1000 fois plus réutilisable.

Il y a eu d’autres pistes explorées : les langages de type Intelligence Artificielle (Prolog), les langages purement fonctionnels (Camel & co), …

Et puis il y a eu l’objet.

Derrière l’objet, il y a plusieurs idées fondatrices :

L’une des idées est de se dire que les structures de données sont clées, et finalement plus centrales, plus stables que les fonctions.

Bref, le truc objet a bien pris, et la plupart des langages modernes sont objets : C#, Java, PHP…

ça, c’est la grandeur des objets.

Mais les objets auraient pu aller à pleins d’autres endroits.

Il y a eu ainsi de magnifiques projets de bases de données objets (O2 mon amour 😉 ).

J’en parlais ce soir avec mon amis Hubert, qui de son côté a travaillé sur un projet d’OS objet.

A ce propos, Microsoft devait intégrer une base de données objet à la place du file system de Vista… Projet abandonné.

Tout ça, c’est la décadence de l’objet !

Il n’y a pas de base de données objet sérieuse sur le marché.

Les OS ne sont pas objets.

Le file system est très loin d’être remplacé par une base objet…

Pourquoi « tant de haine » ?

C’est une histoire qui me fascine d’autant plus qu’elle me ramène à ma propre histoire : dans les années 90, j’avais monté un projet de bases de données objet, persuadé que c’était l’avenir.

On peut dire que pour les bases de données, cela n’a pas pris parce que ce que les gens attendent d’une base de données, c’est de stocker des données, et pas tellement de savoir comment elles sont structurées.

Je n’adhère pas à l’argument, parce que cet argument aurait très bien pu jouer contre les langages de programmation…

Je pense qu’en fait, il y a sûrement une part de hazard là dedans… Et si ça se trouve, on aura bel et bien de belles bases de données objets dans les années à venir ! N’oublions pas que cette histoire est en cours d’écriture !

Barcamp Magento le 2 Février

Magento est une plateforme intéressante, riche fonctionnellement mais assez lourde à mettre en oeuvre. C’est pas le petit truc qu’on met en route en quelques heures…

On c’est dit, à l’origine avec Olivier, puis avec Daniel, que ça serait bien de se réunir, pour échanger sur cette plateforme, tant au niveau technique qu’au niveau fonctionnel.

L’idée est parti comme ça, Daniel en a parlé à Roy, le CEO de Varien, qui sera probablement là.

Puis on en a parlé à Philippe Humeau, de nbs-system.com (sécurité, hébergement et super expertise sur l’optimisation Magento), et qui anime une petite communauté autour du produit…

Finalement, aujourd’hui, autour de cet évènement, il y a :

(désolé si j’ai oublié qq !).

Le barcamp sera le 2 Février donc, à paris, toute la journée.

Le matin, le barcamp sera organisé en ateliers, soit technique (hébergement, optimisation, développement, …) soir fonctionnel.

L’après midi, si Roy Robin vient effectivement, On pourra poursuivre la journée avec un échange avec Roy.

Voilà, tout ça pour vous prévenir à temps. Il reste des détails à régler (on n’a pas encore la salle), mais je pensais qu’il était plus que temps de vous prévenir, pour que vous puissiez booker ça dans vos agendas !

Méthode agile ou road map : contradiction ?

Soirée sympa hier soir, invité par Adobe, avec Michael, Yann & Olivier.

Avec Yann, on a toujours des discussions passionnantes sur le logiciel, et son avenir.

Il faut dire qu’on a une culture assez proche : NeXT, UML, …

Donc, on a parlé développement, et j’ai évoqué l’intérêt de méthodes agiles, comme Scrum.

Puis, un peu plus tard, j’ai parlé d’un aspect important de mon métier : « l’évangélisation » sur les métiers du logiciel, et en particulier l’importance de se projeter dans la durée, de travailler sur une road map.

Contradiction ?

D’un côté, les méthodes agiles. On avance par petites étapes (15 jours par exemple). A chaque étape, on doit avoir un système qui tourne.

C’est donc une méthode très itérative.

De l’autre côté, l’idée de road map, c’est la planification dans la durée du projet.

Les deux approches sont complémentaires !

La road map permet de définir les grandes étapes du projet.

La méthode agile est le processus pour avancer, le long de la road map donc.

Donc non, à mon sens, Yann, il n’y a pas de contradiction entre les méthodes agiles et le fait de définir une road map produit !

Nokia rachète Symbian : analyse

Vous l’avez surement lu : Nokia rachète Symbian.

Symbian, c’est un OS plutôt orienté pour les mobiles. Pour la petite histoire, Symbian, à l’origine, c’est l’OS des Psion (si je me laisse aller, je vais vous parler de mon Psion 5mx : que c’est énervant que cette boite ait loupé le virage de la convergeance PDA / Mobile…).

Ce que je lis, c’est que Nokia aurait racheté Symbian pour réagir à Android.

Peut être…

Moi, aujourd’hui, celui qui m’impressionne, ce n’est pas Android mais Apple avec son iPhone.

J’entends déjà les objections :

  • Tu es un inconditionnel d’Apple,
  • L’iPhone est un truc de Geek, réservé à une poigné de parisiens branchés,

Sur le premier point, c’est un procès d’intention ( 😉 ).

Sur le deuxième point, on verra, on verra… Quand les centaines d’applications vont débarquées sur l’iPhone, ça va faire mal… J’en fait le pari (qui veut jouer ?).

Android ? android n’est pas encore installé dans un mobile… et l’histoire à montré que c’était complètement différent, de faire un OS indépendamment du hard ou de faire un OS spécialisé pour un matériel donné.

C’est là toute la force d’Apple : ils maîtrise la chaîne complète (hard + soft), et peuvent ainsi avoir un OS plus léger et plus performant, parce que l’OS sait sur quoi il tourne : il ne doit pas avoir dix mille configurations…

Voilà, elle est là mon analyse :

Je pense que Nokia a (enfin) compris que pour augmenter la valeur de ses terminaux, il doit investir plus et mieux dans le logiciel.

Dans ce milieu, le logiciel, c’est le maillon faible, et depuis longtemps.

Motorola gère par exemple plusieurs OS (des terminaux linux, Windows Mobile, Symbian, plus, je crois, un système maison, et se disperse.

Les terminaux de Nokia ont une richesse fonctionnelle incroyable, mais la navigation dans les applications est très loin derrière « l’expérience iPhone ».

Maintenant, être capable de faire ce qu’à fait Apple, au niveau de la qualité de l’interface, ça va demander vraiment du temps à Nokia (et aux autres) : très probablement plus d’un an. Si pendant ce temps apple avance bien, ils peuvent vraiment bousculer ce marché.

Et oui, cette maîtrise du logiciel, à ce niveau de complexité, de richesse, c’est pas un travail qui se fait en 5 minutes.

Nokia a compris ? Peut être. D’autres acteurs devraient également se poser des questions et comprendre : l’avenir passe par la maîtrise du logiciel !

La longue traine vue par Dassault System

Tout le monde ne le sait peut être pas : Dassault System est aussi un éditeur de logiciel, dans le domaine du PLM.

3DS, c’est 8000 personnes (quand même !), dont la moitier en R&D.

3DS est leader sur son marché, et propose tout un tas d’outils, permettant de modéliser en 3D des produits. Ces outils sont historiquement utilisés pour les produits industriels (avions, voitures, …) mais aujourd’hui, le cadre d’utilisation de ces outils à bien changé, et sont également utilisés pour l’électronique grand public, ainsi que, par exemple, par les grands magasins, pour visualiser une mise en rayon virtuelle.

Bon, jusque là, on est encore dans un contexte purement B2B.

Mais cela évolue, surtout avec l’acquisition de Virtools (2005).

Donc aujourd’hui, 3DS propose 3DVIA :

3DVIA

La vision, c’est qu’après le texte, l’image, le son et la vidéo, la prochaine grande révolution pour le web sera la 3D.

Ce portail essaie de construire cette vision, avec tout un tas d’outils et de services.

On peut par exemple naviguer dans une bibliothèque de modèles 3D, qu’on peut consulter directement dans le navigateur (avec un plugins à installer). L’idée, c’est de construire le Youtube du 3D :
Copie d'écran de l'espace de partage de modèles 3D

Mais les ambitions de 3DS vont plus loin, avec d’autres idées plus futuristes.

3DS a ainsi signé un deal OEM avec Microsoft, pour enrichir MS Virtual Earth, et permettre à chaque utilisateur d’ajouter des objets 3D sur le monde virtuel de Microsoft. On peut ainsi modéliser sa propre maison sur son emplacement :

3DS propose d’aller encore plus loin, avec plusieurs idées « Web 2.0 ».

Ils ont ainsi développés une application FaceBook, permettant d’ajouter et de manipuler des objets 3D directement dans le réseau social.

Mais le plus étonnant est sans doute l’idée de la 3D « long tail » : une application permet de co-créer un modèle 3D sur Internet. On serait donc tous de futures créateurs 3D…

Exemple donné : un constructeur automobile diffuse le modèle 3D de la voiture en préparation, et propose à tout un chacun de modifier ce modèle. On peut ainsi changer la forme d’un tableau de bord qui ne plait pas, déplacer ou ajouter des éléments, …

Partagez vous cette vision ?

Pour ma part, je ne suis pas complètement convaincu.

Je pense bien sûr que la 3D va être de plus en plus utilisée, surtout avec la généralisation des player 3D (Flash ou même nativement dans les navigateurs).

La 3D peut être un bon vecteur pour améliorer la « proximité » avec certains produits, surtout pour les produits complexes.

Mais je ne pense pas que la 3D va prendre une place si importante que ça sur le Web, et je crois encore moins à l’idée qu’on va tous manipuler des modèles 3D (il faut s’entraîner vraiment longtemps avant d’arriver à faire ce qui est montré dans la vidéo ci-dessus).

Club innov-it sur le SAAS

J’étais ce matin à une présentation de sociétés, ayant en commun d’être sur le créneau du SAAS (organisé par innov-it).

Le SAAS, c’est le nouveau nom pour l’ASP. En un mot, c’est utiliser un service en ligne, sans installation chez vous donc.

On est tous des utilisateurs aujourd’hui de solutions SAAS, via gmail par exemple.

J’y suis allé pour plusieurs raisons : pour faire de la veille, et voir s’il n’y avait pas dans le lot quelques belles innovations en préparation pour notre domaine préféré : le e-commerce. L’autre raison, vous le savez, c’est que je suis convaincu qu’à moyen terme, le SAAS va se développer énormément.

J’ai ainsi appris qu’on avait un club en France sur l’ASP : l’ASP Forum. Hum, pas très glamour ce site ;).

J’ai pu voir défiler une vingtaine de boites, venues présenter leur projet, soit pour rechercher des partenaires, soit pour chercher des sous.

J’y ai vu quelques boites intéressantes et liées au e-commerce, dont je vous parlerais bien vite (dont une solution pour automatiser la saisie des formulaires, concurrent de spoonkey donc, ou autres solutions pour réaliser des sites 3D… concurrent de VB2S donc).

Un regret : personne n’a parlé des enjeux à venir pour le SAAS. On n’a pas parlé, par exemple, de la problématique de mashup, pourtant fondamentalement liée au modèle SAAS : comment brancher plusieurs solutions SAAS entre elles ?

Tous les articles de ce blog sur le SAAS.

Livre blanc sur les framework PHP

Quand on doit développer son site marchand, on choisi le langage et l’environnement.

Mais on fait rarement un développement « from scratch » : on utilise soit un framework, soit une solution open-source.

J’en reparlerais, mais je voulais juste signaler le livre blanc, produit par Clever Age, sur les Framework PHP :

Téléchargez le livre blanc, publié par Clevar Age, sur les framework PHP

Ces Framework permettent de gagner pas mal de temps, quand on doit développer un site. Mais il ne sont pas tous équivalents. Ce document compare CakePHP, Symfony, Zend Framework et Code Igniter.

Quel environnement technique pour un site e-commerce ?

Quand on se lance dans un projet e-commerce, on peut se retrouver dans la situation ou l’on doit choisir un langage de programmation, et plus largement, un environnement technique (OS, serveur, langage, base).

La question est importante, parce qu’elle a beaucoup de conséquences, sur les équipes, l’architecture, et les composants, qu’on pourra plus ou moins facilement ajouter.

Quels sont les grands éléments de cet environnement ?

  • Langage de programmation
  • Serveur
  • Base de données
  • Environnement de programmation
  • Système d’exploitation

On peut commencer par parler des langages de programmation.

D’abord, il faut dire que tous les langages ont une couverture fonctionnelle identique : il n’y a pas de langage qui permet de faire quelque chose, qu’on ne peut pas faire avec un autre langage.

Comment choisir alors ?

Voici quelques critères :

  • Compétences des équipes : Si les équipes maîtrisent un langage (Java par exemple), cela prendra du temps de les former à un nouveau langage. Ce n’est pas forcément rédhibitoire, surtout si on a du temps, mais, existe-t-il des projets ou on a du temps 😉 ?
  • Budget : Certains langages sont gratuits (Java, PHP, Ruby On Rails), et certains sont payants (.NET).
  • Délais. Certains langages, associés à des librairies, permettent de gagner du temps, de développer les services plus vite.
  • Environnement existant : Vous avez déjà tout un environnement, basé sur une technologie. C’est sans doute une bonne idée de faire un développement cohérent par rapport à cet existant.
  • Contour fonctionnel : avec le langage on choisi « de facto » les librairies sur lesquelles on pourra s’appuyer. Si par exemple on doit intégrer un module de CRM, PHP permet de faire ça assez facilement, avec des modules comme SugarCRM.
  • Robustesse de l’application : il est beaucoup plus facile de faire du code robuste en Java ou .NET qu’en PHP. PHP, pour rester sur cet exemple, est tolérant par rapport aux erreurs. La concéquence est qu’il est beaucoup plus difficile d’écrire une application 100% bug free en PHP qu’en Java. Bon, ce point doit être modéré, parce que la qualité finale dépend de tout un tas de facteurs : librairies utilisées, compétences des équipes, …

Je ne mets pas la performance comme critère, parce qu’on peut faire des services performants avec tous les langages (on peut également faire des systèmes qui rament avec tous les langages, c’est même assez facile 😉 ). A chaque fois, il convient « simplement » d’ajuster l’architecture.

Bon, vous me direz peut être que tout ça ne vous guide pas vraiment !

Prenons les trois langages les plus utilisés aujourd’hui : PHP, Java et C#.

PHP

Avantages

  • Gratuit ;
  • Très bien intégré dans la couche LAMP (Linux / Apache / MySQL / PHP) ;
  • Grosse communauté d’utilisateurs, et donc beaucoup de librairies disponibles ;
  • On trouve (relativement) facilement des ressources, soit pour recruter, soit en prestation ;

Inconvénients

  • Trop tolérant aux erreurs (pas de typage, …), et donc cela augmente « mécaniquement » le risque d’avoir un service buggé ;
  • Environnement de développement assez pauvre (pas de débugger encore bien stable).

Java

Avantages

  • Gratuit, mais attention, il faut ajouter un serveur d’application qui n’est pas forcément gratuit. Le serveur d’application est une couche, qui s’intercale entre Apache (le serveur Web) et le langage Java.
  • Très bon environnement de développement, gratuit (Eclipse) ;
  • Grosse communauté, on trouve beaucoup de composants libres ou pas sur le marché ;
  • Langage de très bonne qualité, qui permet, plus facilement qu’en PHP, de faire des programmes robustes et fiables.

Inconvénients

  • On trouve un peu moins de ressources qu’en PHP.
  • Les développements sont souvent un peu plus long qu’avec PHP. C’est la concéquence, le prix à payer ;
  • Comme il y a moins de développeurs Java que PHP, les prix sont un peu plus élevés. La facture est donc un peu plus lourde qu’avec du PHP.

C#

Avantages

  • Au niveau qualité du langage, on est au même niveau qu’avec le Java, mais l’intégration entre le langage et l’environnement de développement (Visual Studio) est plus forte. Au final, le développeur a entre les mains un outils de développement de très grande qualité ;
  • On bénéficie du support d’un grand éditeur ;
  • On peut gagner plus de temps, par rapport au Java, grâce aux nombreuses librairies fournies par Microsoft.

Inconvénients

  • Solution la plus chère, à tous les niveaux : licences, ressources.
  • Ce choix est très structurant, et le choix Microsoft a tendance à « se répandre » : on prend .NET, puis SqlServer, puis IIS, puis Windows Server, puis… On fini rapidement par avoir l’ensemble des logiciels Microsoft, et on revient sur le premier point : attention à la facture !

Au final

Pas simple, pas de réponse universelle.

Autre point important : un projet a une durée de vie limitée, une période d’amortissement. Un site qui vit 3 à 5 ans, c’est bien. Aller au delà n’est pas forcément très raisonnable.

encore un autre point : le choix n’est pas forcément unique : on peut faire le front en PHP, le back en Java, … Avec les Web Services, les différents langages savent dialoguer. Mais : c’est des développements complémentaires et il faut dans ce cas avoir les deux compétences.

N’hésitez pas à commenter ce billet : j’ai essayé d’être synthétique, mais j’ai sans doute oublié des points !