Player linéaire de composition musicale

Pour composer de façon linéaire avec les notations simples et linéaires, j’ai ouvert le code source du projet suivant :

Right Hand Hydratation

https://sourceforge.net/projects/righthandhydratation/

Voici la correspondance utilisée dans la version

L’architecure présente la prise en charge de la transformation d’un répertoire de textes au format HTML vers un format ‘jouable’ linéaire.

Et une autre classe qui permet de jouer un fichier linéaire à l’aide du dictionnaire de notes modifiable à souhait.

Architecture

Auteur: Tiaray RAFARALAHITSIMBA

Valeur d’une donnée médicale du point de vue informaticien

L’âge d’or de la non valeur?

On parle de valeur sur ce que la donnée rapporte mais on peut aussi en parler sur ce que la donnée ne rapporte pas.La connaissance d’une donnée peut retrancher un revenu, entraver l’accès à une assurance, limiter l’accès aux soins, freiner l’accès à un emploi, bloquer un concurrent… Ce qui revient au problème d’un boeuf qui tombe dans un trou le jour du Sabbat. Il faut savoir qu’un boeuf dans le Sud de Madagascar est un salaire annuel.
Toutefois lorsque la donnée s’achète et se vend avec le système d’alimentation et de restitution avec une valeur ajoutée, elle a de la valeur.

Cas et exemple

En s’inspirant de la construction d’un site emploi, d’un site e-commerce et de jsph.fr, je vais expliquer ici ce qu’un informaticien fait dans son processus de traitement des données dans le cas, par exemple, de création d’un progiciel ou d’un service dématérialisé sur un cloud hébergé dans un Datacenter.

Imaginons le cas de construction d’un logiciel L médical de stockage d’information de santé accessible par un site web hébergés chez un hébergeur H qui utilise des datacenters D1 et D2 quelque parts dans le monde.
Pourquoi deux Datacenter au moins, c’est pour la continuité de service. En effet on bascule sur le Datacenter D2 en cas de problème
technique sur le Datacenter D1.
Nous appellerons ce système SI.

Il est évident que dans la réalité, le logiciel L est ‘clusterisé’ ie répliqué plusieurs fois en L1,L2,L3,..chez des hébergeurs H1,H2,.. sur des Datacenter D1,D2,D3,…
Au sein du même Datacenter une réplication au mieux à la vitesse de la lumière en fibre optique existe.

Mais pour comprendre ce que fait un informaticien on simplifiera ce Sytème d’information nommé SI avec le logiciel L chez un Datacenter D1 et D2 hébergé chez H.Espérant que ceci permettra de nourrir les réflexions sur le NTIC en général.

Le cahier des charges

Un logiciel d’accès aux données santé en ligne sécurisé selon la norme N.

Phase de planification et budget

    On planifie les phases du projet avec le budget et les choix technologiques.
    Le projet se décline en trois selon :

  • La partie accessible aux clients (Patients et professions médicales)
  • La partie accessible aux professionnels en interne (hotline du logiciel L de l’entreprise distributrice)
  • La partie accessible aux techniciens, support et informaticiens (support technique, maintenance,… du logiciel L)
  • Retenez bien ces trois facettes du logiciel L sur les risques de confidentialité sur les cycles de maintenance qu’on va décrire plus loin.

Phase d’architecture

    J’aborde personnellement ce genre de projet sur le pattern MVC, Modèle, Vue, Contrôleur en orienté Objet

  • Le Modèle étant l’arborescence des objets à manipuler (Patients, Pathologie, Mutuelle,…)
  • La Vue étant la projection sur une interface graphique de ces objets. En gros les pages Web.
  • Le Contrôleur les règles métiers qui régissent la manipulation du modèle.Ce sont les messages d’erreurs, les listes réduites proposées,…

    Tout d’abord on va modéliser les données sous forme d’objets. Exemple l’objet Patient possède les champs noms, prénoms, adresse,…
    On modélise ensuite l’accès à ses données selon le modèle CRUD

  • Create-création
  • Read – lecture
  • Update- mis-à-jour
  • Delete- suppression
    De là découlent des fonctionnalités qui sont la liste, la recherche, le filtrage et la pagination.

  • Search – la loupe habituelle
  • List – le résultat de la recherche
  • Filter – le résultat de la recherche sur critère
  • Next, Previous, First Last, Page n°x – les fonctionnalités page suivante, précédente, début et fin sur chaque liste

