dimanche 18 mars 2018

Big Data

Big Data

Dans cet article, je vais vous résumer ce qu'est le Big Data et vous présenter brièvement ces concepts.

Qu'est ce que le Big Data?

Le Big Data est souvent défini comme un large volume de données qui ne cessent d'augmenter ce qui a pour conséquence de rendre inutile les outils de gestions de données habituels (base de données, MQ...).
Après quelques recherches sur internet, la définition suivante me semble approprié: Le Big Data traduit un contexte ou nous avons un ensemble de données qui ne cesse de s’accroître dans des proportions énorme, telle que les technologies classiques ne sont plus en mesure de gérer efficacement la taille, l'échelle et l'évolution de celui-ci.
Ce qui rends très complexe l'extraction de la valeur ajouté de ces données (Visualisation, stockage, acquisition, recherche, analyse, partage).

Le Big Data est un sujet tellement vaste qui ne cesse d'évoluer, celui-ci englobe également tous les processus permettant de tirer parti de la donnée.
Le Big Data est aujourd'hui lié à des concepts tel que Business Intelligence, Data Analytics, Data Mining.

Il est bien de savoir que le Big Data n'est pas un concept nouveau, celui-ci a ses origines dans les milieux scientifiques et médicaux (Laboratoire de recherches, NASA ...) ou celui-ci a fait ses preuves depuis plus de 20 ans.

Le Big Data est plein d'opportunités pour différentes industries, exemple, dans le domaine de la finance, nous avons d'important volume de données (instruments, tiers, transactions, réglementaires, salariés, e-mails, télécommunication, chat, climatiques ...).

C'est quoi le Data Analytics?

C'est la recherche de valeur ajoutée sur un volume de données important en se basant sur des attributs déjà connu.

A quoi sert la Business Intelligence?

C'est une analyse de données permettant de faciliter la prise de décisions.

A quoi sert le Data Mining?

C'est une analyse de données sous différentes perspectives permettant d'en tirer des informations utiles et émettre des prédictions et ou hypothèses.

En conclusion je vais vous présenter les 5 règles à prendre en compte dans une démarche Big Data.

- Volume: gestion de volume de données important, être capable de stocker des énormes volumes de données.(nous produisons environ 3 exaoctets[10^30] de données par jour)

- Variété: gestion de diverses variétés de données (structuré, non-structuré)

- Véracité: la fiabilité, la qualité de la données sont importantes afin de ne pas biaiser les analyses.

- Vélocité: analyse, mise à disposition des données très rapidement.

- Valeur: la valeur ajouté est essentiel dans une démarche Big Data, il faut identifier les avantages, inconvénients d'une telle démarche, le coût et le retour sur investissement.

Mon prochain article portera sur la fiabilité de la donnée.

dimanche 29 mai 2016

Les différents métiers de l’informatique dans le secteur de la finance

Les métiers informatiques présents dans le secteur de la finance sont identiques à ceux que l'on retrouve dans l'industrie.

Néanmoins certains métiers sont segmentés par pôle (Front, Middle, Back) au sein de l'entité.

Front Office: Ce pôle regroupe les différents opérateurs de marché (Trader, Gérant, Analyste, Responsable de desk).

Middle Office: Ce pôle regroupe toutes les fonctions en charge de l'assistance (assistant trader), gestions des opérations (référentiels) et du contrôle (risque, PNL). Ici nous avons une interaction avec le Front et Back.

Back Office: Ce pôle regroupe toutes les fonctions administratives (règlement et livraison suite à des transactions).
Je vais vous fournir cette liste par classe de métier, j'accompagnerai chaque métier d'une description succincte.

 1) Direction

- DSI (Directeur du système d'information): Responsable du système d'information, définition et mise en œuvre de la politique informatique en accord avec la stratégie de l'entreprise.

- Directeur de département: Responsable d'une fonction au sein du système d'information, celui-ci est garant du bon respect du cahier de charge, il gère les ressources financières et humaines.

2) Études

- Architecte Fonctionnel : il est le garant de l'environnement fonctionnel, défini les choix technologiques en accord avec la stratégie de l'entreprise.

- Chef de projet fonctionnel: Analyse, recueil les besoins des utilisateurs, gestion du planning, des ressources, recette, validation et évolution des applications. Fait le lien entre le client et la maîtrise d'œuvre.

- Analyste Fonctionnel: Analyse, recueil les besoins des utilisateurs, assistance des utilisateurs, recette et validation des applications, fait le lien entre le client et la maitrise d'œuvre, assiste différents chefs. L'analyste fonctionnel est le relai des chefs de projet auprès de la maitrise d'œuvre.

