Quoi de neuf sur Microsoft?

 

Il est primordial de se tenir informé des évolutions de son environnement de développement et de faire ce qu’on appelle communément de la veille techno. En ce qui me concerne, j’interviens sur une mission en tant développeur C# et je m’informe continuellement .

Découvrez ainsi mon retour sur les dernières versions Microsoft .NET 4.7 et Visual Studio 2017.

picto microsoft

1- .NET 4.7

Microsoft .NET Framework 4.7 est une mise à jour sur place hautement compatible des précédents framework .NET.

ll ajoute principalement des fonctionnalités sur le transfert de données, la communication réseau et le développement d’interfaces utilisateurs

  • Pour le transfert de données, c’est en particulier la classe DataContractJsonSerializer et la sérialisation WCF qui ont été améliorées;
  • Pour la communication réseau, il y a maintenant le possibilité de paramétrer les protocoles TLS par défaut alors qu’auparavant, il était nécessaire de coder;
  • Pour les technologies liées aux interfaces utilisateurs, on peut noter des fonctionnalités supplémentaires dans ASP.NET, WINFORM, WPF. Par exemple, la gestion de la mémoire pour ASP.NET, que ce soit au niveau du cache ou des ressources disponibles. Pour WINFORM ou WPF, il y a la gestion de la haute résolution (meilleur rendu graphique sur les moniteurs haute résolution), ou la gestion du tactile et du stylet (pour les moniteurs tels que la surface pro de Microsoft).

2 – Visual Studio

Visual Studio est une suite de logiciels conçue par Microsoft. Plus précisément, il s’agit d’un ensemble complet d’outils de développement permettant de générer des applications web ASP.NET, des services web XML, des applications bureautiques et des applications mobiles.

Visual Basic, Visual C++, Visual C# utilisent tous le même environnement de développement intégré (dit IDE), qui leur permet de partager des outils et facilite la création de solutions faisant appel à plusieurs langages.

Par ailleurs, ces langages permettent de mieux tirer parti des fonctionnalités du Framework .NET.

La dernière version est Visual Studio 2017. Voici les principales évolutions recensées sur cette version :

  • L’IDE est plus rapide plus réactif et est moins gourmand en consommation mémoire. Il contient bon nombre d’outils permettant d’être plus productif. On peut noter par exemple, la notification des tests unitaires faite en temps réel (pas uniquement pour mstest mais aussi Nunit et Xunit). Il en est de même pour la validation de dependance d’architecture. Cela risque de faire de l’ombre sur des outils comme Ncrunch;
  • Les tâches sont simplifiées : plus besoin de gérer les branches GIT via une extension comme gitextensions, visual studio l’intègre. Il est maintenant possible de configurer notre environnement de développement et le retrouver sur le poste que l’on souhaite en utilisant la gestion des extensions itinérantes;
  • Des raccourcis ont été ajoutés pour naviguer plus facilement dans une solution (on retrouvera des raccourcis similaires à ceux proposes par Resharper ou Productivity power tool);
  • Le développement d’application mobile: il est désormais possible d’innover et d’obtenir des résultats rapidement grâce à Xamarin, qui regroupe les exigences des différentes plateformes mobiles en une seule base de code ;
  • Il y a également beaucoup de nouveautés sur le debogage, notamment la gestion améliorée des erreurs.

N’hésitez pas à tester ces nouveautés et nous faire part de votre retour d’expérience !

facebooktwittergoogle_plusmail

Introduction à la Data Science

Eric Dupuis

On en entend parler de plus en plus de nos jours, des termes comme « big data » ou « machine learning » commencent même à être connus du grand public. Si la problématique est présente chez les grands du web comme facebook ou google depuis assez longtemps, l’utilisation de toutes ces techniques commence à se démocratiser. La république en marche aurait même utilisé certaines de ces techniques afin de mieux cibler son électorat pour faire du porte à porte lors des dernières élections par exemple. Mais qu’est-ce exactement que la data science et quel(s) domaine(s) recouvre-t-elle ?

 