Exemple : on peut rechercher la liste de patients sur Paris dont le prénom commence par ….

Contrôleur

    On modélise en suite les règles qui contrôlent l’accès selon les normes internes en termes de Disponibilité, Confidentialité , Intégrité, Traçabilité ou Preuve.

  • Disponibilité : L’accès aux données
  • Confidentialité : le stockage des données en se branchant par ce qu’on appelle un projet d’intégration aux habilitations des personnes.
  • Intégrité : qualité de la signature des données qui transitent essentiellement
  • Traçabilité et Preuve : L’archivage des actions sur les données pour investigation ultérieure
  • Exemple de contrôle: Le patient p qui vient de contracter et qui vient de se rétracter aura ses données conservées jusqu’à x jours avec un courriel de notification à envoyer dans y jours sauf s’ils’est rétracté au bout de z jours..

Batchs

On met en place des processus parallèles au logiciel L de purge et de mis-à-jour en masse selon la législation sur la durée de conservation des données.On modélise aussi le modèle architectural du logiciel L selon la norme N.

Exemple: Le nom et prénoms sont à caractères personnels ils doivent être cryptés en base de données.

A ce stade on ne manipule pas de données personnelles mais leur contenant.

Construction et Test

En suite vient la phase de développement, test, recette et mise en production.

Généralement pendant le développement (ou programmation ou codage) jusqu’à la mise en production on utilise des jeux de données fictives.Et en pleine confiance on teste sur les propres données de l’équipe.Pour des raisons de marge il faut coder vite et bien. Retenez qu’en société c’est la marge ou la mort.La pression et la qualité lors de cette phase conditionnent le nombre d’anomalies plus tard.

Pour répondre à la norme N, il existe une phase adéquate. Là encore, des points de vigilance sont levés et corrigés de façon proactive.
La difficulté est de suivre une norme en se projetant dans le futur sur son utilisation.

La mise en production.

A partir de cette phase des données réelles s’insèrent dans le système. c’est livré!

Exploitation

A partir de là les équipes de support, de gestion d’incidents entrent en jeux selon les trois facettes du logiciel L décrits plus haut.

Les premières anomalies arrivent avec des données réelles en externe, interne et sur les outils de supports. Toujours trois facettes de L.
Pour reproduire les cas d’erreurs, l’informaticien se sert d’un système qui est la réplique de la production. C’est là qu’il y a un premier souci.
A ce stade les acteurs internes voient transiter de façon crypté ou pas des données médicales.

C’est sur le processus de réplique qu’ on trouve des données personnelles transitant de la production vers le système de copie.
On fait alors appel à des logiciels d’anonymisation des données en pointant les données à anonymiser parmi celles qui ne doivent pas l’être. Toutefois des règles d’intégrité sur les numéros de carte bleu, siret,et autres… doivent être désactivables et désactivées si cela a été conçu.

Si les données sensibles sont cryptées de façon applicative , c’est-à-dire que le cryptage a été codé à la main lors du développement,
cela ajoute beaucoup plus de sécurité et de confidentialité à l’intérieur du SI et à plus forte raison à l’extérieur.

De plus les Datacenter D1 et D2 répliqueraient aussi à l’identique le système SI avec une fréquence convenue dans les contrats et un niveau de confidentialité, de disponibilité si convenus.

(Parenthèse) Il y a un point de vigilance lors de ces réplications sur ce qui arrive aux disques remplacés chez H sur D1 et D2.
A vérifier si les Datacenters garantissent la confidentialité des disques ayant fait l’objet de maintenance auprès de leurs transitifs fournisseurs de service de maintenance hardware. Le cloud, ce sont des solutions d’hébergements sur machine virtuelle permettant de garantir le cryptage des disques. Une machine virtuelle est un logiciel qui simule une machine physique. Cela permet d’avoir des machines hétérogènes à des niveaux de version différents sur une machine physique. On bénéficie d’ émulateur de cryptage physique de stockage sur une machine virtuelle qui est un logiciel.

(Parenthèse) Il y a un point de vigilance à noter sur la réplication des machine virtuelles.

Utilisation et cycle de résolution

