Influence de la communauté

Il existe chez Microsoft un service qui s’appelle « UserVoice » où la communauté expose des suggestions d’évolutions sur les produits et les logiciels.

C’est pas mal, on a la possibilité d’influencer par des votes et des commentaires certains points vers lesquels les équipes de développement peuvent s’orienter.
Le suivi du hit-parade des demandes, des retours des responsables de projet est assez dynamique.
Bref, il y a une idée que j’ai appuyé il y a quelque temps qui sera disponible dans la prochaine version de POWERBI …

Rien de nouveau dans le concept, il s’agit juste d’une simple « boite à idées » mais elle est numérique et mondiale !

Ecrans multiples ou écran grande taille

J’ai tout un panel d’écrans disponibles qui me permettent de gérer des configurations d’affichage différentes selon mes lieux de travail (bureau, maison…) et le type de travail à effectuer. Je suis resté très longtemps sur des écrans multiples (1×27″ + 1×24′) avant de revenir sur une configuration à écran unique en 32′ avec le portable en appoint. Depuis quelques semaines, j’ai basculé sur un moniteur ACER XR382CQK en 38′ à mon bureau.

J’ai eu un peu de mal au début à trouver mes marques avec une résolution de 3840 x 1600 pixels sur un ratio de 21/9. Pas de soucis pour la vidéo ou les jeux mais plutôt déstabilisant en mode bureautique ou développement car les fenêtres sont bien étirées.

Ainsi, j’ai testé des utilitaires WinSplit (lien) et surtout Ultraview Desktop Manager (lien) qui permettent de ranger facilement les fenêtres dans des grilles préprogrammées avec une efficacité sans nom.
Au final, l’utilisation d’un écran grand taille unique est vraiment plus confortable avec une colorimétrie unique et l’affranchissement des bordures !

Retour d’expérience AZURE

J’ai développé une application de suivi d’affaires pour un bureau d’étude en essayant au maximum d’utiliser les possibilités du cloud Azure. Il s’agit d’un programme qui est utilisé depuis plusieurs sites (Cahors, Figeac, Bordeaux…) en mode « Winform » classique avec un partie front office Web.

Les principaux services utilisés sont :

  • Une base de données SQL Azure Database
  • Un « service bus » pour gérer le système de notifications
  • Un « service application » pour héberger l’application web
  • Un espace de stockage pour les fichiers blob

Administration du service

Les possibilités de configuration sont multiples et variées entre le portail internet, les plugins Visual Studio, les commandes Powershell ou même l’utilisation d’outils tiers…

Cela fait trois ans que l’application est en production et force est de constater que les modalités de configuration ont largement bougés dans ce laps de temps. Le point d’entrée principal, le portail Azure a basculé d’une version initiale plutôt agréable en un nouveau site plus complet mais moins ergonomique. L’intégration des services dans Visual Studio s’est nettement améliorée et on dispose désormais de capacités d’actions nombreuses directement dans l’IDE. De même, la gestion de bases SQL directement dans SSMS est un plus appréciable.

Dans certains cas, j’utilise des utilitaires annexes (CloudBerry, message bus tools…) pour bénéficier de fonctionnalités améliorées sur certains services particuliers. Une bonne interface graphique est parfois utile pour faciliter certains traitements.

Donc, ça évolue, ça avance, on a largement de quoi perdre ses repères tout en gagnant à chaque fois des fonctions nouvelles.

clip_image002

clip_image004

Performances / Disponibilité / Pérennité

L’avantage de la mise en place de cet outil est de pouvoir tester et comparer dans un cadre réel les performances de l’application. Ainsi, j’ai la possibilité de jauger au fil des mois de l’évolution des performances de la base de données avec une montée en charge régulière. Je peux compter sur un feedback permanent des utilisateurs sur la rapidité des requêtes à l’écran, ils sont mes prochains voisins de bureaux !

Au final, les temps de réponse sont vraiment homogènes et satisfaisants. Des optimisations sont possibles de mon côté pour améliorer encore certaines requêtes mais les différences avec une base local sont faibles.

De même, le taux de disponibilité SLA est plus que satisfaisant avec de très rares incidents constatés. Bref, c’est du solide pour le moment.

clip_image006