1-    La Data Science : un domaine vaste

On retrouve un grand nombre de notions qui font partie, de près ou de loin, de la Data Science.

data science 2

A première vue, cela peut sembler un peu compliqué. Essayons d’y voir plus clair en définissant plus précisément 2 de ses expressions emblématiques.

 

2-    Big Data ou Data Science ? Kesako ?

Le « big data » désigne l’ensemble des techniques permettant l’exploitation et l’utilisation (analyse, tri, accès…) de très gros volumes de données. Ce domaine, très vaste, passe du stockage des données lui-même (avec des technos noSQL comme cassandra ou mongoDB), aux plateformes de traitements permettant une puissance de calcul suffisante pour traiter de tels volumes notamment en parallélisant les calculs (hadoop, mapReduce), des techniques d’analyse et de tri (statistiques, réseaux de neurones…).

La data science, désigne l’ensemble des techniques qui permettent d’analyser et de trier les données. Elle mélange modélisation mathématique et statistique ainsi qu’informatique. La data science s’applique donc aux données en général, pas spécifiquement au big data et c’est elle qui va nous intéresser principalement dans ce billet.

Si la majeure partie des techniques de data science existent depuis une trentaine d’années, ce n’est que récemment que nombre d’entre elles ont commencé à porter leurs fruits. Essentiellement grâce au big data. En effet, de nombreux modèles complexes nécessitent une grande quantité de données (et la puissance de calcul qui va avec) afin de révéler leur potentiel.

 

3-    Une approche avant tout mathématique

De façon très basique, la data science consiste à modéliser le comportement de données afin de prédire ou de trier ces données. Selon que le modèle choisi sera plus ou moins bien adapté aux données, on obtiendra des résultats plus ou moins intéressants.

Le domaine étant assez vaste, on va ici se limiter à l’étude de l’apprentissage automatique (machine learning).

Avant d’aller plus loin, il est nécessaire de préciser un peu ce que l’on entend par donnée. De manière générale, une donnée est une information qui concerne la réalité. Pour simplifier les choses on regroupe en général ces données autour d’un objet d’étude (par exemple un individu) et on rassemble alors ces données dans un tableau avec des colonnes décrivant l’objet de l’étude (par exemple si on s’intéresse aux individus, on pourra avoir des colonnes telles que nom, prénom, age, sexe, taille, poids, couleur des yeux, des cheveux…) et des lignes chacune décrivant un cas différent de l’étude.

En science des données, on distinguera essentiellement 2 types de données : les données discrètes (au sens statistique du terme) qui ont un nombre fini (raisonnable) de valeurs possibles, et les données continues qui peuvent prendre un nombre infini de valeurs différentes (ou très grand).

A suivre….

Dans le prochain article, nous rentrerons encore plus dans le détail de la Data Science et je vous exposerai ainsi les modèles et prédictions liés.

 

facebooktwittergoogle_plusmail

Soirée d’inauguration Ossia Conseil

Laura NATAF

La famille Ossia Conseil s’agrandit et on peut toujours compter sur la présence de nos Ossians pour nous accompagner dans cette magnifique aventure !

Merci d’être venus si nombreux à cette belle soirée d’inauguration.

On vous avait promis des photos… en voici quelques-unes!

20614559_10159081078875321_1612177075_n

20031535_320040838421056_8368804252169023481_n

20107795_10158963726210321_949975346_o

 

facebooktwittergoogle_plusmail

Les fonds FEILT, une variante des FIA

Fatimata

L’industrie de la gestion collective s’est enrichie de l’application du règlement ELTIF (European long term investment fund) ou FEILT (fonds européen d’investissement à long terme).
Il y avait les fonds UCIT IV, relevant de la directive européenne Undertaking for the collective investment in transferable securities, et les FIA (fonds d’investissement alternatifs), relevant de la directive Alternative Investment Fund Managers. L’appellation OPC (organisme de placement collectif) désigne les OPCVM (OPC en valeurs mobilières) et les FIA, dont les FEILT sont désormais une variante. Ces fonds ont pour objectif d’apporter des financements de longue durée à des projets d’infrastructure (actifs physiques), à des sociétés non cotées ou à des PME cotées qui émettent des instruments de capitaux propres ou de dette. Compte tenu de l’importance des financements à long terme pour la croissance dans l’Union européenne, le règlement ELTIF vise à acheminer l’épargne vers des investissements dans l’économie réelle.