Le logiciel L est en production, prenons l’exemple de l’internaute client qui souscrit. Pour visualiser le cycle de traitement d’une anomalie avec des cas extrêmes.

L’utilisateur va utiliser un navigateur WEB. Le navigateur web est un logiciel ayant ses propres connections avec son fournisseur, autre, qui peut intercepter, au mieux qualifier vos actions, vos gestes au niveau de la souris,…des outils analytiques scrutent le pointeur.
On va utiliser donc un logiciel externe le navigateur (ie, firefox, chrome,…) pour se connecter aux services en ligne du logiciel L. l’utilisateur, par exemple, va entrer ces préférences de paiement avec peut être la carte bleue.
Des incidents peuvent survenir et être traité par l’équipe support sur les moyens de paiement par exemple.
Selon la difficulté de l’incident, il faudra rejouer la transaction pour reproduire l’anomalie avec le numéro de carte du patient avec le navigateur qu’il a utilisé et la version de son ordinateur.
Dans les même conditions.Même si le système est crypté de bout en bout, rien ne protège d’une trahison interne. Ce cas volontairement exagéré d’anomalie côté utilisateur illustre les risques de confidentialité impactant les divers acteurs.

Protocoles sécurisés

Les protocoles de sécurité d’accès https, ssh freinent l’accès en clair aux données.
Là, la force du cryptage est fonction du prix des certificats.
Un renforcement par cryptage applicatif ,dans le codage du produit L, couplé à la surveillance humaine métier, compétence à la fois technique mais aussi médicale, dans ce cas, pour qualifier la valeur d’une donnée ,faisant l’objet d’une fuite de confidentialité, est une solution.

Le Big Data

Dès que les données sont ainsi informatisées, ils sont « bigifiables ».
Avec très peu de coût les API (interface d’application) Big Data collectent les données, ils sont alors ‘exposable’ pour analyse, transformation, restitution sous forme de graphes, tableaux et autres à ceux qui les achètent. (J’ai écrit un article sur la difficulté de supprimer une donnée indexée par un moteur de recherche).

Responsabilités sémantiques

    Trois interventions humaines en amont seraient déterminantes pour la confidentialité Big Data:

  • Intervention humaine 1
    Une intervention humaine pour modéliser les meta-règles (comprendre les règles de règles ) qui qualifient et donne une signification à ces données médicales et les placent dans des briques et domaines prédéfinis que l’informaticien ne maîtriserait pas.
  • Intervention humaine 2
    Une intervention humaine pour pondérer deux données similaires. En informatique, il faut savoir que si vous donnez une note à deux données cela permet de noter n données par le système d’arbre binaire
    ou chaque branche dispose récursivement de deux branches avec par exemple un algorithme de pondération de type gradiant où la note ou le poids diminue en s’éloignant de son impact et augmente si intersection comme les vagues de la mer. Et c’est redoutable.
  • Intervention humaine 3
    Il est vrai que cette pondération automatisé peut s’avérer fausse, mais des interventions humaines successives pour corriger les notes, poids et valeurs perfectionnent le système qui peut apprendre via l’intelligence artificielle des Big Data. Il ne faut pas sous-estimer la puissance d’un réseau neuronal. A la fin, le système ne commet plus d’erreur sur les éléments similaires avec lesquels on l’a alimenté. Se forme alors une agence de notation sur la base du volontariat: nous tous.

Parabole

Ce SI est semblable à un vélo qu’on fixe à un poteau publicitaire, avec sa chaîne métallique, servant d’antivol. Et le voleur peut partir avec le sol, le trottoir le panneau publicitaire tout le L, H, D1,D2, maintenant que vous êtes imprégnés des noms de variables.

Comment fait-on?

-1 Cacher l’information que c’est un vélo sous une bâche : enlever les moyens de donner une signification à la donnée par la cryptographie. Et pour palier à la limite légale de 512 bits; pouvoir changer les clés et la nature des algorithmes de façon rotative et automatique.

-2 Choisir un point fixe inamovible d’attache du vélo : ne pas mettre sur le nuage le service de déploiement, de démarrage et d’authentification de l’application L, mais sur un ordinateur physique aux interfaces obscurs.

-3 Attacher les parties du vélo les unes entre elles: donner un moyen de signatures électroniques aux divers composants du logiciel L pour que son fonctionnement soit conditionné à l’intégrité de l’ensemble.

