3/05/2014

Système personnel et collaboratif


Qu'est-ce que c'est ?

Le système d'information personnel doit permettre de stocker et de manipuler son information en toute sécurité et en toute liberté. Il doit être léger et mobile en se présentant sous la forme d'un boitier de type NanoPC. Il doit être modulaire et fabriqué à l'aide de matériels et de logiciels libres et open source. Il doit proposer une unité de stockage et de traitement sécurisés, des facilités de communication, la gestion de l'internet des objets. Il doit offrir un accès sécurisé pour les smartphones, tablettes ou tout autre dispositif électronique muni de capacités HTTPS ou SSH. Sa construction et son utilisation doivent être ouvertes à tous et documentées de bout en bout dans la langue de l'utilisateur.

Pour qui ?

Le système d'information personnel doit concourir à l'appropriation du numérique par les professionnel et les particuliers. Il doit offrir une réelle autonomie à tous les entrepreneurs ou les salariés qui souhaitent manipuler, organiser et traiter l'information de l'entreprise à partir de leur propre point de vue. Il doit répondre aux entreprises désireuses d'augmenter leur performance économique à travers une organisation agile et collaborative. Il doit répondre à tous les particuliers désireux d'apprendre à lire, écrire et compter l'information pour récupérer leur espace de liberté, la sécurité de leurs données, leur autonomie et leur capacité d'action au sein d'une société de plus en plus numérique.

A quoi ça sert ?

Le système d'information personnel doit permettre la pleine utilisation des facilités offertes par internet sans être obliger de passer par des plateformes tiers ou de logiciels propriétaires. Il doit sécuriser l'information, protéger la vie privée et lutter contre l'utilisation abusive des données à caractère personnel. Il doit permettre la création de scénarii pour stocker, échanger et partager ses informations privés en toute sécurité. Il doit rendre accessible la création, l'échange et le partage de processus personnels, de processus d'échanges ou de processus économiques. Il doit permettre la création d'architecture d'entreprise collaborative en étant le moins invasif possible vis à vis des systèmes d'information existants.

Comment ça marche ?

Le système d'information personnel doit permettre la création d'applications dans la langue de l'utilisateur. Les scénarii, les règles, les processus ou les algorithmes plus complexes doivent pouvoir être réalisés dans un langage de programmation de haut niveau et très simple. Il doit d'abord être réalisée en français puis très facilement déclinable dans d'autres langues. Un environnement de design et de développement complet devra être proposé au standard HTML5/CSS3 et embarqué sur le boitier.  

Combien ça coûte?

Le système d'information personnel ne doit pas excéder 100€. Le système d'exploitation et tous les logiciels devront être libres et gratuits. Les services d'accompagnement, de formation, de support, de gouvernance, de conformité, de qualité ou de virtualisation devront être payants pour les entreprises.

Quels sont les avantages ?

  • Sécurité pour l’entreprise et le particulier
  • Liberté pour créer de nouveaux usages
  • Mobilité pour le personnel de l'entreprise
  • Autonomie pour optimiser les processus métier
  • Maîtrise de l'internet des objets

La réponse

La solution retenue propose un système d'information personnel architecturé en réseau pair à pair et reposant sur trois piliers principaux :
  • un rapport interactif et sécurisé à l'information en correspondant mieux à la mécanique, au rythme et à l'échelle des organisations collaboratives et des êtres humains.
  • une bonne unité d’œuvre pour construire ou urbaniser des systèmes d'information d'organisations agiles, performantes et ouvertes sur leur écosystème.
  • la solution est libre, gratuite et documentée. L'approche «do it yourself - DIY » doit permettre à chacun de le fabriquer chez-soi ou dans un FabLab pour une réelle appropriation du numérique.
  • La solution facilite l'économie collaborative à titre individuel. Elle offre la capacité de mettre en place des groupes pour effectuer des achats groupés, des échanges de biens ou de services ou de la location entre particulier.


Des matériels libres


NomCommentaireLien

Les Nano-Ordinateurs sélectionnés

OLinuxIno
OLINUXINO est un nano-ordinateur Open Source et Open Hardware à architecture ARM et à un coût s d'environ 30 €. Il est capable de fonctionner à -25 +85 C.

Raspberry Pi
Raspberry Pi est un nano-ordinateur ouvert à un large public mais n'est pas complètement open source. Cependant, il peut faciliter la mise en place de prototype car il dispose d'une large communauté et de tutoriels riches et nombreux.