- Responsable de projet: Coordination globale d'un ensemble de projets tant sur le plan technique que fonctionnel, humain et financier.

- Chef de projet Technique: Gestion et coordination du projet sur le plan technique.

- Intégrateur: Mise en place d'un progiciel et responsable du passage de compétence.

- Développeur: conçoit, maintient et fait évoluer les applications.

- Analyste Big Data: En charge de la récupération, analyse, transformation et la restitution de données. Ce métier est à la mode en ce moment.

3) Exploitation et Infrastructure

- Architecte technique: il est le garant de l'environnement technique, défini les choix technologiques en accord avec la stratégie de l'entreprise.

- Ingénieur en sécurité: il est le garant de la sécurité du système d'information, il veille à ce que les trois principes de base de la sécurité de l'information soient respectés (confidentialité, disponibilité et intégrité).

- Ingénieur Système: il est le garant du ou des systèmes d'exploitation au sein de l'entreprise, il assure la maintenance des différents composants liés au système d'exploitation.

- Ingénieur réseau: il est le garant du bon fonctionnement du réseau informatique au sein de l'entreprise.

- Ingénieur de production: il met en place les procédures d'exploitation et est en charge de l'intégration technique des solutions.

- Administrateur base de données: il est en charge de la conception, la gestion, administration des systèmes de bases de données.

- Gestionnaire de parc informatique: il est le garant du bon fonctionnement des stations de travail (mobiles ou fixes) et des différents équipements informatique permettant aux utilisateurs de réaliser leurs tâches.

- Technicien Informatique: il assure le bon fonctionnement des composants déployés sur le parc informatique.

La liste communiquée ci-dessus est assez générique, certaines fonctions peuvent être cumulées en un seul poste d'une entreprise à une autre.

Quel que soit le poste, une compréhension du secteur d'activité est un pré-requis.

Mon prochain article portera sur le "Big Data", la qualité de la donnée étant un enjeu cruciale.

dimanche 22 décembre 2013

Lien entre Finance et Informatique

Quelle est le lien entre la Finance et Informatique?

Nous sommes encore entrain de subir les répercutions de la crise financière de 2007(hausse des taux d'intérêt, baisse du financement des entreprises, augmentation du chômage, perte de pouvoir d'achat...)


J'ai donc décidé d'écrire cet article pour présenter ce lien étroit entre informatique et finance. Pour commencer je vais définir ces deux termes.


Qu'est ce que l'Informatique: voici la définition de base, science du traitement automatique de l'information. Ce qui en réalité est bien plus complexe car pour traiter des données il faut mettre en place de nombreuses procédures et mécanismes...


Qu'est ce que la Finance: c'est un système permettant de répondre aux besoins de financement des différents acteurs économiques (Institutions publiques, personnes morales, personnes physiques). Ce système est en étroite corrélation avec plusieurs sciences mais l'on peut affirmer avec certitudes que deux grandes sciences lui ont conféré de plus en plus une place très importante dans l'économie mondiale.


Ses deux sciences sont l'informatique et les mathématiques. Je ne mets pas de côté les sciences économiques mais je pense que les sciences citées précédemment ont changés la donne.
Je vais m'intéressé ici au lien entre informatique et finance. Avant cela revenons un peu sur la Finance.

