Les tweets de la semaine !

Categories: Divers Tags: ,

Les tweets de la semaine !

Categories: Divers Tags: ,

Les tweets de la semaine !

Categories: Divers Tags: ,

Les tweets de la semaine !

Categories: Divers Tags: ,

Objet Direct acquiert Codendi

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.

Pour en savoir plus :

Categories: Actualités, Outillage Tags: , ,

Bonne année 2012 !

Voeux Objet Direct 2012

Categories: Actualités Tags:

Développement d’applications sur Windows Phone 7

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 :

  • L’ IsolatedStorage est un espace de stockage de données propres à chaque application et qui est abstrait du reste de système de fichiers et facile d’utilisation.
  • L’application possède plusieurs points d’entrées (launched ou actived) et de sorties (closed et deactivated) dans lequel on peut faire des traitements différents selon que l’utilisateur ferme ou mette en background l’application. On trouve aussi  une méthode Application_UnhandledException qui permet d’effectuer des actions importantes (sauvegarde du contexte par exemple) avant que l’application se ferme dans le cas d’une exception non traitée (donc crash) et cela s’avère très utile.
  • Dans l’attente de la gestion du multitâches, le développeur doit gérer la sauvegarde du contexte de l’application lors de sa « mise en background » et le rétablissement de ce contexte lors de la réactivation de l’application. Ce procédé appelé le tomstoning est assez fastidieux puisqu’il faut sauvegarder unitairement toutes les données nécessaires, mais il est toutefois inévitable dès lors que l’application possède des données persistantes. Dans le cadre de mon projet, c’était un point essentiel à respecter et une grande partie des tests y était consacrée.

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é.

Nouvelles versions

  • Actuellement, on trouve la version de l’OS 7.5 « Mango » : Multitâches complet, IE9, copier-coller, … et la version 7.1 du SDK Windows Phone.
  • A venir, l’OS nom de code « Tango » (date inconnue) avec certainement un nouveau SDK.

Les liens utiles

Les tweets de la semaine !

  • Tester Windows Phone sur Android ou iOS ? Microsoft lance un émulateur HTML5 de son OS http://t.co/3WiOwLSE c'est osé mais bien vu ! #
Categories: Divers Tags: ,

EXCLUSIF ! FORMATION MANAGEMENT 3.0 PAR JURGEN APPELO


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

  • Vous apprendrez à connaître les différentes méthodes Agiles, les meilleures pratiques du moment, la contribution du manager et chef d’équipe dans les organisations agiles…
  • Vous apprendrez à connaître les diagrammes de boucles causales, ce qu’est la théorie de la complexité, la façon de penser en termes de systèmes, les Cygnes Noirs et les Jokers…
  • Vous apprendrez à connaître la différence entre la motivation extrinsèque vs intrinsèque, les techniques communes pour la compréhension de ce qui est important pour les personnes dans vos équipes…
  • Vous apprendrez à faire que l’auto-organisation fonctionne, comment distribuer le pouvoir dans une organisation, la façon de cultiver des relations de confiance, plusieurs techniques pour le contrôle distribué…
  • Vous apprendrez comment équilibrer gestion et direction, les défis du management par objectifs…
  • Vous apprendrez à connaître les niveaux de compétences et les niveaux de la discipline, comment mesurer le progrès dans un système complexe, l’effet de la sous-optimisation, différentes métriques utiles…
  • Vous apprendrez comment équilibrer la spécialisation et la généralisation, comment choisir entre les équipes fonctionnelles et transversales, comment appréhender les équipes comme des unités de valeur dans un réseau…
  • Vous apprendrez les quatre facettes de la gestion du changement, qui portent sur le système, les individus, les interactions, et les frontières du système…

Informations pratiques :

  • Dates : 17 & 18 janvier 2012 (2 jours)
  • Lieu : Paris
  • Prix : 2050 euros HT / participant
  • Cours et supports en anglais
  • Chaque participant recevra gratuitement le best-seller de Jurgen Appelo « Management 3.0: Leading Agile Developers, Developing Agile Leaders »

Programme complet et inscription sur www.objetdirect.com

Les tweets de la semaine !

Categories: Divers Tags: ,