Les fonds européens d’investissement de long terme ont été introduits par le règlement européen qui est entré en application le 9 décembre 2015. L’AMF vient de délivrer les deux premiers agréments ELTIF à deux fonds ayant le statut de sociétés de libre partenariat.

Désormais il est possible d’investir dans un fond FEILT en France et ainsi profiter de ce label mais ce uniquement pour les investisseurs professionnels, et au travers de la structure juridique SLP (‘‘Société de Libre Partenariat’’), que l’AMF commence par ailleurs à agréer régulièrement.
Quels sont les apport de ce nouveau type de fonds?

Les FEILT fixent un cadre juridique permettant d’attirer l’épargne et de transférer des capitaux importants vers des secteurs nécessitant des investissements à long terme. Ces fonds se veulent être un financement alternatif ou complémentaire au crédit bancaire qui s’est rarifié suite à la crise économique.
D’une part, le cadre juridique de ce nouveau véhicule a pour but de générer des revenus réguliers pour les organismes de gestion de retraite, les fonds de pension, les entreprises d’assurance, les fondations et plus généralement les investisseurs recherchant des rendements long terme. D’autre part, il a vocation à offrir à ces investisseurs professionnels l’opportunité d’apporter des financements à des projets d’infrastructure, à des PME non cotées et à des PME cotées rencontrant des difficultés pour se financer sur le marché.
Avec la Directive AIFM qui limite la commercialisation des FIA aux investisseurs professionnels, ce Règlement comporte un atout majeur pour les gestionnaires AIFM car il leur permet de commercialiser leurs FIA à des investisseurs de détail dans toute l’Union européenne. La principale innovation de ce Règlement est la création d’un « Passeport retail de FIA ».

Nous attendons donc avec impatience la déclinaison du concept ELTIF sur les autres places financières européennes, en particulier au Luxembourg et en Irlande, qui avaient modifié très vite leur cadre réglementaire pour accueillir les ELTIF, et à Londres, où la FCA – Financial Conduct Authority – planche sur les ELTIF à destination des investisseurs particuliers.

facebooktwittergoogle_plusmail

Introduction à Ansible

jacques

Tout développeur qu’il soit, a pu, un jour, rencontrer des tâches d’administration système, allant de la simple configuration d’un outil ou d’un serveur jusqu’au déploiement de tout en environnement pour les plus veinards.

Lorsque la tâche devient répétitive et rébarbative, on a tendance à se reposer sur des méthodes automatisées tels que des scripts concoctés par le plus grand chef, à savoir vous.

Ces méthodes peuvent convenir pour des actions simples et rapides mais lorsque l’on doit monter  tout un système sur un ou plusieurs environnements, là cela peut devenir douloureux.

C’est dans ce contexte que l’on a pu voir émerger des Outils de Gestion de Configuration (ou Configuration Management Tool) ces dernières années afin de faciliter l’automatisation de procédures d’exploitation usante.

L’un de ces outils que je souhaiterais vous présenter issu de cette philosophie se nomme Ansible.

Qu’est-ce que ANSIBLE ?

Ansible est un logiciel open-source (Licence sous GNU GPL), écrit en Python, qui offre la possibilité de déployer des outils, d’exécuter des tâches, de gérer la configuration d’outils sur vos environnements préférés à distance.

 

Mais que permet de faire ANSIBLE ?

Comme la plupart des Outils de Gestion de Configuration, il nous facilite la vie en réalisant à distance des traitements comme :

  • La configuration d’environnement ou d’outils
  • Les montées de versions de produit installé en environnement
  • L’installation de nouveaux outils
  • La remontée de tout un environnement (ce qui combine les trois points précédents)
  • et le plus important, le Café (pour peu que l’on ait une cafetière connectée)

