L’organisation, la DSI et le DevOps

Si vous n’êtes pas confronté à la transformation digitale, que vous n’êtes pas pressé par votre marché pour proposer une valeur d’usage en cycle court, que vous ne voyez pas apparaître la dé-intermédiation d’une certaine économie collaborative, alors votre DSI a de beaux jours devant elle. 

Cet article ne vous est pas destiné, continuez à savourer votre bonheur…

DSI as a Service ?

Pour accompagner les séquences de transformation nécessaires, les recettes sont souvent propres à chaque DSI . Cependant, la cuisine reste la même…
Commencez par fabriquer votre plan de travail en conjuguant le rapport numérique/temps (Delivery) avec le rapport numérique/complexité (Réduction des coûts). Le produit vous donnera :

  • une démarche collaborative, pour une coordination agile et respectueuse de l’objectif de chacun..
  • une plateforme collaborative, une PaaS élargie au Métier et au DevOps (Plateforme as a Service)

Ensuite, posez l’unité d’oeuvre métier (le projet – cycle en V) sur votre plan de travail. Réglez votre hachoir électrique sur la position « Cycle de deux mois (maximum). ». Découpez votre projet en tranches. Posez une des tranches dans un ramequin et ajoutez les ingrédients spécifiques comme les indicateurs métier, les processus et méthodologies des parties prenantes (Métier, CDS, Infogérant…) ainsi que les technologies de bout en bout et l’ouverture vers votre écosystème sans oublier l’open data. Ensuite, enfournez à 180° pendant 10 minutes.
Après la cuisson, retirez votre ramequin du four. Gouttez et recommencez l’opération pour chacune des tranches en adaptant le dosage des ingrédients selon vos goûts (résultats tangibles obtenus et visibles par le métier).

DSI as a Service : la recette

DevOps
DSI as a Service

Des Leviers

  • Une démarche collaborative. Partager avec les autres pour une gestion de projet agile « cycle de deux mois » tournée vers la valeur d’usage et favorisant l’innovation.
  • Une plateforme collaborative. Gérer le processus de Delivery de bout en bout appuyé sur l’open source et ses communautés les plus actives.

Des acteurs engagés

  • Delivery Manager. Il est responsable de bout en bout de la livraison d’une fonctionnalité.
  • AMOA. Il est garant du rapport entre l’exigence fonctionnelle et l’unité de mesure associée.
  • DEV. Les développeurs sont responsables de la réalisation du micro service et de son exploitabilité.
  • OPS. La production est responsable de l’exploitation du service et du support aux utilisateurs. 

Des Livrables simplifiés 

  • F.M.S. Fiche Micro Service – Valeur d’usage. Fonctionnalité tangible pour le métier 
  • F.I.M. Fiche Indicateur Métier. Outils de mesure en temps réel de l’exigence fonctionnelle
  • D.A.L. Dossier d’architecture Logiciel. Référentiel d’outils et de librairie composant l’archiciel.
  • D.A.T. Dossier d’architecture Technique. Infrastructure mixte de l’archiciel (Infra. Interne et Cloud dédié).

Des outils pour maîtriser la complexité de l’ IT

  • ECMAScript, un langage de bout en bout. Pour la réalisation des micro-services : le développement, le déploiement, le monitoring métier et le pilotage dynamique des infrastructures.
  • MEAN++. Un cadre de travail Open Source et ouvert sur les autres (github, npm, etc.).
  • Un archiciel. Exploiter une PaaS sécurisée, scalable, élastique et mixte.
  • Un développement en grille. Une approche modulaire pour augmenter le niveau d’exploitabilité, de réutilisation et d’intégration continue du Système d’Information.

Architecture collaborative : solution

L’innovation collaborative facilitent la mise en place d’une architecture d’entreprise collaborative. Nous pouvons proposer une feuille de route pour accompagner les hommes et les entreprises :

Elle s’adresse à toutes les entreprises désireuses de mettre en place des processus d’innovation collaborative et d’augmenter la qualité des relations avec leurs clients, leurs fournisseurs, leur personnel et plus généralement leur écosystème.

Préambule

La point de départ de notre approche consiste à mettre en place au sein de l’entreprise un espace partagé à l’instar des FabLabs et des LivingLabs.
Un LivingLab regroupe des acteurs publics, privés, des entreprises, des associations, des acteurs individuels, dans l’objectif est de tester « grandeur nature » des services, des outils ou des usages nouveaux.
Un FabLab  est un espace de création collaborative ouverts à tous. Ils s’appuient sur des machines de fabrication numérique et un réseau facilitant les échanges d’idées, de documents et de modes opératoires. La prise en main pour les non-spécialistes est facilitée par le partage de l’information et des savoir faire.
Un FabLab d’entreprise est un espace au sein de l’entreprise dédié à l’innovation et orienté sur la culture et la stratégie d’un écosystème d’entreprises.

Une démarche ludique

Jouer à :
  • bricoler un prototype, 
  • fabriquer un objet de décoration, 
  • poser des questions, 
  • être encouragé à s’approprier le travail des autres, 
  • publier et partager les fruits de son travail, 
  • échanger avec des personnes de culture et de savoir-faire différents,
C’est apprendre à :
  • créer de la valeur,
  • augmenter la confiance en soi,
  • accompagner le changement,
  • réussir la gestion d’un projet,
  • transformer les freins en levier d’action,
  • lire, écrire et compter l’information,

Un espace ouvert

  • Approche. Un lieu ouvert et informel permet à chacun de s’extraire de son rôle et de sa fonction. Il permet d’accueillir des personnes différentes pour faire cohabiter des métiers, des approches et des modes de fonctionnement hétérogènes. Il permet de gommer les aspects hiérarchiques ou contractuels. Dans une ambiance ludique, l’objectif est de se rencontrer, de se parler et de s’écouter pour ouvrir le champ des possibles dans le cadre d’une exploration collaborative.
  • Collaboration. Les échanges transverses sur la conception et la réalisation d’objets visent à améliorer le partage des savoir-faire, des expériences et des idées. En effet, la prise de conscience et la pratique des schémas naturels de collaboration favorisent l’émergence d’une intelligence collaborative.
  • Créativité. Le premier objectif est d’intégrer la culture de l’innovation dans la culture générale de l’entreprise. La création de nouveaux services, de nouveaux produits ou de nouveaux usages s’appuient sur l’utilisation de méthodes d’animation et de structuration comme le brainstormingl’essai/erreur, la Théorie Concept Connaissance ou la cartographie du parcours client.
  • Formation. La pédagogie s’appuie également sur la fabrication concrète d’objets. Elle est articulée autour d’ateliers thématiques et collectifs visant en premier lieu l’apprentissage des méthodes et des outils numériques.

