Affichage des articles dont le libellé est logiciel. Afficher tous les articles
Affichage des articles dont le libellé est logiciel. Afficher tous les articles

samedi 22 novembre 2014

10 questions sur l'agilité

L'agilité est désormais, en entreprise mais aussi désormais en dehors, un terme à la mode.
Cet engouement est à l'origine de messages contradictoires semant le doute sur les pratiques agiles.

Ayant eu le bonheur et la chance d'être membre d'équipes agiles de projet avant que cela soit tendance, j'ai voulu démystifier ces méthodes en répondant à 10 questions simples et sans jargon.

  • I) D'où vient l'agilité ?
  • II) L'agilité est-elle applicable dans n'importe quel domaine ?
  • III) Quels sont les principes de l'agilité ?
  • IV) Les projets agiles ont-ils des analogies dans d'autres types d'activité ?
  • V) Concrètement, comment se déroule un projet agile ?
  • VI) Agilité n'est-il pas le dernier synonyme en date de pagaille ?
  • VII) Comment le management peut-il s'assurer du bon déroulement d'un projet agile ?
  • VIII) Qu'est-ce que le scrum ?
  • IX) Y a-t-il des contre-indications à l'agilité ?
  • X) Qu'apporte l'agilité ?
Retrouvez les réponses dans le billet "l'agilité en 10 questions" du site kelibia.eu

mardi 17 décembre 2013

Devenir un super-héros de la programmation moderne en moins de 5 minutes

Comme je l'ai déjà relaté dans une précédente chronique, j'ai le plaisir intense, depuis quelques mois, de travailler avec des spécialistes de l'informatique.
Cette semaine, après de profondes réflexions et études, mes sympathiques compagnons de labeur ont arrêté les principaux choix techniques de l'application que nous cherchons à développer.
A cette occasion, j'ai appris qu'une part importante de notre code allait être écrite en angular javascript, soit, mot à mot dans la langue de Molière, en scenario java anguleux.

La dernière fois que j'ai commis un peu de programmation, j'usais mes fonds de culottes sur les bancs d'une institution universitaire et Valéry Giscard d'Estaing était encore président de la république française.
Les trois langages alors en vogue s'appelaient basic, cobol et fortran. Ils avaient l'heur d'être à peu près compréhensibles par toute personne ânonnant le parler de Shakespeare, ainsi que le prouve l'exemple ci-dessous.

IF (you = sympa);
THEN say(me, you, "Hello");
ELSE say(me, you, "");
ENDIF

Las ! Cette époque bénie est désormais révolue et quand le java est là, le fortran s'en va !

Désireux de ne pas trop passer pour un parfait ignare auprès de mes nouveaux et jeunes coéquipiers, je me suis précipité sur internet pour tenter de me mettre presto à niveau.
Afin de vous permettre de combler encore plus vite votre retard, j'ai rassemblé ci-après l'essentiel de mes trouvailles. Une lecture attentive devraient vous amener illico au top !

Désormais, tout logiciel digne de ce nom emploie un, voire plusieurs, langages orientés objet à prototype.
Autrement dit, les bases du langage et ses principales interfaces sont fournies par des objets qui ne sont pas des instances de classes, mais qui sont chacun équipés de constructeurs permettant de créer leurs propriétés.
Javascript, littéralement le scénario du café bouillu, a été, en vertu de ces magnifiques principes, créé en 1995 pour permettre le développement d'applications fonctionnant au gré du web et des nuages.

Dans ce jargon peu poétique, l'exemple précité devient :

window.alert("Hello world");

Charge au monde de se débrouiller avec ses objets, ses constructeurs et ses propriétés souvent privées d'information pour savoir si je le considère ou non comme sympathique.

Toutefois, ces magnifiques idiomes ne seraient rien s'ils n'étaient pas soutenus par des frameworks, que les québécois traduisent par cadres d'applications ou cadriciels.
Un cadriciel est un ensemble cohérent de composants logiciels structurels servant à créer les fondations ainsi que les grandes lignes d'un logiciel. Son caractère générique, faiblement spécialisé, permet de ne pas le confondre avec une simple bibliothèque logicielle.
Comme il se doit, en programmation orientée objet, un framework est typiquement composé de classes mères qui seront dérivées et étendues par héritage en fonction des besoins spécifiques à chaque logiciel qui utilise le framework.
Grosso modo, un cadriciel peut s'auto-décrire sensiblement comme suit :

framework = new frameworkOn ()
function frameworkOn()
{framework.img.src = imgframework.src;
viceversaOn ();
toutestdanstoutOn ();
amoinsquecelanesoitlinverseOff.src.img ();
return true;}