MinnowBoard
MinnowBoard est le premier nano-ordinateur proposé par Intel sur l’architecture x86 en Open Source. Il est équipé d’un processeur Intel Atom E640 cadencé à 1GHz.

BeagleBoard
BeagleBoard est un matériel libre produit par Texas Instruments en collaboration avec Digi-Key. La BeagleBoard a également été conçue en ayant à l'esprit le développement de logiciels open source.


Quelques options utiles sélectionnées

Disque DurLe disque dur de type SATA-HDD-2.5-500GB.

Point de vue
Caméra
Un module IP/PTZ ou le module caméra PiNoir pour Raspberry Pi.

MK802-Linux
Le MK802-3 est un mini ordinateur facilement intégrable à une TV muni d'un port HDMI.

Point de vue
Arduino
Arduino est un circuit imprimé en matériel libre sur lequel se trouve un microcontrôleur qui peut être programmé de manière à effectuer des tâches très diverses comme la domotique.

GSM/GPRS
SIM900 GSM/GPRS est un module électronique additionnel  pour gérer les télécommunication.

RFID/NFC
RFID 13.56 MHz est un module électronique additionnel pour lire des tags RFID et d'interagir avec des dispositifs NFC.


Quelques exemples réalisés par des particuliers

TabletteFabriquer soi-même une tablette tactile.
BoitierRéaliser soi-même le boitier à l'aide d'une imprimante 3D.
RobotFabriquer soi-même un robot domestique.
VOIP - PABXFabriquer soi-même son PABX domestique.
Caméra Fabriquer soi-même une une caméra de surveillance vidéo.
TélésurveillanceFabriquer soi-même une centrale de télésurveillance
NASFabriquer soi-même un serveur réseau partagé
......





Un système d'exploitation libre et sécurisé



Système GNU/Linux


Une distribution spécifique et dédiée a été construite pour le système d'information personnel.
La réalisation a débuté en Janvier 2012 et est maintenue dans le cadre d'une l'initiative visant à promouvoir l'économie collaborative et qui se nome "Comme Un Olivier".
La distribution se nome CUOLinux.

NomCommentaireLangage
BuildRoot  2013.11Buildroot est un outil de construction de systèmes GNU/Linux embarqués.
BusyBox 1.22.1BusyBox est une version allégée des utilitaires UNIX.
Linux 2.6.18Noyau linux de base.Langage C
LVM2LVM2 permet de gérer les partition logiques et le cryptage du disque en mode simple ou en RAID. .Langage C
Glib 2.13.4Glib fournit une librairie qui fournit les fonctions et les interfaces de base pour la manipulation des données structurées.Langage C
Libusb 0.1.8LibUsb fournit une librairie qui fournit des facilités pour manipuler les drivers USB.Langage C
IpTables 1.3.6IpTable fournit un pare feu en charge de la protection du système et de la stratégie de sécurité.Langage C
libmicrohttpd 0.9.17 LibMicroHttpd est une libraire simple, légère et rapide pour les développement web.Langage C
libgcrypt 1.6.0Libgcrypt est une bibliothèque cryptographique d'usage général basée sur le code de GnuPG.Langage C
GnuTLS 3.2.11GnuTLS fournit une bibliothèque de communication sécurisée pour les protocoles SSL, TLS et DTLS. Langage C
OpenSSL 1.0.1OpenSSL fournit une bibliothèque de communication sécurisée nécessaire à certains packages. Langage C
OpenSSH 6.4OpenSSH chiffre le trafic réseau de façon à déjouer les écoutes, les prises de contrôle de connexion et autres attaques réseaux.Langage C
OpenLDAP 2.3.27OpenLDAP fournit une implémentation open source du Protocole Lightweight Directory Access.Langage C
zlib 1.2.8Zlib fournit une bibliothèque logicielle de compression de données.Langage C
Libxml2-2.6.26LibXml2 fournit une bibliothèque logicielle de manipulation de fichiers XML.Langage C
LibNFC 1.7.1LibNFC fournit une bibliothèque logicielle de manipulation des technologies RFID et NFC.Langage C
LibLogicalAccessLibLogicalAccess est une alternative à LibNFC.Langage C
Boost 1.55Boost fournit une bibliothèque logicielle de fonctionnalités additionnelles et d’optimisation. Langage C
Open Z-WaveOpen Z-wave fournit une bibliothèque logicielle pour le protocole domotique Z-WAVE. Langage C



