Benjamin Cornu Florian Joyeux. Les choses à connaître pour (essayer) de concurrencer Facebook.

Dimension: px
Commencer à balayer dès la page:

Download "Benjamin Cornu Florian Joyeux. Les choses à connaître pour (essayer) de concurrencer Facebook."

Transcription

1 Benjamin Cornu Florian Joyeux Les choses à connaître pour (essayer) de concurrencer Facebook. 1

2 Sommaire Présentation générale Historique Facebook La face cachée de l iceberg (back end) Architecture globale Business Logic Thrift Scribe Persistance MySQL Memcached Cassandra Hadoop Hbase en digne remplaçant de Cassandra HBase Hive HayStack Le sharding Liaisons entités Algorithme et Fonctionnement Le visage de Facebook (front-end) L architecture PHP HipHop BigPipe Structurer les informations EdgeRank La fin d EdgeRank Le story bumping Le last actor L avenir de Facebook Webographie Back-end Front-end Structurer les informations 2

3 Mise en garde : Ce livre blanc est un recueil d'informations tirées d internet. Comme toutes informations tirées d internet, les données présentées dans ce recueil n ont pas la prétention de représenter la réalité dans son exactitude. Toutefois, même si elles ne sont pas parfaitement exactes, elles permettent de présenter le site Facebook et ses grandes fonctionnalités de façon plus ou moins précise. Certaines informations étant pour des raisons évidentes confidentielles, nous avons pris la liberté d imaginer comment pourraient être créées les fonctionnalités manquantes pour proposer une vision globale de la machinerie derrière le site Facebook. 3

4 Présentation générale Historique Facebook Facebook est un réseau social créé par Mark Zuckerberg en Ce service en ligne permet aux internautes d échanger des messages et de publier du contenu (photos, vidéos, liens,etc. ) entre amis. À sa création le site n était destiné qu aux étudiants d Harvard, mais il s est très vite répandu dans les autres grandes universités avant de devenir accessible à tous. Il compte aujourd hui plus d un milliard d utilisateurs actifs. En quelques années Facebook s est imposé comme l un des sites les plus consultés au monde et enregistre : 100 milliards de clics par jour, 50 milliards d images, 100 millions de requêtes par secondes, 3 trillions d objets qui utilisent le cache, un fichier de log journalier pèse 130 To. Pour satisfaire les utilisateurs, l architecture se compose entre autres de : serveurs, 3000 serveurs pour les clusters Hive et Hadoop disposant chacun de : 8 coeurs, 12 To d espace disque, 32 go de RAM. Après ces quelques chiffres, si l envie vous venez de vouloir concurrencer Facebook, il peut être nécessaire de connaître certains points importants avant de se lancer à corps perdu dans la bataille. Facebook s apparente à un iceberg, pour bien comprendre les mécanismes mis en jeu par le site, nous le présenterons dans sa globalité de façon verticale. La première partie s articulera autour de son architecture physique et matérielle, ce que nous appellerons la face cachée de l iceberg. Dans un second temps, nous détaillerons la partie visible de l iceberg. Cette seconde partie correspond à ce qui est présenté aux visiteurs. Nous terminerons cette seconde partie avec les algorithmes qui permettent aux utilisateurs d'interagir entre eux et qui font de Facebook un véritable réseau social permettant de créer des interactions et des connexions virtuelles entre les utilisateurs. 4

5 La face cachée de l iceberg (back-end) Dans cette première partie, nous vous ferons découvrir l architecture ainsi que les différents outils utilisés par Facebook. Pour synthétiser la présentation, nous vous présenterons dans un premier temps cette partie sous son aspect global (sous la forme de plusieurs couches), puis de façon plus détaillée en reprenant chacune des couches ainsi que chacun de ses composants. Architecture globale Le schéma ci-dessus a été réalisé à partir du lien suivant : Engineering/What-is-Facebooks-architecture?q=facebook+architecture Le front-end faisant l objet d une partie détaillée plus loin dans ce livre blanc, nous ne rentrerons pas dans les détails dans cette partie. 5

6 Business Logic La couche business logic correspond à la partie métier de l architecture, c est elle qui va définir comment les objets vont interagir les uns avec les autres, comment les données seront ajoutées/modifiées. Thrift Thrift est un langage de définition d'interface (IDL) conçu pour la création et la définition de services pour de nombreux langages. Il est utilisé en tant que framework RPC et a été développé par Facebook pour le «développement de services évolutifs multilangage». Une pile logicielle est jointe à un moteur de génération de code, permettant la création de services fonctionnant plus ou moins efficacement et en continu entre C#, C++ (sur systèmes POSIX), Cappuccino, Cocoa, D, Erlang, Go, Haskell, Java, Node.js, OCaml, Perl, PHP, Python, Ruby, et Smalltalk. Wikipédia Thrift, pour simplifier sa définition est un intermédiaire entre les données/fonctionnalités et les utilisateurs. Il met à disposition de l utilisateur un certain nombre de services (ces services peuvent être écrits avec différents langages, ce qui fait le réel intérêt de Thrift). Scribe Nous avons pris la décision de mettre Scribe au même niveau que Thrift dans la couche business logic (couche charnière de l architecture) car ce serveur et son champ d application couvrent une grande surface du back-end de Facebook. Scribe est un serveur permettant l agrégation en continu des logs. Il a été conçu pour supporter un très grand nombre de noeuds et pour être robuste sur le réseau. À chaque noeud du réseau interne de Facebook se trouve un serveur scribe configuré pour agréger les messages et les renvoyer vers un serveur central Scribe. Dans le cas où le serveur central ne serait pas disponible, les logs sont stockés localement en attendant une réponse du serveur central. Scribe est implémenté comme un service Thrift. Son implémentation fonctionne sur des milliers de machines et offre des dizaines de milliards de messages fiables par jour. 6

7 Persistance La couche de persistance de données correspond au stockage de toutes les informations se trouvant sur le réseau social (informations sur les utilisateurs, messages, photos, vidéos, etc.) Le couple Cassandra/Hadoop a été délaissé en 2010 par Facebook au profit de HBase mais nous tâcherons tout de même de présenter les technologies dans le but de comprendre la décision de cet abandon. MySQL MySQL est un serveur de bases de données relationnelles SQL développé dans un souci de performances élevées en lecture, ce qui signifie qu'il est davantage orienté vers le service de données déjà en place que vers celui de mises à jour fréquentes et fortement sécurisées. Wikipédia Sur la totalité des serveurs que possède Facebook, 20% sont des serveurs MySQL et sont épaulés pour la plupart par des serveurs Memcached. Le reste des serveurs de données sont des serveurs HBase. Depuis l apparition de la nouvelle timeline, les informations n ont plus le besoin d être remontées systématiquement, mais plutôt d être organisées de façon statique, ce qui rend plus légitime l utilisation de MySQL. Ci-dessous un lien vers la page Facebook, de la version de MySQL utilisée et modifiée : Memcached Memcached est un système d'usage général servant à gérer la mémoire cache distribuée. Il est souvent utilisé pour augmenter la vitesse de réponse des sites web créés à partir de bases de données. Il gère les données et les objets en RAM de façon à réduire le nombre de fois qu'une même donnée stockée dans un périphérique externe est lue.[...]. Memcached a été initialement mis au point par Danga Interactive pour LiveJournal. En 2010, il est utilisé par d'autres sites, plusieurs très fréquentés, tels que YouTube, Reddit, Zynga, Facebook et Twitter. Wikipédia Memcached accroît les performances des sites Web fondés sur MySQL en capturant les données et les objets dans la mémoire afin de minimiser la charge de la base de données. 7