Des résultats tangibles

  • Valeur. L’amélioration de la conception de nouveaux produits, la réduction des délais/coûts et le développement de l’image de marque favorisent la motivation et l’implication de tous les acteurs. La création de valeur est perçue par les individus, les services et les directions. La culture de l’innovation est intégrée et peut devenir un outil efficace pour la gestion des ressources humaines.
  • Processus métier. Cette approche permet de mieux suivre et de mieux comprendre les usages émergents en dehors de son propre secteur d’activité. Elle permet d’analyser de nouveaux modes de fonctionnement et de se les approprier afin de revisiter et d’optimiser les processus existants.  
  • Fidélité. L’ouverture, la transparence et la collaboration sont des moteurs pour recréer de la confiance :
    •  Clients, redonner du sens à la relation commerciale
    •  Personnel, reconnaître et encourager la création de valeur
    • Fournisseurs, associés à la croissance et à la rentabilité pour une relation durable
  • Export. Les FabLabs sont réparties partout dans le monde. Ils partagent la même culture et le même mode de fonctionnement. Les échanges entre les FabLabs favorisent l’ouverture vers l’international, l’appréhension de cultures et d’approches différentes.
  • Sécurité. Les méthodes et les outils relatifs à la sécurité des systèmes d’information sont nécessaires mais insuffisants. Par conséquent,  une pédagogie adaptée pour adopter un comportement responsable vient compléter la stratégie de sécurité des systèmes d’information.

Un financement facilité

L’animation, le conseil, la formation et les investissements peuvent s’inscrire au sein de dispositifs comme le crédit d’impôt pour la compétitivité et l’emploi(CICE) et le plan de formation continue.

Architecture Collaborative : le métier

Du marketing à la production, des ressources humaines aux achats en passant par le support client et la R & D la gestion des processus métier impliquant la collaboration et la mobilité doivent être opérés de bout en bout par les responsables métier.
L’architecture d’entreprise collaborative leur offre les méthodes et les outils pour optimiser, modéliser, partager et gouverner le cycle de vie de leurs processus.

Quels sont les processus métier collaboratifs pour l’entreprise ?

L’architecture d’entreprise collaborative vise à transformer la relation client en relations interactives, transparentes et traçables à travers le système d’information personnel de chacun des acteurs. Ainsi, le partage de la marque, du produit ou du service permet une meilleure appropriation, une plus grande implication et favorise l’émergence de nouvelles idées pour de nouveaux usages. L’expérience client devient collaborative, pour une meilleure fidélisation et constructive, en proposant un cadre de référence pour les responsables métier. Par conséquent, elle concoure à l’optimisation des processus indirects comme la gestion de production, la gestion des fournisseurs ou la recherche et développement.

Quels sont les processus métier collaboratifs pour les particuliers ?

La consommation collaborative, les achats groupés ou le financement participatif sont des processus à l’échelle des personnes. L’architecture d’entreprise collaborative propose à chacun des interactions directs (pair à pair) sans passer par des plateformes tiers thématiques et dédiés. La publication des annonces ou le suivi qualité de la prestation sont intégrés en toutes sécurité sur chaque système d’information personnel. Les processus tiers comme les modules de paiement ou d’assurance sont proposés et laissés au libre choix de chacun.

Qu’est-ce qu’un flux de travail (WorkFlow) ?

La gestion des processus métier sert à modéliser les procédures de travail et à suivre l’avancement des projets pour organiser les flux d’information et d’action à l’aide de règles et de rôles formalisés. L’architecture d’entreprise collaborative utilise des modèles de workflow ad-hoc et coopératifs en privilégiant l’interaction entre humains et masque la complexité des applications, des services ou des processus tiers.

Quels sont les principes de fonctionnement ?

L’architecture d’entreprise collaborative utilise des standards d’échanges et de formalisation pour répondre aux enjeux d’interopérabilité, de portabilité et de sécurité.
Le moteur d’exécution des workflow est distribué sur chaque système d’information personnel. Ce dernier fait également le lien avec les systèmes d’information des autres entreprises pour publier les APIs nécessaires sous forme de services web standardisés.

Références sur les standards et la gestion des processus métier

Nom

Commentaire

Lien

Comment ça marche
On appelle « BPM » (Business Process Management, traduisez littéralement « gestion des processus métiers ») l’approche consistant à modéliser informatiquement les processus métiers de l’entreprise, aussi bien dans leur aspect applicatif qu’humain. 

EduTech Wiki
Business Process Model and Notation (BPMN) est une représentation graphique pour la spécification des
processus métier dans un workflow. 

Wikipédia
En informatique, Business Process Execution Language (ou BPEL, prononcé « bipeul », ou « bipèl »), est un langage de programmation destiné à l’exécution des procédures d’entreprise.

Wikipédia Le concept de Business Activity Monitoring (BAM) représente le domaine des logiciels d’aide à la supervision des activités de l’entreprise. On parle aussi de Supervision des Activités Métier.

Wikipédia REST (REpresentational State Transfer) est un style d’architecture pour les systèmes hypermédia distribués.

Wikipédia
Un service web est un programme informatique de la famille des technologies web permettant la communication et l’échange de données entre applications et systèmes hétérogènes dans des environnements distribués.

BonitaSoft
Bonita BPM cherche à améliorer l’efficacité de vos métiers en connectant utilisateurs, processus et systèmes d’information via des applications automatisées.
ModelioSoft
Modelio assiste la maîtrise d’ouvrage pour formaliser et partager la connaissance métier, et assurer l’alignement Métier/SI.

Open ModelSphere
Open ModelSphere est un outil de modélisation des données et des processus au format UML.

Architecture collaborative : les ressources humaines

Qu’il soit client ou fournisseur, consommateur ou producteur, salarié ou fonctionnaire, décisionnaire ou exécutant l’humain est au cœur de l’architecture d’entreprise collaborative(AEC). Cette dernière vise à élargir la création de valeur économique et à structurer la gestion de groupe pour mieux collaborer, échanger et créer. 
Elle valorise le capital humain et social en s’appuyant sur trois piliers fondamentaux que sont la compétence, la créativité et l’intelligence collaborative. 

Comment développer son capital personnel ?

L’architecture d’entreprise collaborative inscrit la formation, l’expérience et le talent au sein d’un parcours individuel et à long terme dont l’objectif est de développer le capital individuel. Le développement de l’empathie, le travail en groupe, la confiance en soi ainsi que les compétences métier ou techniques s’inscrivent dans le cadre d’un passeport de formation qui s’entend indépendamment de l’entreprise. Des méthodes et des outils additionnels viennent élargir l’acquisition de compétence à la créativité et à l’intelligence collaborative.

Comment favoriser la créativité ?

L’architecture d’entreprise collaborative vise à développer le capital créatif individuel en s’appuyant sur un lieu d’échanges qui favorise les organisations distribuées, ouvertes et constituées de petits groupes interactifs. Elle automatise le partage de la connaissance et les interactions étendues. La créativité est le moteur des processus d’innovation. Elle génère les nouvelles idées, elle propose de nouvelles solutions, elle capte les opportunités, elle propose de nouveau schémas pour s’adapter au changement. Elle permet de réinventer la création de valeur dans un monde économique sans cesse en mouvement. Elle est le premier indicateur de la compétitivité économique et souvent une source de bien-être en entreprise.

Qu’est-ce que l’intelligence collaborative ?

L’intelligence collaborative résulte de l’association des talents, du capital humain, du capital sociale et du capital créatif de chaque membre du groupe. L’architecture d’entreprise collaborative met en œuvre des méthodes de management favorisant l’autonomie, la responsabilité et l’expression de soi en opposition au contrôle, au processus figés ou à la pression psychologique. Le manager devient un médiateur au service des créateurs de valeur en faisant partager les objectifs stratégiques proposés au groupe.

Pourquoi apprendre à lire, écrire et compter l’information ?