Mise en place

Nos amis issus du monde Microsoft, pourrait être déçus car Ansible ne permet pas d’être installé sur leur précieux environnement Windows.

Au delà de ça, le produit ne nécessite quasiment rien. Une installation sur un serveur hôte suffit.

Seul pré-requis pour l’atout de ce produit, vos environnements distants doivent être accessibles par le protocole SSH ce qui suppose l’installation d’un système d’exploitation en amont.

Sachez toutefois que même si Ansible n’est pas déployable sur un Windows hôte, il permet néanmoins leur administration sur des serveurs distants.

 

 

Comment ça marche ?

Une fois l’installation réalisée sur le serveur hôte, tout le travail à réaliser est sur l’ordonnancement des tâches à effectuer.

Pour une telle entreprise, Ansible nous offre la possibilité d’écrire des “playbooks”, une arborescence comprenant :

  • Des scripts, décrivant nos tâches à réaliser, écrit en YAML.

Exemple de playbook pour installer Java :

 

  • Des templates, à transmettre et comprenant la configuration qui sera pré-rempli pour vos outils préférés, écrit en JINJA2.

Exemple de fichier template en JINJA2 : Fichier de description des utilisateurs à une application Tomcat.

 

Pour nous aider à écrire nos scripts, Ansible nous offre pas moins de 450 modules différents et une communauté active.

De plus, afin de voir des exemples de playbooks, Ansible  nous en fournit également un certain nombre sur GitHub.

Ansible Front-End

Ansible est un produit libre, mais tel quel, il n’est exploitable que par son mode console ce qui n’est pas très User-Friendly.

Mais, Ansible, nous propose son IHM Ansible Tower qui pourra permettre d’auditer, configurer et gérer vos déploiements mais malheureusement pour les petites bourses, il est payant.

Ansible_Tower_blog

 

Pas de panique, il existe des solutions alternatives. En effet, une de ces solutions est de pouvoir utiliser Foreman comme front avec le plugin de connexion Ansible.

La procédure d’installation s’effectue de la manière suivante :

  • Installer Foreman sur le même serveur hôte qu’Ansible
  • Installer le plugin Ansible pour Foreman
  • Installer une fonction python de callback qui fournira à Ansible un certain nombre d’information

Foreman_Ansible

Seul cheveux dans la soupe, Foreman est installé avec Puppet par défaut (Puppet étant un des produits alternatifs d’Ansible).

A moins de connaître la méthode d’installation depuis les sources de Foreman sans Puppet, le moyen le plus simple d’avoir une installation finale sans Puppet est de permettre l’installation de Foreman par la voie standard avant de retirer tous les paquets liés à Puppet.

 

facebooktwittergoogle_plusmail

Londres nous voilà !

Emmanuelle

Chose promise, chose due…

 

Laurent et Vivien ont fini leur formation et nous ont ramené quelques photos.

Merci à eux !

 

20160913_192728

 

 

 

 

20160913_174608

 

 

 

 

20160913_091613

facebooktwittergoogle_plusmail

Les 10 ans d’Ossia Conseil

Emmanuelle

 

 

Nous avons soufflé nos 10 bougies ! Quelques photos souvenirs de notre anniversaire.

 

thumb_DSC06391_1024

thumb_DSC06401_1024 thumb_DSC06410_1024

thumb_DSC06665_1024

 

 

facebooktwittergoogle_plusmail

La ruée vers l’Inde

Fatimata

Selon une enquête récente, l’Inde est aujourd’hui la destination de choix pour les entreprises souhaitant externaliser une partie de leur production. De fait, Les entreprises françaises, confient de plus en plus le développement de leurs logiciels aux Indiens. Le “modèle indien” gagne ainsi de plus en plus les SSII françaises.
Pourquoi le “modèle indien” séduit-il autant ? Est-il réellement à la hauteur des attentes? Rêve ou mirage indien ?