A quoi sert la finance: la finance permet une globalisation des différentes économies.(la devise en est le premier exemple. Il est bien de savoir que toutes les devises sont indexé sur le dollar (ceci due en grande partie à l'importance de l'économie américaine après les deux guerres mondiales, elle représentait environ 70% de l'économie mondiale ce qui n'est plus vrai aujourd'hui car elle en représente actuellement moins de 20%) La monnaie en elle même est une créance sur la banque qui émet cette monnaie)

La finance assure la pérennité des états (Elle permet aux états de subvenir à leur dépenses), des grandes entreprises (permet aux entreprises d'investir pour s'enrichir), des ménages (Elle permet au ménage de disposer de ressources importantes tout en limitant le coût de l'argent) car sans la finance il n'y aurait aucune régulation des taux d'intérêt.


Dans un monde parfait le prix se défini par la rencontre de l'offre et de la demande mais nous ne sommes pas dans un monde parfait donc le prix en réalité est défini par la rencontre de l'offre et de la demande, la conjoncture et la spéculation.


Grace aux avancés mathématiques des années 70-80 (modèle Black et Scholes, actualisation, introduction du pivot de gauss dans les systèmes financiers ...), les banques ont cru qu'il etait possible de faire des gains sans limite. Ceci du en grande partie à l'évolution informatique avec la généralisation d'unité de calculs très puissantes à un coût abordable, les évolutions en terme de transmission d’information (minitel, internet, interconnexion de réseau (ADSL, Fibre optique).

Ces avancés technologiques vont permettre l'utilisation de ces modèles mathématiques qui sont définis par des mathématiciens et traduit en algorithme par des informaticiens dans l'industrie de la finance, naissance des pricers automatiques, gains de plus en plus important sur des produits dérivés grâce aux leviers important de ceci.

Qu'est ce qu'un levier: c'est la différence sur une même opération financière entre l'emprunt et l'apport personnel (je dispose de 8euros j'emprunte 92 euros à un taux x inférieure à y le bénéfice envisageable, x = 2% y = 10%, j’investis 100euros qui rapporte 10 euros, je rembourse 1.84 euros. Donc au final je gagne 8.16euros (10-1.84))

Le levier explique brièvement le principe de fonctionnement d’une banque de financement. A part dans la mise en place des algorithmes et le calcul à quoi sert l'informatique.

Il est bien de savoir qu'aujourd'hui les quasis totalité des titres échangés sur les marchés financiers sont des titres électroniques. Les différentes banques sont interconnectées entre-elles via les réseaux informatiques, les différents marchés financiers aujourd'hui peuvent être assimilé à des systèmes électroniques.

Aujourd'hui la disponibilité, la confidentialité et la non répudiation régissent fortement les systèmes financiers électroniques. D’ou l'utilisation de processus venant tout droit de l'informatique dans la finance. L'évolution informatique est aujourd'hui au service de la finance et de l'économie mondiale.

Je continuerai cet article prochainement en présentant les différents métiers informatiques dans le secteur de la finance.

dimanche 3 novembre 2013

Vie privée sur internet

Mon dernier article date d’un an, disons que j’ai bien fait d’attendre aussi longtemps pour publier celui-ci car lors de la rédaction de cet article en mars 2013 je me demandais si vous, si moi avions droit à une vie privée sur la toile (internet)? Quelques mois plus tard les média révèlent au grand jour des affaires d’espionnages entre états souverains.


Le seul fait de se poser cette question est en contradiction avec la philosophie d’internet. Internet a été conçu pour le partage, pour l’échange. Les données présentes sur internet devraient être accessibles à tous et pour tous en opposition à la notion de vie privée. Malheureusement pour certain, Heureusement pour d’autre les Etats-Unis est le pays qui a participer en majorité à l’essor d’internet. Cet état étant préoccupé par la protection de la vie privée confère le quatrième amendement de la Constitution des Etats-Unis contrairement à la situation en France ou aucun texte de loi ne défini cette notion de privée. Seul l’article 2 de la constitution mentionne cette notion de « Vie privé ».
Selon moi la notion de vie privée sur internet est une utopie car  de quels moyens dispose-t-on réellement pour assurer la vie privée des utilisateurs d’internet :

-         - Technologiques (cryptographie, toute donnée chiffré n’est exploitable que par les utilisateurs ayant les clés dans un monde parfait. Toute personne se donnant les moyens peut déchiffrer vos données) 

           -  Législation (L’état qui est le garant des droits et devoir du citoyen. Pour rappel jusqu’en 1999 les systèmes de chiffrement étaient interdit en France à moins  que celui là même dispose du moyen de décrypter votre système. Aux Etats-Unis, l'état a voulu imposer une norme en matière de chiffrement en 1993, heureusement cela n’a pas vu le jour)

      -   Les réseaux sociaux (réseaux permettant à des groupes sociaux de voir le jour et de partager ses données entre membre d’un même groupe social. Dès l’adhésion à un de ses réseaux il vous indique dans leur charte que vos données sont ré-exploitables dans le cadre de leur activité car ils vous fournissent un service qu’il soit gratuit ou payant).

Comme vous pouvez-le voir aucun moyen ne permet d’assurer réellement une vie privée. Pour preuve même des états souverains disposant de systèmes censés protéger  leur vie privée ne peuvent réellement en bénéficier. Nos données sont à elles seul d’énorme source de revenu.

Alors que faire ?

Faudrait-il légiférer au niveau international ?

Aujourd’hui la notion de vie privée est un des secteurs dans lequel il y’a des richesses à créer dans l’industrie de l’informatique. 

Bonus : pour en savoir plus sur la notion de vie privée consulter la page de l’EFF (Electronic Frontier Foundation) www.eff.org

lundi 5 novembre 2012

Commandes utiles

Cet article était prévu de longue date mais faute de temps, je n'ai pu le publié.

J'ai décidé de réalisé cet article pour partager certaines commandes pouvant aider dans certaines situations.

Un administrateur est souvent amené à effectué des tests de connectivité, le meilleur utilitaire offert par les systèmes descendant d'UNIX est le Telnet, oubliez le test via la commande ping.

Pour tester une connexion ou une ouverture de flux: Telnet [Adresse IP] [Port]

- en cas d'échec, certains outils tels que Traceroute et Wireshark permettent d'en savoir plus sur le chemin parcouru par les trames.

- en cas de réussite, pour quitter une session Telnet proprement, il faut saisir : 


Sur Windows CTRL + $ puis taper quit
                                                                                                             

Sur Linux CTRL+ALT GR+ ] puis taper quit


Avoir des informations sur le système exploitation et le processeur utilisé


- Sous Windows il existe un utilitaire très complet qui fournit un maximum d'information, pour avoir accès à ses informations il suffit d'exécuter la commande Systeminfo

- Sous Linux, il existe plusieurs utilitaires permettant d'obtenir ses informations.

Si vous avez la possibilité d'installer l'utilitaire lsb-release (apt-get install lsb-release), qui permet d'obtenir simplement des informations sur son système
Un simple cat /etc/*-release vous donnera les informations sur la version du système installé. Nativement vous avez l'utilitaire uname qui permet d'obtenir toute les informations de base relative à son système en exécutant uname -a.

Passage en mode administrateur sous Windows ou Linux

Sous Linux c'est assez simple, il faut exécuter sudo [commande] en s'assurant d'être dans la liste des utilisateurs autorisé en passé en mode super utilisateur, pour cela sur Debian il suffit d'éditer le fichier des sudousers en exécutant la commande visudo en super-admin et en rajoutant une ligne en suivant les indications du fichier

Sous Windows aussi c'est assez simple, il suffit d'ouvrir un terminal en mode administrateur, en exécutant la commande suivante:
runas /u:[Nom de domaine]\[Login utilisateur] cmd
Puis rentrez son mot de passe.

Quelques petites commandes qui vous permettent d’accéder à des utilitaires Windows assez rapidement:

ouvrez un terminal, soit appuyer sur le bouton Windows et la touche r simultanément.


Obtenir l'utilitaire d'ajout et de suppression d'application: appwiz.cpl
Obtenir le panneau de control: control
Obtenir l'utilitaire de gestion d'apparence du bureau: desk.cpl
Obtenir l'utilitaire de diagnostic directX: dxdiag
Obtenir le firewall Windows: firewall.cpl
Obtenir l'utilitaire de gestion d'utilisateur et groupe: lusrmgr.msc
Obtenir l'utilitaire de configuration de système: msconfig
Obtenir le gestionnaire de prise à main à distance de poste Windows: mstsc
Obtenir l'utilitaire de création de point d'accès WIFI: netsetup.cpl

Obtenir le gestionnaire de clés de registre: regedit
Obtenir le gestionnaire des services: services.msc

Obtenir les propriétés du système: sysdm.cpl
Obtenir l'utilitaire d'edition de configuration système Windows: sysedit
Obtenir le gestionnaire de tâche: taskmgr


Bonus:


Shutdown -s -f -t 600 (Cette commande vous permettra de paramétrer l'arrêt de votre PC quand le sommeil vous tient en 10minutes top chrono)

dimanche 8 juillet 2012

BtrFS l'évolution des systèmes de fichiers actuels

BtrFS

BtrFS(Butter File System) : Ce système de fichiers qui est inspiré de ZFS(Z File System) qui ce veut être le système de fichier qui nous permettra de répondre aux problèmes de performances des systèmes de fichiers actuels.

BtrFS apporte une solution aux limites de stockage actuel et la dernière version est très stable et de nouvelles fonctionnalités sont toujours en développement.

En plus de gérer une capacité de stockage très importante, il permet aussi une récupération de données rapide après un arrêt inattendue grâce à son système d’écriture de données, BtrFS n’écrase pas la donnée originale, lors de l’écriture d’une donnée sur le disque, il la stocke dans un espace protégé qui n’est accessible qu’en lecture et à chaque modification de la donnée, il copie la donnée original dans un nouvel espace disque et modifie cette nouvelle version et la sauve et reproduit cette opération autant de fois que l’on modifie le fichier de façon incrémental. Si la nouvelle copie est corrompu la version précédente sera toujours la en backup et si toutes les versions précédentes sont corrompues, la version originale sera toujours la.

Niveau Stabilité BtrFS offre des performances comparables à Ext4 ce qui est excellent pour un système de fichier toujours en développement, il gère aussi bien les petits fichiers que Ext4.
La récupération de système s’effectue très rapidement après un arrêt inattendu grâce à sa technologie de journalisation très performante.

BtrFS apporte le hot-plug à Linux, cette fonctionnalité qui a énormément manqué à Linux, plus besoin de démonter ses volumes (mais c’est toujours mieux de le faire).
La grande révolution BtrFs pour moi est le Snapshots (image du système de fichiers à un instant précis).cela  permet de récupérer son système assez rapidement en cas de crash.

Pour cela il suffit juste d’aller sur sa partition système

Cd /
btrfs subvolume snapshot / @snapshot10052012

Et voila le système de fichier de la partition système sauvegardé faire de même pour la partition /home ou sur /boot (optionel).

BtrFS supporte aussi les technologies de répartitions de données suivantes : RAID 0, RAID 1, RAID 10, RAID 5, RAID 6, BtrFS permet aussi de changer la taille d’une partition à chaud.



Taille Max d’un fichier
Taille Max d’une partition
Gestion des droits d’accès aux fichiers et répertoires
Journalisation
BtrFS
16 Eo
16 Eo
Oui
Oui

Pour en savoir plus consulter la vidéo de la présentation de BtrFS pas M Chris Mason (http://www.youtube.com/watch?v=hxWuaozpe2I) 

mercredi 18 avril 2012

Modifier la valeur d'une variable d'envirronement en C (API Windows)

Une petite fonction, qui peut être très utile

J'ai décidé de rédiger ce petit post car j'ai récemment eu à réalisé un exécutable en ligne de commande, pour ne pas avoir à aller à chaque fois dans le répertoire contenant mon exécutable pour le lancer, j'ai du trouver un moyen de changer la valeur du path windows de façon définitive.

Voici la petite fonction que j'ai réalisé

/****    Fonction set_path.c

---------Cette fonction prends en paramètre le chemin de l'executable à rajouter dans le path
---------Toujours mettre un point virgule avant de mettre le chemin absolu ";"

****/

#include <Windows.h>
#include <stdio.h>

int set_path(char * chemin_exe)
{
  HKEY hKey;
  char *path;
  char *path_exec;
  BYTE *paths;
  int len;

  path = malloc(1024 * sizeof(*path));
  path_exec = malloc(256 * sizeof(*path_exec));
  path = getenv("Path");
  path_exec = chemin_exe;
  path = strcat(path, path_exec);
  paths = (byte *) path;

  printf("Path = %s %d\n", path, strlen(path));


  if (RegCreateKey(HKEY_LOCAL_MACHINE, "SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment", &hKey) != ERROR_SUCCESS)
  {
    fprintf(stderr, "RegCreateKey() a échouée : %d\n", GetLastError());
    return (EXIT_FAILURE);
  }
  else
  {   
    printf("reussi paths pret\n");
    RegSetValueEx(hKey, "Path", 0, REG_EXPAND_SZ, paths, strlen(path) + 1);
    RegCloseKey(hKey);
  }
  //getchar();
  return (EXIT_SUCCESS);
}

Voici une explication succincte de quelques fonctions clé

malloc : allocation dynamique de mémoire, prends en paramètre le type de la variable et la taille maximum possible

getenv : Permet de récupérer la valeur d'une variable d'envirronement

Strcat : concaténation de 2 chaînes

RegCreateKey : Permet de créer ou modifier une clé dans la base de registre, prend en paramètre la clé de la base la base de registre que l'on souhaite modifier,l'arborescence à créer ou celle ou se trouve la sous clé à modifier, puis une un identifiant ou handle dans lequel sera stocké la résultante de cette fonction.

RegSetValueEx : Permet de donner une valeur à la sous clé qu'on viens de créer ou modifier une existante, elle prends en paramètre l'identifiant ou handle de la clé, ensuite le nom de la variable à modifier, ne pas se soucier du 3ème argument mettre un 0, ensuite le type de la variable que vous souhaitez créer ou modifier, ensuite la valeur souhaiter pour la variable, enfin la taille de la valeur

RegCloseKey : permet de fermé la clé de registre (Tout ce qui est ouvert doit être fermé), prends en paramètre l'identifiant ou le handle qui a été passé en paramètre au RegCreateKey.