La masse d’information numérique disponible ne cesse de croître en bouleversant notre rapport à la connaissance personnelle ou professionnelle. Les logiciels nous facilite la gestion de l’information mais contraignent fortement notre propre créativité ou la mise en place de nouveaux usages.
L’architecture d’entreprise collaborative transforme les logiciels en fonction(APIs) pour faciliter la manipulation concrète de l’information à titre individuel. Elle met en œuvre les méthodes et les outils pour classer, trier, corréler  ou scénariser cette grande masse d’information et rendre chacun le plus autonome possible. Les outils basés sur le langage naturel ou les métalangages simplifiés ouvrent à chacun la possibilité de créer des processus simples ou complexes pour répondre à ses propres besoins. Le niveau de maîtrise par les utilisateurs des technologies de l’information et de la communication est l’un des premiers indicateurs clés de la performance d’une architecture d’entreprise collaborative.

Quelques références sur la créativité et l’accessibilité…

Nom

Commentaire

Lien

Dominique Chalvin
 Dominique Chalvin anime des séminaires sur le management, la cohésion d’équipe, la communication et l’efficacité personnelle et il accompagne, en tant que coach, des dirigeants et des managers.
Formation continue
Le passeport formation vous appartient. Vous le remplirez, à votre convenance, tout au long de votre vie professionnelle. Il vous permettra d’être acteur de votre carrière professionnelle.
Cours Gratuits Répertoire sur les MOOC (universitaires, grandes écoles, entreprises, indépendants), en langue française.

MOOC
Wikipédia
Le management de la créativité vise à améliorer l’inventivité des membres d’une organisation.

XMind
XMind est un projet open source et gratuit. C’est un outil d’aide à la créativité à titre individuel ou en groupe de travail. Il permet de clarifier sa pensée et de gérer des informations complexes.

Crea Net 2.0
Le projet CREA NET 2.0 vise à soutenir la créativité et l’innovation comme un outil pour résoudre des problèmes d’entreprises. C’est une communauté pour la génération d’idées économiques et la consolidation des entreprises à travers la créativité.

Créa France
Créa-France, l’association française pour le développement de la créativité, se veut depuis 2002, être un moteur de changement, pour les individus, pour les organisations et pour la société, au travers des postures et des pratiques de créativité.

Ressources
Decideo Le Traitement Automatique du Langage Naturel (TALN ou NLP en Anglais pour Natural Langage Processing), est une branche de l’informatique, centrée sur le développement de systèmes qui permettent aux ordinateurs de communiquer avec les humains, en utilisant le langage courant.

Point de vue
Stantford
Le Groupe Natural Language Processing à l’Université de Stanford est une équipe de professeurs, chercheurs, post-doctorants, de programmeurs et d’étudiants qui travaillent ensemble sur des algorithmes qui permettent aux ordinateurs de traiter et de comprendre les langues humaines.

Téléchargement
Apache
La bibliothèque Apache OpenNLP est un outil basé sur l’apprentissage machine pour le traitement de texte en langage naturel.

Téléchargement

Innovation collaborative architecture

L’architecture d’entreprise collaborative(AEC) fluidifie l’écosystème sur lequel repose la chaîne globale de création de valeur économique en orchestrant les interactions entre les entreprises. L’ouverture vers l’extérieur des organisations et des processus métier permet de structurer la collaboration et les échanges entre les différents acteurs économiques.
L’AEC se caractérise par une approche spécifique des ressources humaines ainsi qu’une méthode et des outils qui projettent les organisations hiérarchiques et centralisées en organisations partagées et collaboratives.
Elle vise à rendre chacun plus libre, plus sécurisé et plus autonome face aux technologies de l’information et de la communication, véritables leviers face aux enjeux de performance et de compétitivité des entreprises.

Pourquoi les hommes sont-ils au centre de la création de valeur ?

L’architecture d’entreprise collaborative ne résonne pas à l’échelle d’une entreprise. Elle opère au niveau de la chaîne de co-création de valeur économique. Le personnel, le client, le fournisseur ou les acteurs tiers sont des créateurs de valeur. Ils sont l’unité d’œuvre, l’unité opérationnelle et l’unité de mesure de l’architecture d’entreprise collaborative. La gestion des ressources humaines joue un rôle majeur pour mettre le numérique au service de la compétence, de la créativité et de la collaboration de chaque personne.

Quelle rôle joue l’information ?

Le numérique offre à l’information un support qui augmente considérablement le champs des possibles en lui conférant une grande motricité. Cette information se caractérise par les méta-données massives issues :

  • des données non-structurées émanant des documents numériques
  • des données structurées et hiérarchisées utilisées par les logiciels d’entreprise. 

Ces méta-données sont libérées des contraintes organisationnelles ou techniques. Elles sont mobiles et elles augmentent nos capacités individuelles et nos possibilités d’interaction avec les autres en favorisant l’émergence d’une intelligence collaborative. Les méthodes et les outils de l’architecture d’entreprise collaborative visent à intégrer cette intelligence dans un cadre de création de valeur économique.

Pourquoi l’innovation collaborative est-elle le point d’entrée ?

L’architecture d’entreprise collaborative construit les processus métier avec les clients, les fournisseurs, les partenaires ou les pouvoirs public en gommant les frontières strictes de tous ces acteurs. Elle repense la relation client, la relation fournisseur, les processus de gestion ou de production en offrant à chacun l’avantage d’être un acteur à valeur ajoutée. Elle orchestre les processus métier et les méta-données à une échelle élargie en réduisant considérablement les coûts pour la mise en place d’activités comme la co-création, la co-innovation ou la coproduction.

Qu’est-ce qu’un système d’information personnel ?

Chaque individu crée de l’information. Cette information est stockée sur un seul système numérique dont il est propriétaire. L’association de son information et de son système forme le système d’information personnel. L’interaction entre ces derniers constitue l’architecture d’entreprise collaborative.
Par nature, cette architecture s’oppose strictement au logique de plateforme centrale ou intermédiaire.
Le système d’information personnel se présente sou la forme d’un petit boitier fixe ou mobile. Il est basé sur des nano-ordinateurs et accessible via les smartphone, tablettes, labtop ou tout autre dispositif électronique muni d’une interface homme-machine. Ils sont physiques ou virtuels, distribués sur un réseau de type paire à paire et construits à l’aide de matériels, de systèmes d’exploitation et de logiciels libres et open source. Ces systèmes d’information personnels forment l’architecture qui confère au processus métier l’agilité, la mobilité, la sécurité et la motricité nécessaire à la performance économique de l’entreprise collaborative.

Quelle est la feuille de route ?

La mise en place d’une architecture d’entreprise collaborative passe par la réalisation d’une feuille de route articulée autour d’un lieu d’échanges et de créativité inter-entreprise à l’instar des FabLabs. Elle intègre les projets de transformation et d’accompagnement pour chacune des entreprises constituant la chaîne globale de création de valeur économique. Les travaux d’architecture collaborative comme la modélisation des acteurs, de l’information et des processus auront un impact maîtrisé sur l’organisation et les systèmes d’information existants. Les méthodologies agiles, un formalisme simplifié et des documents synthétiques sont utilisés pour permettre à chacun de participer à la mise en œuvre de bout en bout de l’architecture informationnelle, fonctionnelle, applicative et technique.

Quelques méthodes et outils gratuits…   

Nom

Commentaire

Lien