Les outils et les services de base


NomCommentaireLangage
GNUnet 0.10.0GNUnet fournit les technologies nécessaires à la construction d'un réseau chiffré P2P(pair à pair) entièrement libre. Langage C
FFmpeg 2.1FFmpeg fournit les technologies pour enregistrer, convertir et diffuser les formats audio et vidéo. Langage C
OpenVPN 2.3.2OpenVPN  fournit les services pour créer un réseau privé virtuel.Langage C
SIPWitch 1.8.7SIPWitch  fournit les services pour mettre en œuvre une solution VoIP pair à pair sans intermédiaire.Langage C
OpenSIPS 2.0OpenSIPS  fournit les services pour mettre en œuvre une solution VoIP.Langage C
PocketSphinx 0.8PocketSphinx fournit les services de reconnaissance vocale.Langage C
eSpeak 1.48eSpeak fournit les services de synthèse vocale.Langage C
GTK+ 3.11GTK fournit une boites à outils pour la réalisation d'interfaces graphiques. Langage C
WebKitGTK+ 2.2WebKitGTK fournit un moteur de rendu pour HTML basé sur les services GTK.Langage C
SQLite 3.8.3.1SQLite est un moteur de base de données SQL transactionnel.Langage C
R 3.0.3R est un langage de programmation pour traiter et organiser des grandes masses de données à l'aide d'une approche mathématique. Langage C
GNU Octave 3.8GNU Octave est une alternative au langage R.Langage C
Samba 3.6 
Samba est une suite pour l'interopérabilité de programmes Windows vers Linux.

Git 1.9.0Git fournit une boites à outils pour la gestion de projet et les évolutions de version des fichiers.Langage C


Les outils de développement et de test


NomCommentaire
SysML 1.2.23 SysML est un outils de modélisation pour les systèmes embarqués.

Gcc 4.8.2GCC est un compilateur C, C++, Objective C du projet GNU

qEmu 1.6.2qEmu permet de virtualiser des machines et des systèmes d'exploitation.

VirtualBox 4.3.8VirtualBox est une alternative à qEmu.

Eclipse 4.2Eclipse est un environnement de développement logiciel multilangage et multiplateforme.

Android SDK

Android SDK est l'environnement de développement dédié à Android pour le langage Java.

Android NDKAndroid SDK est l'environnement de développement dédié à Android pour le langage C/C++.


iPhone SDK

iPhone SDK est l'environnement de développement dédié à iOS pour le langage Objective C.
Splint 3.1.2

Splint est un logiciel libre qui permet d'analyser les code sources des applications réalisées.

OpenSTAOpenSTA est un logiciel qui permet de tester les performances et les capacité en charge des applications réalisées.

SNORT 2.9.4

Snort est un logiciel libre qui permet d'auditer et de réaliser des tests d'intrusion sur les système et les réseaux.

Wireshark 1.8.4Wireshark est un logiciel libre qui permet de superviser, d'auditer et de réaliser des tests d'intrusion.






Un cadre de travail



Un cadre de travail dédié au système d'information personnel est proposé

La réalisation a débuté en Janvier 2012 et est maintenue dans le cadre d'une initiative visant à promouvoir l'économie collaborative et qui se nome "Comme Un Olivier"(CUO). 
Le cadre de travail se nomme CUOFrameWork. Il est composé des modules suivants :
Le projet CUO(Comme Un Olivier) a pour vocation d'être libre et open source. Nous travaillons sur la documentation, les outils de publication et les spécificités concernant la mise en œuvre de la licence publique générale (GNU GPL). Notre objectif est d'ouvrir le projet le plus rapidement possible et au plus grand nombre afin de faciliter l'échange et le partage d'applications évoluées et collaboratives.


Un modèle de métadonnées - CUOMatrice


CUOMatrice est un modèle de données simple,  léger, persistant et adapté aux architectures distribuées de type pair à pair. Il est et orienté "transaction".  Il est architecturé autour d'entités polymorphes et dynamiques sur le plan métier. Il permet la création de son propre environnement d'information et facilite les mises en correspondance des données existantes(Data Mapping).
Après création, la matrice se présente sous la forme d'un répertoire qui porte son nom et contient :
  • le fichier source XML contenant l'ensemble des métadonnées du propriétaire
  • l'optimisation binaire de ce fichier XML avec l’extension ".XNB" dédié à CUOVm
  • un sous répertoire nommé SERVICE contenant les applications du propriétaire
  • un sous répertoire nommé DOCUMENT contenant les fichiers sécurisés du propriétaire
  • un sous répertoire nommé UTILISATEUR contenant les configurations des groupes et des invités
  • un sous répertoire nommé CORBEILLE dédiés aux échanges réseaux sécurisés 
  • un sous répertoire nommé RAPPORT dédiés aux audits et à la gouvernance