Je préconise un renforcement des chiffrements applicatifs dans le noyau même du logiciel L de façon non normalisé, sûrement en transfert de savoir-faire.
Avec comme point fixe un démarrage par une authentification forte à partir d’un ordinateur fixe et signé et clé USB, non normalisés.

contactez-moi ici
Tiaray RAFARALAHITSIMBA Ingénieur Conseil

Interface de test des clefs

6-summary
J’ai codé une interface graphique au dessus de la libraire de chiffrement Easy tea crypt Lib. Il permet de tester unitairement la qualité des clés publiques et privées.

Ouverture
Ouverture

En fournissants les bonnes clefs on peut jouer sur l’interface à l’aide des boutons

1-crypt
1-crypt
et 4-texte-clair.
Cette interface est offerte avec la libraire contenant le crypto Système de Rabin et celle Rotative

5-retour

contactez-moi ici
Tiaray RAFARALAHITSIMBA Ingénieur Conseil

Impressions sur .NET 4.5.1

Voici les premières impressions bottom-up sur un Proof Of Concept MVC avec la technologie .NET 4.5.1.

  • La première surprise est de découvrir jquery 1.7.1 dont on a une garantie que cette version a été testé par les équipes Microsoft.L’idempotence de jquery est à contrôler à cause de sa capacité à générer du code à retardement via la méthode JavaScript setTimout. On peut tout à fait s’attendre qu’une faille de sécurité sur ce code en retard puisse être exploité. Je ne sais à ce jour si un Thread JQuery via l’interpréteur de JavaScript de chaque navigateur peut être stopé par un anti-virus.
  • La seconde surprise est la présence de deux couches de vue, une de présentation web et une ‘serviceable’ devant le modèle et le contrôleur. Je ne suis pas allé assez loin pour voir si le MVVC est efficace, étant freiné par le prix de la licence de Visual Studio et la lourdeur de la version community qui tue mon interpréteur Python.
  • Sauf erreur de ma part, ils ont oublié le delete car il y a bien List,Detail,Edit,Insert qui sont les équivalents du CREATE, READ, UPDATE. Ou bien il manque le projet Batch associé qui fait les mis-à-jour et suppressions en cacade laissant de la place budgétaire aux équipes.

Cliquez ici pour démarrer


Table des matières

Auteur:Tiaray RAFARALAHITSIMBA

Diapo 1
Diapo 2
Design time Ark of POC
Structure
.NET 4.5+ Global file


Vous voulez aussi des DAF et DAT bottom-up
contactez-moi ici
Tiaray RAFARALAHITSIMBA Ingénieur Conseil

Client/Serveur ipV6

Ceux qui ont été habitués à l’adresse ip sur 12 chiffres ne vont pas être surpris. L’impact syntaxique est minime. J’ai ouvert le code source d’un système client serveur sur l’URL suivant https://basebyomrishon.sourceforge.io le nom du projet BaseB Yom Rishon veut juste dire que c’est une base de nombres premiers. Yom Rishon veut dire dimanche dans le sens Samedi au coucher jusqu’au Dimanche au coucher cette définission du jour sera expliqué ultérieurement dans le cadre de matières premières en cryptographie.

Il se compose de trois projets Java pour NetBeans8.2 :

Serveur

Serveur https://sourceforge.net/p/basebyomrishon/code/ci/master/tree/Cnx/

Le serveur écoute sur un port et archive dans le répertoire temporaire serveur ce qu’il reçoit des clients

La commande pour lancer un serveur sur votre ordinateur écoutant sur le port TCP 7777 voici la commande

java -cp /home/o/yom1/code/Cnx/dist/Cnx.jar fr.businessintegrator.cnx.Server 7777

Client

Code du Client https://sourceforge.net/p/basebyomrishon/code/ci/master/tree/ClientCnx/

Pour se connecter au serveur d’adresse xxxx::203b:98ab:xxxx:e6a2 écoutant sur le port 7777 et pour envoyer un fichier fichier.txt voici la commande :

java -cp /home/o/yom1/code/ClientCnx/dist/ClientCnx.jar fr.businessintegrator.cnx.cli.Client xxxx::203b:98ab:xxxx:e6a2 7777 fichier.txt 


Big Data et Intelligence Artificielle pour le droit

