Les tweets de la semaine !
- After 6 years doing #Flex am I moving to #HTML5 http://t.co/Y5Cyz8Ct – un très intéressant et complet retour d'expérience. #
Objet Direct se lance dans l’édition avec la solution open-source de développement collaboratif Codendi.
L’acquisition de la solution Codendi signe des années de relations fructueuses entre Objet Direct et Xerox, leader de gestion des documents et du Business Process Outsourcing (BPO). Après avoir contribué, en collaboration avec Xerox à son développement, Objet Direct évalue en 2007 le produit comme répondant à ses différents besoins en matière de plate-forme collaborative : le spécialiste des technologies objet décide de l’utiliser pour la gestion de ses projets.
En 2009, Objet Direct et Xerox deviennent partenaire de Coclico (COnvergence de la Communauté Libre des Infrastructures Collaboratives Ouvertes), un projet national labellisé par les pôles de compétitivité System@tic en Ile-de-France et Minalogic en Rhône-Alpes ayant pour but de redonner une dynamique aux plates-formes collaboratives destinées au développement logiciel.
En 2011 avec la fin du projet Coclico, Xerox et Objet Direct s’entendent pour transférer l’activité Codendi car Xerox concentre son innovation dans les domaines liés à ses activités en Business Process Outsourcing.
C’est donc fort de son nouveau rôle d’éditeur qu’Objet Direct a lancé la version 4.4 de Codendi. Celle-ci présente de nouvelles fonctionnalités, dont certaines sont issues du projet Coclico.
L’année dernière, pendant mon année d’alternance, j’ai travaillé sur la plateforme Windows Phone 7. Je vais essayer de partager avec vous mon expérience sur cette plateforme mobile qui reste un peu méconnue du grand public, tout en essayant d’avoir un esprit critique sur le sujet.
Dès mon arrivée en septembre 2010, j ‘ai eu la chance de manipuler des terminaux qui n’étaient pas encore commercialisés (date officielle de sortie : le 21 octobre 2010). Voici les réactions immédiates qui me sont venues concernant le hardware. Côté design rien d’impressionnant, les téléphones sont assez sobres mais ce qui m’a surpris ce sont les performances : une rapidité d’exécution pouvant faire pâlir certains de ses concurrents et des écrans de très bonne qualité. La gamme des téléphones est assez homogène (caractéristiques techniques moyennes : processeur 1Ghz, 512MB de RAM, capacité entre 8 et 16Go, écran 800×480pixels, APN 5mégapixels avec Flash).
Au niveau de l’OS, le premier démarrage donne vite un brin de déception : on trouve un premier bureau avec les applications épinglées (grosses icônes carrées) et un autre avec « une grosse liste horizontale de toutes les applications », autant dire qu’il ne faut pas avoir peur de slider lorsqu’on a une grosse liste d’applications… On retrouve donc une interface Metro assez basique et on se rend vite compte que, mis à part la couleur des icônes et l’épinglage d’applications, rien n’est modifiable. En ce qui concerne les applications natives, on retrouve les classiques (« Téléphone», « Contacts », « Photos », « Musiques + Vidéos », « Internet Explorer 8 » et « Jeux » qui correspond au Xbox Live), la suite Microsoft Office Mobile et le moteur de recherche Bing accessible à tout moment (grâce à la touche recherche). Enfin, on a le Windows Phone MarketPlace, sur lequel, j’ai pu me rendre compte tout au long de l’année, qu’on retrouve petit à petit les grands classiques des autres markets (pour n’en citer aucun).
Maintenant, que le tour de l’utilisateur lambda est fait, passons à la partie un peu plus technique.
Le développement d’application WP7 repose sur une version de Silverlight « adaptée ». En plus du framework traditionnel, on trouvera toutes les APIS spécifiques aux SmartPhones : accéléromètre, géolocalisation, caméra, tâches : téléphoner, envoyer un message, lancer le marketplace, et d’autres encore. On trouve aussi les 2 modes de navigation propres aux applications WP7 que sont le panorama et le pivot ; dans le cadre de mon projet l’accent était mis sur l’utilisation du panorama pour garder l’authenticité de WP7 et ne pas essayer de copier la navigation par onglets des autres plateformes mobiles. Toutefois, on observe une certaine amputation au niveau des composants classiques qui composent Silverlight et celle-ci s’avère vite handicapante.
Qui dit Silverlight, dit pattern MVVM (Model View ViewModel)… Ces deux notions étaient pour moi totalement inconnues et mes premiers pas furent hésitants, mais une fois les grands principes compris, on devient très vite adepte du concept. Pour faire simple, et sans rentrer dans les détails voici un petit schéma qui explique le pattern:
MVVM est basé sur le principe de « Databinding » qui permet de synchroniser une propriété du ViewModel avec une propriété d’un composant graphique de la View (y compris les événements : click, changement de sélection,…). Cette technique devient très vite appréciable : code minimal, rafraichissement automatique dans les 2 sens entre la View et ViewModel.
De plus, du fait de sa faible dépendance entre les interfaces graphiques et le code métier, MVVM facilite les tests de code et la séparation des taches des développeurs et des designers. J’en profite pour faire un petit point sur les outils mis à disposition. Tout d’abord, on trouve l’incontournable IDE pour les technologies Microsoft, Visual Studio auquel est associé le Windows Phone Developer Tools (SDKs + Emulateur). Pour moi, l’environnement s’est avéré être très complet : parmi les choses appréciables, on trouve un petit éditeur d’interfaces graphiques, le déploiement sur l’émulateur ou sur un device, un débuggeur pas à pas (dans les 2 cas de déploiement). Il est possible d’effectuer tout le développement dans Visual Studio, toutefois, dans le cadre d’un projet où un designer a un rôle à part entière à jouer, il peut utiliser l’outil Microsoft Expression Blend pour créer les interfaces graphiques sans se soucier du code métier qui tournera derrière. Pour ma part, je pense que Blend est un « jouet de luxe » et qu’on peut rapidement s’en passer.
Voici un petite liste des concepts que j’ai pu utiliser et qu’il est judicieux d’évoquer :
Avec tout cela, on peut donc réaliser des applications avec des interfaces graphiques très riches sans produire beaucoup de code car le pattern MVVM très puissant quand on a compris les bonnes pratiques. J’ai pu aussi m’appuyer sur un MSDN très complet et plutôt bien présenté.
Pour moi, le principal aspect négatif est que le framework manque parfois de composants graphiques ou de propriétés dans les composants existants. Cela a entraîné que j’ai vite eu le besoin de créer des composants « custom ». Un des autres faits est que la plateforme manque encore de contributeurs. J’ai été confronté à quelques problèmes techniques qui n’ont pas trouvé de réponse sur les forums appropriés. Enfin, j’ai pu constater qu’on obtenait vite de mauvaises performances si l’application est mal architecturée ou si on ne se soucie pas de décharger un maximum le thread principal.
Après une expérience de 3 mois sur un projet WPF et un peu de recul, le MVVM que j’ai pratiqué sur WP7 n’était pas optimal (trop de code behind). Il s’avère que, à l’heure actuelle, le framework Silverlight pour WP7 n’est pas complet pour pratiquer un bon MVVM et que si l’on souhaite mettre en place une vraie architecture MVVM, il faut utiliser l’outil MVVM Light Toolkit et complexifier un peu son code.
En conclusion, et pour donner un avis tout à fait personnel, le développement d’applications sur Windows Phone 7 s’appuie sur de bonnes bases (Silverlight pour des interfaces interactives riches, MVVM pattern, environnement de développement complet et pratique), mais laisse rapidement transparaitre une grosse lacune : le framework WP7 n’est pas assez riche par rapport à ces aînés (Silverlight et .NET). Beaucoup de personnes pourront vite être repoussé par l’étiquette Microsoft, mais pour moi, le développement d’applications sur WP7 est aussi intéressant que le développement sous Android (pour avoir pratiquer les 2). Microsoft doit toutefois, selon moi, enrichir son framework et l’interface de son OS car elle présente un excès de sobriété.