NomCommentaireLangage
Matrice
C'est le récipient de rang le plus élevé. Il contient l’ensemble des autres objets persistants ainsi que leur description comme les attributs, les opérations, les relations, les indexes, les règles, les agrégations, etc.

XML
Entité
Elle représente les acteurs comme les personnes morales, les personnes physiques ou les objets interactifs comme une maison, un entrepôt  ou un véhicule équipés de dispositifs électroniques communicants. Elle peut contenir des objets comme les critères, les états, la qualification déclarative et comportementale, etc.

XML
Ressource
Elle représente les objets susceptibles d'être utilisés ou échangés par les acteurs comme les produits, les articles, les documents, les contenus informationnels, etc. Elle peut contenir des objets comme la composition, le prix, le stock, etc.

XML
Transaction
Elle représente les interactions réalisées entre les acteurs comme un bon de commande, un événement domotique, une approbation, etc. Elle peut contenir des objets comme un message, une entête ou un pied de commande, un état de situation, un rapport, etc.

XML
Programme
Il représente le story-board de la gestion des processus métier, des processus d'échanges ou de collaboration. Il peut contenir des objets comme les scénarii, les règles, les événements, les APIs, les audits, les références, etc.

XML
Application
Elle représente les instructions réalisées en langage évolué CUOBasique. Elle peut contenir des objets comme le design d'interface homme machine, les événements, les opérations, les variables, etc.

XML
Utilisateur
Il représente le compte et les préférences pour l'utilisateur du système d'information personnel. Il peut contenir des objets comme les groupes, les droits,  le niveau de sécurité, etc.

XML
Configuration
Elle représente les spécification de déploiement et d'exécution du système d'information personnel. Elle peut contenir des objets comme le serveur, l'agent, le pilote, le réseau, la stratégie de sécurité, etc.

XML
ModèleIl représente des modèles de matrice informationnelles facilitant l’installation et l'initialisation du système :
  • matrice dédiée aux particuliers
  • matrice domotique dédiée aux particuliers
  • matrice business orientée consommateurs (B2C)
  • matrice business orientée entreprises (B2B)
  • matrice business orientée logistique (SCM)
  • matrice business orientée internet des objets (M2M)
  • matrice business domotique dédiée aux entreprises
XML





Une machine virtuelle - CUOVm


CUOVm est une machine virtuelle simple,  légère et multiplateforme. Elle prend en charge la compilation et l’exécution des applications réalisées en CUOBasique. Elle est portable sur les environnements UNIX, iOS, Androïd et Windows.

NomCommentaireLangage
Bibliothèques pour la gestion du système

CUOMoteur.cModule temps réel de l'ensemble de la VMLangage C
CUOSysEvt.cModule d’abstraction des événements du système réel.Langage C
CUOSysFio.cModule d’abstraction des entrées/sorties du système réel.Langage C
CUOSysData.cModule d’abstraction des données du système réel.Langage C
CUOSysOs.cModule d’abstraction des principales api du système réelLangage C
CUOSysMain.cModule de gestion de la machine virtuelle coté applicatifLangage C
CUOSysCpu.cModule d’exécution du code binaire des applicationsLangage C
CUOSysApi.cModule d’exécution des fonctions API des applicationsLangage C
CUOSysSpi.cModule d’exécution des fonctions système des applicationsLangage C
CUOSysXpi.cModule d’exécution des fonctions XML des applicationsLangage C



Bibliothèques pour la gestion des réseaux

CUOReseau.cModule d’abstraction des réseaux du système réel.Langage C
CUOdorsale.cPrimitives pour la synchronisation inter-CUOvm.Langage C
CUOhttp.cPrimitives pour le protocole HTTP.Langage C
CUOMisc.cPrimitives pour les protocoles les plus communs.Langage C
CUOIpTools.cBoites à outils facilitant la gestion des primitives réseauxLangage C
CUOIpCall.cPrimitives pour les appels sortantsLangage C
CUOIpRpc.cPrimitives pour la gestion des API distribuées.Langage C