Une première étude d’impact montrerait l’arrivée de dossiers volumineux générés en un seul clic qui impacterait la marge des professionnels de droit qui ne disposerait pas de système automatisé d’analyse et de prise en charge de la lecture de plusieurs Giga de pièces et conclusions reçues.

Le second impact serait le même problème de lecture de conclusions « Bigifiés » côté juge. Si vous lisez l’évangile il y a le cas d’une veuve qui obtient gain de cause en importunant un juge avec comme recommandation « demandez et vous recevrez ».
Ces termes peuvent convenir.
Pour des raisons d’équité et de droit à contredire sans être noyé par les flots « streams »,
je préconise un language graphique pour les professionnels de droit en sortie et en entrée des outils d’analyse fastidieuse qui propose des lignes, stocké crypté, comme ceci :

lignes
lignes

Si ce projet vous intéresse n’hésitez à investir d’une façon ou d’une autre sous forme d’idées, de cadrage (liste des données à intégrer) sachant que dessiner des petits carrés interactifs n’est pas difficile du point de vue technologique, le problème est à l’ ‘alimentation qualitatif’.
Qu’est ce que l’alimentation qualitatif?
Cela consiste à donner une signification dynamique à une donnée dans un contexte multi-dimensionnel : temps, espace , cadre juridique, pays,…etc

contactez-moi ici
Tiaray RAFARALAHITSIMBA Ingénieur Conseil

Big Data et collecte

Ayant à mis en place un prototype pour évaluer le moteur de recherche SOLR 5.0, j’ai pu constater que la collecte de document PDF était facile.
Cette phase d’indexation est automatique, mais il est très difficile de désindexer, de supprimer une donnée qu’on a alimentée.
Pour supprimer une donnée, il faut, à la collecte propager, un identifiant qui permet de retrouver le document, son contenu, ses enfants,…
Or ceci a un coût en architecture fonctionnelle pour un identifiant sémantique, en architecture technique pour les identifiants techniques, une sorte de clé primaire. Et bien sûr un coût en implémentation et stockage.
Lorsqu’on on choisit un moteur de recherche qui stocke des données en Big Data, il n’ y a pas d’intérêts économique à se priver de données en finançant la possibilité de supprimer les objets liés à un document.

Du coup ce qui est économiquement faisable c’est de stocker les données à supprimer en les qualifiant comme supprimées mais toujours accessibles avec un filtre applicatif du côté des accesseurs.

contactez-moi ici
Tiaray RAFARALAHITSIMBA Ingénieur Conseil

Tampons numériques

Avant de conclure des pièces numérotées peuvent être tamponées en trois clicks.
Plaise aux conseillères et conseillers et à leurs assitant(e)s.
Voici un exemple de la faisabilité d’un tampon sur un fichier image *.png.
Le procédé est automatisable à moindre coût par un batch en Java sur l’ensemble des fichiers images sélectionné en masse. C’est codé ce matin entre 8h et 10h 30 ,17 Mars 2017.
Dans cette vidéo l’interface ajoute un tampon en haut à gauche (upper left corner).
Le numéro de la pièce est dynamique 1 puis 100.
Code sources sur TamponneTout.java pour le tampon en masse incrémental.

Opération #digital_proofs_of_your_innocence
Vous voulez aussi développer tranquillement des composants Java
contactez-moi ici
Tiaray RAFARALAHITSIMBA Ingénieur Conseil

Longitude et latitude en javascript avancé

Voici une des demo qooxdoo auquel j’ai ajouté les champs de saisie des longitudes et latitude dont vous pouvez voir en ligne le résultat sur http://tea-crypt.com/wp-content/uploads/2017/02/index.html

Pour le mettre en ligne il suffit de uploader le répertoire francistonner\build-indigo et de faire pointer par redirection votre url dans mon cas francistonner.fr sur le fichier index.html. Il s’agit d’une technologie ayant besoin que d’une seule page pour contenir la carte du monde entier.


Le répertoire du code source est en vente avec livraison par téléchargement pour 24 EUROS sous le libellé Carte Longitude Latitude Javascript.
Le transfert de savoir faire pour compiler le code est à demander par devis à tiaray@businessintegrator.fr côté conseil IT car l’environnement de développement dépend de votre architecture cible.


mail de livraison