Open Group
ArchiMate® est un langage de modélisation ouvert et indépendant pour l’architecture d’entreprise qui est prise en charge par les différents fournisseurs d’outils et les cabinets de conseil.
Open Group
Aperçu de la méthode TOGAF 9  à travers l’outil de composition de Process Framework Eclipse.
E.A.
Leur but est de promouvoir la valeur que l’architecture d’entreprise peut apporter une expérience aux organisations de toutes tailles et en abaissant les barrières à l’entrée avec un ensemble gratuit, simple et productif.
Interplan Outil open source pour  l’architecture d’entreprise de gestion.

Afnor
Le CMMI (Capability Maturity Model Integration) est l’outil d’une démarche dynamique d’entreprise pour améliorer ces processus. 
CMMI
Wikipedia
Le CobiT (Control Objectives for Information and related Technology) est un outil fédérateur qui permet d’instaurer un langage commun pour parler de la gouvernance des systèmes d’information.

Wikipedia
ITIL (Information Technology Infrastructure Library) est un ensemble d’ouvrages recensant les bonnes pratiques du management du système d’information.

ISO
La famille de normes ISO 27000 aide les organisations à assurer la sécurité de leurs informations.

SCRUM
SCRUM est une méthode agile de gestion de projet. Le French Scrum User Group est un groupe d’utilisateurs de Scrum pour échanger sur Scrum et les méthodes agiles.

Innovation collaborative enjeux

les enjeux de l'architecture d'entreprise collaborative
L’architecture d’entreprise collaborative est le moyen pour une entreprise de tirer pleinement partie de ses ressources humaines et de son écosystème en inscrivant la culture de l’innovation au centre de sa compétitivité économique.
L’architecture d’entreprise collaborative apporte des réponses concernant l’accélération du rythme économique, la mondialisation, le reconquête des marges financières ou l’impacte des nouvelles technologies sur un marché ou une organisation.
La démarche est d’abord stratégique, organisationnelle et humaine avant d’être technique ou financière.
Les conséquences mesurables d’une approche réussie sont l’agilité de l’organisation, l’adhérence à son marché et la réduction de ses coûts.

Qu’est-ce qu’une entreprise collaborative en trois mots ?

Objectif  : l’innovation collaborative.
Moyens : l’organisation, les processus métier, la qualité, le système d’information, la sécurité, etc.
Conséquences : La performance économique, la compétitivité, etc.

Par quoi commencer ?

La mobilité du personnel, l’intégration des clients et des fournisseurs aux processus internes offrent la possibilité pour chaque salarié de capter au plus près les besoins, les optimisations possibles ou les nouveaux usages. Le métier comme les ressources humaines, la relation client ou la relation fournisseur sont les premiers pôles sur lesquels se déploie l’architecture d’entreprise collaborative. La digitalisation des processus, la co-création ou la co-innovation peuvent être les premières candidates à offrir des résultats tangibles et mesurables.

Comment ça marche ?

Les hommes créent l’information, l’information crée les processus métier, les processus métier créent le système d’information. C’est une démarche itérative sans cesse en mouvement, sans cesse en transformation et sans cesse en optimisation.
La capacité d’une organisation vis à vis d’une architecture d’entreprise collaborative se mesure d’abord par la qualité du rapport entre les hommes et l’information. Pour chacun, les indicateurs  mesurent leur degré de liberté pour la production d’information, le niveau d’exploitabilité et de disponibilité de cette information par les autres, leur autonomie quant à la création de nouveaux processus, leur capacité à les digitaliser et leur niveau de maîtrise de la cartographie informationnelle de l’organisation.

Quel sont les facteurs clés de succès ?

Des discours, des cabinets d’analyse de tendance ou des retours d’expérience n’ont trop souvent de sens que pour les experts. L’architecture d’entreprise collaborative doit résolument s’inscrire dans une réalité pragmatique et tangible.
Une bonne approche doit répondre a ces critères en valorisant le capital humain et en offrant les briques de base pour construire des organisions durables.
En nous appuyant sur les ressources humaines, l’information, le métier, nous proposerons  un éclairage et une solution concrète pour mettre en œuvre l’architecture d’entreprise collaborative adaptée aux capacités de chaque organisation.

Quelques références pour prolonger l’analyse des enjeux…

Nom

Commentaire

Lien

Open Group
L’Open Group a organisé une nouvelle conférence des praticiens de l’Architecture d’Entreprise (APC) du 21 au 23 octobre à Londres.

Cesame
CESAMES a pour mission de faire connaître les méthodes et les outils de l’Architecture des Systèmes  pour vous permettre de mieux maîtriser la complexité de vos projets.
Le journal du net
Point de vue sur les Directions des Systèmes d’Information qui constatent l’échec de leur initiative d’architecture d’entreprise : le temps des illusions perdues ?

Afnor
L’ISO a invité un groupe de travail à réaliser une analyse des usages et des besoins en matière d’’architecture système d’entreprise. Objectif : faire un état des lieux des référentiels et guides existants, et proposer des axes de développement normatifs.
Supelec
Formation sur le contexte et les enjeux des entreprises dans un monde globalisé. Prévalence des thèmes : complexité, agilité et synergie.

Edunao
Le cours traite de la démarche d’informatisation d’une entreprise et, plus généralement, d’une organisation. Il enseigne les concepts d’architecture du système d’information, de bonnes et mauvaises pratiques, et de diagnostic d’un SI existant.

Liste des FabLab en France

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

Nom Commentaire Lien
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 Dur Le 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

Tablette Fabriquer soi-même une tablette tactile.
Boitier Réaliser soi-même le boitier à l’aide d’une imprimante 3D.
Robot Fabriquer soi-même un robot domestique.
VOIP – PABX Fabriquer soi-même son PABX domestique.
Caméra  Fabriquer soi-même une une caméra de surveillance vidéo.
Télésurveillance Fabriquer soi-même une centrale de télésurveillance
NAS Fabriquer 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.
Nom Commentaire Langage
BuildRoot  2013.11 Buildroot est un outil de construction de systèmes GNU/Linux embarqués.
BusyBox 1.22.1 BusyBox est une version allégée des utilitaires UNIX.
Linux 2.6.18 Noyau linux de base. Langage C
LVM2 LVM2 permet de gérer les partition logiques et le cryptage du disque en mode simple ou en RAID. . Langage C
Glib 2.13.4 Glib 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.8 LibUsb fournit une librairie qui fournit des facilités pour manipuler les drivers USB. Langage C
IpTables 1.3.6 IpTable 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.0 Libgcrypt est une bibliothèque cryptographique d’usage général basée sur le code de GnuPG. Langage C
GnuTLS 3.2.11 GnuTLS fournit une bibliothèque de communication sécurisée pour les protocoles SSL, TLS et DTLS.  Langage C
OpenSSL 1.0.1 OpenSSL fournit une bibliothèque de communication sécurisée nécessaire à certains packages.  Langage C
OpenSSH 6.4 OpenSSH 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.27 OpenLDAP fournit une implémentation open source du Protocole Lightweight Directory Access. Langage C
zlib 1.2.8 Zlib fournit une bibliothèque logicielle de compression de données. Langage C
Libxml2-2.6.26 LibXml2 fournit une bibliothèque logicielle de manipulation de fichiers XML. Langage C
LibNFC 1.7.1 LibNFC fournit une bibliothèque logicielle de manipulation des technologies RFID et NFC. Langage C
LibLogicalAccess LibLogicalAccess est une alternative à LibNFC. Langage C
Boost 1.55 Boost fournit une bibliothèque logicielle de fonctionnalités additionnelles et d’optimisation. Langage C
Open Z-Wave Open Z-wave fournit une bibliothèque logicielle pour le protocole domotique Z-WAVE. Langage C