clip_image008

Un autre avantage de la solution Azure est la capacité de pouvoir basculer assez facilement d’un mode hébergé / on premise ou mixte. Hors de question pour ma part d’exposer un programme métier à une dépendance complète à un service d’un tiers externe sans avoir de possibilité de changement de fournisseur ou de réintégration des ressources.

clip_image010

Cela demande des légères subtilités au niveau du développement pour permettre de basculer à tout moment. Ceci est vrai

Facturation

Un autre point primordial pour moi concerne le suivi du coût d’utilisation du service avec la prise de connaissance de la consommation mensuelle avec le montant facturé associé. Il n’est jamais facile d’estimer le budget à préparer à la lecture des grilles tarifaires. Pour simplifier, les unités de facturation sont en heures d’utilisation et surtout, dans le cas de la base SQL, en utilisation de la bande passante. De même, les envois fréquents de mails d’information par Microsoft sur l’évolution des tarifs sont déstabilisants car il n’est pas facile de jauger leurs impacts en terme de hausse ou de baisses potentielles?

clip_image012

clip_image013

Au final, on a souvent des surprises après le premier mois d’usage des services quant au montant facturé. C’est plutôt assez cher au final quand on reste sur des usages réguliers. Le gros avantage est tout de même de bénéficier, si besoin, de possibilités d’ajustements pour lisser les coûts. Il suffit de bien analyser les postes les plus coûteux et d’appliquer des stratégies pour diminuer les frais. On trouve toujours des solutions quand un aspect pécuniaire rentre en compte.

Grosso-modo, les montants sont assez réguliers au fil des mois.

Pour finir, la gestion des abonnements et des factures n’est pas super friendly même si elle s’améliore avec le temps. C’est surtout vrai quand on gère des comptes multiples.

Stagiaires et recrutement

D’habitude, je ne réponds pas aux sollicitations de demandes de stage pour tout un tas de raisons parfaitement valables (c’est moi qui décide, d’abord !). Pourtant, cette fois-ci, j’ai pris en considération celle de Romain malgré un profil pas folichon de prime abord car il est dans une démarche de reconversion après une formation initiale en… pâtisserie. Néanmoins, il a une qualité rare : Romain habite sur Cahors et je suis bien placé pour savoir que les potentiels en informatique sont restreints dans le coin.

J’ai décidé donc de le recevoir avant de le prendre finalement sous ma coupe pendant quelques semaines. Il m’a fallu un peu de temps pour préparer sa venue avec un projet de travail pour son premier cycle de 3 semaines. J’ai décidé de le faire bosser sur une application Android couplée à des services Azure avec tout un cheminement progressif à ajuster en fonction de son rythme d’avancement. J’ai choisi un domaine que je ne maîtrise pas trop afin de juger ses capacités en autonomie presque complète.

Le bilan de cette première partie étant entièrement satisfaisant, j’ai décidé de changer mon fusil d’épaule pour la deuxième section du stage en le faisant intervenir au contraire sur un projet C# déjà en cours pour être à même de juger plus en profondeur la qualité de son travail tout en lui  apportant des modestes conseils si nécessaire.

Une fois de plus, Romain a montré des capacités indéniables ainsi que des dispositions humaines très appréciables (en plus, en tant qu’ancien pâtissier, ses gâteaux sont tout bonnement excellent).

Bref, cette expérience m’a incité à réfléchir sérieusement à la possibilité de son embauche, chose absolument inenvisageable quelques mois auparavant. Ainsi, j’ai commencé à m’intéresser aux modalités de mise en place d’un contrat en alternance avant d’entreprendre les démarches effectives mi-juillet.

Je pensais, à la vue des éléments complets fournis par XXXX, que l’affaire serait assez simples à mener. Et pourtant, dès le début j’ai connu des difficultés assez fortes rien juste pour réussir à monter un dossier de formation auprès de mon organisme collecteur agréé. Pourtant, j’ai fait appel à des spécialistes des OPCA (merci Gaëlle), à un chargé de mission XXXX, à la Dirrecte (pour des questions précises), à mon expert-comptable, au portail de l’Alternance nouvellement mis en place (très pratique)…