Bibliothèques pour la gestion du serveur d'applications
CUOApps.cMoteur du serveur d'application.Langage C
CUOClasses.cModule pour la manipulation des structures de données.Langage C
CUOSynchro.cMoteur pour la synchronisation inter-CUOvm..Langage C
CUOOutils.cBoites à outils facilitant la gestion du serveur d'application.Langage C
CUOXml.cMoteur de gestion des binaires et de la mémoire pour XML.Langage C
CUOXQuery.cMoteur d'exécution des requêtes NoSQLLangage C
CUOXStat.cMoteur d'exécution des requêtes StatistiquesLangage C



Bibliothèques pour la gestion des interfaces graphiques
CUOGraphics.cBoite à outils pour les interfaces graphiques.Langage C
CUOGtk.cModule de gestion des interfaces GTK.Langage C
CUOWin.cModule de gestion des interfaces Windows.Langage C
CUOHtml.cModule de gestion des interfaces HTML.Langage C
CUOIhmTools.cBoite à outils pour les interfaces graphiques.Langage C
CUOIhmCbo.cPrimitives pour les objets graphiques dynamiques.Langage C
CUOIhmTree.cPrimitives pour les objets graphiques arborescent.Langage C
CUOIhmStyle.cPrimitives pour la gestion des styles CSS.Langage C
CUOIhmJs.jsLibrairie d'objets dédiés à HTML5JavaScript



Bibliothèques pour la sécurité
CUOSecure.cModule de gestion des stratégies de sécuritéLangage C
CUOSecLib.cModule d’abstraction des APIs externes de sécurité .Langage C
CUOSecTools.cBoite à outils pour les processus de sécurité.Langage C
CUOSecCrypto.cPrimitives pour les protocoles de cryptographie.Langage C



Bibliothèques pour le compilateur d'applications réalisées en  CUObasique
CUOBasic.cMoteur de compilation et d'édition de liensLangage C
CUOBasLex.cAnalyse syntaxique du langage CUOBasiqueLangage C
CUOBasDef.cModule de gestion des définitions externes.Langage C
CUOBasApi.cModule de gestion des fonctions externes.Langage C
CUOBasVar.cModule de gestion des variablesLangage C
CUOBasObj.cModule de gestion des objetsLangage C
CUOBasCode.cModule pour la génération du code binaireLangage C
CUOBasXML.cModule pour la gestion de projetLangage C



Bibliothèques pour le débogueur d'applications réalisées en CUObasique
CUODebug.cMoteur de débogue pas à pas.Langage C
CUODebugIhm.cInterface homme/machine pour le débogeur.Langage C



Bibliothèques pour la gestion des algorithmes génétiques
CUOGeneAPI.cPrimitives pour la gestion des algorithmes génétiques.Langage C
CUOGeneBot.cMoteur pour l’évaluation et l'apprentissage.Langage C



Bibliothèques complémentaires
CUOBot.cRobot d’indexation pour les données internes et externes.Langage C
CUOGeo.cPrimitives pour le calcul et les projections géographiques.Langage C
CUOODBC.cPrimitives pour le protocole ODBC.Langage C
CUOdotnet.cPrimitives pour les protocoles DCOM/COM.Langage C
CUOLibExt.cPrimitives d'encapsulation pour les librairies externes.Langage C




Un langage de programmation évolué - CUOBasique


Ce langage se nome CUOBasique et correspond à une syntaxe simple, légère et accessible.
La conception a été réalisée pour la langue française.
Ce langage permet de simplifier la création de jeux d'instructions pour faciliter la manipulation de l'information numérique et la création de processus d'échanges entre les utilisateurs.

CommentaireLien
Déclaration des jeux d'instructionsFonction
Déclaration des variablesVariable
Syntaxe de base pour la réalisation des jeux d'instructionsSyntaxe
Définition des interfaces homme machineGraphisme
Gestion et manipulation de l'informationInformation



Des exemples de modèles d'applications - CUOModèle


CUOModèle regroupe un ensemble de modèle d'applications visant à faciliter la création d'applications.
Chaque application se présente sous la forme d'un répertoire qui porte son nom. Ce dernier réside dans le répertoire SERVICE de la matrice du propriétaire :
  • un sous répertoire nommé BIN contenant les fichiers binaires exécutables pour la machine virtuelle
  • un sous répertoire nommé DONNÉE contenant les fichiers ressources (images, sons, vidéos, etc)
  • un sous répertoire nommé SCRIPT contenant les fichiers sources CUOBasique
  • un sous répertoire nommé TEMP contenant les fichiers temporaires de travail