Les outils et les services de base

Nom Commentaire Langage
GNUnet 0.10.0 GNUnet fournit les technologies nécessaires à la construction d’un réseau chiffré P2P(pair à pair) entièrement libre.  Langage C
FFmpeg 2.1 FFmpeg fournit les technologies pour enregistrer, convertir et diffuser les formats audio et vidéo.  Langage C
OpenVPN 2.3.2 OpenVPN  fournit les services pour créer un réseau privé virtuel. Langage C
SIPWitch 1.8.7 SIPWitch  fournit les services pour mettre en œuvre une solution VoIP pair à pair sans intermédiaire. Langage C
OpenSIPS 2.0 OpenSIPS  fournit les services pour mettre en œuvre une solution VoIP. Langage C
PocketSphinx 0.8 PocketSphinx fournit les services de reconnaissance vocale. Langage C
eSpeak 1.48 eSpeak fournit les services de synthèse vocale. Langage C
GTK+ 3.11 GTK fournit une boites à outils pour la réalisation d’interfaces graphiques.  Langage C
WebKitGTK+ 2.2 WebKitGTK fournit un moteur de rendu pour HTML basé sur les services GTK. Langage C
SQLite 3.8.3.1 SQLite est un moteur de base de données SQL transactionnel. Langage C
R 3.0.3 R 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.8 GNU 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.0 Git 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

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

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

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

VirtualBox 4.3.8 VirtualBox est une alternative à qEmu.

Eclipse 4.2 Eclipse 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 NDK Android 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.

OpenSTA OpenSTA 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.4 Wireshark 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
Nom Commentaire Langage
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èle Il 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.

Nom Commentaire Langage
Bibliothèques pour la gestion du système
CUOMoteur.c Module temps réel de l’ensemble de la VM Langage C
CUOSysEvt.c Module d’abstraction des événements du système réel. Langage C
CUOSysFio.c Module d’abstraction des entrées/sorties du système réel. Langage C
CUOSysData.c Module d’abstraction des données du système réel. Langage C
CUOSysOs.c Module d’abstraction des principales api du système réel Langage C
CUOSysMain.c Module de gestion de la machine virtuelle coté applicatif Langage C
CUOSysCpu.c Module d’exécution du code binaire des applications Langage C
CUOSysApi.c Module d’exécution des fonctions API des applications Langage C
CUOSysSpi.c Module d’exécution des fonctions système des applications Langage C
CUOSysXpi.c Module d’exécution des fonctions XML des applications Langage C
Bibliothèques pour la gestion des réseaux
CUOReseau.c Module d’abstraction des réseaux du système réel. Langage C
CUOdorsale.c Primitives pour la synchronisation inter-CUOvm. Langage C
CUOhttp.c Primitives pour le protocole HTTP. Langage C
CUOMisc.c Primitives pour les protocoles les plus communs. Langage C
CUOIpTools.c Boites à outils facilitant la gestion des primitives réseaux Langage C
CUOIpCall.c Primitives pour les appels sortants Langage C
CUOIpRpc.c Primitives pour la gestion des API distribuées. Langage C
Bibliothèques pour la gestion du serveur d’applications
CUOApps.c Moteur du serveur d’application. Langage C
CUOClasses.c Module pour la manipulation des structures de données. Langage C
CUOSynchro.c Moteur pour la synchronisation inter-CUOvm.. Langage C
CUOOutils.c Boites à outils facilitant la gestion du serveur d’application. Langage C
CUOXml.c Moteur de gestion des binaires et de la mémoire pour XML. Langage C
CUOXQuery.c Moteur d’exécution des requêtes NoSQL Langage C
CUOXStat.c Moteur d’exécution des requêtes Statistiques Langage C
Bibliothèques pour la gestion des interfaces graphiques
CUOGraphics.c Boite à outils pour les interfaces graphiques. Langage C
CUOGtk.c Module de gestion des interfaces GTK. Langage C
CUOWin.c Module de gestion des interfaces Windows. Langage C
CUOHtml.c Module de gestion des interfaces HTML. Langage C
CUOIhmTools.c Boite à outils pour les interfaces graphiques. Langage C
CUOIhmCbo.c Primitives pour les objets graphiques dynamiques. Langage C
CUOIhmTree.c Primitives pour les objets graphiques arborescent. Langage C
CUOIhmStyle.c Primitives pour la gestion des styles CSS. Langage C
CUOIhmJs.js Librairie d’objets dédiés à HTML5 JavaScript
Bibliothèques pour la sécurité
CUOSecure.c Module de gestion des stratégies de sécurité Langage C
CUOSecLib.c Module d’abstraction des APIs externes de sécurité . Langage C
CUOSecTools.c Boite à outils pour les processus de sécurité. Langage C
CUOSecCrypto.c Primitives pour les protocoles de cryptographie. Langage C
Bibliothèques pour le compilateur d’applications réalisées en  CUObasique
CUOBasic.c Moteur de compilation et d’édition de liens Langage C
CUOBasLex.c Analyse syntaxique du langage CUOBasique Langage C
CUOBasDef.c Module de gestion des définitions externes. Langage C
CUOBasApi.c Module de gestion des fonctions externes. Langage C
CUOBasVar.c Module de gestion des variables Langage C
CUOBasObj.c Module de gestion des objets Langage C
CUOBasCode.c Module pour la génération du code binaire Langage C
CUOBasXML.c Module pour la gestion de projet Langage C
Bibliothèques pour le débogueur d’applications réalisées en CUObasique
CUODebug.c Moteur de débogue pas à pas. Langage C
CUODebugIhm.c Interface homme/machine pour le débogeur. Langage C
Bibliothèques pour la gestion des algorithmes génétiques
CUOGeneAPI.c Primitives pour la gestion des algorithmes génétiques. Langage C
CUOGeneBot.c Moteur pour l’évaluation et l’apprentissage. Langage C
Bibliothèques complémentaires
CUOBot.c Robot d’indexation pour les données internes et externes. Langage C
CUOGeo.c Primitives pour le calcul et les projections géographiques. Langage C
CUOODBC.c Primitives pour le protocole ODBC. Langage C
CUOdotnet.c Primitives pour les protocoles DCOM/COM. Langage C
CUOLibExt.c Primitives 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.

Commentaire Lien
Déclaration des jeux d’instructions Fonction
Déclaration des variables Variable
Syntaxe de base pour la réalisation des jeux d’instructions Syntaxe
Définition des interfaces homme machine Graphisme
Gestion et manipulation de l’information Information

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
Nom Commentaire Langage
COMMENCER Modèle d’application pour réaliser une première prise en main CUOBasique
BUREAU Modèle d’application pour réaliser un bureau personnel CUOBasique
AGENDA Modèle d’application pour réaliser un Agenda partagé CUOBasique
COMMANDE Modèle d’application pour réaliser une gestion de commande CUOBasique
RAPPORT Modèle d’application pour réaliser des rapports personnalisés CUOBasique
MISSION Modèle d’application pour réaliser une gestion de mission CUOBasique
IMPORT Modèle d’application pour importer des fichiers Excel CUOBasique
COURRIEL Modèle d’application pour réaliser une messagerie CUOBasique
RECHERCHE Modèle d’application pour réaliser une moteur de recherche CUOBasique
CONREST Modèle de connecteur respectant le protocole REST CUOBasique
CONSOAP Modèle de connecteur respectant le protocole SOAP/WSDL CUOBasique
FLOTTEM2M Modèle d’application de géolocalisation de véhicules CUOBasique

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
Nom Commentaire Langage
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