Angular javascript connait actuellement un beau succès au hit-parade des frameworks.
Mr Google, son concepteur, dont le talent informatique égale la modestie, n'a pas hésité à le qualifier de cadriciel superhéroïque.
Ce cadre d'applications, à l'instar de la première des sectes venues, est fondé sur une croyance : la programmation déclarative doit être utilisée pour construire les interfaces utilisateur et les composants logiciels de câblage, tandis que la programmation impérative excelle pour exprimer la logique métier.
Il encourage le couplage faible entre la présentation, les données et les composants métiers.
De surcroît, il utilise l'injection de dépendances.
Bref, grâce au javascript anguleux, il est possible de rendre les tâches faciles évidentes et les tâches difficiles possibles.

Pour conclure ce billet, j'ai le plaisir de vous faire découvrir, en avant-première mondiale, mes premières lignes de code écrites en angular javascript qui devraient vous aider à vous remettre de la lecture de cette anguleuse chronique.

<!doctype html>
<html ng-app>
<head>
<script src="http://kelibia.fr/migraine/aspirine.angular.min.js"></script>
</head>
<body>
<div>
<label>Tisane pour mal de tronche</label>
<input type="boisson" ng-model="decoction" placeholder="bouilloire">
<ul class="unstyled">
<li ng-repeat="de la tisane, encore de la tisane, toujours plus de tisane">
<input type="ecorce_de_saule" ng-model="tisane.done">
<span class="tisane-{{tisane.done}}">{{tisane.ecorce.saule.text}}</span>
</li>
</ul>
<hr>
<h1>Faire infuser {{tisaneName}}!</h1>
<h1> Boire bien chaud {{tisaneName}}!</h1>
<h1>Aller au lit avec {{last_conjoint@due_date}}!</h1>
</div>
</body> // celui du code pas du conjoint 
</html> // toi-même !

// Angulobjectivement votre


Références et compléments
- Voir aussi la chronique "l'informatique est une réincarnation de la SNCF".
- Tous mes remerciements et excuses à mes nouveaux coéquipiers. Je passe des moments intenses, souriants et palpitants avec eux.
Qui aime bien ironise bien ...
- Les phrases incompréhensibles ou bizarres de cette chronique sont toutes authentiques et proviennent de Wikipedia. Cette chronique est plus un exercice de collage que d'écriture.
- Pour en savoir plus sur angular javascript : le site web officiel anglophone et l'article Wikipedia francophone.
- Mon amour immodéré de la vérité et de l'exactitude me pousse toutefois à préciser qu'il m'est arrivé, il y a quelques années, à l'issue de nombreuses visites à Bergame et après un abus préjudiciable de casoncelli et de lambrusco, de pondre quelques lignes de javascript (toutefois fort peu anguleux).
Les acharnés pourront consulter le code source de cette page, les autres profiter du reportage photographique effectué sur l'autoroute reliant Bergame à Grenoble.

mardi 22 octobre 2013

L'informatique est une réincarnation de la SNCF

Depuis quelques semaines, j'ai la chance, dans mon activité professionnelle, de côtoyer quotidiennement des spécialistes de l'informatique. Le choc des cultures et des sémantiques est particulièrement brutal.
Jugez sur quelques pièces.

Ordinateurs et logiciels ont une tendance prononcée, dès qu'on les regarde de près, à préférer la langue d'Alan Turing à celle de Blaise Pascal.
Toutefois, la plupart des informaticiens français optent résolument pour une prononciation plus gauloise que texane.
Ainsi le nuage de données qui plane au dessus de nos smartphones et de ce blog s'appelle le "clou deux", peut-être parce que les machines qui assurent son fonctionnement font partie du hardware, la quincaillerie en anglais.
Seule exception, pour désigner leur domaine - IT Information Technologies - ces professionnels tiennent absolument au phrasé new-yorkais "ail ti". En effet, clamer que l'on travaille "alité" risque de vous faire passer pour un indécrottable fainéant.

Les acronymes sont pléthore. Pour qu'un concept, aussi basique soit-il, ait une once de crédibilité, il doit impérativement être désigné par un sigle d'obédience anglo-saxonne. Une interprétation un peu trop phonétique peut conduire à de désagréables contresens.
Ainsi un "sas" n'est pas un espace de transition mais tout simplement la location d'un logiciel domicilié dans un cumulo-nimbus.
De même un "path", n'est pas comme son étymologie rosbif pourrait le laisser supposer, le chemin permettant d'accéder à un fichier ou à un document mais, une fois encore, la location d'un bazar peu déterminé réfugié dans un strato-cumulus.
Dans la même veine, l'inénarrable Bill Gates n'a rien trouvé de mieux que d'affubler ses nuages du qualificatif "azur". De deux choses l'une, soit le créateur de Microsoft est encore plus daltonien que votre serviteur et croit que les nébulosités sont bleues ; soit, à force d'être scotché à un écran de son ordinateur, Mister Windows a fini par oublier les plus élémentaires notions de météorologie.