Unique session à Paris les 17 et 18 janvier 2012 avec Objet Direct !
Jurgen Appelo est entrepreneur innovant, manager agile expert, conférencier internationalement reconnu, formateur aguerri, développeur émérite, écrivain de renom et néerlandais.
Depuis 2008, Jurgen publie le très renommé www.noop.nl, où il traite de management du développement, de génie logiciel, d’amélioration du business, de développement personnel et de théorie de la complexité.
Jurgen a acquis une grande expérience dans la gestion d’équipes d’une centaine de développeurs, de responsables du développement, de chefs de projet, de consultants, de responsables qualité, de responsables de services et de kangourous, qu’il a embauchés accidentellement.
FORMATION MANAGEMENT 3.0
Le Management Agile est un élément souvent négligé de l’Agilité. Il y a beaucoup d’informations disponibles pour les développeurs, les testeurs et les chefs de projet agiles, mais très peu pour les responsables développement et les managers. Pourtant, lorsque les organisations adoptent l’Agilité, il n’y a pas que les développeurs, les testeurs et les chefs de projet qui ont besoin d’apprendre de nouvelles pratiques. Les responsables du développement et les managers doivent aussi apprendre une nouvelle façon de diriger et gérer les organisations agiles.
Ce cours est destiné aux leaders/managers qui veulent devenir Agiles, et aux personnes qui cherchent à devenir de grands chefs d’équipe ou managers hiérarchiques (il n’est pas nécessaire d’avoir une expérience pratique des méthodes agiles, même si une certaine familiarité avec les principes et les pratiques agiles est utile).
Audience : chefs d’équipe, responsables du développement, coachs agiles, scrum masters, chefs de projet, product owners, développeurs et testeurs, et managers de haut niveau.
PROGRAMME :
Chaque item est accompagné de jeux et exercices pratiques
Informations pratiques :
Programme complet et inscription sur www.objetdirect.com
Derniers commentaires