Nom Commentaire Langage
Atelier de modélisation
Curseur Module 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érence Module de création de récipients caractérisés par des attributs et des opérations encapsulant les objets structurés.  CUOBasique
Règle Module de création  de conditions, de règles d’action, de règles de gestion ou de règles de calcul. CUOBasique
Requête Module de création des conditions d’une sélection de données. CUOBasique
Opération Module de création de récipient caractérisé par des attributs et des opérations encapsulant les APIs.  CUOBasique
Événement Module de création de gestionnaire d’événements. CUOBasique
Audit Module de création des contrôles d’anomalies, des rapports statistiques d’utilisation et des indicateurs déclaratifs ou comportementaux. CUOBasique
Atelier Graphique
Design Module de design et mise en forme d’écrans graphiques interactifs.  CUOBasique
Propriétés Module de gestion des propriétés associées aux écrans et aux objets graphiques. CUOBasique
Action Module de gestion des actions et des événements associés aux écrans et aux objets graphiques. CUOBasique
Atelier applicatif et de débogue
Éditeur Module de création des fonctions ou des routines (APIs). CUOBasique
Analyse Module de gestion et de correction de la syntaxe. CUOBasique
Matrice Module de création de requêtes avancées. CUOBasique
Débogueur Module 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
Nom Commentaire Liens
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
Risques Les 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éthodes Plusieurs 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.

Définition du langage collaboratif

Un langage collaboratif pour le développement d’applications numériques a été réalisé dans le cadre de l’initiative « Comme Un Olivier » visant à promouvoir l’économie collaborative.
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.
Il 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. Néanmoins, une première déclinaison est en cours pour la langue anglaise. CUOBasique construit des programmes numériques dédiés su système d’information personnel.

Le langage collaboratif CUOBasique a pour objectif de favoriser l’échange et le partage entre les utilisateurs finaux, les créateurs de valeur économique, les graphistes et les développeurs. Il permet une approche collaborative à plusieurs niveaux et en fonction des besoins et des compétences de chacun :
  • Évolution des fonctionnalités de base ou du système. Création de fonctions complexes ou contraignantes. Cette approche est ouverte aux professionnels de l’informatique ou aux personnes expérimentées en  langage C.
  • Evolution des interfaces Homme/Machine. Création d’objets interactifs visuels ou vocaux. Cette approche est ouverte aux graphistes ou aux personnes expérimentés en HTML5/CSS3/Javascript.
  • Création d’application en langage CUOBasique. Approche ouverte aux créateurs de valeur économique désireux d’être autonome et possédant une première expérience comme la création d’un site WEB, d’un gestionnaire de contenu ou d’une application pour mobile.
  • Création de processus d’échanges. Approche ouverte aux utilisateurs finaux qui souhaitent formaliser et automatiser des processus personnels ou professionnels. Le code CUOBasique est alors généré automatiquement et peut être facilement modifié.
Sommaire

1 – Déclaration des jeux d’instructions

Les instructions sont rassemblées sous forme de bloques. L’ensemble de ces bloques sont rassemblés dans un fichier script. Après une compilation vers la machine virtuelle du systeme d’information personnel, le script devient un programme numérique.

Titre Commentaire
Fonction Une fonction est un recipient d’instructions qui accepte des paramètres d’entrés ainsi qu’une valeur de retour.

La fonction se nomme « AfficheMonTexte ».
Elle accepte en paramètre une chaîne de caractère alphanumérique.
Elle retourne la valeur Retour de type Entier.

Fonction AfficheMonTexte (Message Comme Chaîne) Comme Entier 
Dimensionne Retour Comme Entier   ‘ Déclaration de la variable de retour
Retour = Affiche(Message)                    ‘ Appel à la fonction système
AfficheMonTexte = Retour                    ‘ Affectation de la variable de retour
Fin Fonction  

Routine Une routine est un récipient autonome sans paramètre de retour qui s’exécute de façon asynchrone. Elle sert souvent à traiter des événements.

La routine se nomme « MonBouton_clic » et est associée au clic de la souris.

Routine MonBouton_clic
Affiche(« L’utilisateur vient de cliquer sur l’objet qui se nomme ‘MonBouton’ « )
Fin Routine


Propriétés Les fonctions et les routines possèdent des propriétés qui conditionnent leur mode d’exécution.

Publique, elles sont visibles par tout le programme.
Privée, elles ne sont accessibles que pour l’objet dont elles dépendent.
Locale, elles s’exécutent strictement sur la machine locale.
Distribuée, elles peuvent se répartir sur d’autres machines du réseau et s’exécuter parallèlement.

2 – Déclaration des variables

Les variables permettent de stocker des valeurs en mémoire . Elle associe un nom et un type à une valeur. Dimensionner un espace mémoire en déclarant un nom permet de réserver un emplacement. 
            Dimensionne emplacement
Déclarer un type permet de reconnaître cet emplacement et de le traiter comme tel.
            Comme Chaîne ‘Chaîne de caractère
Affecter une valeur permet d’utilisé cette mémoire.
            emplacement = « bonjour » ‘emplacement vaut le mot bonjour

Titre Commentaire
Entier Nombre pour une utilisation courante.
Dimensionne Nombre Comme Entier
Nombre = 1234

Chaîne Chaîne de caractère alphanumérique.
Dimensionne Msg Comme Chaîne
Msg = « Bonjour à tous! »

Réel Nombre pour une utilisation mathématique.
Dimensionne Pi Comme Réel
Pi = 3,141592

Complexe Nombre complexe pour des calculs mathématiques.
Dimensionne z Comme Complexe
z.réel = 2
z.imaginaire = 3
ou
z = (2, 3)

Géographique Nombre pour le calcul géodésique.
Dimensionne Position Comme Géodésique
Pour la ville de Paris
Position. latitude = 48.887090   ‘48°53’13.5″N
Position. longitude = 2.335260  ‘2°20’06.9″E
Position. altitude = 0
ou
Position = (48.887090, 2.335260, 0)

Objet Permet aux utilisateurs de référencer un objet interne ou externe de façon dynamique.
Dimensionne MonComposant Comme Objet
MonComposant  = Nouveau Bouton

Contrôle Objet d’interface prédéfini par le système comme un bouton, un label, un champ un texte ou une liste déroulante.
MonEcran.MonLabel.Titre = « Bonjour »

Constante Permet aux utilisateurs de déclarer des valeur prédéfini et de les stocker dans le jeu d’instruction.
Constante MA_CONSTANTE = 1

Structure Permet aux utilisateurs de créer des structures de données.
Structure MaStructure
          Nombre Comme Entier
           Msg Comme Chaîne
           Pi Comme Réel
Fin Structure 

Divers Permet aux utilisateurs de déclarer des variables par anticipation et dont le type est affecté lors de son exécution.
Dimensionne Compteur Comme Divers
Compteur =  FaireStatistique(« CommeUnOlivier.net »)