Les entreprises ont recours à l’externalisation pour réduire leurs coûts de production. Le défi reste néanmoins à réduire ces coûts tout en conservant une qualité de prestations de services assez haute. C’est là qu’intervient l’Inde. En effet, ce pays constitue aujourd’hui un eldorado pour les ténors du secteur IT et les raisons sont simples. L’Inde propose :
– des infrastructures et des capacités technologiques en plein développement. La multiplication des business pôles, le développement de diverses applications tels que le e-commerce, la migration ou la maintenance des systèmes, le maintiennent des canaux de communication sans interruption avec les clients en offrant une bande passante à haut débit via la connectivité par satellite, câbles sous-marins et les réseaux de fibres optiques, en font une réelle technopole.
– une mine de matière grise. L’Inde est le plus grand réservoir de talents au monde dans les technologies IT. On compte 120 000 nouveaux diplômés en IT chaque année.
-une force de travail à faibles coûts. l’Inde propose un grande flexibilité en matière de coûts et cela lui donne un grand avantage face à l’Occident où la main d’œuvre coûte de plus en plus chère et oú le marché du travail reste figé et très règlementé. En comparaison, le taux horaire d’un développeur peut être négocié en dessous de 13,35 euros.

Tous ces avantages sont considérables et attirent les entreprises comme le miel attireraient les abeilles. Mais cela ne risque-t-il pas bientôt de tourner en la défaveur de ces entreprises voguant vers d’autres horizons ?

L’industrie de l’externalisation informatique indienne continue de connaître un taux de croissance énorme de 25-30% par an. Ainsi, si auparavant, l’offre était largement inférieur à la demande, les courbes ont désormais  tendance à s’équilibrer. Or qui dit équilibre entre l’offre et la demande, dit aussi équilibre des pouvoirs. Cet équilibre des pouvoirs a plusieurs conséquences négatives:

– un Turn over salariale important. En effet les indiens, conscients de leurs succès, trient désormais les entreprises dans lesquelles il souhaitent travailler et n’hésitent pas à s’en aller lorsqu’ils peuvent se revendre plus chers ailleurs. Ainsi leur fidélité à une entreprise  ne se situe en moyenne qu’entre 2 et 3 ans. Ce qui représente une perte non negligeable, lorsque l’on considère les budgets formation des projets d’offshoring.

– une main d’œuvre de plus en plus chère. En effet la force de négociation indienne ne fait que s’accroître. En 2004 le rapport entre le coût d’un développeur français et un développeur indien était de 1 à 3 aujourd’hui il n’est plus que de 1 à 2.

– une fiabilité difficilement vérifiable. Or C’est un point important lorsqu’il s’agit de services. Le défi des entreprises françaises est alors de mettre en place des plans d’audit et de certifications efficaces.

Ainsi il est primordial pour les SSII françaises de réfléchir à tous ces avantages et inconvénients de l’offshoring indien. Seul le temps confirmera la bienseance de ces investissements. Il serait néanmoins judicieux de considérer le fait que l’Inde est un pays en forte croissance et que plusieurs nouvelles SSII indiennes naissantes risquent de fortement les concurrencer.

facebooktwittergoogle_plusmail

IT Commando

Emmanuelle

Société de conseil IT créée en 2006, Ossia Conseil est spécialisée dans les métiers de la finance de marché, à la fois au niveau des systèmes d’information (MOE, MOA) et des opérations. La qualité de nos prestations passe par notre capacité à développer chez nos consultants une vision complète des métiers de la finance et de leurs interactions au sein d’une banque d’investissement.

 

Notre client, grande banque d’investissement internationale recherche des IT Commando, rattachés au périmètre Middle, Back et Trésorerie, avec des connaissances à la fois techniques (modélisation des processus métiers, test, support aux utilisateurs) et fonctionnelles (market data, dérivés actions, etc.). Ayant également des connaissances sur des outils tels que :

  • Bloomberg
  • Access
  • Oracle
  • Sybase
  • SQL server

 

Missions et tâches principales :

 