Il y a une trentaine d'années, lorsque je commençais mon long parcours de salarié, l'endoctrinement alors en vogue inculquait que le client est le personnage le plus important de l'entreprise et que le choyer en permanence était indispensable à la survie du business.
L'informatique vient bousculer ce superbe catéchisme.
Ce que tout épicier ou boulanger nomme un client est dans le monde "ail ti" un usager.
Afin d'avancer masqué et ne pas trop désespérer les habitués des TER ou de la RATP, l'américain "iouzeur" est toutefois d'emploi systématique.
Le client - pour faire riche dîtes "claille hante" - est en fait le logiciel qu'utilise le client, pardon le "iouzeur".
Ce "claille hante" est désormais l'objet des soins assidus du personnel.
La preuve, un serveur est en permanence à son écoute, prêt à répondre à ses moindres requêtes grâce à un voire même plusieurs protocoles soigneusement établis.
La dernière mode venue de Californie est soucieuse de la sveltesse des "clailles hante". Les clients trop lourds n'ont plus la cote. Pour continuer à être servi, il est impératif de faire maigrir l'élément le plus important de l'informatique.

Quant à la satisfaction de l'usager, un logiciel - pardon, un client très léger - tachera de s'en enquérir dès que les règles business appropriées auront été définies ...

Informatiquement votre

Eléments de décodage, pardon, de reverse engineering
Pour les très rares lecteurs qui ne se sont pas encore "alités" :

. Cloud, nuage en français, se dit des installations informatiques réparties à travers la planète et accessibles par internet.
À titre d'exemple, les Humeurs Mondialisées sont domiciliées quelque part dans le "clou deux".

. Le "sas" est en fait le SaaS, Software as a Service, logiciel en tant que service c'est à dire un programme fonctionnant dans le "clou deux" et dont vous louez l'usage.

. Le "path" s'ecrit PaaS, Platform as a Service, plateforme en tant que service. Il s'agit de la location simultanée de machines et de logiciels dans le "clou deux".

. Windows Azure (avec un E terminal) est la marque déposée du "clou deux" de Microsoft.

. Un client est un logiciel fonctionnant sur la machine du client, pardon du "iouzeur".
Un client est dit léger, par opposition au client lourd, quand l'essentiel des traitements est effectué dans le "clou deux" par un autre programme baptisé serveur.
Le monde virtuel des clients légers est aussi inégalitaire que notre monde bien réel. Certains clients, non contents d'afficher un tour de taille particulièrement réduit, sont nettement mieux dotés que leurs confrères et sont alors qualifiés de clients riches.
Que le lecteur de gauche se rassure, bien que ni Arnaud Montebourg, ni Jean-Luc Mélenchon ne soient intervenus dans ce domaine, le client riche est en très nette perte de vitesse.

. Les business rules, qui se traduisent dans la langue de Louis Renault par règles métier, ont rarement un rapport direct avec le coté sonnant et trébuchant des entreprises. Ce sont, tout simplement, des savoir-faire incorporés dans un logiciel.
Par exemple, savoir que pour serrer des boulons il faut tourner dans le sens des aiguilles d'une montre est une règle business.

Références et compléments
- Tous mes remerciements et mêmes mes excuses à mes nouveaux compagnons de labeur. Qui aime bien, ironise bien ...
- J'ignore si Bill Gates est daltonien.
Par contre, Marc Zuckerberg, le fondateur de Facebook ne fait pas mystère de sa vision altérée des couleurs. Il s'agit même de la raison pour laquelle il a choisi le bleu comme emblème de sa marque car il s'agit d'une teinte qu'il sait détecter sans problème.

vendredi 6 mai 2011

Aphorismes indiens


- Je n'ai vu, en Inde, aucun des célèbres cochons éponymes. Peut-être, les britanniques les ont-ils exfiltrés en Guinée après l'indépendance …

- J'ai mangé dans un restaurant servant de la nourriture indienne tout en diffusant de la musique grecque, mes intestins auraient peut-être préféré le contraire …

- "Parlez vous indien ?" est vraiment une question dénuée de sens.
Il y a des lakhs (voir précédente chronique) de langues et aussi d'alphabets en Inde. Aussi pour se comprendre, mes collègues utilisent surtout l'anglais …

- Le logiciel est de plus en plus une spécialité de l'Inde, et plus particulièrement de Bangalore. Cette facilité à se mouvoir dans l'immatériel et le théorique déteint apparemment sur les travaux routiers : il y a un nombre impressionnant d'autoroutes urbaines virtuelles avec des lakhs de piles de pont et aucun tablier …

- Nasik est une ville beaucoup plus petite et provinciale que la cosmopolite et hectique Bangalore, dont j'ignorais totalement l'existence quelques mois en arrière et qui ne possède que 1.153 millions d'habitants …

Indianiquement votre …