NomCommentaireLangage
COMMENCERModèle d'application pour réaliser une première prise en mainCUOBasique
BUREAUModèle d'application pour réaliser un bureau personnelCUOBasique
AGENDAModèle d'application pour réaliser un Agenda partagéCUOBasique
COMMANDEModèle d'application pour réaliser une gestion de commandeCUOBasique
RAPPORTModèle d'application pour réaliser des rapports personnalisésCUOBasique
MISSIONModèle d'application pour réaliser une gestion de missionCUOBasique
IMPORTModèle d'application pour importer des fichiers ExcelCUOBasique
COURRIELModèle d'application pour réaliser une messagerieCUOBasique
RECHERCHEModèle d'application pour réaliser une moteur de rechercheCUOBasique
CONRESTModèle de connecteur respectant le protocole RESTCUOBasique
CONSOAPModèle de connecteur respectant le protocole SOAP/WSDLCUOBasique
FLOTTEM2MModèle d'application de géolocalisation de véhiculesCUOBasique
.........

Des exemples d'applications - CUOApps


CUOApps est le terme générique pour définir les applications dédiées à la machine virtuelle CUOVm.
Chaque application se présente sous la forme répertoire qui porte son nom. Ce dernier réside dans le répertoire SERVICE de la matrice du propriétaire :
  • un sous répertoire nommé BIN contenant les fichiers binaires exécutables pour la machine virtuelle
  • un sous répertoire nommé DONNÉE contenant les fichiers ressources (images, sons, vidéos, etc)
  • un sous répertoire nommé SCRIPT contenant les fichiers sources CUOBasique et XML
  • un sous répertoire nommé TEMP contenant les fichiers temporaires de travail
NomCommentaireLangage
PersoApps
Cette Application permet d'unifier et de sécuriser ses données en construisant sa matrice informationnelle à partir des comptes de ses réseaux sociaux, de ses courriels et de ses blogs.  Elle s'appuie sur les APIs proposées par Facebook, Twitter, Google, Linkedin, Viadéo, Tumblr, etc. 
Elle propose la gestion de ses flux, de ses contacts, de ses documents, de ses photos ou de ses vidéos en une interface homme machine unifiée. 
Elle permet la création de scénario pour les alertes et les tâches automatiques comme par exemple le filtrage du mur d'événements pour créer des réponses spécifiques ou des analyses statistiques personnalisées.

CUOBasique
NasApps
Cette application propose un système simple de stockage centralisé et sécurisé accessible par le réseau IP. Elle permet de servir des environnements hétérogènes comme les machines Windows, les caméras IP ou les imprimantes. Elle propose un agencement simplifié des fichiers et une configuration des niveaux de cryptage et des sécurités d'accès.
Elle permet la création de scénarios pour les alertes et les tâches automatiques comme par exemple le partage de fichiers sur plage horaire soumis à des conditions d'accès à distances personnalisées.

CUOBasique
TvApps

Cette application permet de créer son propre contenu télévisuel ou radiophonique. Elle s'appuie sur les chaines de TV et de radio libres et gratuites qui produisent un flux continu(Streaming) et en direct.
Interfacée avec un écran de télévision possédant un port HDMI, elle propose une expérience télévisuelle personnalisée.
Elle permet la création de scénarios pour les alertes et les tâches automatiques comme par exemple l'enregistrement de programme pour une utilisation privée.
Elle permet d’agréger ses propres contenus issues par exemple d'une caméra de télésurveillance ou de plateformes tiers comme YouTube ou Dailymotion.

CUOBasique
DomoApps

Cette application est un serveur domotique sécurisé. Elle permet d'intégrer les objets électroniques et les capteurs compatibles avec les protocoles ZigBee ou Z-Wave comme l'éclairage, le chauffage ou les serrures électroniques.
Elle propose un tableau de bord en temps réel et des interfaces de pilotage simplifiées.
Elle permet la création de scénarios pour les alertes et les tâches automatiques comme par exemple la gestion de la température sur des plages horaires.

CUOBasique
ProjetApps