Au sein de l’équipe commando mutualisée, vous devrez prendre en charge les tâches suivantes :

  • Spécifier les besoins avec les utilisateurs
  • Développer des applications en VBA (Excel) et SQL
  • A noter de fortes interactions avec le business et l’IT
  • Réaliser les tests des nouvelles applications
  • Rédiger des documents utilisateurs (en anglais)
  • Livrer aux utilisateurs les développements validés
  • Assurer la maintenance corrective, évolutive et le support des applications existantes (spreadsheet Excel)

 

Profil recherché :

 

Issu(e) d’une formation d’ingénieur ou universitaire de niveau bac +5.

 

La maîtrise de la technologie Visual Basic est requise.

 

Vous avez un bon niveau d’anglais.

 

Nous recherchons une personne rigoureuse, méthodique et autonome pour mener à bien cette mission.

 

Vous souhaitez intégrer une équipe dynamique, à même de vous faire progresser, n’hésitez pas à nous adresser dès à présent votre candidature à l’adresse : drh@ossia-conseil.com

 

facebooktwittergoogle_plusmail

Petit aperçu de Java Fx

Anselme

Présentation

Au tout départ il y a eu AWT, qui fût la première bibliothèque  java pour concevoir des interfaces graphique. AWT a ensuite évolué en Swing qui est devenu la voie principale.

En digne successeur de Swing, JavaFX a été conçu pour réaliser des interfaces utilisateurs pouvant s’exécuter sur une large variété de support que ce soit ordinateur, appareil mobile, tv voire même console.

Cette librairie initialement créée en 2008 a beaucoup évolué depuis. Il y a peu cette bibliothèque était utilisable uniquement via un langage de script spécifique et il fallait la télécharger à part. Aujourd’hui Java Fx fait partie intégrante de java 8 et est full java.

Concepts de Base

En JavaFX toutes les applications doivent étendre la classe javafx.application.Application. Cette classe fournit le cycle de vie de l’application tel que le lancement (launch), le démarrage (start) ou encore l’arrêt de l’application (stop). Cela fourni un mécanisme pour les applications java de lancer une GUI JavaFX séparément de la méthode main.

Lors du lancement d’une application java faisant appel à du JavaFX, la méthode main doit appeler la méthode launch de la classe Application. Cette dernière appelle la méthode start que nous aurons préalablement redéfinie.

La redéfinition de la méthode start permet de s’assurer que la création des composants graphiques s’effectuera dans un seul thread. En effet, tous comme Swing l’utilisation de JavaFX est monothread et tous les appels de création ou de modification d’objet graphique doit se faire dans un seul thread, ici le JavaFX Application Thread.

Les éléments graphiques d’une gui JavaFX sont ordonnés dans une hiérarchie de conteneurs. Au plus haut niveau, il y a les Stages (javafx.stage.Stage) qui représentent les fenêtres. Dans ces Stages y sont disposés des Scenes (javafx.scene.Scene) qui contiennent des Nodes (javafx.scene.Node). Ces Nodes peuvent représenter des composants graphiques (tels que les labels, les boutons …) ou d’autres conteneurs (tel que des Panel avec leur stratégie de disposition de composants).

Hello World App

Comme dit précédemment, toutes les applications JavaFx doivent étendre la classe Application. La méthode start ainsi redéfinie créé et agence les composants graphiques.

Les lignes suivantes

créent un Node de type Button et y affecte du texte.

A l’aide de cette clouer, on ajoute au bouton un EventHandler qui appellera la méthode cliqueSurBouton() à chaque clique sur le bouton.

On crée un Node de type BorderPane et on lui ajoute dans la partie centrale le bouton précédemment créé.

Nous créons une Scene à laquelle nous passons en paramètre le Pan crée et les dimensions de la fenêtre. Et nous affectons au Stage, la fenêtre que nous venons de créer.

Nous avons créé les composants à afficher, nous pouvons donc affecter un titre et afficher la fenêtre avec les lignes suivantes :

Pour lancer notre application nous avons juste à lancer la méthode main comme pour tout programme en veillant bien appeler la méthode launch comme suit :

facebooktwittergoogle_plusmail