8 Facebook fait partie de ceux qui déploient Memcached et MySQL pour répondre à la demande de millions d'utilisateurs et de milliards de pages vues tous les mois. Cassandra Cassandra est un Système de Gestion de Base de données (SGBD) NoSQL, un des principaux projets de la Fondation Apache. Cassandra est conçue pour gérer des quantités massives de données réparties sur plusieurs serveurs (cluster), en assurant tout particulièrement une disponibilité maximale des données et en éliminant les points individuels de défaillance. Initialement développée par Facebook, l'application a été libérée dans l'espace open source [...]Cassandra est basée sur une structuration en paires clévaleur. L'architecture relationnelle est orientée colonne, avec des éléments plus traditionnels (stockage horizontal des paires). Wikipédia Le choix de passer à une base NoSQL (pour Not Only SQL) vient du fait que les SGBD relationnels classiques sont dimensionnés pour une quantité d informations et d utilisateurs limitée. Les SGBD classiques atteignent rapidement leur limite quand il s agit de traiter un site web fréquenté par des millions de visiteurs comme Facebook. C est en partant de ce constat que Facebook a créé Cassandra. L architecture orientée colonne permet de gagné en simplicité, en performance et en extensibilité. 8

9 Sur la page suivante se trouve une explication simple des différences entre un modèle relationnel classique et un modèle orienté colonne : Hadoop Hadoop est un framework Java libre destiné à faciliter la création d'applications distribuées et échelonnables (scalables). Il permet aux applications de travailler avec des milliers de nœuds et des pétaoctets de données. Hadoop a été inspiré par les publications MapReduce, GoogleFS et BigTable de Google. Wikipédia Hadoop propose deux choses que l on peut coupler avec le SGBD Cassandra : Un système de fichier distribué (HDFS) qui permet l'abstraction de l'architecture physique de stockage, afin de manipuler un système de fichiers distribué (sur plusieurs disques durs) comme s'il s'agissait d'un disque dur unique. Un framework de calcul et de traitement (MapReduce). En suivant ce lien, vous trouverez une publication de Google concernant le fonctionnement détaillé de MapReduce : Fonctionnement de MapReduce Plus de détail sont disponibles concernant Hadoop sur la page Wikipédia : 9

10 Hbase en digne remplaçant de Cassandra Face à certaines de ses évolutions, Facebook a dû prendre la décision de changer de technologie, c est ce qui est arrivé à Cassandra qui a été délaissé pour utiliser HBase dans le cadre du système de message comme l explique un ingénieur sur cette page : https://www.facebook.com/note.php?note_id= HBase HBase est un SGBD NoSQL du même type que Cassandra, mais il apporte les avantages suivants : Plus rapide, Plus échelonnable, Propose une implémentation de base de MapReduce. Il peut de plus être mis en place sur HDFS (le système de fichier distribué de Hadoop), ce qui lui procure encore de nouveaux avantages. Hive Hive est un logiciel d'analyse de données permettant d'utiliser HBase avec une syntaxe proche du SQL. Hive a été initialement développé par Facebook. Le schéma ci-dessous permet de synthétiser l architecture de HBase avec Hive. 10

11 Le nombre de données agrégées par le site de Facebook étant toujours croissant, les ingénieurs travaillent sur de nouvelles façons d optimiser toujours plus les interactions avec les BDD. Sur la page se trouvant à cette adresse : https://code.facebook.com/posts/ /presto-interacting-with-petabytes-of-dataat-facebook/ Un ingénieur présente brièvement un nouvel outil de requêtage nommé Presto qui pourra à l avenir venir s ajouter aux nombreuses technologies utilisées par Facebook pour le traitement des données. HayStack Haystack est l outil développé par Facebook leur permettant de gérer des milliards de photos de façon optimisée. L outil d upload de photos est l une des fonctionnalités les plus utilisées de Facebook. Facebook stocke sur ses serveurs, plus de 260 milliards d images soit environ 20 petabytes! Et ce nombre ne fait que croître puisque 1 milliard d images sont mises en ligne chaque semaine. Lorsqu un utilisateur souhaite visionner une photo, la difficulté est d en trouver une photo parmi des milliards. Facebook a donc mis en place l architecture suivante afin qu une photo soit facilement retrouvée dans la base de données : 11

12 Pour plus d informations sur le fonctionnement réel de HayStack ainsi que sur cette architecture, consulter : Le sharding Pour éviter de gérer des tables de données énormes, Facebook utilise l architecture de sharding et plus particulièrement le partitionnement horizontal. Le but du sharding est de répartir la charge sur plusieurs serveurs. Cette technique demande néanmoins de modifier sa façon d accéder aux données. (Sur quel serveur se trouvent les données que l on cherche?) Ci-dessous un schéma explique simplement les deux types de partitionnement : Dans le but de répliquer son architecture sur plusieurs sites, la partie Business Logic et la persistance sont encapsulées dans une entité appelée cellule. Chaque Cellule gère un certain nombre d utilisateurs (pour simplifier, une cellule gérera les utilisateurs A - F, une autre de F - O, etc.). De nouvelles cellules peuvent être ajoutées si c est nécessaire. La persistance est basée sur Hbase telle qu expliquée précédemment. Le partitionnement horizontal des données : 12

13 Les bénéfices du sharding : 13

14 Liaisons entités Algorithme et Fonctionnement La suggestion d amis est l une des fonctionnalités importantes de Facebook, mais, comment fonctionne-t-elle? Après plusieurs recherches, on peut s apercevoir qu il est très difficile de trouver des informations sur le fonctionnement exact. Beaucoup d internautes se sont posé la question. Dans le billet suivant, un internaute a réussi à avoir quelques réponses d un employé de Facebook html Facebook baserait son algorithme sur plusieurs critères, dont les suivants : Le nombre de photos où l on est identifié avec une personne, Le nombre d amis en commun avec la/les personnes avec lesquelles on interagit le plus. En recherchant plus d information, nous avons trouvé un algorithme permettant de trouver nos meilleurs amis sur Facebook. Ceux avec qui nous communiquons le plus par l'intermédiaire de mentions J aime, de commentaires, de photos avec identification... https://github.com/gajus/facebook-friend-rank En fonction des mentions J aime et des commentaires, Des profils visités, Les fils d actualités où notre nom est mentionné, Personne dans le même lieu au même moment, Personne ayant le même lieu de résidence, Centre d'intérêt en commun. Facebook testerait également de nouveaux algorithmes pour élargir son réseau : Personne qu on pourrait connaître Personne qu on pourrait ne PAS connaître Personne qu on pourrait rencontrer Personne qu un proche peut nous présenter Personne avec qui on pourrait se réconcilier après une rupture Pour plus d informations sur ces différents algorithmes : 14

15 On peut également se pencher sur cet article où l auteur a développé des algorithmes permettant d'améliorer la recommandation d amis. Pour développer les algorithmes, l auteur se base sur plusieurs critères : Relation de travail Amis en commun Localisation commune Intérêts en commun Films en commun Éducation Religion / Politique Identification sur une photo On peut imaginer que Facebook utilise également certains de ces critères. 15

16 Le visage de Facebook (front-end) L architecture Dans cette partie nous allons vous détailler la partie visible de l iceberg, la partie Front-End. De quelle façon a été développé Facebook ainsi que des outils utilisés pour améliorer la vitesse de rendu de page. Nous vous expliquerons également les raisons qui ont poussé l entreprise de Mark Zuckerberg à choisir certaines technologies. PHP HipHop Pour la partie front-end Facebook a choisi de développer son site dans le langage PHP. Un des avantages de PHP est qu il est dit interprété. Par conséquent le code écrit n a pas besoin d être compilé pour être exécuté. La facilité d apprentissage de ce langage dû à sa syntaxe est une des raisons principales qui a poussé Facebook à choisir ce langage. Il est donc aisé d écrire du code. PHP à l avantage d être non typé. Sa syntaxe ne demande donc pas à ce qu une variable soit précédée de son type (int, string, bool, etc.). Toujours dans la même optique, PHP permet de faire abstraction du type dans la déclaration d un tableau. La déclaration se fait de la façon suivante : $my_facebook_array = array( face, book, mark, zuckerberg ); Dans un autre langage, comme le C# par exemple, cette même déclaration aurait été écrite de la façon suivante : string[] myfacebookarray = new string[] { face, book, mark, zuckerberg }, Autre avantage, PHP dispose d une forte communauté de développeurs actifs. Il est donc facile de trouver une solution à un problème sur les documentations officielles ainsi que sur les forums dédiés. Cependant, dans le monde PHP tout n est pas rose. En effet, c est l un des langages demandant le plus de ressources au CPU ainsi que de consommation mémoire. Par exemple chaque inclusion de fichier fait augmenter le coût du CPU de façon linéaire. Pour avoir une idée plus précise des ressources demandées, voici quelques statistiques en fonction des langages utilisés par Facebook : 16

