Ou comment reporter à plus tard…

Par | Classé dans BRMS, Intermédiaire | Le 15/06/2011

Tags « »

0

Tel que l’analyse Neal Ford à travers son concept d’Emergent Design, plus un projet (informatique) avance, plus les connaissances sur celui-ci sont avancées, ce qui demande à reculer au maximum toute prise de décision concernant ce projet.

La connaissance acquise est essentiellement métier et ergonomique (pour autant que la technologie employée est maitrisée). Si pour les aspects ergonomiques, un prototypage graphique peut (ou devrait) être proposé, comment faire de même avec le code sous-jacent, le code représentant les connaissances métier ?

Un première approche se base sur un processus itératif, suivant un processus dit “agile”. Cela est toutefois rarement compatible avec des langages de développement “classiques”. En effet, il faut alors prendre très tôt des décisions majeures et structurantes. De plus les changements deviennent de plus en plus difficiles et coûteux. Il conviendrait donc de pouvoir poursuivre le plus tardivement possible la phase de conception, ce qui peut apparaître contradictoire avec cette approche “agile”. De plus, l’expérience montre que même les meilleures des conceptions ne peuvent prévenir de nécessités de correctifs en phase de réalisation.

L’idéal serait donc de pouvoir disposer d’un langage tout à la fois de spécification tout en étant exécutable pour pouvoir valider cette même spécification à travers des cas de test. Cela est rendu possible par des langages de type “règles métier”. En effet, ceux-ci permettent pour la plupart de construire des modèles objets (dits “BOM”) de façon souple, voire dynamique, tout en proposant (plus ou moins automatiquement suivant le Business Rule Management System utilisé) un langage de type DSL permettant d’exprimer et d’exécuter des règles métier s’appliquant sur ces objets.

À noter que les principaux BRMS proposant une couche d’interfaçage entre le code décrivant les règles et le framework sous-jascent (Java, .NET, xml, Cobol, etc.), il est tout à fait possible de ne faire le choix de ce(s) framework(s) (plusieurs pouvant cohabiter) que tardivement en fonction des contraintes finales de l’application à développer.

On s’aperçoit également que cette technologie permet de gérer beaucoup plus facilement les cas particuliers. En effet, ces “cas” sont en général caractérisables par un ensemble de contraintes, pouvant être soit directement exprimées au niveau des règles, soit être gérées par le ruleflow. De plus, le fait d’exprimer clairement le domaine métier au sein de règles fait ressortir beaucoup plus facilement ces cas “hors normes”.

Enfin, il est bien rare que la première mise en production d’une application soit la dernière pierre de l’édifice. Les phases de maintenance et de migrations sont primordiales dans la vie d’un logiciel. Des correctifs et évolutions sont donc à prévoir. Ici aussi, les points soulignés ci-dessus (changement de framework sous-jascent, traitement des cas particuliers, etc.) pourront être mis à profit. Avec de plus un avantage décisif par rapport aux langages informatiques traditionnels : le code des règles étant tout à la fois le code exécuté (et donc évoluant avec les mises à jour) et les spécifications de l’application, il y a alors garantie de non divergence entre ces deux aspects, ce qui bien qu’essentiel pour la maintenance est rarement le cas pour la plupart des applications informatiques.

En conclusion, l’usage d’une approche “règles métier” permet de changer radicalement le mode de développement d’applications informatiques, tout particulièrement en permettant de retarder les prises de décisions au moment où la connaissance du sujet est enfin suffisamment avancée, tout en facilitant les ajustements rendus nécessaires dans les phases ultérieures du projet.

In Fine Academy : Programmation parallèle avec GPU sur CUDA

Par | Classé dans Conférence, Débutant | Le 27/04/2011

Tags « »

0

Hier, s’est tenue au siège la deuxième présentation d’In Fine Academy portant sur la programmation parallèle avec GPU sur CUDA par Maxime Fromentin, consultant In Fine.

En attendant l’article de Maxime, plusieurs personnes nous ont réclamé son support de présentation, alors le voici :


Depuis quelques années, les processeurs graphiques (GPU) ont vu leur capacité considérablement augmenter. En plus du rendu graphique, ceux-ci sont désormais capables d’effectuer des opérations complexes avec notamment l’apparition de CUDA développé par Nvidia. Basée sur le parallélisme de masse, la technologie GPU voit son champ d’application s’étendre du domaine scientifique à la finance et ceci avec des performances très intéressantes comparées aux processeurs traditionnels.




Comprendre un pari sportif: exemple sur PSG-Lyon du 17 avril

Par | Classé dans Débutant, Finance | Le 15/04/2011

Tags « »

1

Depuis début 2010, la France a autorisé les sites de paris en ligne concernant les courses hippiques, les paris sportifs, et le poker. C’est au fonctionnement des paris sportifs que nous allons nous intéresser, et plus particulièrement à la manière dont ces sites se rémunèrent.

Fonctionnement du système de cote

Sur un événement sportif à venir, chaque issue possible se voit attribuer une cote par le site de paris en ligne en fonction de la probabilité estimée de cette issue.

Nous allons dans ce post développer l’exemple des cotations pour un match de football de Ligue 1 PSG-Lyon du dimanche 17 avril 2011 avec 3 issues possibles :

  • Victoire de PSG
  • Victoire de Lyon
  • Match nul entre les deux équipes