Tableau Permet aux utilisateurs de déclarer des tableaux à plusieurs dimensions.
Dimensionne TabNombre(1 à 10) Comme Entier     ‘Une dimension
Dimensionne TabChaine(10,10,10) Comme Chaîne ‘Trois dimensions
Dimensionne TabStruct(10) Comme MaStructure    Tableau de structure

Propriétés Les variables possèdent des propriétés qui conditionnent leur mode de fonctionnement.
Globale, elles sont visibles par tout le programme.
Locale, elles sont visibles seulement par la fonction ou la routine.
Distribuée, elles peuvent se répartir sur d’autres machines du réseau pour accompagner les fonctions ou les routines qui s’exécutent en mode parallèle.

3 – Syntaxe de base

La formalisation d’un jeu d’instruction passe par une syntaxe basique. Elle est simple mais doit être rigoureusement appliquée pour que la transformation des instructions en langage machine puisse se réaliser.

Titre Commentaire
Opérateurs Un opérateur permet une interaction entre deux variables et renvoi un résultat.
         Résultat Variable-1 opérateur Variable-2
Les opérateurs de concaténation
        + ‘Résultat  = Variable-1 + Variable-2
        & ‘Résultat  = Variable-1 & Variable-2
Les opérateurs de comparaisons
         <    Inférieur à
         <=  Inférieur ou égale à
         >    Supérieur
         >=  Supérieur ou égale à
         =    Égale
         <>  Différent
Les opérateurs arithmétiques
        +    Addition
        –    Soustraction
        *    Multiplication
        /    Division
        ^    Élever à la puissance
        Mod    Modulo – divise et retourne le reste      
Les opérateurs logiques
       ET    Conjonction logique

       OU   Disjonction logique
       xOU  Exclusion logique
Conditions Elle permettent d’évaluer une expression pour rendre conditionnelle l’exécution d’un jeu d’instruction.
Si Variable-1 > 100 ET Variable-2 > 100 Alors
       Affiche(« Condition 1 »)
SinonSi Variable-1 < Variable-2 Alors
       Affiche(« Condition 2 »)
Sinon
       Affiche(« Condition 3 »)
Fin Si

Boucles Elle permettent l’exécution d’un jeu d’instruction tant que les conditions sont vraies.

Boucle Pour – Suivant :
Dimensionne Compteur Comme Entier
Pour Compteur = 1 à 5
       Affiche(« Valeur Compteur = » + Compteur )
Suivant Compteur 

Boucle TantQue:
Dimensionne Compteur Comme Entier
TantQue (Compteur <= 5)
       Compteur = Compteur +1
      Affiche(« Valeur Compteur = » + Compteur )
Fin TantQue

Cas Il permet l’exécution d’un jeu d’instruction en fonction de la valeur d’une expression.

Dimensionne Compteur Comme Entier
Sélection Cas Compteur 
       Cas 1
               Affiche(« Valeur = 1 »  )
       Cas 2
               Affiche(« Valeur = 2 »  )
       Cas 3
               Affiche(« Valeur = 3 »  )
       Cas 4
               Affiche(« Valeur = 4 »  )
       Cas 5
               Affiche(« Valeur = 5 »  )
Fin Sélection 

Saut Saut inconditionnel vers un label d’un jeu d’instruction.

Affiche(« Valeur = 1 »  )
Aller à Branche
Affiche(« Valeur = 2 »  )
Affiche(« Valeur = 3 »  )
Affiche(« Valeur = 4 »  )
Branche :
Affiche(« Valeur = 5 »  )

Mathématiques Fonctions trigonométriques et hyperboliques
    Acos      arc cosinus
    Asin       arc sinus
    Atan       arc tangente
    Atan2     arc tangente
    Cos        cosinus
    CosH     cosinus hyperbolique
    Sin         sinus
    CinH      sinus hyperbolique
    Tan        tangente
    TanH     tangente hyperbolique

Fonctions exponentielles et logarithmiques
    Exp      exponentielle
    Exp2p  étant donné x, trouve n et p tels que x = n * 2p
    Exp      multiplie un nombre par une puissance entière de 2
    Log      logarithme
    Log10  logarithme décimal

Fonctions complémentaires
    Plafond     entier le plus proche par les valeurs supérieures
    Abs           valeur absolue
    Étage        entier le plus proche par les valeurs inférieures
    Racine2    racine carrée

Opérations de base

Le langage CUOBasique fournit un certain nombre de fonction prédéfinies et réalisées par les développeurs en langage C. De plus, les fonctions libres et open sources réalisées en langage CUOBasique par les utilisateurs ou les graphistes sont disponibles sous forme d’APIs.

Titre Commentaire
Système Fourniture de l’ensemble des fonctions évolués pour la gestion des périphériques, la sécurité, les langues, le calcul mathématique, les formats de données, des dates,etc.

Réseaux Fourniture de l’ensemble des fonctions évolués pour la gestion des réseau TCP/IP et les protocoles de communication comme HTTP, IMAP, SNMP, FTP, M2M, etc.

Fichiers Fourniture de l’ensemble des fonctions évolués pour la manipulation des répertoires, des fichiers et des formats associés comme le binaire, le texte, XML, JSON, etc.

APIs Bibliothèque de fonctions réalisées en langage CUOBasique par d’autres utilisateurs.

4 – Définition des interfaces homme machine

Le langage CUOBasique fournit des objets graphiques prédéfinies et réalisés par les graphistes et les développeurs en langage C.

Titre Commentaire
Objets Une quarantaine d’objets visuels ou vocaux sont disponibles comme le bouton,  l’images, la liste déroulante, l’arborescence, la vidéo, la reconnaissance vocale, etc. Des objets pour le design, la modélisation et le code sont également disponibles pour construire son propre studio de développement.

Propriétés Les propriétés sont des variables qui caractérisent les spécificités de l’objet comme le titre, les couleurs, les formes, les positions haut, bas, longueur, largeur, etc.
Par exemple, pour la propriété Source de l’objet vidéo qui contient le film.
MonEcran.MaVideo.Source = « MonAniversaire.mp4 »

Événements Les événements sont des routines qui caractérisent les déclencheurs et l’état de l’objet comme la souris, le glisser-déposer, etc.
Routine MaVideo_clic
Affiche(« L’utilisateur vient de cliquer sur l’objet Vidéo »)
Fin Routine

Méthodes Les méthodes sont des routines qui caractérisent le comportement de l’objet comme son mouvement, son ordre, son déplacement, ses actions spécifiques, etc.
MaVideo.Joue ‘Action qui lance la vidéo
MaVideo.Stop ‘Action qui arrête la vidéo

5 – Manipulation de l’information

Le langage CUOBasique s’appuie sur une logique de métadonnées organisées en matrices informationnelles. Chaque élément est identique. Il peut contenir d’autres éléments. Chaque élément peut posséder des attributs et des opérations.
CUOBasique fournit les facilités suivantes:

  • la manipulation des données structurées issues des bases de données relationnelles comme SQL
  • La manipulation des données non-structurées issues des documents ou de contenus spécifiques comme NoSQL
  • L’analyse statistique sur de grandes masses de données comme le Langage R ou GNU Octave

Titre Commentaire
Verbes Le verbe Sélectionner
SÉLECTIONNE nom, prénom, âge, anniversaire DE client  
Sélection d’un ensemble d’occurrences contenues dans le récipient nommé client

Le verbe Insérer
INSÈRE DANS client (nom, prénom) VALEUR (« Moulin », »Jean)
Insertion d’une occurrence dans le récipient nommé client avec pour le champ nom la valeur « Moulin » et pour le champ prénom la valeur « Jean »