17 En sachant que la plus basse consommation est la plus optimale, on peut voir que le PHP est un langage beaucoup moins performant que peut l être le JAVA ou encore le C++. Lorsqu on doit gérer plus d un milliard d utilisateurs c est un problème majeur en termes de performances. Or, plus un site est rapide plus l expérience utilisateur est plaisante. Certaines solutions peuvent être mises en place pour pallier ce problème et ainsi améliorer le chargement d une page. La technique dite du lazy loading est une des solutions pour répondre à ce genre de problématique. Le principe du lazy loading est d attendre une action du visiteur pour charger une certaine portion de la page. On peut par exemple afficher des boutons seulement après avoir survolé une partie de la page. Si vous voulez voir le principe de ce mécanisme, il est utilisé par le site de clubic. Sur cette page on peut voir que les commentaires de fin de page sont affichés que si l utilisateur arrive à la fin de l article. Cette technique du lazy loading présente trois intérêts principaux. La page se charge beaucoup plus vite, Les ressources clientes sont économisées (dans un monde résolument tourné vers la mobilité ou la data, bande passante coûte chère), Les ressources serveur sont économisées Pour ce dernier point, si nous reprenons en compte l exemple du site de Clubic, le serveur de base de données n est appelé que si le lecteur a fini l article. L API Applicatif PHP Cache (APC) implémente parfaitement ce mécanisme de lazy loading ainsi que d autres techniques d amélioration de rendus de pages. Cependant, pour une entreprise ayant des millions d internautes ainsi que cent millions de requêtes à la seconde il n est pas permis qu une page soit longue au chargement. Facebook a donc décidé de développer son propre compilateur : 17

18 En 2008 Facebook décide de créer un ensemble d outils leur permettant d optimiser le développement, le débogage, l'exécution du code PHP. HipHop debugger (HPHPd) HipHop compiler (HPHPc) Ce dernier permettant de transformer du code PHP en code C++ qui comme nous l avons vu précédemment est un des langages les plus performants en terme de consommation CPU/mémoire. Sur ce lien il est expliqué comment PHP peut être modifié en C++ tout en résolvent les problèmes de performance. L origine principale de ce projet était d améliorer les performances du site en diminuant la charge de ses serveurs. Le défi est alors réussi pour l équipe Facebook atteignant des performances six fois supérieures à ZEND (framework PHP) Cependant, en 2010 les performances ainsi que les possibilités d optimisation atteignent un plafond. Une des raisons est que certaines fonctions ne sont pas supportées par HipHop notamment les fonctions create_function() et eval(). De plus, HPHPc demande plusieurs processus de déploiement ce qui n est pas acceptable pour les développeurs PHP. Facebook décide donc de donner un nouveau souffle à Hip Hop for PHP en rendant tout d abord HipHop open source afin que la communauté participe à l amélioration de l outil, mais, il lance également un nouveau projet se basant sur une machine virtuelle : Hip Hop Virtual Machine (HHMV). HHVM a pour but d améliorer les forces de HPHPc tout en supprimant les faiblesses mentionnées précédemment. Pour augmenter les performances cette seconde génération de HPHPc ne transforme plus le code PHP en C++, mais le transforme directement en bytecode à l instar de la JVM de JAVA ou de la CLR de C#. La compilation se fait donc à la volée (Just In Time). Le fonctionnement de cette compilation se fait de la façon suivante : Lorsque la HHVM charge pour la première fois le projet, elle convertit le code php en bytecode. 18

19 Le bytecode est un code intermédiaire entre les instructions machines et le code source, il n'est pas directement exécutable. Le bytecode peut être créé à la volée et résider en mémoire (compilation à la volée, JIT en anglais) ou bien résider dans un fichier, généralement binaire qui représente le programme, tout comme un fichier de code objet produit par un compilateur. Il est appelé bytecode du fait de son format où chaque instruction est codée en binaire. Wikipédia Le bytecode est ensuite compilé et stocké en mémoire, mais seulement lors de l'exécution. Puis le compilateur (Just in time compiler) charge seulement la section de bytecode dont il a besoin. Ce qui a pour effet d améliorer les performances et la rapidité d'exécution d une application. Facebook a le souci de l optimisation. Rendre le site de plus en plus rapide est un de leurs objectifs quotidiens. Les équipes techniques n'hésitent pas étudier et refaire l existant. C est ce qui a motivé notamment le projet Big Pipe pour rendre l'expérience utilisateur encore plus agréable et plus rapide. Au travers de ce projet, ils ont trouvé le moyen de réduire le temps d affichage d une page web. Le modèle traditionnel de rendu de page. Aujourd hui lorsqu un utilisateur demande à afficher une page, une requête est envoyée au serveur web. Une fois la requête reçue, le serveur web charge la page demandée et la rend au navigateur afin que celui-ci l affiche et qu elle soit visible par l internaute. Pour expliquer ce mécanisme, prenons l exemple d une page type Facebook. Celle-ci comporte une actualité, une liste d amis, une liste d'évènements, de la publicité, etc. Plusieurs requêtes vont donc être exécutées afin de récupérer le contenu de chacun de ces éléments. Problème, dans ce modèle traditionnel d affichage d une page, le serveur attend que toutes les requêtes soient terminées avant de renvoyer le contenu final au navigateur. L utilisateur se voit donc contraint d attendre. BigPipe En quoi BigPipe révolutionne-t-il le rendu de pages web? 19

20 BigPipe se détache de ce modèle en découpant le contenu d une page web en plus petits morceaux appelé pagelet. L image ci-dessus montre comment une page de Facebook est décomposée en plusieurs pagelet. La page principale est donc découpée en plusieurs pagelet principaux : fil d'actualité pagelet, bar de recherche pagelet, liste d amis pagelet, etc. Chacun de ces pagelets est indépendant des autres. Lorsque la liste d amis s affiche à l écran, le fil d actualité peut être encore en chargement. 20

21 On peut voir que grâce à BigPipe les temps de latence au niveau de l affichage des pages Facebook sont réduits sur les navigateurs principaux. BigPipe est donc bien plus rapide que le modèle traditionnel de rendu de page. 21

22 Structurer les informations Facebook possède des millions de données sur les utilisateurs, pour toujours être plus attrayant et pertinent il se doit de gérer parfaitement l affichage de ces données. Nous avons pu voir jusqu à maintenant les différentes technologies qui composent Facebook, nous allons maintenant voir de quelle façon est géré l agencement des données sur le site. EdgeRank En 2006 le fil d actualités apparaît sur Facebook. Au départ ce fil d actualité propose aux utilisateurs d avoir le contenu le plus important de leur réseau social sur leur page d accueil sans pour autant aller visiter le profil de chaque ami. Les réglages de ce fil d actualité (le poids de chaque information) se font petit à petit selon les retours utilisateur, on augmente le degré d importance des photographies d un côté tout en baissant celui des statuts de l autre. Seulement Facebook grandit et ses fonctionnalités évoluent. Cela devient de plus en plus difficile de proposer un contenu pertinent en prenant en compte la quantité d informations que le fil d actualité peut proposer. C est à ce moment-là qu EdgeRank fait son apparition. Cet algorithme a pour but de déterminer quel contenu (Facebook appelle edge tout ce qui se passe sur Facebook, un statut, une photo, une vidéo, un commentaire, etc. ) mettre en haut du fil d actualité et dans quel ordre. Pour cela trois critères sont déterminés comme l explique le schéma ci-dessous : U = Affinity : Quel est le degré de relation entre l utilisateur et le contenu / source de l histoire. W = Weight : Quel est le poids du type de contenu. D = Decay : Quel est l âge du contenu (récent? Actuel?) Pour plus d information sur EdgeRank, le poids des éléments publiés, etc. : Deux infographies résumant le fonctionnement d EdgeRank et le moyen de l utiliser : Avec EdgeRank, c est l utilisateur qui va déterminer quel sera le contenu de son fil d actualité selon son activité. Selon Facebook, «le but du fil d actualité est de fournir le bon contenu aux 22

