{"id":1,"date":"2017-01-28T22:29:03","date_gmt":"2017-01-28T22:29:03","guid":{"rendered":"http:\/\/www.chezpiotr.com\/wordpress\/?p=1"},"modified":"2017-02-11T10:18:08","modified_gmt":"2017-02-11T10:18:08","slug":"perfect-si","status":"publish","type":"post","link":"https:\/\/www.chezpiotr.com\/wordpress\/philososi\/reflexes-si\/perfect-si\/","title":{"rendered":"Le SI parfait est pour demain&#8230;chaque jour"},"content":{"rendered":"<h1>Toujours mieux<\/h1>\n<p>C&rsquo;est finalement la conclusion de mes vaines courses apr\u00e8s le syst\u00e8me d&rsquo;information parfait o\u00f9 l&rsquo;information est parfaitement rang\u00e9e et en fait se range d&rsquo;elle m\u00eame sans aucun effort.<\/p>\n<p>A\u00a0force de continuellement explorer le nouvel outil sympa mais qui s&rsquo;appuie sur une norme compliqu\u00e9e. Puis finalement une norme \u00a0parfaite appara\u00eet et aucun n&rsquo;outil ne permet de l&rsquo;exploiter \u00e0 fond. L&rsquo;outil arrive mais le mat\u00e9riel utilis\u00e9 a tellement \u00e9volu\u00e9 que ni la norme ni l&rsquo;outil n&rsquo;exploite ses capacit\u00e9s. Et puis de toute fa\u00e7ons les besoins ont chang\u00e9 et les paradigmes aussi.<\/p>\n<p>La frustration est constante quand on tente de r\u00e9unir le monde entier au m\u00eame endroit et au m\u00eame moment.<\/p>\n<p>Voici ici mes vaines tentatives de disposer du meilleur langage et du meilleur framework, pour mettre en oeuvre les\u00a0meilleurs normes d\u00e9ploy\u00e9 sur le meilleur mat\u00e9riel pour satisfaire le (meilleur ?)\u00a0besoin.<\/p>\n<p><!--more--><\/p>\n<h2>la meilleure norme<\/h2>\n<p>&nbsp;<\/p>\n<p>J&rsquo;avoue que je ne consulte que rarement les RFC et cahiers de normes. Je laisse \u00e7a aux gens dont c&rsquo;est le m\u00e9tiers de les appliquer (cr\u00e9er un navigateur par exemple) et je d\u00e9couvre la norme en au travers de leurs impl\u00e9mentation (comment cr\u00e9er une page dans ce navigateur). Je prend r\u00e9ellement conscience de la norme quand l&rsquo;outil que j&rsquo;utilise ne la respecte pas (ma page est superbe dans un navigateur et une horreur dans un autre).<\/p>\n<p>Un syst\u00e8me d&rsquo;information se doit d&rsquo;\u00eatre d\u00e9ploy\u00e9s sur des \u00ab\u00a0machines\u00a0\u00bb tr\u00e8s vari\u00e9es qui devront m\u00e9moriser et \u00e9changer de l&rsquo;information et il\u00a0sera tr\u00e8s probablement construit avec des outils&#8230;il est pr\u00e9f\u00e9rable d&rsquo;avoir une norme commune, p\u00e9renne, exhaustive, constante et ouverte&#8230;rien que cela !<\/p>\n<p>Il est pr\u00e9f\u00e9rable de choisir les bonnes normes sauf \u00e0 fournir une solution qui\u00a0inclue le tout : \u00ab\u00a0voici votre SI de gestion, les ordinateurs, tablette et smartphone pour l&rsquo;utiliser, le r\u00e9seau \u00a0(cables et bornes radio, routeur, etc&#8230;) pour le d\u00e9ployer, le plan de montage et roule ! Une fois pr\u00eat on vous envoi les utilisateurs\u00a0qui connaissent et ma\u00eetrise votre besoin.\u00a0\u00bb<\/p>\n<p>Et pas d&rsquo;illusion : il faudra s&rsquo;adapter au changement de la norme\u00a0(Tous en IPv6) ou dispara\u00eetre\u00a0(Mais o\u00f9 sont les constructeurs autres que pour BlueRay ?)<\/p>\n<p>Mais alors o\u00f9 en sommes nous en informatique\u00a0?<\/p>\n<h3>Cot\u00e9 communication<\/h3>\n<p>Comment va-t-on faire circuler l&rsquo;information ?<\/p>\n<p>L&rsquo;internet et ses protocoles d&rsquo;origine sont maintenant \u00a0suffisants pour \u00e9changer de l&rsquo;information (UDP, TCP, IPv4) et se comprendre (SMTP, HTTP, etc&#8230;). Bonne nouvelle ces protocoles couvrent l&rsquo;essentiel des besoins et sont raisonnablement partag\u00e9 par les programmeurs du monde. Et celui qui les a connus il y a 5\u00a0ans peut encore s&rsquo;en sortir ; quant \u00e0\u00a0l&rsquo;inventeur du SMTP (celui qui s&rsquo;extasiait d&rsquo;avoir transmis des caract\u00e8re ASCII \u00e0 son coll\u00e8gue \u00e0 l&rsquo;autre bout du campus&#8230;un courrier \u00e9lectronique), il va ramer en recevant aujourd&rsquo;hui un message contenant une image (en ASCII !).<\/p>\n<p>Ces nanards les plus frais de l&rsquo;informatiques (j&rsquo;estime, \u00e0 la louche, form\u00e9 depuis 2005) se croyaient \u00e0 l&rsquo;abri ? Il va falloir maintenant ma\u00eetriser les nouveaux protocoles qui viennent s&rsquo;intercaler pour r\u00e9gler les probl\u00e8mes de s\u00e9curit\u00e9. Du SSL\/TLS ! du HSTS ! WPA, WPA2, WPAPro, Perso&#8230;depuis que les r\u00e9seaux radio se d\u00e9mocratise.<\/p>\n<p>En somme, aujourd&rsquo;hui et depuis environ\u00a010 ans, les\u00a0interfaces r\u00e9seau, les routeurs et m\u00eame les applications clientes parlent la m\u00eame langue&#8230;tant qu&rsquo;elle le parle en clair.<\/p>\n<p>On peut donc s&rsquo;appuyer sur les normes historiques mais les normes de s\u00e9curit\u00e9 sont encore en train de bouger. Et si on ne les suit pas on risque de faire un SI qui sera soit une\u00a0passoire soit bloqu\u00e9 par les outils.<\/p>\n<h4>IPv6 !<\/h4>\n<p>Ce sujet ne concerne pas directement la s\u00e9curit\u00e9 mais il va y avoir de la casse \u00e0 mon sens.<\/p>\n<p>Les SI \u00e0 venir vont probablement se localiser en IPv6 \u00e0 terme. En attendant, il devra se localiser dans un univers hybride entre les deux. Double challenge pour le type dont le SI ne marche pas : \u00a0s&rsquo;il sais d\u00e9chiffrer\u00a0des trames IPv4 et comprendre un probl\u00e8me de routage aujourd&rsquo;hui&#8230;je ne pense qu&rsquo;il fera \u00e7a naturellement en IPv6 (en tout cas j&rsquo;avoue que moi je rame dure). \u00a0A cela s&rsquo;ajoute la difficult\u00e9 quand 2 r\u00e9seaux communique chacun dans leurs langues et qu&rsquo;il faudra comprendre la rustine utilis\u00e9e pour les connecter ensemble.<\/p>\n<p>Et l&rsquo;ind\u00e9pendance des couches OSI me lancent les puristes !?\u00a0Si c&rsquo;est bien fait, les applications ne d\u00e9pendent pas de la couche r\u00e9seau !<\/p>\n<p>Je n&rsquo;ai pas parcouru le monde du SI entier mais je n&rsquo;ai jamais vu quand \u00ab\u00a0c&rsquo;est bien fait\u00a0\u00bb. Par exemple\u00a0il\u00a0n&rsquo;est pas rare de voir des \u00ab\u00a0applications\u00a0\u00bb r\u00e9agir diff\u00e9remment selon l&rsquo;adresse (fournie en param\u00e8tre et v\u00e9rifi\u00e9 si le format est IPv4 est conforme !). Pour ma part j&rsquo;ai crois\u00e9 des pellet\u00e9s de programmes qui utilisent en dure \u00ab\u00a0127.0.0.1\u00a0\u00bb (IPv4) et non \u00ab\u00a0::1\u00a0\u00bb (IPv6).<\/p>\n<p>Faites comme vous le sentez mais selon la dur\u00e9e de vie pr\u00e9vue autant faire un SI qui roule d\u00e9j\u00e0 sur l&rsquo;autoroute\u00a0IPv6 car t\u00f4t ou tard\u00a0on ne pourra plus passer par les nationales IPv4 (ou au moins pr\u00e9parez vous-y).<\/p>\n<h2>Cot\u00e9 \u00a0repr\u00e9sentation de l&rsquo;information<\/h2>\n<p>Ce serait bien que tous les outils de communication, de traitement ou d&rsquo;affichage de l&rsquo;information comprenne l&rsquo;info qu&rsquo;on leur donne.<\/p>\n<p>Et je me trompe peut-\u00eatre mais la norme XML me semble la plus compl\u00e8te et fiable.<\/p>\n<p>\u00ab\u00a0Et JSON c&rsquo;est pour les canards !!??\u00a0\u00bb ne nous m\u00e9prenons pas\u00a0: JSON est tr\u00e8s bien, tr\u00e8s simple et tr\u00e8s partag\u00e9 notamment par tous les langages commun du web (javascript notamment&#8230;dont JSON n&rsquo;est qu&rsquo;un sous ensemble) et API web (JQuery). La norme est tr\u00e8s simple\u00a0(l&rsquo;int\u00e9gralit\u00e9 est d\u00e9fini sur \u00e0 peine deux\u00a0pages A4 : <a href=\"http:\/\/www.json.org\/json-fr.html\">http:\/\/www.json.org\/json-fr.html<\/a>).<\/p>\n<p>Pour ma part, j&rsquo;ai un probl\u00e8me de vieux qui pense\u00a0que les contraintes mises en amont\u00a0emp\u00eachent que \u00e7a parte en vrille en aval.<\/p>\n<p>Et JSON\u00a0c&rsquo;est autant freestyle que de na pas d\u00e9clarer le type d&rsquo;une variable. Rien n\u2019emp\u00eache de coller un nom dans une date et finir l\u2019ex\u00e9cution sans que rien ne se voit&#8230;pour l&rsquo;instant. Et la on parle d&rsquo;objets pas juste une variable.<\/p>\n<p>Peut-\u00eatre que le principe est que le concepteur met\u00a0en place tout ce qu&rsquo;il faut pour qu&rsquo;il n&rsquo;y ait pas de boulette et que c&rsquo;est plus simple \u00e0 faire que d&rsquo;imposer des contraintes.<\/p>\n<p>Et d&rsquo;un autre cot\u00e9, dans les faits, XML est souvent utilis\u00e9 au m\u00eame niveau de contrainte que JSON. Voir m\u00eame sauvagement converti en JSON\u00a0plus pratique.<\/p>\n<p>En r\u00e9sum\u00e9, XML est une norme tellement ouverte qu&rsquo;effectivement elle n&rsquo;a pas besoin d&rsquo;\u00e9voluer (elle pourrait m\u00eame aujourd&rsquo;hui se r\u00e9duire) ce qui lui donne le go\u00fbt d&rsquo;une bonne norme.\u00a0 Et sur le m\u00eame terrain, la norme\u00a0JSON est probablement sa rivale et peut-\u00eatre m\u00eame son fossoyeur.<\/p>\n<p>Si je\u00a0concevais un SI, j&rsquo;utiliserai <strong>XML<\/strong> seulement si j&rsquo;en utilise\u00a0les rouages qui permettent de\u00a0sp\u00e9cifier les donn\u00e9es (XSD, DTD, XSchema) car au moins \u00e7a force \u00e0 documenter et emp\u00eache la propagation de certaines erreurs. \u00a0De plus je pourrais exploiter les multiples normes de s\u00e9lection de l&rsquo;information\u00a0(XPath) ou\u00a0de transformation (XSLT).<\/p>\n<p>Et sinon, j&rsquo;utiliserais JSON car c&rsquo;est\u00a0plus fun et moins lourds et que dans 1 an je serais plus dans cette boites et que les outils de debug on vachement progress\u00e9s. J&rsquo;abuse un peu : on peut documenter du JSON et s&rsquo;assurer du format des donn\u00e9es avant toute utilisation&#8230;mais dans ce cas autant utiliser XML.<\/p>\n<h3>Et pourquoi pas le PDF ?<\/h3>\n<p>Hormis <strong>XML<\/strong> et <strong>JSON<\/strong>,\u00a0n&rsquo;oublions pas une autre norme assez partag\u00e9e pour repr\u00e9senter des donn\u00e9es : le <strong>PDF<\/strong> ! \u00a0Et oui : tous les programmes du monde pourraient s&rsquo;\u00e9changer des donn\u00e9es en PDF. Mais il faut avouer\u00a0que les outils pour manipuler les donn\u00e9es sont plus rares et PDF est surtout une norme pour imprimer.<\/p>\n<p>En apart\u00e9, le PDF est \u00e0 mon sens\u00a0un format transitoire, symbole du passage de\u00a0l&rsquo;\u00e9poque du papier et celle du digitale.\u00a0D\u00e8s lors\u00a0que chacun dispose \u00e0 tout moment d&rsquo;un moyen d&rsquo;acc\u00e8s (i.e. tablette) \u00e0 une vue de l&rsquo;information qui est fiable (i.e. contrat) : pourquoi en construire une repr\u00e9sentation contenu dans du A4 ? quelle sens ont les notions d&rsquo;impressions dans un tel mod\u00e8le ?<\/p>\n<p>Et pourtant, cela fait des ann\u00e9es que la banque ne m&rsquo;envoie plus mes relev\u00e9s papier et\u00a0il est acquis que le PDF est une norme\u00a0d&rsquo;\u00e9change que je saurais lire (ou plut\u00f4t que j&rsquo;aurai des outils pour le faire au moins pendant les soit 5\u00a0ans de r\u00e9tention recommand\u00e9).<\/p>\n<h2>Certains me diront : et la norme de stockage de l&rsquo;information ?<\/h2>\n<p>Dans la majorit\u00e9 de mes\u00a0probl\u00e9matiques,\u00a0c&rsquo;est un syst\u00e8me propri\u00e9taire qui assure la persistence (Oracle, MSQL, feu MySQL devenu MariaDB, Google DataStore). L&rsquo;absence de norme n&rsquo;a pas \u00e9t\u00e9 un frein jusqu&rsquo;alors.<\/p>\n<p>Dans un contexte de donn\u00e9es dispers\u00e9es (Cloud, pair \u00e0 pair), la question de la norme de stockage est l\u00e9gitime. L&rsquo;application des normes de s\u00e9curit\u00e9 (ou de consentement au moins) est la priorit\u00e9 en cette \u00e9poque de wikileaks et Snowden. Pour ce qui est de la norme pour l&rsquo;interop\u00e9rabilit\u00e9 c&rsquo;est aussi en cours de r\u00e9daction mais\u00a0\u00e7a part d\u00e9j\u00e0 dans tous les sens, chaque fournisseur de Cloud fourguant sa biblioth\u00e8que de fonctions sp\u00e9cifique).<\/p>\n<p>Je vous avoue que je serais bien emb\u00eat\u00e9 s&rsquo;il fallait d\u00e9cider aujourd&rsquo;hui d\u00e9j\u00e0 d&rsquo;une strat\u00e9gie de stockage (Cloud, Pear-to-Pear, centralis\u00e9) puis ensuite d&rsquo;une norme correspondante (Relationnel, Objet).<\/p>\n<p>Jusqu&rsquo;alors un principe fort contraint ce choix : la propri\u00e9t\u00e9 de la donn\u00e9e. Le propri\u00e9taire de l&rsquo;information d\u00e9sire que celle-ci reste en sa possession jusqu&rsquo;\u00e0 son aspect physique (serveurs de donn\u00e9es h\u00e9berg\u00e9, outils largement reconnus).<\/p>\n<p>Enfin : les principes \u00e9voluent. Imaginez, il y a 15 ans\u00a0j\u2019\u0153uvrais avec peine \u00e0 d\u00e9placer les pr\u00e9cieux fichiers clients de VRP dans un SI&#8230;aujourd&rsquo;hui ils utilisent le carnet Google !<\/p>\n<p>Il ne reste plus qu&rsquo;\u00e0\u00a0choisir LA solution qui va devenir un peu pr\u00e8s la norme.<\/p>\n<p>La guerre du stockage dure depuis longtemps et pour l&rsquo;instant les \u00e9diteurs sont assez puissants pour s&rsquo;\u00e9viter un consensus.<\/p>\n<h2>Je r\u00e9pondrais : et la norme d&rsquo;acc\u00e8s\u00a0aux stockage plut\u00f4t<\/h2>\n<p>Par contre, la norme dans l\u2019acc\u00e8s \u00e0 ces donn\u00e9es \u00e0 toujours \u00e9t\u00e9 probl\u00e9matique et pourtant centrale. La seul norme r\u00e9ellement partag\u00e9e aujourd&rsquo;hui \u00a0me semble le <strong>SQL<\/strong> et chaque outil de stockage fournie sont moteur SQL avec ses sp\u00e9cificit\u00e9s. \u00a0Mais c&rsquo;est d\u00e9j\u00e0 pas mal.<\/p>\n<p>Pl\u00e9thore d&rsquo;interfaces performantes sont apparues avec le temps (ADO, OLEDB, ODBC, JDBC,&#8230;) prenant en charge souvent (pas toujours) \u00a0le SQL mais encore avec des sp\u00e9cificit\u00e9s.<\/p>\n<p>Je pense que ce n&rsquo;est pas pour rien que les framework de d\u00e9veloppements se vantait\u00a0de proposer une interface r\u00e9volutionnaire pour manipuler les donn\u00e9es sans\u00a0s&rsquo;occuper de leurs acc\u00e8s&#8230;le concepteur veut une personne, il aura une personne.<\/p>\n<p>Et comment ? et hop : on tartine une nouvelle interface. Qui s&rsquo;appuie souvent sur les anciennes !<\/p>\n<p>C&rsquo;est top : il suffit juste d&rsquo;apprendre la nouvelle mani\u00e8re de configurer la\u00a0source de donn\u00e9es pour cette interface, juste de d\u00e9finir \u00e9ventuellement tout le mapping (faudra aussi apprendre comment&#8230;mais c&rsquo;est simple te dit l&rsquo;\u00e9diteur), juste tuner un peu les mapping\u00a0voir m\u00eame la base de donn\u00e9es car les performances sont horribles, et peut-\u00eatre juste finalement passer exceptionnellement quelque fois directement en base\u00a0ou encore construire des fonctions en base pour accelerer&#8230;et juste sous r\u00e9serve de \u00e7a&#8230;le d\u00e9veloppeur a plus qu&rsquo;\u00e0 \u00e9crire Personne = DB.getPersonne(500). G\u00e9nial !<\/p>\n<p>Et\u00a0ben allons y : on va migrer notre base de donn\u00e9es&#8230;on va quand m\u00eame faire un projet sur 1 an ?! Pour \u00ab\u00a0deconnecter\u00a0\u00bb et \u00ab\u00a0reconnecter\u00a0\u00bb ?<\/p>\n<p>C&rsquo;est dur je sais mais j&rsquo;avais tellement foi en J2EE, Websphere\/Weblogic, Zend, Hibernate&#8230;et m\u00eame si j&rsquo;ai abouti \u00e0 des\u00a0solutions qui tournent (correctement) je doute\u00a0que\u00a0les briques soient aussi ind\u00e9pendantes que promis.<\/p>\n<p>Aujourd&rsquo;hui\u00a0\u00e7a se complique, le SQL qui persiste reste tr\u00e8s \u00e9tendu mais s&rsquo;av\u00e8re peu pratique quand on sort du model de stockage relationnel. Et les base NoSQL\u00a0se multiplient aujourd&rsquo;hui.\u00a0D&rsquo;ailleurs, je trouve le nom assez ironique\u00a0: NoSQL pour dire \u00ab\u00a0Not Only SQL\u00a0\u00bb&#8230;Si ces bases dominent et que les gens comme moi tellement \u00e0 l&rsquo;aise en SQL disparaissent&#8230;le SQL\u00a0sera \u00e9limin\u00e9. D&rsquo;autant plus surement s&rsquo;il ne r\u00e9pond plus au exigences du BigData o\u00f9 le relationnelle pr\u00e9sentent beaucoup d&rsquo;incompatibilit\u00e9.<\/p>\n<p>En r\u00e9sum\u00e9, pour ma part, tant que la donn\u00e9es stock\u00e9e n&rsquo;est pas manipul\u00e9 en l&rsquo;\u00e9tat l&rsquo;acc\u00e8s \u00e0 l&rsquo;information\u00a0obligera le traitement \u00e0 se contraindre au stockage et inversement. Et comme la tendance est aujourd&rsquo;hui \u00e0 tout stocker\u00a0et \u00e7a servira bien t\u00f4t ou tard, l&rsquo;acc\u00e8s aux donn\u00e9es et leur stockage sont un probl\u00e8me \u00e0 r\u00e9soudre\u00a0mais\u00a0une norme est-elle requise?<\/p>\n<p>Dans ce domaine, je pr\u00e9f\u00e8re une solution \u00e9prouv\u00e9e qu&rsquo;une solution standard. Mon SI devra fournir sa solution pour travailler avec\u00a0au moins les stockages les plus r\u00e9pandus. C&rsquo;est du travail (\u00e0 cr\u00e9er puis \u00e0 maintenir) mais c&rsquo;est \u00e0 mon sens la plus fiable, la plus performante et la moins co\u00fbteuse \u00e0 terme.<\/p>\n<p>Le SI sera probablement encore longtemps compos\u00e9s des 2 socles : Relationnel et Objet qui entra\u00eenera m\u00eame la probable duplication d&rsquo;une partie du SI.<\/p>\n<h2>Le meilleurs outils de d\u00e9veloppement<\/h2>\n<p>Tout le monde sait comment on va parler, en quelles langues et\u00a0sous quelle forme et \u00a0tout le monde sait o\u00f9 on m\u00e9morise. C&rsquo;est parti on construit.<\/p>\n<p>Et l\u00e0 c&rsquo;est le drame ! Quelle langage (et donc outil) utiliser ?<\/p>\n<p>J&rsquo;aurais pu inclure \u00e7a dans les normes de programmation tant il y a eu de philosophies de la programmation, d\u00e9crite par de multiple norme, pr\u00e9cis\u00e9 encore dans des normes plus compl\u00e8te d&rsquo;impl\u00e9mentation (J2EE par exemple). Puis des environnements de d\u00e9veloppement (IDE comme JBeans, Delphi, Eclipse) accompagn\u00e9 des briques (Librairies, Framework) respectant ces impl\u00e9mentations ont impos\u00e9s des langages propres.<\/p>\n<p>En 2003, on sortait encore du <strong>Cobol<\/strong> (en fait on envoyait sa maintenance \u00e0 l&rsquo;\u00e9tranger) quand j&rsquo;arrivai avec mon <strong>Java<\/strong> et mon <strong>C<\/strong>&#8230;et mon <strong>BASIC<\/strong>. Et l\u00e0, la programmation \u00e9v\u00e9nementiel c&rsquo;est d\u00e9mentiel (<strong>Turbo Pascal<\/strong> avec Delphi 5 que du bonheur). Et puis finalement <strong>VB<\/strong> c&rsquo;est plus facile et sa mani\u00e8re de coder est fantastique. Puis c&rsquo;est l&rsquo;heure du <strong>C++<\/strong> et <strong>Java<\/strong> fait son retour avec de nouveaux framework. Un peu de <strong>VBA<\/strong> pour le fun et du<strong> PL\/SQL<\/strong> et <strong>SQL<\/strong> pour la d\u00e9brouille. Termin\u00e9 les amis, maintenant on ne d\u00e9veloppe plus pour postes en local mais pour des serveurs avec quasiment rien sur le poste&#8230;juste une petite <strong>applet\u00a0<\/strong>quand m\u00eame. Non ! en fait plus rien sur le serveur, il va falloir bosser ton <strong>JSP<\/strong>, <strong>ASP<\/strong> et <strong>PHP<\/strong>. Et puis finalement <strong>XPath<\/strong> et <strong>XSL<\/strong> permettent des trucs pas mal. Puis in va tricher un peu en mettant un peu de trucs chez le client (<strong>ActiveX<\/strong> et <strong>Javascript<\/strong> et <strong>VBScript<\/strong>). Puis \u00e7a d\u00e9rape\u00a0: on g\u00e2ve\u00a0cot\u00e9 client avec des <strong>CSS<\/strong> et du\u00a0<strong>Javascript<\/strong> et les librairies disponibles (<strong>HttpRequest<\/strong>,\u00a0<strong>JQuery<\/strong>\u00a0est ses fonctions asynchrones !).<\/p>\n<p>De nos jours, le navigateur est devenu le client lourd standard. Il formate\u00a0le <strong>HTML5<\/strong> coupl\u00e9 avec le <strong>CSS<\/strong>. <strong>Javascript<\/strong> permet l&rsquo;interaction avec notamment les multiples biblioth\u00e8ques disponibles : <strong>JQuery<\/strong>, les <strong>API<\/strong> Google par exemple (Maps, Calendar, Contact&#8230;). Cot\u00e9 serveur on fait encore du <strong>PHP<\/strong> ou\u00a0.<strong>NET<\/strong> mais on dirait que <strong>javascript<\/strong> se popularise (<strong>Node.js<\/strong> fait tout le travail du\u00a0serveur). Les \u00e9changes se font en <strong>JSON<\/strong> ou <strong>XML<\/strong> simple.<\/p>\n<p>Les programme manipulent presque tous des Objets (qui collent encore plus ou moins \u00e0 la philosophie du d\u00e9veloppement Objet) et sont loin d&rsquo;\u00eatre s\u00e9quentiels. Le d\u00e9roulement est asynchrone et orchestr\u00e9 par les \u00e9v\u00e9nements.<\/p>\n<p>Si je peux permettre une pr\u00e9diction : cot\u00e9 client les navigateurs continuent de se conformer aux normes HTML5. la partie cliente s&rsquo;appuie essentiellement sur l&rsquo;incontournable JQuery\u00a0et est compos\u00e9e d&rsquo;appel \u00e0\u00a0diverses API ind\u00e9pendantes et d\u00e9localis\u00e9es. \u00a0Le mode de d\u00e9veloppement par \u00e9v\u00e9nements se r\u00e9pand, le syst\u00e8me est asynchrone. Ce mod\u00e8le s&rsquo;optimise et se fige.\u00a0L&rsquo;\u00e9volution se fait au travers des services et de leur interconnexion.<\/p>\n<p>En attendant, \u00e0 mon sens, le coup\u00a0d&rsquo;avance c&rsquo;est <strong>Node.js \/ Javascript \/ CSS \/ HTML5 \/ API Web<\/strong><\/p>\n<p>Il ne reste plus qu&rsquo;\u00e0 trouver le bon IDE (programme de &#8230;programmation)\u00a0qui permet d&rsquo;\u00e9crire cette langue pas trop n&rsquo;importe comment.<\/p>\n<h2>Le meilleur outils d&rsquo;interaction entre les hommes<\/h2>\n<p>Bien : nous parlons tous fran\u00e7ais et avons des pigeons pour s&rsquo;envoyer des message. on a m\u00eame un\u00a0responsable des messages qui r\u00e9ceptionne les pigeons et br\u00fblent les messages inutiles pour nous.<\/p>\n<p>Du jour au lendemain on remplace les pigeons par des smartphones avec une applications qui blackliste.<\/p>\n<p>Sans trop m&rsquo;avancer je pense que la teneur de nos conversations vas changer.<\/p>\n<p>Nous avons vu effectivement que les normes et les langages changes mais le principale moteur de cela c&rsquo;est la technologie disponible.<\/p>\n<p>En 1990, une norme de transfert de\u00a0streaming vid\u00e9o Haute d\u00e9finition pour la VOD n&rsquo;avait pas de sens. Aujourd&rsquo;hui toute SMART TV balance les flux vid\u00e9o d&rsquo;un fournisseur quelconque.<\/p>\n<p>De nos jours, le support ultime a\u00a0quasiment tout pour recevoir et pour reporter : en plus d&rsquo;un \u00e9cran, d&rsquo;un HP et d&rsquo;un micro, on trouve banalement sur un smartphone un GPS, une cam\u00e9ra, un tachym\u00e8tre, un altim\u00e8tre, un gyroscope, un compas, un infrarouge&#8230;<\/p>\n<p>Et demain, tout \u00e7a se peut se retrouver sur n&rsquo;importe quelle objet qui sera connect\u00e9.<\/p>\n<p>Les normes et les langages \u00e9voqu\u00e9 sont apparus dans un monde ou l&rsquo;ordinateur est fixe et limit\u00e9. Ces normes et langages semblent avoir englob\u00e9 les possibilit\u00e9s des mat\u00e9riels actuels mais\u00a0seul les g\u00e9nies connaissent l&rsquo;avenir qu&rsquo;ils vont inventer.<\/p>\n<p>Il ne serait pas \u00e9tonnant qu&rsquo;un syst\u00e8me d&rsquo;exploitation compl\u00e9mentent r\u00e9fl\u00e9chi dans un univers d&rsquo;objets connect\u00e9s nous surprennent bient\u00f4t et par l\u00e0 tous les outils qui l&rsquo;accompagneront.<\/p>\n<p>IBM a d\u00e9j\u00e0 mis \u00e0 disposition un service permettant de\u00a0r\u00e9colter les donn\u00e9es de diverses capteurs pour en\u00a0sortir des \u00e9tats.<\/p>\n<p>Si je concevais un SI, ce serai prioritairement pour des smartphones, tablettes\u00a0et phablettes (J&rsquo;enfonce une porte ouverte)\u00a0puis ensuite pour les postes fixes.\u00a0d&rsquo;un cot\u00e9 pas trop d&rsquo;inqui\u00e9tude, il semble tous s&rsquo;orienter \u00e0 respecter les normes du web (HTML5, Javascript). Mais\u00a0j&rsquo;oublie l&rsquo;id\u00e9e de faire le m\u00eame outils pour tous (le suivi complet de ma demande sur montre connect\u00e9e c&rsquo;est moyen).<\/p>\n<h2>Les besoins et les mentalit\u00e9s<\/h2>\n<p>Et voil\u00e0 ! notre SI parfait fluidifie la r\u00e9alisation du besoin de souscription d&rsquo;un contrat de Juan\u00a0au Br\u00e9sil par Wladek en Pologne.<\/p>\n<p>Mais les hommes sont exigeant et quand on voit un truc bien dans un domaine\u00a0on s&rsquo;attend \u00e0 son \u00e9quivalent dans un autre.\u00a0Mais il n&rsquo;a pas \u00e9t\u00e9 aussi \u00e9vident de passer de\u00a0la facilit\u00e9 d&rsquo;acheter sur Amazon (en 3 clics) \u00e0 la facilit\u00e9 de souscrire un contrat dans l&rsquo;assurance ou la facilit\u00e9 d&rsquo;avoir un taxi.<\/p>\n<p>Aucun outil ne le fera si le besoin ne s&rsquo;adapte pas.<\/p>\n<p>Comment passer d&rsquo;un outil \u00e0 5\u00a0\u00e9crans, 50 informations, 500 points de contr\u00f4les\u00a0pour garantir un contrat en\u00a03 clics sur smartphone ? Et bien s\u00fbr l&rsquo;utilisateur doit voir TOUTE les informations&#8230;mais bien s\u00fbr de mani\u00e8re concise.<\/p>\n<p>Impossible si la mentalit\u00e9 de celui qui\u00a0fait \u00e7a depuis 20 ans ne change pas. Comment peut-il accepter :<\/p>\n<ul>\n<li>On ne pr\u00e9sentera que les quelques informations essentielles <strong>et pas tout<\/strong>.<\/li>\n<li>Le contrats seront compl\u00e9t\u00e9s <strong>apr\u00e8s<\/strong> la signature<\/li>\n<li>On enl\u00e8ve des points de contr\u00f4le et 10% des utilisateurs qui ont souscrit n&rsquo;aurais pas du.<\/li>\n<li>On envoi un mail (pour pas dire courrier) dans lequel\u00a0il y des phrases g\u00e9n\u00e9rique (\u00ab\u00a0Madame, Monsieur,\u00a0\u00bb ) qui quelque fois ne correspondent pas \u00e0 la situation.<\/li>\n<li>On aura des cas incorrectes mais une plateforme s&rsquo;en chargera et peut-\u00eatre pas de la mani\u00e8re la plus optimal<\/li>\n<\/ul>\n<p>J&rsquo;admet qu&rsquo;en tant que client ces choix m&rsquo;exasp\u00e8re quelquefois mais souvent le probl\u00e8me se r\u00e9sout.<\/p>\n<p>Je crois que le grosse r\u00e9volution de l&rsquo;informatique est en cours : les SI ne garantisse pas 0% de taux d&rsquo;erreur. Au contraire, ils garantissent m\u00eame qu&rsquo;il y en aura.<\/p>\n<h2>R\u00e9sumons<\/h2>\n<p>Pour un SI parfait\u00a0<strong>aujourd&rsquo;hui<\/strong> il faut au moins :<\/p>\n<ul>\n<li>Faire des solutions distinctes par support (la m\u00eame pour tous \u00ab\u00a0en attendant\u00a0\u00bb peut s\u2019av\u00e9rer catastrophique).<\/li>\n<li>Se pr\u00e9parer \u00e0 recevoir des informations tr\u00e8s vari\u00e9es au fur et \u00e0 mesure. Et se pr\u00e9parer \u00e0 les restituer (Le BigData !)<\/li>\n<li>Tordre les mentalit\u00e9s pour accepter d&rsquo;adapter le besoin aux support.<\/li>\n<li>Satisfaire aujourd&rsquo;hui le besoin par une solution full WEB (HTML5, Css, Javascript et API, Node.js). Communiquer en XML ou en JSON.<\/li>\n<li>Trouver l&rsquo;environnement de d\u00e9veloppement id\u00e9al qui traite le HTML5, le javascript, le Css, le XML, le JSON et fait respecter les normes !<\/li>\n<li>S&rsquo;appuyer sur les normes d&rsquo;origine du WEB, fonctionner en IPv4 et IPv6.<\/li>\n<li>Int\u00e9grer les normes de s\u00e9curit\u00e9 sans trop de rigidit\u00e9s (je sens que \u00e7a va encore bouger)<\/li>\n<li>Cr\u00e9er des modules de SI et non un SI \u00e0 l&rsquo;image des Apps.<\/li>\n<li>Essayer de d\u00e9velopper sa propre interface\u00a0d\u2019acc\u00e8s au donn\u00e9es au moins pour Oracle, SQLServer et MySQL (ou la solution\u00a0du client).<\/li>\n<\/ul>\n<p>Il y a bien encore quelque points cl\u00e9s que ne vois \u00e9voqu\u00e9s nulle part mais je les gardent pour moi. Vous pourrez les lires\u00a0dans mon interview dans Forbes&#8230;ou le \u00ab\u00a0Monde Informatique\u00a0\u00bb quand ces points trait\u00e9 par mon parfait SI m&rsquo;auront rendu c\u00e9l\u00e8bre. Sinon, c&rsquo;est\u00a0que ces points cl\u00e9s ne font finalement pas tant la diff\u00e9rence.<\/p>\n<p>Mais aujourd&rsquo;hui, restons humble\u00a0: si votre SI n&rsquo;est que <strong>presque parfait<\/strong>, c&rsquo;est qu&rsquo;il dispose d&rsquo;une petite cicatrice\u00a0o\u00f9 les mesures d&rsquo;exceptions vont se multiplier et v\u00e9roler le reste.<\/p>\n<p>Mais <strong>demain<\/strong> une r\u00e9volution nous donnera les moyens de recommencer et cette fois ce sera <strong>parfait<\/strong>.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Toujours mieux C&rsquo;est finalement la conclusion de mes vaines courses apr\u00e8s le syst\u00e8me d&rsquo;information parfait o\u00f9 l&rsquo;information est parfaitement rang\u00e9e et en fait se range d&rsquo;elle m\u00eame sans aucun effort. A\u00a0force de continuellement explorer le nouvel outil sympa mais qui s&rsquo;appuie sur une norme compliqu\u00e9e. Puis finalement une norme \u00a0parfaite appara\u00eet et aucun n&rsquo;outil ne &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.chezpiotr.com\/wordpress\/philososi\/reflexes-si\/perfect-si\/\" class=\"more-link\">Continuer la lecture<span class=\"screen-reader-text\"> de &laquo;&nbsp;Le SI parfait est pour demain&#8230;chaque jour&nbsp;&raquo;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":432,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[32],"tags":[],"_links":{"self":[{"href":"https:\/\/www.chezpiotr.com\/wordpress\/wp-json\/wp\/v2\/posts\/1"}],"collection":[{"href":"https:\/\/www.chezpiotr.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.chezpiotr.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.chezpiotr.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.chezpiotr.com\/wordpress\/wp-json\/wp\/v2\/comments?post=1"}],"version-history":[{"count":20,"href":"https:\/\/www.chezpiotr.com\/wordpress\/wp-json\/wp\/v2\/posts\/1\/revisions"}],"predecessor-version":[{"id":451,"href":"https:\/\/www.chezpiotr.com\/wordpress\/wp-json\/wp\/v2\/posts\/1\/revisions\/451"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.chezpiotr.com\/wordpress\/wp-json\/wp\/v2\/media\/432"}],"wp:attachment":[{"href":"https:\/\/www.chezpiotr.com\/wordpress\/wp-json\/wp\/v2\/media?parent=1"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.chezpiotr.com\/wordpress\/wp-json\/wp\/v2\/categories?post=1"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.chezpiotr.com\/wordpress\/wp-json\/wp\/v2\/tags?post=1"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}