Le verbe Modifier
MODIFIE client AVEC prénom = « Pierre » DONT nom = « Moulin » 
Modification du champ prénom avec la valeur « Pierre » pour les occurrences du récipient nommé client dont le champ nom est égale à « Moulin »

Le Verbe Effacer
EFFACE client DONT nom = « Moulin » 
Effacement des occurrences du récipient nommé client dont le champ nom est égale à « Moulin »

Le verbe Créer
CRÉER MATRICE MaBasedeDonnées AVEC _MODÈLECRM
CRÉER RÉCIPIENT Enfant (nom Comme chaîne, prénom Comme chaîne, âge Comme Entier)
CRÉER INDEX UNIQUE MonIndex SUR client.nom

Le Verbe Transformer
TRANSFORMER RÉCIPIENT client
                             AJOUTE COLONNE adresse Comme chaîne,
                             AJOUTE COLONNE ville Comme chaîne

Le Verbe Supprimer
SUPPRIMER INDEX MonIndex

Agrégations L’agrégation Compte
SÉLECTIONNE Compte(*) DE client  DONT prénom = « Jean » 
Calcul le nombre d’occurrences contenues dans le récipient nommé client dont le champ prénom contient « Jean »

L’agrégation Moyenne
SÉLECTIONNE Moyenne(âge) DE client  
Calcul la moyenne d’âge des occurrences contenues dans le récipient nommé client.

L’agrégation Maximum
SÉLECTIONNE Maximum(âge) DE client  
Calcul la plus âgée des occurrences contenues dans le récipient nommé client.

L’agrégation Minimum
SÉLECTIONNE Minimum(âge) DE client  
Calcul la plus jeune des occurrences contenues dans le récipient nommé client.

Les agrégations « Système »
Les fonctions offertes par le système peuvent être intégrées dans les requêtes.
SÉLECTIONNE Majuscule(nom) DE client  
Transformera les résultats des valeurs du champ nom en majuscule

Les agrégations « APIs »
Les fonctions réalisées en langage CUOBasique peuvent être intégrées dans les requêtes.
SÉLECTIONNE FormerLaDate(anniversaire, « US ») DE client  
Transformera les résultats des valeurs du champ anniversaire au format de la date utilisée au États Unis.

Requête

Exemples de Requêtes

SÉLECTIONNE nom, prénom, âge DE client  
DONT âge ENTRE 20 ET 25 ‘âge compris entre 20 et 25 ans
ET âge <> 22                            ‘âge est différent de 22 ans
ET nom COMME « M* »           ‘le nom commence par M

SÉLECTIONNE nom, prénom, âge DE client  
DONT anniversaire.mois ENTRE ET 8 ‘date compris entre mai et août
TRI PAR nom ASCendant , Trier dans l’ordre ascendant du nom
                 âge DEScendant Trier des plus jeunes aux plus âgés

MODIFIE client AVEC prénom = « Pierre » 
DONT nom = « Moulin »  

AVEC SYNCHRONISATION  synchronisation avec les autres matrices distribuées sur le réseau
Analyse

Une approche mathématique est parfois nécessaire pour comprendre une situation ou un phénomène. Ces fonctions s’appuient souvent sur une grande masse de données.
Par exemple, pour réaliser des prévisions climatiques, il est nécessaire de compiler des mesures de températures sur plusieurs dizaines d’années et concernant plusieurs lieux géographiques. Chaque élément de la matrice informationnelle peut être assimilé à un vecteur pour faciliter le traitement mathématique statistique et probabiliste approprié.

Economie Collaborative Définition

L’économie collaborative définit les nouvelles possibilités d’échanges issue de l’appropriation du numérique par un nombre croissant d’acteurs économiques comme les consommateurs, les entreprises ou les services publics. 

En effet, cette économique est la conséquence concrète des facilités d’accès à l’information offertes par nos smartphones, la standardisation du numérique et par l’économie de marché qui, paradoxalement, en accélèrent l’avènement.
Cette nouvelle liberté acquise par chacun d’entre nous permet de revisiter nos fondamentaux sociaux, culturels et économiques car elle nous facilite la collaboration avec les autres.
Nous pouvons d’avantage échanger, acheter, construire ou entreprendre en s’appuyant sur nos communautés respectives. Ces nouveaux comportements favorisent le partage d’information qui, in fine, facilitent le partage de biens et de services. Il impact notre rapport à la possession en privilégiant, d’abord pour des raisons économiques, l’usage et la ré-utilisation au détriment de l’acquisition et du renouvellement.
La question n’est plus de savoir si l’économie collaborative se substituera à l’économie de marché, mais c’est plutôt de savoir « quand ».
Pour être compétitif, nos entreprises se précipitent, à pas accélérés, sur la digitalisation des processus métier, suivis de près par les services publics.
En réalité, les jeux sont déjà faits et l’équation est très simple. Plus nos sociétés se numérisent, plus le pouvoir d’agir des individus augmente.
Par conséquent, la consolidation de l’économie collaborative se fera de façon mécanique.
C’est pourquoi, nous assisterons d’avantage à l’élimination des intermédiaires économiques, des médias traditionnels ou des entreprises qui produisent une trop faible valeur ajoutée.
Portés par le numérique, les concepts de transparence et de traçabilité deviendront d’avantage incontournables.
De plus, nous sommes de plus en plus nombreux à nous réapproprier les finalités mêmes de l’économie comme la recherche du bien-être individuel, le respect de notre biosphère et la prise de conscience globale de notre interdépendance.
Tôt ou tard, cette mutation accélérée diminuera la taille des acteurs économiques à une échelle individuelle. Elle finira par faire émerger seulement deux types d’acteurs économiques possibles : le créateur de valeur et le médiateur.
Pour le premier, c’est la conséquence direct de la numérisation du poste de travail qui libère les savoirs-faire pour mieux se les approprier et ainsi mieux les partager, les échanger et les faire valoir.
Pour le second, c’est l’orchestration et la diffusion de ces savoirs-faire.  Le médiateur construit une chaîne de création de valeur en mettant en scène les processus métier incarnés par les créateurs.
La création de valeur et la médiation risquent de devenir les seuls piliers durables de notre économie.
Ces nouveaux comportements commencent à proposer des schémas d’interactions inédits, par exemple :
  • Consommation collaborative, c’est l’échange de biens ou de services entre particuliers comme le troc, le covoiturage, le tourisme collaboratif ou l’échange de savoirs-faire.   
  • Achats collaboratifs, c’est le fait de se mettre à plusieurs pour regrouper ses achats et ainsi de bénéficier une réduction des prix à titre individuel.
  • Production collaborative, c’est la capacité offerte à chacun d’entre nous de créer, de désigner et de produire des biens et des services. 
  • Édition collaborative, c’est la capacité d’auto-éditer directement des livres, des revues ou des nouvelles sans passer par les intermédiaires classiques. 
  • Entrepreneuriat collaboratif, c’est la possibilité de mettre sur le marché des produits ou des services sans nécessairement créer une entreprise.
  • Pré-vente collaborative, c’est la faculté de vendre par avance un produit avant sa mise sur le marché pour en facilité le financement.   
  • Financement collaboratif, c’est la possibilité de financer le lancement d’une activité économique en faisant appel à la collecte privée de fonds.
Zaïr BEZGHICHE