Cette application propose une gestion de projet collaborative. Elle permet de gérer les personnes, les tâches, les dates, les ressources et les livrables.
Elle s'appuie sur un agenda partagé et peut s'interfacer avec des agenda tiers comme par exemple OutLook ou Google Agenda.
Elle permet la création de scénarios pour les alertes et les tâches automatiques comme par exemple pour signaler ou rappeler les tâches arrivées à échéance.

CUOBasique
ERPApps

Cette application propose un outil de gouvernance pour la gestion d'entreprise. Elle permet une gouvernance des processus de gestion commerciale, de comptabilité, de paie, de production ou de logistique. 
Elle est appuyée sur un connecteur encapsulant le logiciel libre et open source OpenERP.
Elle propose un tableau de bord et un pilotage simplifié des processus collaboratifs inter-entreprises.
Elle permet la création de scénarios pour les alertes et les tâches automatiques comme par exemple les rapports sur les indicateurs de suivi d'activités métier.

CUOBasique


Un studio de développement - CUOStudio


CUOStudio est un environnement de développement dédié à la modélisation et à la création d'applications pour le  langage CUOBasique. Il est accessible à travers les navigateur web respectant le standard HTML5 comme Firefox, Chrome ou Internet explorer. Il se présente comme un site web épuré, fonctionnel et simple d'utilisation.
Il propose un gestionnaire d'applications collaboratives, un gestionnaire de version ainsi qu'un espace de développement, de pré-production et de production.
Il est architecturé autour d'ateliers :
  • Atelier de modélisation pour créer des applications sans écrire de lignes d'instructions 
  • Atelier graphique pour créer des interfaces homme machine
  • Atelier applicatif pour créer des jeux d'instructions

NomCommentaireLangage
Atelier de modélisation

CurseurModule de création de diagrammes de séquences fonctionnelles mettant en scène des acteurs, des références, des règles, des données et des opérations(APIs).CUOBasique
RéférenceModule de création de récipients caractérisés par des attributs et des opérations encapsulant les objets structurés. CUOBasique
RègleModule de création  de conditions, de règles d'action, de règles de gestion ou de règles de calcul.CUOBasique
RequêteModule de création des conditions d'une sélection de données.CUOBasique
OpérationModule de création de récipient caractérisé par des attributs et des opérations encapsulant les APIs. CUOBasique
ÉvénementModule de création de gestionnaire d'événements.CUOBasique
AuditModule de création des contrôles d'anomalies, des rapports statistiques d’utilisation et des indicateurs déclaratifs ou comportementaux.CUOBasique



Atelier Graphique

DesignModule de design et mise en forme d'écrans graphiques interactifs. CUOBasique
PropriétésModule de gestion des propriétés associées aux écrans et aux objets graphiques.CUOBasique
ActionModule de gestion des actions et des événements associés aux écrans et aux objets graphiques.CUOBasique



Atelier applicatif et de débogue

ÉditeurModule de création des fonctions ou des routines (APIs).CUOBasique
AnalyseModule de gestion et de correction de la syntaxe.CUOBasique
MatriceModule de création de requêtes avancées.CUOBasique
DébogueurModule d’exécution pas à pas de l'application.CUOBasique





Un système de gestion de la qualité



La gestion de la qualité est une priorité pour toutes les organisations et leur écosystème. 
Un système de gestion de la qualité est avant tout un fournisseur de principes et de bonnes pratiques pour améliorer les performances de façon continue.
Le numérique est une activité transverse qui supporte les processus métier et qui concoure à leur amélioration. Les points de vigilance sont articulés autour :
  • La gestion des projets numériques
  • La conformité juridique de l'open source
  • La cybersécurité
  • La gouvernance
NomCommentaireLiens
La gestion des projets numériques


Approche
Un projet numérique est avant tout un projet de collaboration entre des personnes d'horizon, de cultures et de compétences différentes. Une formalisation simple structurant des idées claires et synthétiques est privilégiée. Ces marqueurs lisibles et accessibles à tous sont mis en action dans le cadre d'une approche itérative avec des jalons courts et tangibles.
Pour chaque itération :
  1. Cadrage, document qui synthétise la phase préparatoire contenant la formalisation des opportunités de marché, des besoins, de la faisabilité fonctionnelle et technique ainsi qu'un chiffrage concernant les ressources nécessaires, les coûts, les délais et les risques.
  2. Etudes, document qui synthétise la phase d'analyse des principaux cas d'utilisation et des chiffrages retenues au cours de la phase précédente. 
  3. Cahier des charges fonctionnel, document collaboratif et contractuel du projet pour les aspects fonctionnels.
  4. Cahier des charges techniques, document collaboratif et contractuel du projet pour les aspects techniques.
  5. Réalisation,  document collaboratif et contractuel de développement et de réalisation d'un prototype, de la preuve d'un concept ou de la mise en production.