Sur un site de paris sportifs on trouvera le tableau suivant :

Indiquant le coefficient par lequel est multipliée notre mise en cas de bon pronostic.  Ainsi miser 1€ sur une victoire du PSG nous rapportera 2,25€ si PSG bat Lyon, et 0€ sinon.

Comment un site de paris en ligne effectue sa cotation ?

Bien entendu ces cotes ne sont pas attribuées au hasard, car de la bonne attribution de celles-ci dépendront les gains potentiels du site de paris. Ce dernier, au contraire du parieur, cherchera à gagner de l’argent quelque soit l’issue du match, tout en attirant les joueurs en proposant des cotes attractives.

Lire la suite…

Paris JUG : Improve your sex life with Git

Par | Classé dans Conférence | Le 14/04/2011

Tags « »

1

Paris JUG logo
Mardi soir se tenait une session consacrée entièrement à Git au Paris JUG qui a été sponsorisée par In Fine. Elle a rencontré un énorme succès, les places ont été prises d’assaut en moins de 4h. Néanmoins beaucoup de gens se sont fait recaler à l’entrée.

La polémique des inscriptions

Certains ont accusé JUG Events pour ce désastre au niveau des inscriptions. Quoi qu’il en soit, ce site semble de plus en plus inadapté au succès que rencontre le Paris JUG. Il y a quelques mois Nicolas Martignole avait indiqué que JUG Events était open source, et que toute contribution était la bienvenue pour améliorer le site (Google Code de JUG Events). Si vous avez quelques heures pour le faire, n’hésitez pas, toute la communauté des JUG vous en saura gré.

Quiz et Mac Book

In Fine, sponsor du JUG a voulu pour cette soirée créer une animation différente : des boîtiers ont été distribués à chaque participant afin de participer à un quiz portant sur Git et Java principalement, présenté par Antoine Ramponi. Le gagnant du quiz s’est vu remettre un Mac Book Air ! Il s’agit de Guillaume Darmont (@gdarmont) qui a fait un sans faute en répondant correctement aux 18 questions. Bravo à lui ! Les photos sont à la fin de l’article.

Sébastien Douche, l’unique speaker

Sebastien Douche

Sébastien Douche, en habitué, est venu présenté Git en 2 parties : la première théorique est la deuxième avec des cas plus pratiques. Contrairement à sa présentation de l’année dernière sur les DVCS en général, cette soirée est entièrement dédiée à Git.

Mais avant d’attaquer le vif du sujet, rappelons qui est Sébastien Douche. Il se présente comme une personne multi-casquettes. Il est directeur technique, responsable R&D, coach et release manager. Cette dernière a fait qu’il s’est intéressé aux DVCS en général, puisqu’il a également pratiqué Mercurial pendant 2 ans avant de passer à Git. Il a créé un blog sur Git (appelé gitfr) qui lui sert surtout de support pour ses présentations. On y trouvera également de nombreux articles intéressants, ainsi gitfr est devenue une ressource francophone de qualité sur Git.
Son espoir : que le gens travaillent ensemble de manière efficace.
Par ailleurs, il fait de l’agilité, du python, aime la bière.
A suivre sur twitter @sdouche

Lire la suite…

WPF & Silverlight : L’état de l’art au Microsoft TechDays 2011 (partie 2)

Par | Classé dans .NET, Avancé, Conférence, Intermédiaire | Le 05/04/2011

Tags « »

0

Accéder à la partie 1

Après une première partie qui s’est concentrée sur l’organisation d’un projet WPF/Silverlight, attaquons-nous à quelque chose de plus compliqué avec les techniques avancées…

Silverlight et WPF en entreprise : retours d’expérience, bonnes pratiques et techniques avancées par Luc Vo Van (Microsoft Services) et Thomas Lebrun (Access-IT)

Architecture type

WPF et Silverlight nous offrent la possibilité de développer des applications composites. Le pattern Models-Views-ViewModels dit MVVM est favorisé.

Lire la suite…

WPF & Silverlight : L’état de l’art au Microsoft TechDays 2011 (partie 1)

Par | Classé dans .NET, Conférence, Débutant | Le 11/03/2011

Tags « »

2

A chaque événement TechDays, c’est l’effervescence au sein de la communauté Microsoft. Pour commencer cette nouvelle année, c’est le Cloud qui était à l’honneur. Mais nous allons ici évoquer un sujet un peu moins brumeux et qui, nous, les développeurs .NET, nous concerne plus particulièrement : WPF & Silverlight.

A travers une série d’articles, nous ferons le point sur les principales conférences autour de WPF & Silverlight…

Changer la vie de vos utilisateurs en intégrant du design et de l’ergonomie par Olivier Courtois (Bewise)

De nos jours, nous avons affaire à des “superutilisateurs” qui ont des attentes surdéveloppées. Bien plus que par le passé, les applications doivent se soucier davantage du confort d’utilisation : on parle alors d’ergonomie. Pour pallier à des surcoûts postproduction, cette réflexion doit être posée en amont.

Le travail général de l’ergonomie s’effectue dans le cadre d’une réflexion centrée autour de l’utilisateur. Cette réflexion, auprès d’utilisateurs réels -dans le meilleur des cas- ou auprès d’utilisateurs fictifs, donne naissance aux exigences ergonomiques.


Lire la suite…