L’embauche d’un premier salarié n’est pas une démarche facile avec un certain nombre de formalités nouvelles à comprendre et à lancer. Le fait que ce salarié soit en alternance ne facilite pas les choses car Pôle Emploi n’intervient absolument pas dans ce genre de contrat.

De guerre lasse, j’ai décidé de stopper les démarches et permettre à Romain de . Il travaille désormais pour un sous-traitant d’Airbus sur Toulouse qui profite à plein de ses capacités que j’avais entrevues au cours des semaines passées à son contact. Cette expérience est un peu amère mais j’ai tout de même appris pas mal de choses sur ma façon de percevoir le fonctionnement d’Acrodev (j’ai repris un autre stagiaire entretemps) et d’anticiper certains écueils administratifs.

Suivi des temps

Tmetric

Tmetric est un des logiciels que j’utilise au quotidien les plus pratiques qui soit.

Il existe pléthore de solutions pour répondre à la problématique de suivi du temps de travail et Tmetric propose en standard toute une série de fonctions classiques :

  • Affection des heures par dossiers / personnes / type (facturables…)
  • Reporting par période, projets…
  • API pour s’interfacer avec des outils tirs (Trello, Visual Studio…)

Desktop App

Pour moi, la vraie valeur ajoutée de ce soft réside dans son application desktop. Il s’agit d’un petit service qui scrute discrètement l’activité des processus du PC pour essayer d’analyser nos faits et gestes.
Ainsi, des messages apparaissent à l’écran pour nous demander des précisions du genre :
Je n’ai pas eu de frappe clavier pendant les 12 dernières minutes

  • Conserver le temps sur la tâche active (je n’ai pas d’interaction sur le clavier mais je travaille toujours sur le sujet par ailleurs
  • Basculer le temps sur un autre dossier (j’ai reçu un appel ou un mail d’un client)
  • Ne pas tenir de ce temps (j’étais en pause…).

image

Ou alors : vous venez de démarrer votre PC, souhaitez-vous démarrer une tâche et sur quel dossier ?
Autre exemple avec ce pop-up qui indique que le timer d’une tâche semble ne pas être stoppé (suspicion de dépassement ?).

image

Cela fait quelques mois que je l’utilise et je confirme que les alertes apparaissent de manière pertinente et, en cas d’ajustements à apporter, le site web simplissime est d’une efficacité redoutable.

L’exploitation de la saisie des temps offre un avantage évident dans mon activité de développeur : je suis capable de suivre mes heures par dossiers, par clients et par type (prestation,  hotline…) pour avoir un système d’aide à l’établissement de la facturation mensuelle bien utile.

Bien entendu, j’ai aussi une vision intéressante sur rapprocher les temps effectifs par rapport aux estimations initiales.

Segmentation d’une journée de travail

La représentation du découpage des temps par jour me montre de manière concrète mon organisation du temps de travail.
Il y a tout d’abord les journées classiques du genre « 8/12 h et 14/18h » sur un seul projet. C’est assez rare mais ça arrive.
Une journée classique :

image

 

En général, une journée standard est plutôt découpée en 3 séquences du matin, de l’après-midi et du soir avec un découpage fréquent lié à des appels ou des mails imprévus.
Une journée découpée :

image

Une autre journée découpée :

 

image

 

Il y a aussi des journées particulières, celles où il fait super beau par exemple ! Elles ont un gros « break » de 2 ou 3 heures en début d’après-midi, moment où je pars faire du vélo (ben oui, j’ai aussi un plan d’entrainement à respecter pour préparer la saison de compétitions de raids multisports).
Une journée avec des conditions idéales pour faire du sport :

image

 

Les journées du samedi ou du dimanche sont aussi particulières car je me retrouve souvent avec des temps enregistrés.

Temps de travail hebdomadaire cumulé

En général, je travaille entre 35 et 43 heures par semaine en temps spécifique dédié au développement. Je n’inclus pas dedans la gestion, la compta, la formation perso, les déplacements, les pauses (qu’il détecte pas trop mal) et tout le reste.
Le but du jeu étant d’être le plus efficace ou, pour faire un raccourci un peu direct, d’en faire le plus possible en y consacrant le moins de temps possible. Et rien de mieux qu’un utilitaire comme Tmetric pour avoir une vision précise des choses !

 

 

Edito Juin 2016 – Un an avec Pluralsight

Pluralsight est une plateforme d’e-learning qui propose plus de 5000 cours avec des facilités très utiles : parcours d’enseignement, mesure de niveau, fichiers d’exercices, certificats, site et application très intuitif… J’ai sélectionné Pluralsight parmi d’autres fournisseurs de service pour la qualité des intervenants (John Papa, Shaun Wildermuth, Scott Allen et bien d’autres) et ma capacité à bien comprendre leur accent en anglais qui est en général clair, posé et largement accessible à mon humble niveau pour être certain de bien tout comprendre sans trop d’effort linguistique.

Néanmoins, je ne pense pas que cet abonnement annuel est satisfait à mes attentes initiales. Je m’attendais vraiment à améliorer mes compétences de développeur en suivant des programmes qui sont prometteurs dans leur présentation mais qui ne débouchant pas forcément sur un résultat concret en terme d’aptitudes. Les vidéos sont vraiment didactiques, bien construites mais il n’est pas évident de reproduire in-situ les cas présentés. C’est assez frustrant de ne pas pouvoir profiter intégralement du code à l’écran pour jouer un peu avec.

Par contre, cette plateforme est vraiment utile pour découvrir ou appréhender des nouveaux concepts en regardant les intervenants monter des systèmes tout en donnant des conseils plutôt avisés. Ainsi, j’ai souvenir d’avoir suivi des cours sur « les évènements, les messages et les hubs » qui m’ont permis de bien comprendre les différentes possibilités. J’ai pu les mettre en pratique par ailleurs de manière très concrète… mais en utilisant d’autres supports d’apprentissages (MVA, documentation officielle, livres, blogs…), l’apport de Pluralsight a été minime à ce niveau.

C’est là que je m’aperçois que j’ai à tout prix besoin d’un support physique « papier » pour apprendre de manière efficace. On peut largement utiliser les sites de e-learning et même YouTube pour appréhender des techniques mais un bon livre de base (aux formats papier et numérique) est tout de même plus confortable.

C’est pour cette raison (présence d’un support) que je pense m’abonner à Mapt (by Packt Publishing) pour l’année à venir.

Edito mai 2016 – Oldies but goodies

Je viens de terminer une prestation qui a nécessité de mettre un système d’échanges de données avec un AS400 (ou iSerie). Pour les plus jeunes d’entre nous, il s’agit d’un système commercialisé par IBM dans les années 90 et qui a connu un petit succès dans les PME comme serveur d’applications de gestion plutôt réputé pour sa robustesse. Personnellement, j’ai travaillé comme développeur RPG sur cet environnement entre 1995 et 2003. Il m’arrive de temps à autre, même si c’est de manière très épisodique tout de même, d’avoir à intervenir sur des AS400 qui sont toujours en production dans quelques entreprises.
J’ai toujours un brin d’appréhension au moment de retrouver un nouvel AS400, les subtilités liées aux évolutions niveaux de versions de l’OS peuvent réserver des surprises mais j’arrive toujours à retrouver mes marques et mes repères. C’est alors toujours avec plaisir que je me replonge dans les commandes CLP, la richesse de DB2/UDB, le code RPG, les concepteurs DSPF ou PRTF !

D’ailleurs, je conserve précieusement avec moi mon guide RPG datant de . Il reprend en 22 pages l’intégralité des informations nécessaires pour survivre.

Sur le même postulat d’intervention fréquente sur des produits « démodés » mais toujours exploités car plutôt robustes, je bosse aussi sur un projet dans le secteur maritime basé sur du VB ASP 1.1 datant de 2003. L’application est toujours utilisée au quotidien par des dizaines de personnes. J’avais accompagné mon client pour redévelopper le programme sur des bases plus modernes mais le tour de table auprès de différentes SSII importantes s’était soldé par un échec. Les règles métier sont tellement spécifiques que les budgets proposés était vraiment trop démesurés pour aboutir au final à un résultat fonctionnel identique. Donc, je continue ma partie TMA sur la version d’origine.

Sites statiques avec Grav

Je consacre un peu de temps ce moment à utiliser le CMS « Grav » pour construire rapidement des sites CMS à la WordPress mais sans base de données associées.

Le principe de l’outil est pas mal, je vais tâcher de publier dans les meilleurs délais une première série de liens montrant les résultats obtenus.

Référence : https://getgrav.org/

Acrodev sponsorise Raid Nature 46

Je suis fier de pouvoir afficher le logo Acrodev sur les tenues de l’association Raid Nature 46 (dont je fais partie par ailleurs…).

La saison 2016 se profile avec des dates importantes pour nos équipes qui vont participer au Challenge National de la FNRMN, au Raid In France (RIF)…pas mal de grosses épreuves en perspective avec des déplacements dans des coins sympas (Vaucluse, Var, Alpes Maritimes, Isère, Pyrénées Orientales…)

 

Coding for kids

J’ai décidé d’occuper une après-midi pluvieuse avec les enfants en lançant une activité programmation. Cela tombe bien, le site « PluralSight » de formation propose un tutoriel adapté à ce genre de public.
Donc, j’ai collé Maxime (8 ans) et Julie (11 ans) chacun devant un Visual Studio 2012 pour suivre les différentes étapes du cours (cela fait bizarre).
La mise en place est un peu laborieuse avec l’installation de package NuGet sur laquelle il a fallu passer vite pour ne pas les décontenancer.
Et puis, on a commencé à programmer :

img001

Le système est pas mal, la progression bien menée et on en profite pour travailler l’anglais. Au bout d’une heure, ils ont commencé à modifier les paramètres dans tous les sens pour déplacer la tortue (but de l’exercice) selon des trajectoires les plus folles possibles. Désormais, ils me regardent d’un autre œil et ils comprennent mieux mon travail quotidien : « papa, il fait bouger des choses à l’écran ». J’espère que la série va être agrémentée de nouveaux ateliers, les enfants souhaitent poursuivre l’activité… et le temps ne semble pas s’améliorer dehors !

Here I am

Nokia a lancé aujourd’hui son nouveau système de navigation « HERE » avec un service de cartographie qui se pose en concurrent des offres déjà en place. J’ai commencé à l’utiliser rapidement pour essayer de voir les différences avec les concurrents. Tout d’abord, la recherche de ma position actuelle selon mon WIFI est assez précise. Par contre, la vue satellite montre une vision de la place devant la maison assez ancienne. En effet, l’espace entièrement piétonnier est remplacé par le vieux parking datant de quelques années maintenant.

Ensuite, j’ai décidé de visualiser la zone autour de mon bureau à la ZAE de Cahors Sud.
Alors voici ce que me propose HERE : un joli espace vierge de batiments.

Puis GEOPORTAIL fait mieux avec des terrassements supplémentaires.

BING est encore meilleur avec enfin le bâtiment, le parking…

Mais le top de la vue la plus récente est obtenu avec GOOGLE MAPS qui propose en plus nos voisins de VeloClic et de Raffy TP.

Outils de référence

Voici les outils que j’utilise quotidiennement pour m’accompagner dans mes travaux de développements.

Tout d’abord, je gère ma TODO LIST avec TRELLO qui me permet de suivre des plannings différents par projets ou par durée (roadmap globale, semaine, journalier).

C’est simple, convivial, rapide… l’application Windows 8 est pratique. Adieu les post-it.

Ensuite, j’utilise JIRA et CONFLUENCE pour avoir un suivi sérieux et plus précis sur les tâches, les versions, la documentation.

J’ai testé pas mal de solutions comme ONTIMENOW, GEMINI, TFS avant de revenir vers JIRA en mode ON DEMAND.

En parallèle j’utilise GITHUB FOR WINDOWS pour le suivi du code source. Encore un outil simple qui va directement à l’essentiel sur les taches de base. J’utilise bien entendu d’autres outils pour disposer à des fonctions avancées mais c’est assez rare.

Un dernier outil que j’utilise absolument tous les jours est ONENOTE dans lequel je consigne toutes les actions HORS projets ou mes informations de travail en mode draft. Indispensable de par ses fonctions d’organisation et de recherche.

Il ne s’agit pas forcément des derniers outils existants sur le marché, je passe malgré tout mal de temps à essayer d’analyser et de comprendre les nouveaux produits disponibles mais force est de constater que les décisions de changer d’application sont vraiment difficiles à prendre pour être certain de gagner en compétitivité sans céder à des effets de mode.

Yammer

Toujours dans ma phase de veille sur les outils en vigueur, j’ai commencé à utiliser YAMMER, un outil de réseau social d’entreprise qui a été racheté récemment par Microsoft.

L’ergonomie est vraiment sympa, le paramétrage aisé bien qu’il nécessite une phase d’analyse préalable non négligeable pour mettre en place des espaces, des groupes un peu poussés.

Par contre, si le mode web est convivial je n’ai pas installé la version desktop qui nécessite Flash. De même, j’ai encore du mal à percevoir la stratégie de Microsoft avec ce produit dans un écosystème déjà bien fourni avec Sharepoint, Lync voire même Office 365, Skype. Donc, il me tarde d’avoir une visibilité plus importante sur l’intégration par Microsoft de Yammer avec les prochaines versions.

Un autre point compliqué avec ce genre d’outil collaboratif est de réussir à faire adhérer les participants à une place de partage particulière. Il existe désormais tant de solutions, de possibilités qu’il devient très difficile de fédérer ses relations sur un système spécifique sous son contrôle. Ceci passe par une phase de paramétrage pointue, un gros travail régulier d’enrichissement pour dynamiser le réseau et le faire vivre avec aussi une bonne phase d’accompagnement des nouveaux participants pour les faire accepter les principes du système.

 

Win 8 Consumer Preview et Lenovo X200T

Je rédige cet article depuis le DevCamp Windows 8 de Toulouse où je suis le seul, parmi la trentaine de développeurs présents, à posséder un PC tactile avec mon Lenovo X200T.
Cela me permet de tester les qualités de l’interface en utilisation Métro sans la souris et de valider mes premières applications liées aux « labs » proposés.
Par contre, j’ai pas mal galéré pour activer le mode tactile sous Win8.

Je suis allé à la pêche aux informations sur le web où je me suis aperçu que je n’étais le même à avoir le soucis (ouf !). Malheureusement, aucune des solutions référencées n’a été concluantes. J’ai installé et ré-installé Win 8 de toutes les manières possibles et inimaginables :
– De Win 7 en upgrade en Win 8
– En complément Win 7 avec vhd Win 8
– Win 8 depuis une image ISO en réinstallation complète
– Avec Windows Update
– Avec assistants Lenovo
– Avec installation manuelles de drivers Lenovo

Bref, des dizaines d’essais qui n’ont jamais aboutis, jusqu’au moment où je suis allé rechercher directement le driver Wacom sur le site Catalog Windows Update (http://catalog.update.microsoft.com/v7/site/scopedview.aspx?updateid=75adcbfa-87e1-41cd-bee6-f92c0471c60a).

A partir de ce moment, Win8 a enfin activé la reconnaissance tactile (et le stylet) ! Cela m’a enfin offert la possibilité de tester l’interface Metro. Elle est assez déroutante de prime abord avec des difficultés pour interagir avec les fonctions associées au zones situées au bord de l’écran (fermer une appli, ouvrir la barre de « charm », naviguer dans les applis).
D’un autre côté, la fluidité est assez impressionnante quand on la compare (à matériel équivalent) avec Windows 7.

Metro style

Je suis tombé sur un article de Scott Hanselman  (lien) qui traite des premiers retours des utilisateurs sur la nouvelle interface de Visual Studio 2011 béta qui est considérée comme moche, triste, sombre si j’ai bien compris. 
L’auteur en profite alors pour reprendre des éléments de la charte graphique afin de les rapprocher d’autres logiciels comme iTunes, Lightroom ou Photoshop par exemple. Ces derniers utilisent aussi des icônes monochromes ou d’autres effets de style sur les textes mais il me semble personnellement que c’est de meilleur goût dans leur cas.
Je suis désolé, j’aime bien d’habitude le style minimaliste mais je trouve que la sauce ne prend pas avec l’interface Métro en général.
Par exemple, le gestionnaire de base SQL Azure est franchement surprenant d’un point de vue esthétique.
image
Les fonctions sont au top mais il faut aimer les nuances de couleur utilisées. 
image (suite…)