Méthode
Nos choix se sont portés sur les méthodes agiles et les outils simple de gestion de projet collaboratif. Ils offrent une structuration itérative, collaborative et adaptative des cycles de développement. 
Ces approches répondent mieux à nos exigences :
  • Collaboration efficace de l'équipe projet
  • Intégration de l'écosystème (clients et fournisseurs)
  • Mise à disposition rapide
  • Evolution et changement rapide
RAD
Management
Les projets numériques et collaboratifs demande de l'implication et de la motivation à toutes les parties prenantes. Le responsable de projet est avant tout un médiateur qui s'inscrit dans une démarche de communication, de compréhension et de bonnes relations entre tous les acteurs pour donner la motricité nécessaire.

Formation

Approche
Nos choix se sont orientés vers la fondation linux. 
En effet, elle a lancé un programme de conformité à l'open source. Ce programme vise à simplifier la gestion de la compatibilité et de la conformité des licences utilisées :
  • Formation, un programme de formation et d'éducation.
  • Outils, pour automatiser l'analyse de code.
  • Standard, pour la gestion des packages.
  • Communauté, avec les acteurs majeurs du marché.
  • Modèles, pour la mise en place de politique et de bonne pratique
Programme
Sources
Nos choix se sont portés sur le langage C. Nos développements et les logiciels open source embarqués sur le système d'information personnel sont exclusivement réalisés avec ce langage. C'est le plus populaire chez les développeurs car il présente un excellent compromis entre performance, pérennité et portabilité. 
  • Simplicité, un langage natif simple et impératif.
  • Lisibilité, une analyse de code automatique facile à mettre en place.
  • Maintenabilité, une fusion des sources issues de packages différents facilement automatisable.
  • Documentation, Un modèle de documentation pour la transparence et la traçabilité de l'open source.
Standard



CyberSécurité


Approche
La cybersécurité a guidé nos choix tout au long de la réalisation du système d'information personnel. La sécurité de l'architecture, des logiciels, des réseaux et du matériel ont structuré nos études et nos développements.
L'anticipation des situations comme les vols physiques, les logiciels piégés, les attaques intérieurs ou extérieurs, l'usurpation d'identité, le reniement d'actions et la protection des données de l'utilisateur nous ont conduit à privilégier :
  • Information distribuée sur une réseau pair à pair, pour éviter toute centralisation et faiblesses du système. 
  • Matériels et logiciels libres, pour avoir accès aux sources et vérifier leur bonne conformité
  • Authentification, un système d'information personnel dédié à chaque personne.
  • Cryptage, de bout en bout pour le stockage et le réseau.
  • Traçabilité, des actions et des transactions passives ou actives.
  • Stratégie, pédagogie orientée utilisateur associant comportement et risque.
CNIL
RisquesLes normes de la famille ISO 27001-5 propose une approche méthodique pour aider les entreprises à mettre en place une stratégie de sécurité des système d'information.

ISO 27005
MéthodesPlusieurs méthodes sont disponibles pour mettre en oeuvre une stratégie de sécurité des systèmes d'information de l'entreprise.
  • EBIOS, Expression des Besoins et Identification des Objectifs de Sécurité
  • OWASP, Open Web Application Security Project
  • CC, Critères Communs
ANSSI



Gouvernance


Approche
Nous nous sommes orientés vers une approche par processus en  privilégiant les indicateurs clés de performance issues des séquences identifiées de création de valeur économique.
La solution réalisée pour l'architecture d'entreprise collaborative à partir du système d'information personnel  donne au métier plus de marges de manœuvre :
  • Modélisation simplifiée grâce aux méta-données et aux APIs
  • Sélection facilitée des indicateurs clés de performance
  • Exécution rapide, le langage métier est partagé par la technique 
Ces indicateurs sont regroupés sur des tableaux de bord en temps réel pour faciliter un pilotage métier agile et réactif.







Aucun commentaire :

Enregistrer un commentaire

Utilisez ce formulaire pour commenter ou me contacter directement.