23 bonnes personnes au bon moment afin qu elles ne ratent pas les histoires qui sont importantes pour elles. Idéalement, nous voulons que le fil d actualité affiche toutes les publications que les personnes veulent voir dans l ordre qu elles veulent les lire». Avec EdgeRank Facebook se rapproche de ce but, mais cet objectif est de plus compliqué à remplir quand on sait qu un utilisateur peut voir par jour en moyenne 1500 histoires (pages, amis, photos, etc.). Surtout si celui-ci passe un temps limité sur la plateforme qui en plus s actualise en temps réel. La fin d EdgeRank Le principe d EdgeRank et ses trois critères restent utilisés dans le nouvel algorithme (qui pour le moment n a pas de nom), mais ils sont maintenant parents de sous niveaux qui contiennent de nouveaux critères. Ce nouvel algorithme permettrait d afficher environ 20% des 1500 histoires quotidiennes en prenant en compte entre autres : la fréquence d interactions avec un ami, un utilisateur ou la publication d une page, les réactions globales à une publication (mentions J aime, partages, commentaires, etc.) et en particulier celles des amis, la fréquence des interactions avec le même type de publication dans le passé, le fait de maquer ou non une publication dans le fil d actualité. Il est aussi possible de filtrer sur les personnes ajoutées en amis ou même sur les pages que l on suit. Ce qui restreint dans un premier temps l affichage des informations dans le fil d actualité. 23

24 Le story bumping Le story bumping est une méthode pour pallier le fait que le fil d actualité est alimenté en temps réel. Un utilisateur n étant pas devant son écran 24h/24 il est évident qu il ratera des informations. Le principe de cette fonctionnalité permet de faire remonter en haut du fil les publications plus anciennes si elles reçoivent de l'intérêt ( mentions J aime, commentaires, partages). Le last actor Ce nouveau critère prend en compte les 50 dernières interactions qu un utilisateur a effectuées (mentions j aime, commentaires, partages). Plus un utilisateur interagit avec le même objet (amis, utilisateur ou page), plus les publications relatives à cet objet ont d importance et sont susceptibles d apparaître dans le fil d actualité. Grâce à ce principe, Facebook peut mettre en avant en temps réel des informations correspondantes aux centres d intérêt d un utilisateur à un moment donné. Ce nouvel algorithme apprend et s adapte finalement à chaque utilisateur pour rendre le contenu du fil d actualité de plus en plus ciblé. 24

25 L avenir de Facebook D après deux doctorants de l université de Princeton, le modèle de Facebook se comporterait comme une épidémie et serait donc voué à mourir d ici quelques années. Ces deux chercheurs se sont basés sur l évolution puis le déclin de MySpace et on de plus appliqué un modèle épidémiologique modifié pour décrire la dynamique des utilisateurs des réseaux sociaux. Se basant sur ces suppositions, ils en sont arrivés à la conclusion que le réseau social pourrait perdre 80% de ses utilisateurs d ici Pour le moment le site n enregistre pas de baisse d utilisateurs et le prix de son action augmente toujours. Wait & see. Source : de-ses-utilisateurs.html 25

26 26 Webographie Architecture globale : Back-end Business Logic Thrift : Scribe https://github.com/facebook/scribe Persistance MySQL Memcached Cassandra nddesign.aspx Hadoop HBase

ELASTICSEARCH MAINTENANT EN VERSION 1.4

ELASTICSEARCH MAINTENANT EN VERSION 1.4 ELASTICSEARCH MAINTENANT EN VERSION 1.4 firm1 29 octobre 2015 Table des matières 1 Introduction 5 2 Les principaux atouts 7 2.1 Moteur de recherche vs Moteur d indexation.................... 7 2.2 Du

Plus en détail

Programmation parallèle et distribuée

Programmation parallèle et distribuée Programmation parallèle et distribuée (GIF-4104/7104) 5a - (hiver 2015) Marc Parizeau, Département de génie électrique et de génie informatique Plan Données massives («big data») Architecture Hadoop distribution

Plus en détail

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15 MapReduce Malo Jaffré, Pablo Rauzy ENS 16 avril 2010 Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15 Qu est ce que c est? Conceptuellement Données MapReduce est un framework de calcul distribué

Plus en détail

Programmation parallèle et distribuée

Programmation parallèle et distribuée Programmation parallèle et distribuée (GIF-4104/7104) 5a - (hiver 2014) Marc Parizeau, Département de génie électrique et de génie informatique Plan Mégadonnées («big data») Architecture Hadoop distribution

Plus en détail

avec nos solutions spécialisées pour la microfinance et ses institutions coopératives Big Data

avec nos solutions spécialisées pour la microfinance et ses institutions coopératives Big Data avec nos solutions spécialisées pour la microfinance et ses institutions coopératives Big Data Historique de Big data Jusqu à l avènement d Internet et surtout du Web 2.0 il n y avait pas tant de données

Plus en détail

Introduction aux bases de données NoSQL

Introduction aux bases de données NoSQL Introduction aux bases de données NoSQL Khaled Tannir ets@khaledtannir.net Montréal - 23 Juillet 2015 Qui suis-je? Khaled TANNIR Big Data Architect Lead 20 ans d expérience ets@khaledtannir.net @khaled_tannir

Plus en détail

AVRIL 2014. Au delà de Hadoop. Panorama des solutions NoSQL

AVRIL 2014. Au delà de Hadoop. Panorama des solutions NoSQL AVRIL 2014 Panorama des solutions NoSQL QUI SOMMES NOUS? Avril 2014 2 SMILE, EN QUELQUES CHIFFRES 1er INTÉGRATEUR EUROPÉEN DE SOLUTIONS OPEN SOURCE 3 4 NOS EXPERTISES ET NOS CONVICTIONS DANS NOS LIVRES

Plus en détail

Sujet du stage Mise en place et paramétrage d un moteur spécialisé pour la recherche de CV à travers le web

Sujet du stage Mise en place et paramétrage d un moteur spécialisé pour la recherche de CV à travers le web Sujet du stage Mise en place et paramétrage d un moteur spécialisé pour la recherche de CV à travers le web Responsable du stage : Nabil Belcaid Le Guyader Chef de projet : Ali Belcaid Déroulement du stage

Plus en détail

Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet

Cahier de charges (Source : Java EE - Guide de développement d'applications web en Java par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module Site Web dynamique JSP / Servlet Sujet : betaboutique Soutenance le 04 / 01 /2013 &

Plus en détail

Panorama des solutions analytiques existantes

Panorama des solutions analytiques existantes Arnaud LAROCHE Julien DAMON Panorama des solutions analytiques existantes SFdS Méthodes et Logiciels - 16 janvier 2014 - Données Massives Ne sont ici considérés que les solutions autour de l environnement

Plus en détail

Livre. blanc. Solution Hadoop d entreprise d EMC. Stockage NAS scale-out Isilon et Greenplum HD. Février 2012

Livre. blanc. Solution Hadoop d entreprise d EMC. Stockage NAS scale-out Isilon et Greenplum HD. Février 2012 Livre blanc Solution Hadoop d entreprise d EMC Stockage NAS scale-out Isilon et Greenplum HD Par Julie Lockner et Terri McClure, Analystes seniors Février 2012 Ce livre blanc d ESG, qui a été commandé

Plus en détail

Bases de données documentaires et distribuées Cours NFE04

Bases de données documentaires et distribuées Cours NFE04 Bases de données documentaires et distribuées Cours NFE04 Cloud et scalabilité Auteurs : Raphaël Fournier-S niehotta, Philippe Rigaux, Nicolas Travers prénom.nom@cnam.fr Département d informatique Conservatoire

Plus en détail

Plan. Pourquoi Hadoop? Présentation et Architecture. Démo. Usages

Plan. Pourquoi Hadoop? Présentation et Architecture. Démo. Usages 1 Mehdi LOUIZI Plan Pourquoi Hadoop? Présentation et Architecture Démo Usages 2 Pourquoi Hadoop? Limites du Big Data Les entreprises n analysent que 12% des données qu elles possèdent (Enquête Forrester

Plus en détail

Gestion de données complexes

Gestion de données complexes Master 2 Informatique Spécialité AIGLE Gestion de données complexes Amayas ABBOUTE Gilles ENTRINGER SOMMAIRE Sommaire i 1 - Introduction 1 2 - Technologies utilisées 2 2.1 API Jena........................................

Plus en détail

les techniques d'extraction, les formulaires et intégration dans un site WEB

les techniques d'extraction, les formulaires et intégration dans un site WEB les techniques d'extraction, les formulaires et intégration dans un site WEB Edyta Bellouni MSHS-T, UMS838 Plan L extraction des données pour un site en ligne Architecture et techniques Les différents

Plus en détail

Fouillez facilement dans votre système Big Data. Olivier TAVARD

Fouillez facilement dans votre système Big Data. Olivier TAVARD Fouillez facilement dans votre système Big Data Olivier TAVARD A propos de moi : Cofondateur de la société France Labs Développeur (principalement Java) Formateur en technologies de moteurs de recherche

Plus en détail

Quand et pourquoi utiliser une base de données NoSQL?

Quand et pourquoi utiliser une base de données NoSQL? Quand et pourquoi utiliser une base de données NoSQL? Introduction Les bases de données NoSQL sont devenues un sujet très à la mode dans le milieu du développement web. Il n est pas rare de tomber sur

Plus en détail

Cartographie des solutions BigData

Cartographie des solutions BigData Cartographie des solutions BigData Panorama du marché et prospective 1 1 Solutions BigData Défi(s) pour les fournisseurs Quel marché Architectures Acteurs commerciaux Solutions alternatives 2 2 Quels Défis?

Plus en détail

Petit traité de performances à l usage de tous

Petit traité de performances à l usage de tous Petit traité de performances à l usage de tous Drupal Petit traité de performances à l usage de tous Intégrateur, architecte, développeur, tous concernés Pierre Rineau Makina Corpus pierre.rineau@makina-corpus.com

Plus en détail

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

Plus en détail

Big Data. Cyril Amsellem Consultant avant-vente. 16 juin 2011. Talend 2010 1

Big Data. Cyril Amsellem Consultant avant-vente. 16 juin 2011. Talend 2010 1 Big Data Cyril Amsellem Consultant avant-vente 16 juin 2011 Talend 2010 1 Big Data Architecture globale Hadoop Les projets Hadoop (partie 1) Hadoop-Core : projet principal. HDFS : système de fichiers distribués

Plus en détail

Introduction à MapReduce/Hadoop et Spark

Introduction à MapReduce/Hadoop et Spark 1 / 36 Introduction à MapReduce/Hadoop et Spark Certificat Big Data Ludovic Denoyer et Sylvain Lamprier UPMC Plan 2 / 36 Contexte 3 / 36 Contexte 4 / 36 Data driven science: le 4e paradigme (Jim Gray -

Plus en détail

INTEGRATEUR DEVELOPPEUR

INTEGRATEUR DEVELOPPEUR www.emweb.fr INTEGRATEUR DEVELOPPEUR FORMATION ELIGIBLE AU DIF/CIF DURÉE : 700 h de formation PRE REQUIS Avoir un esprit logique Etre motivé(e)! OBJECTIF A l issue de cette formation, vous serez capable

Plus en détail

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE I N T E RS Y S T E M S INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE David Kaaret InterSystems Corporation INTERSySTEMS CAChé CoMME ALTERNATIvE AUx BASES de données RéSIdENTES

Plus en détail

Les architectures N-tiers

Les architectures N-tiers Les architectures N-tiers 1 SOMMAIRE DU COURS XML ET LES ARCHITECTURES N-TIER Introduction aux architectures N-tier Serveurs d applications Déploiement d applications J2EE Tiers applicatif : servlets Tiers

Plus en détail

NoSql. Principes. Google (Map Reduce, Big Table) et Amazone (Dynamo) pour faire face à la monté en charge liée au BigData

NoSql. Principes. Google (Map Reduce, Big Table) et Amazone (Dynamo) pour faire face à la monté en charge liée au BigData NoSql Principes Google (Map Reduce, Big Table) et Amazone (Dynamo) pour faire face à la monté en charge liée au BigData Les SGBD NoSql partagés ne peuvent satisfaire que 2 critères au plus NoSql Les transactions

Plus en détail

Applications orientées données (NSY135)

Applications orientées données (NSY135) Applications orientées données (NSY135) 2 Applications Web Dynamiques Auteurs: Raphaël Fournier-S niehotta et Philippe Rigaux (philippe.rigaux@cnam.fr,fournier@cnam.fr) Département d informatique Conservatoire

Plus en détail

Projet Web. Tim Burton. Refonte complète du site de Tim Burton en utilisant les dernières technologies du web : HTML 5 / CSS 3 / JavaScript...

Projet Web. Tim Burton. Refonte complète du site de Tim Burton en utilisant les dernières technologies du web : HTML 5 / CSS 3 / JavaScript... Projet Web Tim Burton Refonte complète du site de Tim Burton en utilisant les dernières technologies du web : HTML 5 / CSS 3 / JavaScript... Par Omar EDDASSER L3 ISC parcours MIAGE Sous l enseignement

Plus en détail

Les activités de recherche sont associées à des voies technologiques et à des opportunités concrètes sur le court, moyen et long terme.

Les activités de recherche sont associées à des voies technologiques et à des opportunités concrètes sur le court, moyen et long terme. Mémoires 2010-2011 www.euranova.eu EURANOVA R&D Euranova est une société Belge constituée depuis le 1er Septembre 2008. Sa vision est simple : «Être un incubateur technologique focalisé sur l utilisation

Plus en détail

Apache Thrift, SOA légère. Retour d'expérience

Apache Thrift, SOA légère. Retour d'expérience Apache Thrift, SOA légère Retour d'expérience Qui sommes-nous? 2 Speaker : Horacio Gonzalez Spaniard lost in Brittany, Java developer, dreamer and all-around geek Architecte technique au Crédit Mutuel

Plus en détail

Groupe de Discussion Big Data Aperçu des technologies et applications. Stéphane MOUTON stephane.mouton@cetic.be

Groupe de Discussion Big Data Aperçu des technologies et applications. Stéphane MOUTON stephane.mouton@cetic.be Groupe de Discussion Big Data Aperçu des technologies et applications Stéphane MOUTON stephane.mouton@cetic.be Recherche appliquée et transfert technologique q Agréé «Centre Collectif de Recherche» par

Plus en détail

Programmation parallèle et distribuée (Master 1 Info 2015-2016)

Programmation parallèle et distribuée (Master 1 Info 2015-2016) Programmation parallèle et distribuée (Master 1 Info 2015-2016) Hadoop MapReduce et HDFS Note bibliographique : ce cours est largement inspiré par le cours de Benjamin Renaut (Tokidev SAS) Introduction

Plus en détail

Sommaire. 3. Les grands principes de GFS L architecture L accès de fichier en lecture L accès de fichier en écriture Bilan

Sommaire. 3. Les grands principes de GFS L architecture L accès de fichier en lecture L accès de fichier en écriture Bilan 1 Sommaire 1. Google en chiffres 2. Les raisons d être de GFS 3. Les grands principes de GFS L architecture L accès de fichier en lecture L accès de fichier en écriture Bilan 4. Les Evolutions et Alternatives

Plus en détail

FORMATION HADOOP Développeur pour Hadoop (Apache)

FORMATION HADOOP Développeur pour Hadoop (Apache) FORMATION HADOOP Développeur pour Hadoop (Apache) Ce document reste la propriété du Groupe Cyrès. Toute copie, diffusion, exploitation même partielle doit faire l objet d une demande écrite auprès de Cyrès.

Plus en détail

Application web pour la coordination de trajets piétons jusqu aux transports en commun

Application web pour la coordination de trajets piétons jusqu aux transports en commun Application web pour la coordination de trajets piétons jusqu aux transports en commun PROJET DE FIN D ETUDES ASR Etudiants : Encadrants : Oumar Sharif DAMBABA Clément BERTHOU Olivier BERGER Christian

Plus en détail

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces

Plus en détail

Dossier de conception

Dossier de conception Dossier de conception Sujet : Gestion de Stock-Pharma Réaliser par : FADIL Ghizlane ECH CHARFAOUY Abdelouahad Encadré par : M. LACHGAR Mohammed Développement d une application JAVA EE Cadre réservé à l

Plus en détail

Présentation du module Base de données spatio-temporelles

Présentation du module Base de données spatio-temporelles Présentation du module Base de données spatio-temporelles S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Partie 1 : Notion de bases de données (12,5h ) Enjeux et principes

Plus en détail

TD1. Installation de Symfony 2 et Netbeans

TD1. Installation de Symfony 2 et Netbeans I - Introduction : TD1 Installation de Symfony 2 et Netbeans L objet de ce TP est d installer l environnement de travail. Nous commençons par définir des notions de base nécessaires pour comprendre la

Plus en détail

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

Plus en détail

BIG DATA. Veille technologique. Malek Hamouda Nina Lachia Léo Valette. Commanditaire : Thomas Milon. Encadré: Philippe Vismara

BIG DATA. Veille technologique. Malek Hamouda Nina Lachia Léo Valette. Commanditaire : Thomas Milon. Encadré: Philippe Vismara BIG DATA Veille technologique Malek Hamouda Nina Lachia Léo Valette Commanditaire : Thomas Milon Encadré: Philippe Vismara 1 2 Introduction Historique des bases de données : méthodes de stockage et d analyse

Plus en détail

Dr. Djamel Benmerzoug. Email : djamel.benmerzoug@univ-constantine2.dz

Dr. Djamel Benmerzoug. Email : djamel.benmerzoug@univ-constantine2.dz Master 2 SITW Les services Web Dr. Djamel Benmerzoug Email : djamel.benmerzoug@univ-constantine2.dz Maitre de Conférences A, Département TLSI Faculté des NTIC Université Constantine 2 Abdelhamid Mehri

Plus en détail

ADMINISTRATION DU PORTAIL AFI OPAC 2.0 V3 AFI OPAC 2.0

ADMINISTRATION DU PORTAIL AFI OPAC 2.0 V3 AFI OPAC 2.0 ADMINISTRATION DU PORTAIL AFI OPAC 2.0 V3 AFI OPAC 2.0 V3 Sommaire Sommaire... 2 Note :... 2 Quelques Notions... 3 Profil :... 3 Pages :... 5 Créer du contenu... 6 Identification de l administrateur :...

Plus en détail

Présentation des. MicroStrategy 10.

Présentation des. MicroStrategy 10. Présentation des nouveautés de MicroStrategy 10. microstrategy.com/analytics 1 M MicroStrategy 10. Une véritable révolution. MicroStrategy 10 représente une étape majeure dans l évolution de la suite MicroStrategy

Plus en détail

GESTION CENTRALISÉE DELL POWERVAULT DL 2000 OPTIMISÉ PAR SYMANTEC

GESTION CENTRALISÉE DELL POWERVAULT DL 2000 OPTIMISÉ PAR SYMANTEC GESTION CENTRALISÉE DELL POWERVAULT DL 2000 OPTIMISÉ PAR SYMANTEC NOTE DE SYNTHESE La solution Dell PowerVault DL2000 optimisée par Symantec Backup Exec est la seule à proposer un système intégré de sauvegarde

Plus en détail

Big Data par l exemple

Big Data par l exemple #PARTAGE Big Data par l exemple Alexandre Chauvin Hameau Directeur de la production Malakoff Médéric @achauvin CT BIG DATA 10/12/2015 Soyons pragmatiques BIG DATA beaucoup de bruit pour des choses finalement

Plus en détail

Sommaire Livre blanc CGIDEV2 pour RePeGlio

Sommaire Livre blanc CGIDEV2 pour RePeGlio Sommaire Livre blanc CGIDEV2 pour RePeGlio 1. CGIDEV2 d IBM : un must pour les développeurs RPG?... 2 2. Ce que les écrans en mode caractères ne savent pas faire... 2 3. La solution CGIDEV2 d IBM... 3

Plus en détail

Chapitre 4 Les Servlets. 1. Qu'est-ce qu'une Servlet? 1.1 Présentation. 1.2 Requêtes HTTP

Chapitre 4 Les Servlets. 1. Qu'est-ce qu'une Servlet? 1.1 Présentation. 1.2 Requêtes HTTP 210 Les Servlets 1. Qu'est-ce qu'une Servlet? 1.1 Présentation Les Servlets sont la base de la programmation Java EE. La conception d'un site Web dynamique en Java repose sur ces éléments. Une Servlet

Plus en détail

New Features. Developed by. BPM Conseil - SARL au capital de 70 000 euros - RCS LYON 479 400 129 9, rue Pierre Blanc - 69001 Lyon - France 1/20

New Features. Developed by. BPM Conseil - SARL au capital de 70 000 euros - RCS LYON 479 400 129 9, rue Pierre Blanc - 69001 Lyon - France 1/20 5 New Features Developed by 1/20 Sommaire 1 Introduction... 3 2 Evolutions des studios de développement et améliorations fonctionnelles... 5 3 Portail Vanilla... 6 3.1 Open Street Maps... 6 3.2 Gestion

Plus en détail

Création d un catalogue en ligne

Création d un catalogue en ligne 5 Création d un catalogue en ligne Au sommaire de ce chapitre Fonctionnement théorique Définition de jeux d enregistrements Insertion de contenu dynamique Aperçu des données Finalisation de la page de

Plus en détail

Web (Persistance) Andrea G. B. Tettamanzi. Université de Nice Sophia Antipolis Département Informatique andrea.tettamanzi@unice.fr

Web (Persistance) Andrea G. B. Tettamanzi. Université de Nice Sophia Antipolis Département Informatique andrea.tettamanzi@unice.fr Web (Persistance) Andrea G. B. Tettamanzi Université de Nice Sophia Antipolis Département Informatique andrea.tettamanzi@unice.fr Andrea G. B. Tettamanzi, 2014 1 CM - Séance 8 Organisation logicielle d'une

Plus en détail

Enseignant: Lamouchi Bassem Cours : Système à large échelle et Cloud Computing

Enseignant: Lamouchi Bassem Cours : Système à large échelle et Cloud Computing Enseignant: Lamouchi Bassem Cours : Système à large échelle et Cloud Computing Les Clusters Les Mainframes Les Terminal Services Server La virtualisation De point de vue naturelle, c est le fait de regrouper

Plus en détail

Le client/serveur repose sur une communication d égal à égal entre les applications.

Le client/serveur repose sur une communication d égal à égal entre les applications. Table des matières LES PRINCIPES DE BASE... 1 Présentation distribuée-revamping...2 Présentation distante...3 Traitements distribués...3 données distantes-rd...4 données distribuées-rda distribué...4 L'ARCHITECTURE

Plus en détail

Personnaliser et adapter SPIP Développeur SPIP

Personnaliser et adapter SPIP Développeur SPIP Personnaliser et adapter SPIP Développeur SPIP En Théorie Le fonctionnement de SPIP Qu est ce que SPIP? SPIP (Système de Publication pour l Internet Partagé) est un logiciel libre destiné à la production

Plus en détail

Les technologies du Big Data

Les technologies du Big Data Les technologies du Big Data PRÉSENTÉ AU 40 E CONGRÈS DE L ASSOCIATION DES ÉCONOMISTES QUÉBÉCOIS PAR TOM LANDRY, CONSEILLER SENIOR LE 20 MAI 2015 WWW.CRIM.CA TECHNOLOGIES: DES DONNÉES JUSQU'À L UTILISATEUR

Plus en détail

WHITE PAPER. Protéger les serveurs virtuels avec Acronis True Image

WHITE PAPER. Protéger les serveurs virtuels avec Acronis True Image Protéger les serveurs virtuels avec Acronis True Image Copyright Acronis, Inc., 2000 2008 Les organisations liées aux technologies de l information ont découvert que la technologie de virtualisation peut

Plus en détail

Cours Administration BD

Cours Administration BD Faculté des Sciences de Gabès Cours Administration BD Chapitre 2 : Architecture Oracle Faîçal Felhi felhi_fayssal@yahoo.fr 1 Processus serveur 1 Mémoire PGA Architecture SGBD Oracle Processus serveur 2

Plus en détail

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web PROGRAMMATION PUBLIC Professionnels informatiques qui souhaitent développer des applications et «applets» Java DUREE 4 jours 28 heures OBJECTIF Créer divers «applets» à intégrer dans un site Web dynamique,

Plus en détail

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Création d'un site dynamique en PHP avec Dreamweaver et MySQL Création d'un site dynamique en PHP avec Dreamweaver et MySQL 1. Création et configuration du site 1.1. Configuration de Dreamweaver Avant de commencer, il est nécessaire de connaître l'emplacement du

Plus en détail

Ecole des Hautes Etudes Commerciales HEC Alger. par Amina GACEM. Module Informatique 1ière Année Master Sciences Commerciales

Ecole des Hautes Etudes Commerciales HEC Alger. par Amina GACEM. Module Informatique 1ière Année Master Sciences Commerciales Ecole des Hautes Etudes Commerciales HEC Alger Évolution des SGBDs par Amina GACEM Module Informatique 1ière Année Master Sciences Commerciales Evolution des SGBDs Pour toute remarque, question, commentaire

Plus en détail

CNAM 2010-2011. Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010

CNAM 2010-2011. Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010 CNAM 2010-2011 Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010 Déploiement d une application dans le cloud. 1. Cloud Computing en 2010 2. Offre EC2

Plus en détail

HADOOP ET SON ÉCOSYSTÈME

HADOOP ET SON ÉCOSYSTÈME HADOOP ET SON ÉCOSYSTÈME Mars 2013 2012 Affini-Tech - Diffusion restreinte 1 AFFINI-TECH Méthodes projets Outils de reporting & Data-visualisation Business & Analyses BigData Modélisation Hadoop Technos

Plus en détail

NoSQL. Introduction 1/30. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

NoSQL. Introduction 1/30. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur) 1/30 2/30 Anne-Cécile Caron Master MIAGE - SGBD 1er trimestre 2014-2015 I : Not Only SQL, ce n est pas du relationnel, et le contexte d utilisation n est donc pas celui des SGBDR. I Origine : recherche

Plus en détail

Introduction data science

Introduction data science Introduction data science Data science Master 2 ISIDIS Sébastien Verel verel@lisic.univ-littoral.fr http://www-lisic.univ-littoral.fr/~verel Université du Littoral Côte d Opale Laboratoire LISIC Equipe

Plus en détail

ARCHITECTURE CLIENT / SERVEUR

ARCHITECTURE CLIENT / SERVEUR ARCHITECTURE CLIENT / SERVEUR ARCHITECTURE CLIENT/SERVEUR Définition : L'architecture client serveur s'appuie sur un poste central, le serveur, qui envoit des données aux machines clientes. Des programmes

Plus en détail

Pentaho Business Analytics Intégrer > Explorer > Prévoir

Pentaho Business Analytics Intégrer > Explorer > Prévoir Pentaho Business Analytics Intégrer > Explorer > Prévoir Pentaho lie étroitement intégration de données et analytique. En effet, les services informatiques et les utilisateurs métiers peuvent accéder aux

Plus en détail

Introduction à PHP. Chapitre 1. Difficulté :

Introduction à PHP. Chapitre 1. Difficulté : Chapitre 1 Introduction à PHP Difficulté : C e qui fait le succès du Web aujourd hui, c est à la fois sa simplicité et sa facilité d accès. Un internaute lambda n a pas besoin de savoir «comment ça fonctionne

Plus en détail

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada MySQL (Administrateur) (Dernière édition) Programme de formation Microsoft Partner France, Belgique, Suisse, Roumanie - Canada WWW.SASGROUPE.COM Formez vos salariés pour optimiser la productivité de votre

Plus en détail

Formation Cloudera Data Analyst Utiliser Pig, Hive et Impala avec Hadoop

Formation Cloudera Data Analyst Utiliser Pig, Hive et Impala avec Hadoop Passez au niveau supérieur en termes de connaissance grâce à la formation Data Analyst de Cloudera. Public Durée Objectifs Analystes de données, business analysts, développeurs et administrateurs qui ont

Plus en détail

La MEAN stack. Qu'est-ce qu'une stack?

La MEAN stack. Qu'est-ce qu'une stack? La MEAN stack Jean-Philippe FORESTIER (jpf@osyx.com) http://www.mean-stack.info Qu'est-ce qu'une stack? Une stack est une pile de technologies utilisée pour développer une application web. Une stack peut

Plus en détail

Package Réseau Social RSV4

Package Réseau Social RSV4 Rapide à mettre en place, simple à prendre en main, et surtout très économique! Package Réseau Social RSV4 Applicable au : 01/09/2013 Une solution clé en main Solutions proposées Nous sommes capables de

Plus en détail

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie 1 / 22 Technologies Web Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya Université Pierre et Marie Curie Rappel 2 / 22 Problématique Quelles technologies utiliser

Plus en détail

VMWare Infrastructure 3

VMWare Infrastructure 3 Ingénieurs 2000 Filière Informatique et réseaux Université de Marne-la-Vallée VMWare Infrastructure 3 Exposé système et nouvelles technologies réseau. Christophe KELLER Sommaire Sommaire... 2 Introduction...

Plus en détail

Windows 8 Module 5 Cours windows8 Dominique Bulté Sal e Informatique de Cappel e la Grande novembre 2013

Windows 8 Module 5 Cours windows8 Dominique Bulté Sal e Informatique de Cappel e la Grande novembre 2013 Windows 8 Module 5 13. Configurer sa messagerie à l aide de l application Courrier Windows 8 et Windows RT offrent un outil dédié à la messagerie. Cette application, appelée simplement Courrier, vous propose

Plus en détail

Découverte et investigation des menaces avancées INFRASTRUCTURE

Découverte et investigation des menaces avancées INFRASTRUCTURE Découverte et investigation des menaces avancées INFRASTRUCTURE AVANTAGES CLÉS Infrastructure RSA Security Analytics Collecte distribuée grâce à une architecture modulaire Solution basée sur les métadonnées

Plus en détail

et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7

et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 Tsoft et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 OEM Console Java OEM Console HTTP OEM Database Control Oracle Net Manager 6 Module 6 : Oracle Enterprise Manager Objectifs Contenu A la fin de ce module,

Plus en détail

Le.NET Compact Framework Windows Mobile

Le.NET Compact Framework Windows Mobile Le.NET Compact Framework Windows Mobile HEROGUEL Quentin 2 Le.NET Compact Framework Windows Mobile Sommaire 1 Le.NET Compact Framework... 3 1.1 Vue d ensemble rapide de l architecture du.net Compact Framework...

Plus en détail

SQL Server Installation Center et SQL Server Management Studio

SQL Server Installation Center et SQL Server Management Studio SQL Server Installation Center et SQL Server Management Studio Version 1.0 Grégory CASANOVA 2 SQL Server Installation Center et SQL Server Management Studio [03/07/09] Sommaire 1 Installation de SQL Server

Plus en détail

Tutoriel Ionic framework

Tutoriel Ionic framework INGÉNIEURS EN SCIENCES INFORMATIQUES ADAPTATION DES INTERFACES A L ENVIRONNEMENT Tutoriel Ionic framework Tutoriel et présentation du framework IONIC : technologie permettant la réalisation d applications

Plus en détail

NoSQL Faut-il franchir le pas?

NoSQL Faut-il franchir le pas? NoSQL Faut-il franchir le pas? Guillaume HARRY Journées rbdd Octobre 2015 Sommaire 1. Evolution des bases de données 2. Le mouvement NoSQL 3. Les grandes familles du NoSQL 4. Aller ou non vers le NoSQL?

Plus en détail

Impact du choix du SGBD et de l architecture client-serveur pour garantir le service d un SGBD mis sous forte charge concurrente

Impact du choix du SGBD et de l architecture client-serveur pour garantir le service d un SGBD mis sous forte charge concurrente Impact du choix du SGBD et de l architecture client-serveur pour garantir le service d un SGBD mis sous forte charge Travail de diplôme réalisé en vue de l obtention du diplôme HES par : Muhammad Maqbool

Plus en détail

Un nouveau visage pour le fil d actualité

Un nouveau visage pour le fil d actualité Un nouveau visage pour le fil d actualité Nous annonçons aujourd hui une nouvelle version de Facebook, plus aérée et plus orientée que jamais sur les actualités des personnes qui vous sont chères. Le contenu

Plus en détail

Devenez un véritable développeur web en 3 mois!

Devenez un véritable développeur web en 3 mois! Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web

Plus en détail

quelles conséquences pour la documentation en ligne?

quelles conséquences pour la documentation en ligne? Structure et évolutions de l Internet p.1/23 Structure et évolutions de l Internet quelles conséquences pour la documentation en ligne? JOËL MARCHAND jma@math.jussieu.fr GDS 2754 Mathrice Où en est l Internet?

Plus en détail

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel. Méthode de Test Pour WIKIROUTE Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel. [Tapez le nom de l'auteur] 10/06/2009 Sommaire I. Introduction...

Plus en détail

SQL-ON-HADOOP. Veille Technologique et Stratégique 2015 Guo Kai Élève de RICM 5 Kai.Guo@e.ujf-Grenoble.fr

SQL-ON-HADOOP. Veille Technologique et Stratégique 2015 Guo Kai Élève de RICM 5 Kai.Guo@e.ujf-Grenoble.fr SQL-ON-HADOOP Veille Technologique et Stratégique 2015 Guo Kai Élève de RICM 5 Kai.Guo@e.ujf-Grenoble.fr Données structurées (RDBMS) Exiger de strictement être organisé Annexer à RDBMS sans couture Consultable

Plus en détail

Rapport de Stage Christopher Chedeau 2 au 26 Juin 2009

Rapport de Stage Christopher Chedeau 2 au 26 Juin 2009 Rapport de Stage Christopher Chedeau 2 au 26 Juin 2009 «Web. De l intégration de pages statiques HTML à un CMS, à la dynamisation d un site grâce au Javascript et l utilisation de nouvelles technologies

Plus en détail

NoSQL. Introduction 1/23. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

NoSQL. Introduction 1/23. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur) 1/23 2/23 Anne-Cécile Caron Master MIAGE - BDA 1er trimestre 2013-2014 I : Not Only SQL, ce n est pas du relationnel, et le contexte d utilisation n est donc pas celui des SGBDR. I Origine : recherche

Plus en détail

Architecture Logicielle

Architecture Logicielle Architecture Logicielle Chapitre 3: UML pour la description et la documentation d une architecture logicielle Année universitaire 2013/2014 Semestre 1 Rappel L architecture d un programme ou d un système

Plus en détail

Joomla : un système de gestion de contenu

Joomla : un système de gestion de contenu CHAPITRE 2 Joomla : un système de gestion de contenu Si SGC est l abréviation française pour système de gestion de contenu, l abréviation CMS de l anglais Content Management System est le terme le plus

Plus en détail

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand Centrale Réseaux

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux Formation Webase 5 Ses secrets, de l architecture MVC à l application Web Adrien Grand Centrale Réseaux Sommaire 1 Obtenir des informations sur Webase 5 2 Composants de Webase 5 Un

Plus en détail

de survie du chef de projet

de survie du chef de projet KIT de survie du chef de projet 01 1 2 3 4 5 6 04 03 07 07 03 03 LE SERVEUR LE CLIENT TECHNOLOGIE WEB CLIENT LE SERVEUR WEB TECHNIQUES & CADRE DE TRAVAIL APPLICATIONS 101 LE SERVEUR Un serveur informatique

Plus en détail

Bien architecturer une application REST

Bien architecturer une application REST Olivier Gutknecht Bien architecturer une application REST Avec la contribution de Jean Zundel Ce livre traite exactement du sujet suivant : comment faire pour que les services web et les programmes qui

Plus en détail

Introduction aux Systèmes Distribués. Introduction générale

Introduction aux Systèmes Distribués. Introduction générale Introduction aux Systèmes Distribués Licence Informatique 3 ème année Introduction générale Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Plan

Plus en détail

Architecture Constellio

Architecture Constellio Architecture Constellio Date : 12 novembre 2013 Version 3.0 Contact : Nicolas Bélisle nicolas.belisle@doculibre.com 5146555185 1 Table des matières Table des matières... 2 Présentation générale... 4 Couche

Plus en détail

Online Help StruxureWare Data Center Expert

Online Help StruxureWare Data Center Expert Online Help StruxureWare Data Center Expert Version 7.2.7 Système virtuel StruxureWare Data Center Expert Le serveur StruxureWare Data Center Expert 7.2 est disponible comme système virtuel pris en charge

Plus en détail

RAPPORT DE PROJET NTIC: ACTUALISATION DU SITE WEB PÉDAGOGIQUE EDUKI.CH. Présenté par: ANDRIANANTENAINA Miharisoa ANDRIANANJA Nirina

RAPPORT DE PROJET NTIC: ACTUALISATION DU SITE WEB PÉDAGOGIQUE EDUKI.CH. Présenté par: ANDRIANANTENAINA Miharisoa ANDRIANANJA Nirina RAPPORT DE PROJET NTIC: ACTUALISATION DU SITE WEB PÉDAGOGIQUE EDUKI.CH Présenté par: Mai 2014 Table des matières I. INTRODUCTION... 2 II. DIAGRAMME DES CAS D UTILISATION... 3 II.1 - Uses case détails...

Plus en détail

Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_r.html. R.R. Université Lyon 2

Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_r.html. R.R. Université Lyon 2 Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_r.html 1 Plan de présentation 1. L écosystème Hadoop 2. Principe de programmation MapReduce 3. Programmation des fonctions

Plus en détail

Projet de Java Enterprise Edition

Projet de Java Enterprise Edition Projet de Java Enterprise Edition Cours de Master 2 Informatique Boutique en ligne L objectif du projet de JEE est de réaliser une application de boutique en ligne. Cette boutique en ligne va permettre

Plus en détail